-
Type: Task
-
Resolution: Fixed
-
Priority: Unknown
-
Affects Version/s: None
-
Component/s: None
-
None
-
Python Drivers
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.
- causes
-
MOTOR-1355 motor 3.5.1 does not provide the extra 'srv' pipenv
- Closed
- clones
-
PYTHON-4451 Use Hatch as Build Backend
- Closed