Pyrig handles all the boring Python project boilerplate for me
The tool relies on uv for speed, which makes the initial deployment feel nearly instantaneous. If you have Python 3.12+ and Git installed, you can get a project live in seconds.
Quick start guide
To get a new project running from scratch, use these commands:
uv init my-project --python 3.12
cd my-project
uv add pyrig --dev
uv run pyrig initWhy this is actually useful
The real value isn't just the initial folder structure; it's how it handles maintenance. Most scaffolders leave you with a static set of files that you have to manually update. Pyrig treats configuration as code. Every config file is backed by a Python class. If you need to change a setting, you don't just edit a YAML file; you can subclass the config, and pyrig sync handles the merge and update process automatically.
Here is a breakdown of the core functionality:
- Automatic CLI Generation: You get a working CLI immediately upon initialization. If you need a new command, you just run
pyrig mk cmd <name>and it's integrated. - Mirror Testing: This is a huge time-saver. Running
pyrig syncgenerates test skeletons for all your source modules. As you add new modules to your project, it keeps the test structures updated so you aren't forgetting to write tests for new files. - CI/CD Integration: It doesn't just give you a
.github/workflowsfolder; it configures the actual repository protection rulesets and GitHub Actions to ensure your code is tested and released properly. - Extensibility: Because it's built on inheritance and composition, you can override almost any behavior by creating a subclass via
pyrig mk subcls.
For anyone tired of spending the first two hours of every project configuring
pyproject.toml, pytest.ini, and linting rules, this is a practical tutorial in how to automate the "boring" part of development. It transforms the setup phase from a manual chore into a programmatic step in the AI workflow.If you want to see the full documentation for GitHub integration and advanced CI/CD setups, the detailed guide is located here:
https://Winipedia.github.io/pyrig/getting-started