-
Type: Task
-
Resolution: Fixed
-
Priority: Unknown
-
Affects Version/s: None
-
Component/s: None
-
None
-
Python Drivers
-
Not Needed
-
Context
Hatch is a modern, standards-compliant, user-friendly build and package maintenance tool. By adopting hatch we get:
- Full support for pyproject.toml
- Easier maintenance of wheel and sdist contents that respects VCS
- A wide suite of plugins, including loading requirements from requirements files
- A single interface for automated version bumping (hatch version and dist building hatch dist -t wheel.
- A potential replacement for tox, using hatch environments.
By adopting CMake we get:
- A well-defined and supported build system
- An explicit build file
For now we can invoke Setuptools ourselves in a custom hatch build script. Once the CMake plugin for Hatch is complete, we can use CMake and that plugin instead.
Definition of done
Replace usage of setuptools with hatch.
Pitfalls
We need to ensure that the contents/behavior of our dists are not changing.
- is cloned by
-
MOTOR-1327 Hatch as Build Backend
- Closed
- is depended on by
-
PYTHON-4456 Use Hatch CMake Plugin
- Backlog
- related to
-
PYTHON-4483 Use hatch as task runner
- Closed
-
PYTHON-4489 Make setup.py private
- Closed