Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 12 additions & 6 deletions peps/pep-0804.rst
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,17 @@ Ubuntu and CentOS in a Docker container.
RPM-based distributions, like Fedora, can use a `rule-based implementation
<https://discuss.python.org/t/wanting-a-singular-packaging-tool-vision/21141/117>`__
(``NameConvertor``) in pyp2rpm_. The main rule is that the RPM name for a PyPI package is
``f"python-{pypi_package_name}"``. This seems to work quite well; there are a
few variants like Python version specific names, where the prefix contains the
Python major and minor version numbers (e.g. ``python311-`` instead of
``python-``).
typically ``f"python3-{pypi_package_name}"``. The rare exceptions include packages that
primarily distribute an application, which drop the prefix, (e.g., the Black formatter
is simply ``black``, not ``python3-black``), and variants for different Python versions
(e.g., in RHEL 9 ``setuptools`` can be found as ``python3-setuptools`` for Python 3.9,
but ``python3.11-setuptools`` and ``python3.12-setuptools`` are also available). More details
are available in `Fedora's packaging guidelines for Python <https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_naming>`__.

Debian packages typically follow a ``f"python3-{import_name}"`` naming scheme, with some
exceptions: some sub-communities have an infix (e.g., Django packages go under
``f"python3-django-*"``), and applications are often distributed by their name, with no
``python3-`` prefix. Additional details are available in `Debian's Python Policy <https://www.debian.org/doc/packaging-manuals/python-policy/#module-package-names>`__.

Gentoo follows a similar approach to naming Python packages, using the ``dev-python/``
category and some `well-specified rules <https://projects.gentoo.org/python/guide/package-maintenance.html>`__.
Expand Down Expand Up @@ -134,8 +141,7 @@ instructions for its external build dependencies (C/C++/Fortran compilers,
OpenBLAS, pkg-config):

- Debian/Ubuntu: ``sudo apt install -y gcc g++ gfortran libopenblas-dev liblapack-dev pkg-config python3-pip python3-dev``
- Fedora: ``sudo dnf install gcc-gfortran python3-devel openblas-devel lapack-devel pkgconfig``
- CentOS/RHEL: ``sudo yum install gcc-gfortran python3-devel openblas-devel lapack-devel pkgconfig``
- Fedora/CentOS/RHEL: ``sudo dnf install gcc-gfortran python3-devel openblas-devel lapack-devel pkgconfig``
- Arch Linux: ``sudo pacman -S gcc-fortran openblas pkgconf``
- Homebrew on macOS: ``brew install gfortran openblas pkg-config``

Expand Down