Skip to content

Restore Python url_utils module#2034

Open
darbyjohnston wants to merge 3 commits into
AcademySoftwareFoundation:mainfrom
darbyjohnston:restore_url_utils
Open

Restore Python url_utils module#2034
darbyjohnston wants to merge 3 commits into
AcademySoftwareFoundation:mainfrom
darbyjohnston:restore_url_utils

Conversation

@darbyjohnston

@darbyjohnston darbyjohnston commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

PR #2021 removed the url_utils package as part of transitioning .otioz support to C++. However url_utils was part of the public Python API and may be used by other code (e.g., #1664). This PR restores the module and also replaces Python code with C++ functionality where applicable.

Note that the file_bundle_utils.py was also removed as part of the C++ support. This seems unlikely it was ever used outside of the otioz/otiod adapters, so I did not restore it.

Assisted-by: Claude:claude-opus-4-7 [code-review] [debugging]

Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
@codecov-commenter

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 92.10526% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 83.43%. Comparing base (0eebd21) to head (993dfbc).

Files with missing lines Patch % Lines
tests/test_url_conversions.py 90.00% 1 Missing and 1 partial ⚠️
...timelineio/opentimelineio-bindings/otio_bundle.cpp 66.66% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #2034      +/-   ##
==========================================
+ Coverage   83.21%   83.43%   +0.21%     
==========================================
  Files         180      182       +2     
  Lines       13465    13503      +38     
  Branches     1253     1254       +1     
==========================================
+ Hits        11205    11266      +61     
+ Misses       2088     2064      -24     
- Partials      172      173       +1     
Flag Coverage Δ
py-unittests 83.43% <92.10%> (+0.21%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
src/py-opentimelineio/opentimelineio/__init__.py 100.00% <ø> (ø)
src/py-opentimelineio/opentimelineio/url_utils.py 100.00% <100.00%> (ø)
...timelineio/opentimelineio-bindings/otio_bundle.cpp 68.88% <66.66%> (-0.16%) ⬇️
tests/test_url_conversions.py 90.00% <90.00%> (ø)

... and 1 file with indirect coverage changes


Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0eebd21...993dfbc. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@darbyjohnston
darbyjohnston marked this pull request as ready for review July 16, 2026 21:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants