Skip to main content

A Python toolkit to rig up your project that standardizes and automates project setup, configuration and development.

Project description

pyrig

pyrig uv Container pre-commit MkDocs

ruff ty security: bandit pytest codecov rumdl

PyPI Python License

CI CD

Documentation


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:

Full Documentation - Comprehensive documentation on GitHub Pages

CodeWiki Documentation - AI-generated documentation


Project details


Release history Release notifications | RSS feed

This version

4.0.5

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyrig-4.0.5.tar.gz (118.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyrig-4.0.5-py3-none-any.whl (179.4 kB view details)

Uploaded Python 3

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

Hashes for pyrig-4.0.5.tar.gz
Algorithm Hash digest
SHA256 bec2124cb59ca8870dabd19eed5655004e2bb9a36237d21b1ad05557e5516fa6
MD5 ed2bc06d7ee54fb976f98d938823c541
BLAKE2b-256 c8a6a684b6dcbcd497db7eadc28fb1f61b9a253af7c3bc3864c6370126174bb7

See more details on using hashes here.

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

Hashes for pyrig-4.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 85caef2424412a8e4a018cd7c22c5df3fc895d3191073759caf37ab3859c4537
MD5 2dab31dfd34580e09926244eb009cea5
BLAKE2b-256 116048007c346465be2cfc07367fb4640075ded283459039b0fadd6b2356cf66

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page