---
document: modulemd
version: 2
data:
name: python39
stream: 3.9
summary: Python programming language, version 3.9
description: |-
This module gives users access to the internal Python 3.9 in RHEL8, as
well as provides some additional Python packages the users might need.
In addition to these you can install any python3-* package available
in RHEL and use it with Python from this module.
license:
module:
- MIT
dependencies:
- buildrequires:
platform: [el8]
# Depending on our selves for bootstrapping
# This is not needed in bootstrap phase 1 and can be disabled
python39: [3.9-bootstrap]
# sicpy needs package swig
swig: [4.0]
# mod_wsgi needs several packages from httpd
httpd: [2.4]
requires:
platform: [el8]
references:
community: https://www.python.org/
documentation: https://docs.python.org/3.9/
profiles:
common:
rpms:
- python39
build:
rpms:
- python39
- python39-devel
- python39-rpm-macros
filter:
rpms:
- python39-Cython
- python39-debug
- python39-attrs
- python39-iniconfig
- python39-more-itertools
- python39-packaging
- python39-pluggy
- python39-py
- python39-pybind11
- python39-pybind11-devel
- python39-pyparsing
- python39-pytest
- python39-wcwidth
api:
rpms:
- python39
- python39-PyMySQL
- python39-cffi
- python39-chardet
- python39-cryptography
- python39-devel
- python39-idle
- python39-idna
- python39-libs
- python39-lxml
- python39-mod_wsgi
- python39-numpy
- python39-numpy-f2py
- python39-pip
- python39-pip-wheel
- python39-ply
- python39-psutil
- python39-psycopg2
- python39-pycparser
- python39-pysocks
- python39-pyyaml
- python39-requests
- python39-rpm-macros
- python39-scipy
- python39-setuptools
- python39-setuptools-wheel
- python39-six
- python39-test
- python39-tkinter
- python39-toml
- python39-urllib3
- python39-wheel
- python39-wheel-wheel
buildopts:
rpms:
# === Bootstrap phase 1 ===
#
# %python3_pkgversion 39
# # python39
# %_without_rpmwheels 1
# %_without_optimizations 1
# # python39, setuptools, wheel
# %_with_bootstrap 1
# # python39, setuptools, pip
# %_without_tests 1
# # pip
# %_without_doc 1
# === Bootstrap phase 2 ===
#
# %python3_pkgversion 39
# # setuptools, pip, ...
# %_without_tests 1
# === Bootstrap phase 3 ===
#
# %python3_pkgversion 39
# # scipy needs pybind11 to build and pybind11 needs scipy for tests
# %_without_tests 1
# Macros bootstrapping info:
# Only the macros that are below the `macros: |` declaration are
# being used in the module at a given time. If you want to switch
# to a different bootstrap phase, comment out the current
# bootstrap phase macros, move them above this section. And take
# the bootstrap phase you want to use, uncomment it, and move it
# here, below the `macros: |` line.
# Explanation:
# Macros are expanded even when they are commented out using '#',
# therefore it's safer to just move them out of the macros
# section entirely to avoid possible issues.
macros: |
# === Bootstrap phase 4 ===
#
%python3_pkgversion 39
components:
rpms:
# === Bootstrap phase 1 ===
#
# python39:
# rationale: The main Python interpreter
# ref: stream-3.9.0-rhel-8.4.0
# buildorder: 10
# python3x-setuptools:
# rationale: Packaging tool
# ref: stream-50.1.0-rhel-8.4.0
# buildorder: 20
# python-wheel:
# rationale: Packaging tool
# ref: stream-0.35.1-rhel-8.4.0
# buildorder: 30
# python3x-pip:
# rationale: Packaging tool
# ref: stream-20.2.2-rhel-8.4.0
# buildorder: 40
# === Bootstrap phase 2 ===
#
# python3x-setuptools:
# rationale: Packaging tool
# ref: stream-50.1.0-rhel-8.4.0
# # buildorder: 10
# python3x-pyparsing:
# rationale: Python component
# ref: stream-2.4.7-rhel-8.4.0
# # buildorder: 20
# python39:
# rationale: The main Python interpreter
# ref: stream-3.9.0-rhel-8.4.0
# # buildorder: 30
# python-wheel:
# rationale: Packaging tool
# ref: stream-0.35.1-rhel-8.4.0
# # buildorder: 40
# python3x-pip:
# rationale: Packaging tool
# ref: stream-20.2.2-rhel-8.4.0
# # buildorder: 40
# python3x-six:
# rationale: Python component
# ref: stream-1.15.0-rhel-8.4.0
# # buildorder: 40
# python-py:
# rationale: Python component
# ref: stream-1.9.0-rhel-8.4.0
# # buildorder: 40
# python-chardet:
# rationale: Python component
# # stream branch shared with python38 module
# ref: stream-3.0.4-python38-rhel-8.4.0
# # buildorder: 40
# python-attrs:
# rationale: Python component
# ref: stream-20.3.0-rhel-8.4.0
# # buildorder: 40
# python-pluggy:
# rationale: Python component
# ref: stream-0.13.1-rhel-8.4.0
# # buildorder: 40
# python-pysocks:
# rationale: Python component
# # stream branch shared with python38 module
# ref: stream-1.7.1-rhel-8.4.0
# # buildorder: 40
# python-wcwidth:
# rationale: Python component
# ref: stream-0.2.5-rhel-8.4.0
# # buildorder: 40
# python-packaging:
# rationale: Python component
# ref: stream-20.4-rhel-8.4.0
# # buildorder: 40
# python-toml:
# rationale: Python component
# ref: stream-0.10.1-rhel-8.4.0
# # buildorder: 40
# python-iniconfig:
# rationale: Python component
# ref: stream-1.1.1-rhel-8.4.0
# # buildorder: 40
# python-more-itertools:
# rationale: Python component
# ref: stream-8.5.0-rhel-8.4.0
# buildorder: 50
# pytest:
# rationale: Python component
# ref: stream-6.0.2-rhel-8.4.0
# buildorder: 60
# === Bootstrap phase 3/4 ===
# For bootstrap phase 3 uncomment all `buildorder:` lines below,
# for bootstrap phase 4 comment them out.
#
python3x-setuptools:
rationale: Packaging tool
ref: stream-50.1.0-rhel-8.4.0
python3x-pyparsing:
rationale: Python component
ref: stream-2.4.7-rhel-8.4.0
python39:
rationale: The main Python interpreter
ref: stream-3.9.0-rhel-8.4.0
python-wheel:
rationale: Packaging tool
ref: stream-0.35.1-rhel-8.4.0
python3x-pip:
rationale: Packaging tool
ref: stream-20.2.2-rhel-8.4.0
python3x-six:
rationale: Python component
ref: stream-1.15.0-rhel-8.4.0
python-py:
rationale: Python component
ref: stream-1.9.0-rhel-8.4.0
python-chardet:
rationale: Python component
# stream branch shared with python38 module
ref: stream-3.0.4-python38-rhel-8.4.0
python-attrs:
rationale: Python component
ref: stream-20.3.0-rhel-8.4.0
python-pluggy:
rationale: Python component
ref: stream-0.13.1-rhel-8.4.0
python-pysocks:
rationale: Python component
# stream branch shared with python38 module
ref: stream-1.7.1-rhel-8.4.0
python-wcwidth:
rationale: Python component
ref: stream-0.2.5-rhel-8.4.0
python-packaging:
rationale: Python component
ref: stream-20.4-rhel-8.4.0
python-toml:
rationale: Python component
ref: stream-0.10.1-rhel-8.4.0
python-iniconfig:
rationale: Python component
ref: stream-1.1.1-rhel-8.4.0
python-more-itertools:
rationale: Python component
ref: stream-8.5.0-rhel-8.4.0
pytest:
rationale: Python component
ref: stream-6.0.2-rhel-8.4.0
python-idna:
rationale: Python component
ref: stream-2.10-rhel-8.4.0
python-urllib3:
rationale: Python component
ref: stream-1.25.10-rhel-8.4.0
Cython:
rationale: Python component
ref: stream-0.29.21-rhel-8.4.0
python-ply:
rationale: Python component
# stream branch shared with python38 module
ref: stream-3.11-rhel-8.4.0
python-psutil:
rationale: Python component
ref: stream-5.7.3-rhel-8.4.0
python-psycopg2:
rationale: Python component
ref: stream-2.8.6-rhel-8.4.0
mod_wsgi:
rationale: Python component
ref: stream-4.7.1-rhel-8.4.0
python-requests:
rationale: Python component
ref: stream-2.25.0-rhel-8.4.0
# buildorder: 10
numpy:
rationale: Python component
ref: stream-1.19.4-rhel-8.4.0
# buildorder: 10
PyYAML:
rationale: Python component
ref: stream-5.3.1-rhel-8.4.0
# buildorder: 10
python-pycparser:
rationale: Python component
ref: stream-2.20-rhel-8.4.0
# buildorder: 10
python-lxml:
rationale: Python component
ref: stream-4.5.1-rhel-8.4.0
# buildorder: 10
python-cffi:
rationale: Python component
ref: stream-1.14.3-rhel-8.4.0
# buildorder: 20
pybind11:
rationale: Python component
ref: stream-2.6.1-rhel-8.4.0
# needs numpy
# buildorder: 20
scipy:
rationale: Python component
ref: stream-1.5.4-rhel-8.4.0
# needs pybind11
# buildorder: 30
python-cryptography:
rationale: Python component
ref: stream-3.2.1-rhel-8.4.0
# needs cffi
# buildorder: 30
python-PyMySQL:
rationale: Python component
ref: stream-0.10.1-rhel-8.4.0
# needs cryptography
# buildorder: 40
...