Release 2026-09-20 (i4 4d9b6cfd) - #266
Merged
Merged
Conversation
_source_commit: 4d9b6cfd3731fdbbca883184937d40a64d2dca52-dirty _dest_commit: c23e51f
pengcuo
approved these changes
Sep 20, 2026
foreverlms
approved these changes
Sep 20, 2026
lfengad
enabled auto-merge (squash)
September 20, 2026 06:19
lfengad
pushed a commit
that referenced
this pull request
Sep 20, 2026
## Why Release PRs #265 and #266 fail the `unittest` job and nothing else. The tree they ship now includes `cosmos_framework/data/generator/augmentors/hr_lr_degradation/codec.py`, which calls `VideoFrame.reformat(threads=...)` (PyAV >= 17). This repo lists `av` with no floor and the lock resolved **16.1.0**, so 12 codec tests fail with `TypeError: reformat() got an unexpected keyword argument 'threads'`. `degrade_test.py::test_codec_round_trip_bounds_encoder_and_decoder_threads` then leaves its non-daemon thread-count sampler running (the error is raised before `stop.set()`), pytest never exits after printing its summary at ~36 min, and the job is killed at the 60-minute timeout. Same picture on both days. ## What Mirror the three constraints `cosmos-framework-private` already has (suggested by @lfengad): | change | private origin | |---|---| | `av>=17,<18; python_version < '3.11'` | nvidia-cosmos/cosmos-framework-private#94 | | `av>=18,<19; python_version >= '3.11'` (what the imaginaire4 images ship) | private e428840 | | `requires-python = ">=3.10,<3.14"` | nvidia-cosmos/cosmos-framework-private#92 | The cap is not optional: without it uv 0.12.17 cannot re-resolve this lock at all (`multi-storage-client 0.44.0` has no aarch64 wheel for the Python 3.14 split), so no dependency bump can land here until it does. ## Verification - uv 0.12.17 (the version `setup-uv@v7` installs) reproduces `main`'s `uv.lock` byte-for-byte on the untouched tree. - After the change the only `(name, version)` pairs that move are `av 16.1.0 -> 17.1.0 / 18.1.0`; every other package is unchanged. The large diff is the dropped 3.14 resolution splits, exactly as in private #92. - `uv lock --check` passes. ## Follow-ups (not in this PR) - The sampler thread in `degrade_test.py` should be daemon or wrapped in `try/finally` so a codec failure can never hang the whole unittest job again; that is an imaginaire4-side change (the file is release-mapped). - Once this lands, re-run #266's GPU Tests (or regenerate it); the failing tests then run on PyAV 18.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Automated release from i4.
_source_commit:
4d9b6cfd3731fdbbca883184937d40a64d2dca52-dirty_dest_commit (base):
c23e51f2f157ae3e51cfcd86ebfb5464850894f2