A Python toolkit to rig up your project that standardizes and automates project setup, configuration and development.
Project description
pyrig
A Python toolkit to rig up your project that standardizes and automates project setup, configuration and development.
What is pyrig?
pyrig is an opinionated Python project toolkit that eliminates setup time and enforces best practices. Run one command to get a complete, production-ready project structure with CI/CD, testing, documentation, and more.
Philosophy: pyrig provides minimal best practices fully working defaults for everything a project needs. Every configuration, workflow, and tool is pre-configured and working from day one, so you can focus on writing code and start immediately developing your application, project or library.
Key Features
Zero Configuration Setup:
- Complete project structure in minutes
- Pre-configured tools (uv, ruff, ty, pytest, MkDocs)
- GitHub Actions workflows (health check, build, release, publish)
- 90% test coverage enforcement
- Pre-commit hooks with all quality checks
Automated Project Management:
- CLI framework with automatic command discovery
- Configuration file system with validation
- Automatic test skeleton generation
- PyInstaller executable building
- Multi-package architecture support
Opinionated Best Practices:
- Python >=3.12 with modern type hints
- All ruff linting rules enabled
- Strict type checking with ty
- Signed commits and linear history
- Repository protection rules
Quick Example
# Create repository on GitHub
git clone https://github.com/username/my-project.git
cd my-project
# Initialize with uv and pyrig
uv init
uv add pyrig
uv run pyrig init
# Complete project ready in minutes:
# ✓ Source code structure
# ✓ Test framework with 90% coverage
# ✓ CI/CD workflows
# ✓ Documentation site
# ✓ Pre-commit hooks
# ✓ Container support
What You Get
After running uv run pyrig init, you get a complete project with:
- Complete directory structure with source code, tests, docs, and CI/CD
- Pre-configured tools (uv, ruff, ty, pytest, MkDocs, Podman)
- GitHub Actions workflows (health check, build, release, publish)
- 90% test coverage enforcement
- Pre-commit hooks with all quality checks
See the Getting Started Guide for the complete project structure and detailed setup instructions.
CLI Commands
uv run pyrig init # Complete project initialization
uv run pyrig mkroot # Update project structure
uv run pyrig mktests # Generate test skeletons
uv run pyrig build # Build all artifacts
uv run my-project --help # Your custom CLI
Quick Start
New to pyrig? Start here:
- Getting Started Guide
- Complete setup from zero to fully configured project
Full Documentation - Comprehensive documentation on GitHub Pages
CodeWiki Documentation - AI-generated documentation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyrig-4.0.5.tar.gz.
File metadata
- Download URL: pyrig-4.0.5.tar.gz
- Upload date:
- Size: 118.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bec2124cb59ca8870dabd19eed5655004e2bb9a36237d21b1ad05557e5516fa6
|
|
| MD5 |
ed2bc06d7ee54fb976f98d938823c541
|
|
| BLAKE2b-256 |
c8a6a684b6dcbcd497db7eadc28fb1f61b9a253af7c3bc3864c6370126174bb7
|
File details
Details for the file pyrig-4.0.5-py3-none-any.whl.
File metadata
- Download URL: pyrig-4.0.5-py3-none-any.whl
- Upload date:
- Size: 179.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85caef2424412a8e4a018cd7c22c5df3fc895d3191073759caf37ab3859c4537
|
|
| MD5 |
2dab31dfd34580e09926244eb009cea5
|
|
| BLAKE2b-256 |
116048007c346465be2cfc07367fb4640075ded283459039b0fadd6b2356cf66
|