Commits
Click on a commit to change the comparison rangemake uv an optional dependency
Move `uv` from required dependencies to an optional `[uv]` extra.
When uv package is not available, behavior depends on the feature:
1. `install_packages()` / `ainstall_packages()` in `_internal/installation.py`:
- Falls back to pip with a deprecation warning
- This maintains existing behavior (pip fallback was always there)
2. Bundle features in `_experimental/bundles/__init__.py`:
- Falls back to system `uv` binary (assumes uv is in PATH) with deprecation warning
- NO pip fallback here because `uv pip freeze --exclude-editable` has no pip equivalent
- Docker base image includes `/bin/uv` so this works for containerized deployments
This addresses #17850 where users on platforms without pre-built uv
wheels (requiring Rust toolchain) or wanting smaller container images
can now use Prefect without the uv Python package dependency.
Closes #17850
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>