/pyrgo

Python project manager inspired in Cargo.

Primary LanguagePythonMIT LicenseMIT

pyrgo

PyPI downloads

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.

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"