PackageManager (uv)
Type-safe wrapper for uv, pyrig's primary package manager.
uv is a Rust-based package manager that replaces pip, poetry, virtualenv, and setuptools with 10-100x faster performance.
Subclassing Example
# myapp/dev/management/package_manager.py
from pyrig.dev.management.package_manager import PackageManager as BasePM
from pyrig.src.processes import Args
class PackageManager(BasePM):
@classmethod
def get_install_dependencies_args(cls, *args: str) -> Args:
return super().get_install_dependencies_args("--frozen", *args)
Replacing uv
Not recommended. uv is deeply integrated into pyrig - it's used for running commands, installing packages, building, publishing, and version management. Replacing it would require subclassing nearly every component.
Related
- Architecture - Design philosophy and extension mechanisms
- Tooling - uv - Why pyrig uses uv