Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Tomperez98/pyrgo
Python project manager inspired in Cargo.
https://github.com/Tomperez98/pyrgo
cargo dead-code documentation linter mypy package-manager pytest python ruff styleguide testing type-checking uv
Last synced: 7 days ago
JSON representation
Python project manager inspired in Cargo.
- Host: GitHub
- URL: https://github.com/Tomperez98/pyrgo
- Owner: Tomperez98
- License: mit
- Created: 2023-05-10T21:02:40.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-03T21:06:25.000Z (7 months ago)
- Last Synced: 2024-10-29T04:48:59.392Z (10 days ago)
- Topics: cargo, dead-code, documentation, linter, mypy, package-manager, pytest, python, ruff, styleguide, testing, type-checking, uv
- Language: Python
- Homepage: https://pypi.org/project/pyrgo/
- Size: 194 KB
- Stars: 43
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# pyrgo
[![PyPI downloads](https://img.shields.io/pypi/dm/pyrgo.svg)](https://pypistats.org/packages/pyrgo)
Python project manager inspired in [Cargo](https://doc.rust-lang.org/cargo/).
**`pyrgo` does not reinvent the wheel**. It's just a unified API that leverages popular libraries to improve your development experience.
- Testing:
- [pytest](https://docs.pytest.org/en/7.3.x/)
- Code formatting:
- [ruff](https://beta.ruff.rs/docs/)
- Code checking:
- [ruff](https://beta.ruff.rs/docs/)
- [mypy](https://mypy.readthedocs.io/en/stable/config_file.html)
- [vulture](https://github.com/jendrikseipp/vulture)
- Artifacts building:
- [build](https://pypa-build.readthedocs.io/en/stable/)
- Package management:
- [uv](https://github.com/astral-sh/uv)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:
```bash
.
├── README.md
├── pkg
│ └── __init__.py
├── pyproject.toml
└── tests
└── test_something.py
```Few extra configurations
```toml
[tool.pyrgo]
extra-paths = ["scripts"]
extra-caches = [".coverage"]
vulture-allowlist = ".allowlist"
```