Hatch: The only tool you need
summary
Hatch claims to replace the messy Python toolchain with one CLI that actually builds, tests, versions and publishes: it ships a hatchling build backend, migrates setuptools projects and produces wheels/sdists and binary bootstraps. Environments are first-class, supporting virtualenv/conda/docker, environments with matrices and inheritance, scripts as composable tasks, Ruff formatting and pytest-based testing, plugin versioning and a publish step that can replace twine. Workspaces and lockfiles are imminent and existing projects like Jupyter already use it.
AI-written summary · about
chapters (23)
- 0:00Welcome to Hatch
- 1:06What Hatch is
- 2:36Hatch adoption
- 3:41Installing Hatch
- 4:25Hatchling build backend
- 5:51Hatchling targets
- 7:17Metadata hooks
- 8:00Build hooks
- 8:42Versioning and publishing
- 9:27Hatch environments
- 10:56Using Hatch environments
- 11:38Python versions and dependencies
- 12:44Environment options
- 13:06Hatch scripts
- 14:30Testing matrices
- 15:54Overriding matrix settings
- 16:59Testing with pytest
- 18:04Static analysis with Ruff
- 19:32Python versions with Hatch
- 20:17PEP 735 script metadata
- 21:00Future: workspaces
- 21:43Roadmap
- 22:27Q&A
related talks
30mModernizing Your Python Package with pyproject and hatch
41mTaming the toxic python environment on your laptop
33mUnsucking Your Team's Development Environment
40mMaking packages and packaging "just work"
37mAutomated deployment of Python packages for development
22mBuilding towards a holistic development service — Amjad Masad
18mDid we reinvent the wheel?
37mMaking Sense of Python Virtual Environment Tools and Workflows
