Skip to content

Make MoviePy optional for audio and video content - #106

Draft
setrf wants to merge 1 commit into
mainfrom
codex/optional-media
Draft

setrf wants to merge 1 commit into
mainfrom
codex/optional-media

Conversation

@setrf

@setrf setrf commented Nov 5, 2026

Copy link
Copy Markdown

Why this PR

Screenshot-only agents currently install and import MoviePy through stirrup.core.models. MoviePy requires Pillow below 12, so it prevents installing browser-use 0.13.11+ (which requires Pillow 12.3), even when the agent never uses audio or video.

Approach

Move MoviePy into stirrup[media], retain it in stirrup[all], and import it only inside audio/video validation and conversion methods. Missing media support raises an actionable installation error. Existing audio/video users must install the media extra; text and image use stay unchanged.

Add a CI matrix for core and media installations, covering image use without MoviePy, missing-extra errors, and real audio/video transcoding. Update installation documentation.

Validation

  • 373 tests passed, 34 browser/Docker/E2B tests deselected before adding the transcoding regression test.
  • Core installation: optional-media test passed, media test skipped, verified MoviePy absent.
  • Media installation: both optional-media tests passed with real WAV/MP4 inputs.
  • Full Ruff formatting, lint, and ty checks passed with all extras installed.
  • Dependent eval installed browser-use 0.13.14 successfully; native checks and one Luna trial passed.

The lockfile also contains uv's platform-marker normalization; the seven-day release-age floor is unchanged.

This branch has not been deployed

No deployments
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.

1 participant