Hello fellow Python packagers. This is an announcement about a new set of RPM macros you can use to build PEP 517/518 enabled packages, that is Python packages that have the pyproject.toml file.

  https://www.python.org/dev/peps/pep-0517/
  https://www.python.org/dev/peps/pep-0518/
  https://snarky.ca/clarifying-pep-518/

The set of macros is designed for modern packaging with dynamic buildrequires in mind.
The macros are in the pyproject-rpm-macros package and you can use them like 
this:

    BuildRequires:  pyproject-rpm-macros

    %prep
    ...

    %generate_buildrequires
    %pyproject_buildrequires -t

    %build
    %pyproject_wheel

    %install
    %pyproject_install

    %check
    %tox

See the full documentation of the macros:
 https://src.fedoraproject.org/rpms/pyproject-rpm-macros/blob/master/f/README.md

See example spec files:
 https://src.fedoraproject.org/rpms/pyproject-rpm-macros/blob/master/f/tests

(These use setuptools (setup.py), flit and poetry for build backends, but you cannot tell that from the specfiles - BuildRequires are generated dynamically from upstream metadata.)

The macros are **provisional**, i.e. their API may be changed upon feedback received from you. We are not (yet) interested in a general "update all the Python packages" hunt, but rather in early adopters.

If you have questions, ask here. We'll gladly extend the docs if something is not clear.
If you find bugs, report them in bugzilla or here. Likewise for RFEs.

Happy hacking,
Python Maintenance
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org

Reply via email to