Hello Pythonistas,
The old %py3_build and %py3_install macros (201x-era) as documented in [1] use a deprecated feature of setuptools.
It is highly recommended to use the current %pyproject macros instead as documented in [2] and [3] sooner than it becomes necessary.
To help you convert your packages from the old Python macros to the new, I wrote a tool called pyprojectize [4].
The tool is not yet packaged in Fedora, as I release new alpha releases too often. It is however installable via pip/uv/pipx from PyPI [5].
To use the tool, run `pyprojectize python-foo.spec`. See the README or --help for further options.
The program only operates on the spec file itself, and hence has limited knowledge. The resulting spec file is not guaranteed to be buildable and manual verification and completion of the transition is strongly advised.
If you encounter problems, please report them to the issue tracker [6] or directly to me.
Happy packaging.
[1]: https://docs.fedoraproject.org/en-US/packaging-guidelines/Python_201x/ [2]: https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/ [3]: https://src.fedoraproject.org/rpms/pyproject-rpm-macros/blob/rawhide/f/READM... [4]: https://github.com/hroncok/pyprojectize [5]: https://pypi.org/project/pyprojectize/ [6]: https://github.com/hroncok/pyprojectize/issues
Hello Miro, Thank you very much for the tool - I am adding it to toolbox.
I actually love the new pyproject macros, but in the past there were some discrepancies between Fedora and EPEL where not everywhere the situation was ready there to switch to pyproject macros. Please have you checked recently how EPEL8-9-10 is doing with the Fedora pyproject macros? Does it make sense to switch over for all current EPELs?
Thank you
Michal Ambroz
---------- Původní e-mail ---------- Od: Miro Hrončok mhroncok@redhat.com Komu: Development discussions related to Fedora <devel@lists.fedoraproject. org> Kopie: Fedora Python SIG python-devel@lists.fedoraproject.org, Discussion of RPM packaging standards and practices for Fedora <packaging@lists. fedoraproject.org> Datum: 11. 10. 2024 0:11:16 Předmět: A tool to convert Python packages to pyproject RPM macros "Hello Pythonistas,
The old %py3_build and %py3_install macros (201x-era) as documented in [1] use a deprecated feature of setuptools.
It is highly recommended to use the current %pyproject macros instead as documented in [2] and [3] sooner than it becomes necessary.
To help you convert your packages from the old Python macros to the new, I wrote a tool called pyprojectize [4].
The tool is not yet packaged in Fedora, as I release new alpha releases too
often. It is however installable via pip/uv/pipx from PyPI [5].
To use the tool, run `pyprojectize python-foo.spec`. See the README or -- help for further options.
The program only operates on the spec file itself, and hence has limited knowledge. The resulting spec file is not guaranteed to be buildable and manual verification and completion of the transition is strongly advised.
If you encounter problems, please report them to the issue tracker [6] or directly to me.
Happy packaging.
[1]: https://docs.fedoraproject.org/en-US/packaging-guidelines/Python_201x/ [2]: https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/ [3]: https://src.fedoraproject.org/rpms/pyproject-rpm-macros/blob/rawhide/f/ README.md [4]: https://github.com/hroncok/pyprojectize [5]: https://pypi.org/project/pyprojectize/ [6]: https://github.com/hroncok/pyprojectize/issues
packaging@lists.fedoraproject.org