Skip to content

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.