Skip to content

Adopt uv for Python dependency management#33

Open
AsharibAli wants to merge 1 commit into
digitalsamba:mainfrom
AsharibAli:asharib/dev
Open

Adopt uv for Python dependency management#33
AsharibAli wants to merge 1 commit into
digitalsamba:mainfrom
AsharibAli:asharib/dev

Conversation

@AsharibAli

Copy link
Copy Markdown

Replace manual pip/venv setup with uv sync (pyproject.toml + uv.lock), and switch all tool invocations across docs, skills, commands, and examples to uv run. Optional extras: --extra whisper, --extra modal. tools/requirements.txt is kept as a pip fallback.

Replace manual pip/venv setup with `uv sync` (pyproject.toml + uv.lock),
and switch all tool invocations across docs, skills, commands, and
examples to `uv run`. Optional extras: --extra whisper, --extra modal.
tools/requirements.txt is kept as a pip fallback.
@ConalMullan

Copy link
Copy Markdown
Collaborator

Thanks for this, @AsharibAli — really clean work. The pyproject.toml is well-commented, the core/extra split (whisper, modal pulled out as heavy optionals) is exactly right, and I appreciate that the tool .py changes are docstring-only with no logic touched. Keeping tools/requirements.txt as a documented pip fallback was the right call too.

I verified it locally on macOS (Apple Silicon, uv 0.10.12):

  • uv sync (core) → 38 packages, ~6s, --frozen passes (lockfile consistent with pyproject.toml), no CUDA pulled in
  • uv sync --extra whisper → torch 2.12.0 Apple-Silicon wheel + whisper, zero nvidia packages — the CUDA stack in uv.lock is correctly platform-gated and never touched on ARM/macOS 👍
  • uv run tools/sync_timing.py --help and uv run tools/voiceover.py --help both run fine; core imports (moviepy/PIL/matplotlib/boto3) resolve

So the one thing I wanted to be sure about — that the universal lockfile's linux/x86_64 CUDA wheels wouldn't break a Mac sync — is confirmed fine.

One question before I merge: which platforms did you test uv sync on? I've covered macOS/ARM here; if you've run it on Linux (and ideally Windows) I'm happy to merge as-is. If not, no worries — I'll do a quick Linux pass first, since the lock is universal but I'd like at least one real run per OS we support.

Either way this is in good shape. Thanks for the thorough contribution!

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