Skip to content

Fully switch to pyproject.toml and remove setup.cfg and setup.py#71

Merged
behrmann merged 4 commits intovarlink:masterfrom
behrmann:fullpyprojecttoml
Sep 16, 2025
Merged

Fully switch to pyproject.toml and remove setup.cfg and setup.py#71
behrmann merged 4 commits intovarlink:masterfrom
behrmann:fullpyprojecttoml

Conversation

@behrmann
Copy link
Collaborator

I've checked with a venv on master and this branch that the version comes out the same (modulo extra commits on this branch). I've also checked with diffoscope that the same files are included (specifically all .varlink files) and the only difference I saw were in timestamps.

Further explanation of the changes are in the message of the first commit.

The option zip_safe is dropped is dropped, since it is considered obselete by
setuptools and no longer supposed to do anything [1]. The option
bdist_wheel.universal is dropped as well, since this flag used to show that a
wheel was compatible with both Python 2 and 3 [2] and support for Python 2 has
been dropped.

More project urls are added, since pyproject.toml uses a richer section there
instead of the previous single url field.

The license classifier is switched to the SPDX identifier for the Apache 2.0
license and a license-files array linking to the respective file is added. The
license classifier is removed, because at least some build backends refuse to
build the package with both it and other license metadata at the same time in
the file.

[1] https://setuptools.pypa.io/en/latest/deprecated/zip_safe.html
[2] https://wheel.readthedocs.io/en/stable/quickstart.html

debug
Since setup.py and setup.cfg have been removed, the pin should no longer be
necessary.

This reverts commit 53a25fb.
@behrmann behrmann requested a review from jelly September 16, 2025 08:42
Accoring to [1]

    […] More precisely, the following files are included in a source
    distribution by default:
    […]
    - All files specified by the license-files configuration parameter in
    pyproject.toml and/or equivalent in setup.cfg/setup.py; note that if you
    don’t explicitly set this parameter, setuptools will include any files that
    match the following glob patterns: LICEN[CS]E*, COPYING*, NOTICE*,
    AUTHORS**;
    - README, README.txt, README.rst or README.md;
    […]

Rendering this file unnecessary.

[1] https://setuptools.pypa.io/en/latest/userguide/miscellaneous.html
Copy link
Collaborator

@jelly jelly left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! 🧹

Successfully build an Arch Linux package with your changes and there are only minor changes in the METADATA.

@behrmann behrmann merged commit 54f88fd into varlink:master Sep 16, 2025
7 checks passed
@behrmann behrmann deleted the fullpyprojecttoml branch September 16, 2025 16:00
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.

2 participants