Skip to content
a5chinPublic

About

A production-ready Python development environment template using modern tools: uv for blazing-fast package management, Ruff for lightning-fast linting and formatting, ty for fast and reliable type checking, and VSCode Dev Containers for reproducible development environments.

Topics

Resources

Code of conduct

Contributing

Stars

374 stars

Watchers

4 watching

Forks

Latest commit

 

History

850 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python Development with uv and Ruff

uv Ruff ty

Versions codecov

Docker Format Lint

A production-ready Python development environment template using modern tools: uv for blazing-fast package management, Ruff for lightning-fast linting and formatting, ty for fast and reliable type checking, and VSCode Dev Containers for reproducible development environments.


📋 Table of Contents


✨ Features

  • 🚀 Ultra-fast package management with uv (10-100x faster than pip)
  • ⚡ Lightning-fast linting & formatting with Ruff (replacing Black, isort, Flake8, and more)
  • 🐳 Dev Container ready - Consistent development environment across all machines
  • 🔍 Type checking with ty
  • ✅ Pre-configured testing with pytest (75% coverage requirement)
  • 🔄 Automated CI/CD with GitHub Actions
  • 📦 Reusable utilities - Logger, configuration management, and performance tracing tools
  • 🎯 Task automation with nox
  • 🪝 Pre-commit hooks for automatic code quality checks

🚀 Quick Start

  1. Install Docker and VSCode with the Dev Containers extension.
  2. Clone the repository and open it in VSCode, then click Reopen in Container when prompted:
    git clone https://github.com/a5chin/python-uv.git
    cd python-uv
    code .
  3. Check that everything works:
    uv run nox -s test

For Docker-only or local setup (without Docker), see Getting Started.

📖 Documentation

The full documentation is published at https://a5chin.github.io/python-uv. Its source lives in docs/, which is the single source of truth for every topic below.

Topic Document
Setup (Dev Container, Docker, local) Getting Started
Development commands (fmt / lint / test) Task Automation with nox
uv, Ruff, ty, pre-commit, pytest Guides
Configuration files Configuration Reference
Built-in utilities (Logger, Settings, Timer) Tools Package
Coding rules and writing tests Code Standards
Branches, releases, and deployment Branch Strategy & Release Flow
GitHub Actions workflows CI/CD Workflows
Project templates cookiecutter
Examples (Jupyter, FastAPI, OpenCV) Use Cases

To contribute, see CONTRIBUTING.md.

🗄️ Archived Branches

These branches are no longer maintained; use main for new projects.

  • jupyter - Jupyter-specific configuration
  • rye - Rye package manager version (replaced by uv)

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

This template is built on top of excellent open-source tools:

  • uv by Astral - Ultra-fast Python package manager
  • Ruff by Astral - Lightning-fast linter and formatter
  • ty by Astral - Static type checker for Python
  • nox - Flexible task automation for Python
  • pytest - Testing framework for Python
  • MkDocs - Documentation site generator

Special thanks to the open-source community for making these tools available!

About

A production-ready Python development environment template using modern tools: uv for blazing-fast package management, Ruff for lightning-fast linting and formatting, ty for fast and reliable type checking, and VSCode Dev Containers for reproducible development environments.

Topics

Resources

Code of conduct

Contributing

Stars

374 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages