---
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.4.0]
# 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: c5b9d7a6b618f9d2bb917996233cb3592151bd7f
# buildorder: 10
# python3x-setuptools:
# rationale: Packaging tool
# ref: 1950ae3d8549d4df835b6e31337bebd9a40bf4f8
# buildorder: 20
# python-wheel:
# rationale: Packaging tool
# ref: 1700a34219db770dbba953e0347daa9e4417a734
# buildorder: 30
# python3x-pip:
# rationale: Packaging tool
# ref: 6d97c1df67685383c70ad4ef043c3d4d8231352d
# buildorder: 40
# === Bootstrap phase 2 ===
#
# python3x-setuptools:
# rationale: Packaging tool
# ref: 1950ae3d8549d4df835b6e31337bebd9a40bf4f8
# buildorder: 10
# python3x-pyparsing:
# rationale: Python component
# ref: ad9334c8fb4a6a6e24252c4a94f64523044b0368
# buildorder: 20
# python39:
# rationale: The main Python interpreter
# ref: c5b9d7a6b618f9d2bb917996233cb3592151bd7f
# buildorder: 30
# python-wheel:
# rationale: Packaging tool
# ref: 1700a34219db770dbba953e0347daa9e4417a734
# buildorder: 40
# python3x-pip:
# rationale: Packaging tool
# ref: 6d97c1df67685383c70ad4ef043c3d4d8231352d
# buildorder: 40
# python3x-six:
# rationale: Python component
# ref: 3930eca3dcbfbe7c80ab9c0f4d385e3f818016eb
# buildorder: 40
# python-py:
# rationale: Python component
# ref: ac8cd7b8553dcfa94956becf0b2f921d6c10af09
# buildorder: 40
# python-chardet:
# rationale: Python component
# # stream branch shared with python38 module
# ref: 04b5d1be6d2e14ece3a43caa87b79216ea35b65a
# buildorder: 40
# python-attrs:
# rationale: Python component
# ref: b68e1e37d4944f9a20e452bb3596e5f75b9506be
# buildorder: 40
# python-pluggy:
# rationale: Python component
# ref: 2abffaab2ce5b6a5e0121442bdd5a49eb4c4f752
# buildorder: 40
# python-pysocks:
# rationale: Python component
# # stream branch shared with python38 module
# ref: 483216203ae75373f15aea373c80ee0585c13e63
# buildorder: 40
# python-wcwidth:
# rationale: Python component
# ref: d45e8c1e3fcd02f21d6bdd008f877380c1dd69c1
# buildorder: 40
# python-packaging:
# rationale: Python component
# ref: d6dd7925507609cedacc346a2793842dfbdcdf72
# buildorder: 40
# python-toml:
# rationale: Python component
# ref: dc3e570c0f28ba1c9b9bbca871b122e0a5f8a2ff
# buildorder: 40
# python-iniconfig:
# rationale: Python component
# ref: f707fca709c2a1d006dcff691dfa2b9b648ecb7f
# buildorder: 40
# python-more-itertools:
# rationale: Python component
# ref: 4c7d27c844b65549cf4162977488b7b63288b377
# buildorder: 50
# pytest:
# rationale: Python component
# ref: 0e0110864115c99e4e69ed78021a478fac350f33
# 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: 1950ae3d8549d4df835b6e31337bebd9a40bf4f8
python3x-pyparsing:
rationale: Python component
ref: ad9334c8fb4a6a6e24252c4a94f64523044b0368
python39:
rationale: The main Python interpreter
ref: c5b9d7a6b618f9d2bb917996233cb3592151bd7f
python-wheel:
rationale: Packaging tool
ref: 1700a34219db770dbba953e0347daa9e4417a734
python3x-pip:
rationale: Packaging tool
ref: 6d97c1df67685383c70ad4ef043c3d4d8231352d
python3x-six:
rationale: Python component
ref: 3930eca3dcbfbe7c80ab9c0f4d385e3f818016eb
python-py:
rationale: Python component
ref: ac8cd7b8553dcfa94956becf0b2f921d6c10af09
python-chardet:
rationale: Python component
# stream branch shared with python38 module
ref: 04b5d1be6d2e14ece3a43caa87b79216ea35b65a
python-attrs:
rationale: Python component
ref: b68e1e37d4944f9a20e452bb3596e5f75b9506be
python-pluggy:
rationale: Python component
ref: 2abffaab2ce5b6a5e0121442bdd5a49eb4c4f752
python-pysocks:
rationale: Python component
# stream branch shared with python38 module
ref: 483216203ae75373f15aea373c80ee0585c13e63
python-wcwidth:
rationale: Python component
ref: d45e8c1e3fcd02f21d6bdd008f877380c1dd69c1
python-packaging:
rationale: Python component
ref: d6dd7925507609cedacc346a2793842dfbdcdf72
python-toml:
rationale: Python component
ref: dc3e570c0f28ba1c9b9bbca871b122e0a5f8a2ff
python-iniconfig:
rationale: Python component
ref: f707fca709c2a1d006dcff691dfa2b9b648ecb7f
python-more-itertools:
rationale: Python component
ref: 4c7d27c844b65549cf4162977488b7b63288b377
pytest:
rationale: Python component
ref: 0e0110864115c99e4e69ed78021a478fac350f33
python-idna:
rationale: Python component
ref: 96079b9187a3c449211a2dc1a4e910ef9956b7e9
python-urllib3:
rationale: Python component
ref: 6b6e02d630b786437deed074d421051cc2acbe87
Cython:
rationale: Python component
ref: 8c789216e7ce6b5e929c5046a27d5d890423c750
python-ply:
rationale: Python component
# stream branch shared with python38 module
ref: f113e7017224318a0e816f6e78f938187ff60515
python-psutil:
rationale: Python component
ref: b24769857571306e8bb21f72c53c1ef1a6fb95f6
python-psycopg2:
rationale: Python component
ref: 439d6fa4527303c38f65ae247c709410adb5821a
mod_wsgi:
rationale: Python component
ref: 83f89e967cf6729d4e78591b29ebde950ff12aea
python-requests:
rationale: Python component
ref: f99a3f5bab770a5fea956ceef8e9d0cd506b6379
# buildorder: 10
numpy:
rationale: Python component
ref: 593d45b8a06077089786e5c3818950d295e85871
# buildorder: 10
PyYAML:
rationale: Python component
ref: fadfcf8207e37e3910989e51f9d2e2ebcf783051
# buildorder: 10
python-pycparser:
rationale: Python component
ref: ca7845af04898c3f98db25937fa93a58e5166cf4
# buildorder: 10
python-lxml:
rationale: Python component
ref: 594c36cb17094416e72ceb7c1b9aefa9bc2857b7
# buildorder: 10
python-cffi:
rationale: Python component
ref: b66960cca0cb1074520655088cae60899bd8fd00
# buildorder: 20
pybind11:
rationale: Python component
ref: c5ded38bf8d331512fc09d82e8621fbf288f221f
# needs numpy
# buildorder: 20
scipy:
rationale: Python component
ref: 0c42ffd27fafcf93fe7ca76033dedf8f4052ddcc
# needs pybind11
# buildorder: 30
python-cryptography:
rationale: Python component
ref: e304a6883592ff881d6396fcd4a95c9f62eab810
# needs cffi
# buildorder: 30
python-PyMySQL:
rationale: Python component
ref: dc5bc3753d271278f5da87a774ce58e924ed66b8
# needs cryptography
# buildorder: 40
...