Skip to content

UVI

The future of Python project templating powered by UV

UVI (UV Init) is a modern Python project generator built around UV - the revolutionary package manager that's reshaping the Python ecosystem. It provides a streamlined CLI that generates fully-configured Python projects with best practices and modern development tools already set up.

Why UVI?

UVI lets you instantly create production-ready Python projects with a single command. Every project comes with:

  • UV at the core: 10-100x faster dependency management
  • Modern code quality: ruff (with Pylint rules), mypy, deptry, and prettier
  • CI/CD integration: GitHub Actions workflows configured
  • Git hooks: Automated checks with pre-commit
  • Testing: pytest and codecov
  • Documentation: Generated with MkDocs
  • Publishing: Automated PyPI publishing through GitHub releases
  • Containerization: Development and deployment with Docker
  • Dev environments: Consistent setup with VSCode devcontainers
  • Multi-Python testing: tox-uv for all supported Python versions

Installation

Install UVI using UV (recommended):

uv tool install uvi

Alternative installation methods:

# Using pipx
pipx install uvi

# Using pip
pip install --user uvi

Usage

Creating a new project couldn't be simpler:

# Navigate to where you want to create your project
cd ~/projects

# Run UVI
uvi

Follow the prompts to configure your project. UVI will:

  1. Auto-detect your user information from git or GitHub CLI
  2. Generate a complete project structure
  3. Set up all the configured tools and infrastructure

Once completed, you'll have a fully functional project ready for development. An example of a project generated with UVI can be found here.

Note

Advanced users can also use Cookiecutter directly with UVI's template. See Direct Cookiecutter Usage for more details on why both options are available.