Commit 2ba4010
authored
chore: replace setuptools with hatchling, remove 'build' extra (#2446)
This PR does the following:
- Changes the build backend from setuptools to hatch's hatchling. Why?
- While both are PyPA projects, setuptools has some odd legacy concepts like MANIFEST.in and egg-info directories, that are not used with modern builds. It's an old system that is primarily maintained to maintain legacy behaviour and not to embrace modern enhancements.
- Hatchling is a common and modern build backend, e.g. demonstrated as a default in guidelines. New features and plugins are actively developed for hatch and hatchling by Python core developers.
- Use the hatch-fancy-pypi-readme plug-in to stitch content for the documentation in PyPI. (There is more potential to this plug-in, such as amending changelog info from each release). See preview via uvx hatch project metadata readme.
- Remove the 'build' optional dependency (or extra), as this a prerequisite only for packaging builds, not an optional dependency. Builds can happen using several methods, e.g. python3 -m build or uv build or uvx hatch build etc.
I've done some comparisons of the sdist (.tar.gz) and bdist (.whl) outputs, and the contents are nearly identical.1 parent fcc566a commit 2ba4010
2 files changed
+23
-23
lines changedThis file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
3 | | - | |
4 | | - | |
5 | | - | |
| 2 | + | |
| 3 | + | |
6 | 4 | | |
7 | 5 | | |
8 | 6 | | |
| |||
36 | 34 | | |
37 | 35 | | |
38 | 36 | | |
39 | | - | |
40 | | - | |
41 | | - | |
| 37 | + | |
| 38 | + | |
42 | 39 | | |
43 | 40 | | |
44 | 41 | | |
| |||
100 | 97 | | |
101 | 98 | | |
102 | 99 | | |
103 | | - | |
104 | | - | |
105 | | - | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
106 | 113 | | |
107 | | - | |
108 | | - | |
109 | | - | |
| 114 | + | |
| 115 | + | |
110 | 116 | | |
111 | | - | |
112 | | - | |
| 117 | + | |
| 118 | + | |
113 | 119 | | |
114 | | - | |
115 | | - | |
116 | | - | |
| 120 | + | |
| 121 | + | |
117 | 122 | | |
118 | 123 | | |
119 | 124 | | |
| |||
0 commit comments