# pypa/hatch

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/pypa-hatch).**

7,182 stars · 424 forks · Python · MIT

## Links

- GitHub: https://github.com/pypa/hatch
- Homepage: https://hatch.pypa.io/latest/
- awesome-repositories: https://awesome-repositories.com/repository/pypa-hatch.md

## Topics

`build` `cli` `packaging` `plugin` `python` `versioning` `virtualenv`

## Description

Hatch is a unified tool for managing Python environments, building packages, scaffolding projects, and installing Python versions. It provides a single command-line interface for automating common development workflows, including running scripts, tests, and static analysis with automatic dependency resolution and configuration.

The tool manages project settings, dependencies, and build instructions through a declarative TOML configuration file, ensuring reproducibility across environments. It creates and manages isolated virtual environments across all major shells, installs and manages multiple Python versions for project-specific requirements, and generates new project skeletons from customizable templates that enforce standard directory layouts and best practices.

Hatch builds Python packages with deterministic, repeatable outputs using a plugin ecosystem for customization, and can upload built packages to PyPI or other package indices with minimal configuration. It also runs test suites with automatic code coverage reporting, performs static analysis using Ruff with sensible defaults, and increments version numbers according to semantic versioning rules without manual file edits.

## Tags

### Development Tools & Productivity

- [Python Workflow Automators](https://awesome-repositories.com/f/development-tools-productivity/development-workflow-automators/python-workflow-automators.md) — Automates Python development workflows including script execution, testing, and static analysis with automatic dependency resolution.
- [Build Plugin Architectures](https://awesome-repositories.com/f/development-tools-productivity/build-plugin-architectures.md) — Ships a plugin-based build system that allows custom build steps and output formats via extensible backends.
- [Project Scaffolding](https://awesome-repositories.com/f/development-tools-productivity/project-scaffolding-config-code-generation/project-scaffolding-configuration/project-scaffolding.md) — Generates new Python projects from templates that incorporate established best practices. ([source](https://hatch.pypa.io/latest/))
- [Python Project Scaffolders](https://awesome-repositories.com/f/development-tools-productivity/project-scaffolding-config-code-generation/project-scaffolding-configuration/project-scaffolding/python-project-scaffolders.md) — Generates new Python projects from customizable templates that enforce standard directory layouts and best practices.
- [Project Scaffolding Templates](https://awesome-repositories.com/f/development-tools-productivity/project-scaffolding-templates.md) — Generates new Python projects from customizable templates that enforce standard directory layouts and best practices.
- [Dependency-Aware Script Runners](https://awesome-repositories.com/f/development-tools-productivity/python-development-tools/script-execution-engines/python-scripting-environments/dependency-aware-script-runners.md) — Runs scripts in isolated environments with automatic dependency resolution and Python version management.
- [Python Environment Managers](https://awesome-repositories.com/f/development-tools-productivity/python-environment-managers.md) — Creates, activates, and switches between isolated Python virtual environments across all major shells.
- [Python Script Dependency Resolvers](https://awesome-repositories.com/f/development-tools-productivity/script-dependency-managers/python-script-dependency-resolvers.md) — Executes Python scripts while automatically resolving and installing their specific dependencies and Python version requirements. ([source](https://hatch.pypa.io/latest/))
- [Virtual Environment Managers](https://awesome-repositories.com/f/development-tools-productivity/virtual-environment-managers.md) — Creates and manages isolated Python virtual environments across all major shells using a unified command interface.
- [Package Publishing](https://awesome-repositories.com/f/development-tools-productivity/dependency-managers/artifact-distribution-systems/package-publishing.md) — Uploads built packages to PyPI or other package indices with minimal configuration steps. ([source](https://hatch.pypa.io/latest/))
- [Semantic Versioning](https://awesome-repositories.com/f/development-tools-productivity/project-version-managers/project-release-versions/semantic-versioning.md) — Automatically increments version numbers according to semantic versioning rules without manual file edits.

### DevOps & Infrastructure

- [Python Distribution Packaging](https://awesome-repositories.com/f/devops-infrastructure/python-distribution-packaging.md) — Builds reproducible Python packages and uploads them to PyPI or other package indices.
- [Automated Version Incrementing](https://awesome-repositories.com/f/devops-infrastructure/dependency-management/version-compatibility-management/semantic-versioning-systems/automated-version-incrementing.md) — Increments the version number of a project according to semantic versioning rules without editing files manually. ([source](https://cdn.jsdelivr.net/gh/pypa/hatch@master/README.md))
- [PyPI Uploaders](https://awesome-repositories.com/f/devops-infrastructure/python-distribution-packaging/pypi-uploaders.md) — Packages projects into distributable archives and uploads them to the Python Package Index. ([source](https://cdn.jsdelivr.net/gh/pypa/hatch@master/README.md))

### Mobile Development

- [TOML-Based Configurations](https://awesome-repositories.com/f/mobile-development/build-and-tooling/project-configuration/toml-based-configurations.md) — Provides a declarative TOML configuration file that defines project settings, dependencies, and build instructions.

### Programming Languages & Runtimes

- [Python Tooling](https://awesome-repositories.com/f/programming-languages-runtimes/python-tooling.md) — Provides a unified tool for managing Python projects, including building, testing, and publishing packages.
- [Python Version Managers](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/runtime-management-utilities/python-version-managers.md) — Installs and manages multiple Python interpreter versions for use in project environments.

### Software Engineering & Architecture

- [Reproducible Builds](https://awesome-repositories.com/f/software-engineering-architecture/reproducible-builds.md) — Builds Python packages with deterministic, repeatable outputs using a plugin ecosystem for customization. ([source](https://hatch.pypa.io/latest/))
- [Static Code Analyzers](https://awesome-repositories.com/f/software-engineering-architecture/static-code-analyzers.md) — Analyzes code statically with Ruff using current, sensible default configurations. ([source](https://hatch.pypa.io/latest/))

### Testing & Quality Assurance

- [Static Code Analysis](https://awesome-repositories.com/f/testing-quality-assurance/static-code-analysis.md) — Integrates Ruff for static code analysis with sensible defaults directly into the development workflow.
- [Test Suite Execution](https://awesome-repositories.com/f/testing-quality-assurance/test-suite-execution.md) — Runs project tests following established best practices for Python testing workflows. ([source](https://hatch.pypa.io/latest/))
- [Test Coverage Metrics](https://awesome-repositories.com/f/testing-quality-assurance/testing-best-practices-methodologies/quality-assurance-practices/testing-methodologies/test-coverage-metrics.md) — Runs the test suite and automatically reports code coverage metrics in a single command. ([source](https://cdn.jsdelivr.net/gh/pypa/hatch@master/README.md))
