pyrig
A Python toolkit that rigs up your project by standardizing and automating project setup, configuration, and maintenance
Key Features
Idempotent Scaffolding
Generate complete projects with a single command. Run it again anytime to sync everything — pyrig never overwrites your customizations.
Config System
Every generated file is backed by a Python class that validates and merges automatically. Override any config by subclassing.
Automatic CLI
Your project gets a working CLI immediately. Add commands by defining functions — they’re discovered automatically.
Multi-Package Inheritance
Override configs, tools, and CLI commands by subclassing. Create a personal pyrig package with your own standards.
Type-Safe Tools
Wrappers around uv, git, ruff, pytest, and more. Customizable via subclassing for organization-wide overrides.
PyInstaller Integration
Build standalone executables with PyInstaller integration and an extensible build system.
Test Infrastructure
Generate test skeletons mirroring your source structure. Autouse fixtures enforce best practices.
CI/CD Automation
Generate GitHub Actions workflows, branch protection configs, issue/PR templates, and release flows.
Quick Start
Get up and running with pyrig in seconds:What You Get
Complete Project Structure
Source tree, tests, CI/CD workflows, documentation, and all config files generated in one command.
Working CLI
Your project gets a CLI that works immediately. Add custom commands by defining functions.
Testing Infrastructure
pytest setup with autouse fixtures that validate project invariants — init files, config correctness, dependency freshness.
Popular Commands
pyrig init
Full project initialization with all scaffolding
pyrig mkroot
Create/update all config files
pyrig mktests
Generate test skeletons for all source code
pyrig build
Build distributable artifacts
Learn More
Architecture
Understand how pyrig works under the hood
Core Concepts
Learn about the config system and CLI architecture
API Reference
Explore the complete Python API