Python project manager inspired in Cargo.
pyrgo
does not reinvent the wheel. It's just a unified API that leverages popular libraries to improve your development experience.
- Testing:
- Code formatting:
- Code checking:
- Artifacts building:
- Package management:
All behind a unified API.
Usage: pyrgo [OPTIONS] COMMAND [ARGS]...
pyrgo. Python package manager.
Options:
-v, --version Show the version and exit.
-h, --help Show this message and exit.
Commands:
add Add dependency to env.
audit Audit locked dependencies with `pip_audit`.
build Build project with `build`.
check Check code with `mypy`, `ruff` and `vulture`.
clean Clean project repository.
doc Build a package's documentation with `pdoc`.
fix Automatically fix lint warnings reported by `ruff`.
fmt Format code with `ruff`.
lock Lock project dependencies with `uv`.
new Create a project.
remove Remove dependency from env.
sync Sync current python environment to locked deps using `uv`.
test Run tests with `pytest`.
The minimal pyrgo project structure, as well as python project structure is this one:
.
├── README.md
├── pkg
│ └── __init__.py
├── pyproject.toml
└── tests
└── test_something.py
Few extra configurations
[tool.pyrgo]
extra-paths = ["scripts"]
extra-caches = [".coverage"]
vulture-allowlist = ".allowlist"