Skip to content

Conversation

@boltronics
Copy link
Owner

Card

None (but serves to facilitate other projects)

Description

The primary purpose of these changes are to switch away from setuptools to a Hatch, a modern alternative. It allows for the removal of the Python-based setup.py, and replaces it with a declarative TOML file that is easier to review and maintain.

This also cleans up the licensing options available through the wizard and improves license file deployment. The default is now "no license" which is arguably the safest possible default.

Lastly, there was some error handling around commands in Makefile that invoke git, the consolidation of mypi.ini options into pyproject.toml, updates to the default versions of Python that are supported, and the removal of requirements.txt and requirements.dev.txt (where such dependencies are also now defined in pyproject.toml).

eg. GPL-3.0-only and GPL-3.0-or-later should be able to point to the
same license file.
If we select GPL-3.0-or-later (for example), GPL-3.0-only would be
processed first, and the license/GPL3 file would be added to the
sources set for removal, because it was not excluded. Next,
GPL-3.0-or-later would be processed and would avoid adding the license
to sources going forward, but it would already be too late at that
point.

Here, we remove (or "discard") any existing matches in the sources set
if present, when we find the license that matches what was requested.
Package requirements are now configured in pyproject.toml.
From the Python Packaging User Guide of the `license` field
documentation:

> If you are using a standard, well-known license, it is not necessary
> to use this field. Instead, you should use one of the classifiers
> starting with License ::.
This is used by the Makefile `dist` target.
@boltronics
Copy link
Owner Author

Thanks Gino.

@boltronics boltronics merged commit a8d27b5 into master Dec 2, 2024
3 checks passed
@boltronics boltronics deleted the use_hatch branch December 2, 2024 23:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants