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/rig/tools/package_manager.py
from pyrig.rig.tools.package_manager import PackageManager as BasePM
from pyrig.src.processes import Args
class PackageManager(BasePM):
def install_dependencies_args(self, *args: str) -> Args:
return super().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