document: modulemd version: 2 data: name: python36 stream: 3.6 summary: Python programming language, version 3.6 description: |- This module gives users access to the internal Python 3.6 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] # python-pymongo needs mongodb for tests # - mongodb version `3.6` being the same as version of Python 3.6 # is a coincidence. mongodb: [3.6] requires: platform: [el8] references: community: https://www.python.org/ documentation: https://docs.python.org/3.6/ profiles: common: rpms: - python36 build: rpms: - python36 - python36-devel - python36-rpm-macros filter: rpms: - python2-PyMySQL - python2-docutils - python2-nose - python2-pygments - python2-scipy - python2-sqlalchemy - python2-virtualenv api: rpms: - python-sqlalchemy-doc - python-virtualenv-doc - python3-PyMySQL - python3-bson - python3-distro - python3-docs - python3-docutils - python3-nose - python3-pygments - python3-pymongo - python3-pymongo-gridfs - python3-scipy - python3-sqlalchemy - python3-virtualenv - python3-wheel - python36 - python36-debug - python36-devel - python36-rpm-macros buildopts: rpms: macros: | %_without_python2 1 # For packages depending on python36, so that they # BuildRequire python36-devel/debug/rpm-macros instead of python3-* # # This won't be necessary for python37 and later. There we can # set %{python3_pkgversion}, because all packages will need to # have the pythonXY prefix. Whereas for Python 3.6 the packages # are split between non-modular RHEL and the python36 module, # and so it was easier and less confusing to keep the prefix at # python3- except for the devel/debug/rpm/macros packages. %_with_python36_module 1 components: rpms: python36: # This package needs to be built before all others due to containing python36-rpm-macros rationale: Contains the symlink to the platform-python interpreter. Also contains python36-rpm-macros needed to build the remaining packages. ref: stream-3.6-rhel-8.1.0 buildorder: 10 python-PyMySQL: rationale: Python adapter for the MySQL/MariaDB databases # PyMySQL [0] vs. mysqlclient-python [1] # - PyMySQL was originally chosen for the rh-python35 RH # Software collection due to the opinion that maintaining # mysqlclient-python would take much more resources (bad # communication with upstream, backward incompatibilities in # test suite, ...)[2]. PyMySQL was deemed the better # alternative. # - When creating this module, this decision was reassessed, # because mysqlclient-python seems to be faster than PyMySQL, # but the choice was reaffirmed due to the customers already # being familiar with PyMySQL from the abovementioned RHSCLs, # and due to wider popularity of PyMySQL upstream.[3] # [0] https://github.com/PyMySQL/PyMySQL # [1] https://github.com/PyMySQL/mysqlclient-python # [2] https://bugzilla.redhat.com/show_bug.cgi?id=1012475 # [3] python-maint@redhat.com mailing list, 2018-04-30, subject # "python-MySQL vs PyMySQL" ref: stream-0.8.0-rhel-8.1.0 buildorder: 20 python-docutils: rationale: System for processing plaintext documentation ref: stream-0.14-rhel-8.1.0 buildorder: 20 python-nose: rationale: Discovery-based unit test extension for Python ref: stream-1.3.7-rhel-8.1.0 buildorder: 20 python-pygments: rationale: Syntax highlighting engine written in Python ref: stream-2.2.0-rhel-8.1.0 buildorder: 20 python-pymongo: # Package maintainer: mskalick rationale: Python driver for MongoDB ref: stream-3.6.1-rhel-8.1.0 buildorder: 20 python-sqlalchemy: rationale: Modular and flexible ORM library for python ref: stream-1.3.2-rhel-8.1.0 buildorder: 20 python-virtualenv: rationale: Tool to create isolated Python environments ref: stream-15.1.0-rhel-8.1.0 buildorder: 20 python-wheel: rationale: Built-package format for Python ref: stream-0.30.0-rhel-8.1.0 buildorder: 20 scipy: rationale: Scientific Tools for Python ref: stream-1.0.0-rhel-8.1.0 buildorder: 20 python-docs: rationale: Documentation for Python ref: stream-3.6-rhel-8.1.0 buildorder: 20 python-distro: rationale: Linux Distribution - a Linux OS platform information API ref: stream-1.4-rhel-8.1.0 buildorder: 20