{"library":"hatch","title":"Hatch Project Management","description":"Hatch is a modern, extensible Python project manager that centralizes environment management, packaging with Hatchling, versioning, and publishing behind a single command-line interface. It is known for its ability to seamlessly manage multiple environments, handle dependencies, and dynamically download required Python distributions. Currently at version 1.16.5, Hatch maintains an active development and release cadence.","status":"active","version":"1.16.5","language":"en","source_language":"en","source_url":"https://github.com/pypa/hatch","tags":["project management","build system","packaging","virtual environments","dependency management"],"install":[{"cmd":"pip install hatch","lang":"bash","label":"Standard installation"},{"cmd":"pipx install hatch","lang":"bash","label":"Recommended for CLI tools"}],"dependencies":[{"reason":"Hatch's standardized build backend.","package":"hatchling","optional":false},{"reason":"Added in v1.16.5 to handle breaking changes in `virtualenv`.","package":"python-discovery","optional":false},{"reason":"CLI toolkit dependency.","package":"click","optional":false},{"reason":"Used for rich terminal output.","package":"rich","optional":false}],"imports":[],"quickstart":{"code":"# Create a new Python project\nhatch new \"My Awesome Project\"\n\n# Navigate into the project directory\ncd \"my-awesome-project\"\n\n# Run a script (e.g., 'python -m my_awesome_project')\n# This assumes a default `run` script is defined in pyproject.toml\nhatch run python -c \"print('Hello from Hatch!')\"\n\n# Or enter a shell environment\n# hatch shell","lang":"bash","description":"Hatch is primarily a CLI tool. This quickstart demonstrates creating a new project and running a simple command within its managed environment. The `hatch new` command scaffolds a new project with a `pyproject.toml` file, and `hatch run` executes commands within the project's isolated environment."},"warnings":[{"fix":"Upgrade your project's Python version to 3.10 or newer, or pin Hatch to a version <1.16.0 (e.g., `hatch<1.16.0`).","message":"Hatch v1.16.0 dropped official support for Python 3.9. Projects requiring Python 3.9 or older must use an earlier version of Hatch.","severity":"breaking","affected_versions":">=1.16.0"},{"fix":"Upgrade your project's Python version to 3.9 or newer, or pin Hatch to a version <1.15.0 (e.g., `hatch<1.15.0`).","message":"Hatch v1.15.0 dropped official support for Python 3.8. Projects requiring Python 3.8 or older must use an earlier version of Hatch.","severity":"breaking","affected_versions":">=1.15.0"},{"fix":"Refer to the Hatch v1.16.0 release notes and documentation for updated environment plugin API. All environments can now be used for building.","message":"In Hatch v1.16.0, several environment type plugin methods were removed (`build_environment`, `build_environment_exists`, `run_builder`, `construct_build_command`). Custom environment plugins might need updates.","severity":"breaking","affected_versions":">=1.16.0"},{"fix":"Upgrade Hatch to v1.16.5 or newer to ensure compatibility with `virtualenv`.","message":"Hatch v1.16.5 fixed a breaking change in `virtualenv` by explicitly supporting only the latest version and adding `python-discovery` as a dependency. Older Hatch versions might encounter issues with newer `virtualenv`.","severity":"gotcha","affected_versions":"<1.16.5"},{"fix":"Upgrade Hatch to v1.16.3 or newer to resolve issues with dependency recognition and environment creation stability.","message":"Prior to v1.16.3, there were known issues with self-referential dependencies not being recognized and incomplete environments being created when exceptions occurred during environment setup.","severity":"gotcha","affected_versions":"<1.16.3"}],"env_vars":null,"last_verified":"2026-04-05T00:00:00.000Z","next_check":"2026-07-04T00:00:00.000Z"}