Skip to content

Tool Wrappers

pyrig wraps external tools in type-safe Python classes. Each Tool class constructs command arguments that can be inspected, modified, and executed.

Start Here

Architecture - Understand the design philosophy, the .L pattern, get_all_subclasses(), and when customizations propagate automatically vs when they require explicit overrides.

Tools

Each tool page shows subclassing examples. For method details, see the source docstrings.

Tool Wraps Purpose
PackageManager uv Dependencies, building, publishing
VersionController git Version control
RemoteVersionController GitHub Repository URLs and badges
Linter ruff Linting and formatting
TypeChecker ty Type checking
ProjectTester pytest Running tests
PreCommitter pre-commit Git hooks
SecurityChecker bandit Security scanning
DependencyAuditor pip-audit Dependency vulnerability scanning
MDLinter rumdl Markdown linting
DocsBuilder mkdocs Documentation
ContainerEngine podman Container builds
Pyrigger pyrig CLI wrapper

Quick Example

from pyrig.dev.management.linter import Linter

# Get command arguments
args = Linter.L.get_check_args()
print(args)  # ruff check

# Execute
args.run()

See Also