e0e2ec
---
e0e2ec
document: modulemd
e0e2ec
version: 2
e0e2ec
data:
e0e2ec
    name: python38
e0e2ec
    stream: "3.8"
e0e2ec
    summary: Python programming language, version 3.8
e0e2ec
    description: |-
e0e2ec
        This module gives users access to the internal Python 3.8 in RHEL8, as
e0e2ec
        well as provides some additional Python packages the users might need.
e0e2ec
        In addition to these you can install any python3-* package available
e0e2ec
        in RHEL and use it with Python from this module.
e0e2ec
    license:
e0e2ec
        module:
e0e2ec
            - MIT
e0e2ec
    dependencies:
e0e2ec
        - buildrequires:
e0e2ec
              platform: [el8.4.0]
e0e2ec
e0e2ec
              # Depending on our selves for bootstrapping
e0e2ec
              # This is not needed in bootstrap phase 1 and can be disabled
e0e2ec
              python38: [3.8-bootstrap]
e0e2ec
e0e2ec
              # sicpy needs package swig
e0e2ec
              swig: [3.0]
e0e2ec
              # mod_wsgi needs several packages from httpd
e0e2ec
              httpd: [2.4]
e0e2ec
          requires:
e0e2ec
              platform: [el8]
e0e2ec
    references:
e0e2ec
        community: https://www.python.org/
e0e2ec
        documentation: https://docs.python.org/3.8/
e0e2ec
    profiles:
e0e2ec
        common:
e0e2ec
            rpms:
e0e2ec
                - python38
e0e2ec
        build:
e0e2ec
            rpms:
e0e2ec
                - python38
e0e2ec
                - python38-devel
e0e2ec
                - python38-rpm-macros
e0e2ec
    filter:
e0e2ec
        rpms:
e0e2ec
            - python38-pyparsing
e0e2ec
            - python38-atomicwrites
e0e2ec
            - python38-attrs
e0e2ec
            - python38-packaging
e0e2ec
            - python38-py
e0e2ec
            - python38-pytest
e0e2ec
            - python38-more-itertools
e0e2ec
            - python38-pluggy
e0e2ec
            - python38-wcwidth
e0e2ec
    api:
e0e2ec
        rpms:
e0e2ec
            - python38
e0e2ec
            - python38-Cython
e0e2ec
            - python38-PyMySQL
e0e2ec
            - python38-asn1crypto
e0e2ec
            - python38-babel
e0e2ec
            - python38-cffi
e0e2ec
            - python38-chardet
e0e2ec
            - python38-cryptography
e0e2ec
            - python38-devel
e0e2ec
            - python38-idle
e0e2ec
            - python38-idna
e0e2ec
            - python38-jinja2
e0e2ec
            - python38-libs
e0e2ec
            - python38-lxml
e0e2ec
            - python38-markupsafe
e0e2ec
            - python38-mod_wsgi
e0e2ec
            - python38-numpy
e0e2ec
            - python38-numpy-f2py
e0e2ec
            - python38-pip
e0e2ec
            - python38-pip-wheel
e0e2ec
            - python38-ply
e0e2ec
            - python38-psutil
e0e2ec
            - python38-psycopg2
e0e2ec
            - python38-pycparser
e0e2ec
            - python38-pysocks
e0e2ec
            - python38-pytz
e0e2ec
            - python38-pyyaml
e0e2ec
            - python38-requests
e0e2ec
            - python38-rpm-macros
e0e2ec
            - python38-scipy
e0e2ec
            - python38-setuptools
e0e2ec
            - python38-setuptools-wheel
e0e2ec
            - python38-six
e0e2ec
            - python38-test
e0e2ec
            - python38-tkinter
e0e2ec
            - python38-urllib3
e0e2ec
            - python38-wheel
e0e2ec
            - python38-wheel-wheel
e0e2ec
    buildopts:
e0e2ec
        rpms:
e0e2ec
                # === Bootstrap phase 1 ===
e0e2ec
                #
e0e2ec
                # %python3_pkgversion 38
e0e2ec
                # %_without_python2 1
e0e2ec
                # # python38, setuptools, wheel
e0e2ec
                # %_with_bootstrap 1
e0e2ec
                # # python38
e0e2ec
                # %_without_rpmwheels 1
e0e2ec
                # # python38, setuptools, pip
e0e2ec
                # %_without_tests 1
e0e2ec
                # # pip
e0e2ec
                # %_without_doc 1
e0e2ec
e0e2ec
                # === Bootstrap phase 2 ===
e0e2ec
                #
e0e2ec
                # %python3_pkgversion 38
e0e2ec
                # %_without_python2 1
e0e2ec
                # # python38, setuptools, six, py, chardet, attrs, pluggy, pysocks,
e0e2ec
                # # atomicwrites, wcwidth, packaging
e0e2ec
                # %_without_tests 1
e0e2ec
                # # py, pyparsing, atomicwrites, packaging, pytest
e0e2ec
                # %_without_docs 1
e0e2ec
                # # pytest
e0e2ec
                # %_without_timeout 1
e0e2ec
                # %_without_optional_tests 1
e0e2ec
e0e2ec
            # Macros bootstrapping info:
e0e2ec
            #   Only the macros that are below the `macros: |` declaration are
e0e2ec
            #   being used in the module at a given time. If you want to switch
e0e2ec
            #   to a different bootstrap phase, comment out the current
e0e2ec
            #   bootstrap phase macros, move them above this section. And take
e0e2ec
            #   the bootstrap phase you want to use, uncomment it, and move it
e0e2ec
            #   here, below the `macros: |` line.
e0e2ec
            # Explanation:
e0e2ec
            #   Macros are expanded even when they are commented out using '#',
e0e2ec
            #   therefore it's safer to just move them out of the macros
e0e2ec
            #   section entirely to avoid possible issues.
e0e2ec
            macros: |
e0e2ec
                # === Bootstrap phase 3/4 ===
e0e2ec
                #
e0e2ec
                %python3_pkgversion 38
e0e2ec
                %_without_python2 1
e0e2ec
                # py, pyparsing, atomicwrites, packaging, pytest
e0e2ec
                %_without_docs 1
e0e2ec
e0e2ec
    components:
e0e2ec
        rpms:
e0e2ec
            # === Bootstrap phase 1 ===
e0e2ec
            #
e0e2ec
            # python38:
e0e2ec
            #     rationale: The main Python interpreter
e0e2ec
            #     ref: stream-3.8-rhel-8.4.0
e0e2ec
            #     buildorder: 10
e0e2ec
            # python3x-setuptools:
e0e2ec
            #     rationale: Packaging tool
e0e2ec
            #     ref: stream-41.6.0-rhel-8.4.0
e0e2ec
            #     buildorder: 20
e0e2ec
            # python-wheel:
e0e2ec
            #     rationale: Packaging tool
e0e2ec
            #     ref: stream-0.33.6-rhel-8.4.0
e0e2ec
            #     buildorder: 30
e0e2ec
            # python3x-pip:
e0e2ec
            #     rationale: Packaging tool
e0e2ec
            #     ref: stream-19.3.1-rhel-8.4.0
e0e2ec
            #     buildorder: 40
e0e2ec
e0e2ec
e0e2ec
            # === Bootstrap phase 2 ===
e0e2ec
            #
e0e2ec
            # python3x-setuptools:
e0e2ec
            #     rationale: Packaging tool
e0e2ec
            #     ref: stream-41.6.0-rhel-8.4.0
e0e2ec
            #     buildorder: 10
e0e2ec
            # python38:
e0e2ec
            #     rationale: The main Python interpreter
e0e2ec
            #     ref: stream-3.8-rhel-8.4.0
e0e2ec
            #     buildorder: 20
e0e2ec
            # python-wheel:
e0e2ec
            #     rationale: Packaging tool
e0e2ec
            #     ref: stream-0.33.6-rhel-8.4.0
e0e2ec
            #     buildorder: 30
e0e2ec
            # python3x-pip:
e0e2ec
            #     rationale: Packaging tool
e0e2ec
            #     ref: stream-19.3.1-rhel-8.4.0
e0e2ec
            #     buildorder: 30
e0e2ec
e0e2ec
            # python3x-six:
e0e2ec
            #     rationale: Python component
e0e2ec
            #     ref: stream-1.12.0-rhel-8.4.0
e0e2ec
            #     buildorder: 30
e0e2ec
            # python-py:
e0e2ec
            #     rationale: Python component
e0e2ec
            #     ref: stream-1.8.0-rhel-8.4.0
e0e2ec
            #     buildorder: 30
e0e2ec
            # python-chardet:
e0e2ec
            #     rationale: Python component
e0e2ec
            #     ref: stream-3.0.4-python38-rhel-8.4.0
e0e2ec
            #     buildorder: 30
e0e2ec
            # python-attrs:
e0e2ec
            #     rationale: Python component
e0e2ec
            #     ref: stream-19.3.0-rhel-8.4.0
e0e2ec
            #     buildorder: 30
e0e2ec
            # python-pluggy:
e0e2ec
            #     rationale: Python component
e0e2ec
            #     ref: stream-0.13.0-rhel-8.4.0
e0e2ec
            #     buildorder: 30
e0e2ec
            # python-markupsafe:
e0e2ec
            #     rationale: Python component
e0e2ec
            #     ref: stream-1.1.1-rhel-8.4.0
e0e2ec
            #     buildorder: 30
e0e2ec
            # python-pysocks:
e0e2ec
            #     rationale: Python component
e0e2ec
            #     ref: stream-1.7.1-rhel-8.4.0
e0e2ec
            #     buildorder: 30
e0e2ec
            # python3x-pyparsing:
e0e2ec
            #     rationale: Python component
e0e2ec
            #     ref: stream-2.4.5-rhel-8.4.0
e0e2ec
            #     buildorder: 30
e0e2ec
            # python-atomicwrites:
e0e2ec
            #     rationale: Python component
e0e2ec
            #     ref: stream-1.3.0-rhel-8.4.0
e0e2ec
            #     buildorder: 30
e0e2ec
            # python-wcwidth:
e0e2ec
            #     rationale: Python component
e0e2ec
            #     ref: stream-0.1.7-rhel-8.4.0
e0e2ec
            #     buildorder: 30
e0e2ec
            # python-more-itertools:
e0e2ec
            #     rationale: Python component
e0e2ec
            #     ref: stream-7.2.0-rhel-8.4.0
e0e2ec
            #     buildorder: 40
e0e2ec
            # python-packaging:
e0e2ec
            #     rationale: Python component
e0e2ec
            #     ref: stream-19.2-rhel-8.4.0
e0e2ec
            #     buildorder: 40
e0e2ec
            # pytest:
e0e2ec
            #     rationale: Python component
e0e2ec
            #     ref: stream-4.6.6-rhel-8.4.0
e0e2ec
            #     buildorder: 50
e0e2ec
e0e2ec
e0e2ec
            # === Bootstrap phase 3/4 ===
e0e2ec
            # For bootstrap phase 3 uncomment all `buildorder:` lines below,
e0e2ec
            # for bootstrap phase 4 comment them out.
e0e2ec
            #
e0e2ec
            python38:
e0e2ec
                rationale: The main Python interpreter
e0e2ec
                ref: bbf09ad8b3f2eb7778072eaf323c426c02a61a8e
e0e2ec
            python3x-setuptools:
e0e2ec
                rationale: Packaging tool
e0e2ec
                ref: 4cf3805f0883581a49db451f161b37a3c5c83a9d
e0e2ec
            python-wheel:
e0e2ec
                rationale: Packaging tool
e0e2ec
                ref: cfbc354d7f82c1653b7cb2f2c08521905c2c87cb
e0e2ec
            python3x-pip:
e0e2ec
                rationale: Packaging tool
e0e2ec
                ref: d470f4eae26f883fb438337ef8ef0b53ca38494a
e0e2ec
e0e2ec
            python3x-six:
e0e2ec
                rationale: Python component
e0e2ec
                ref: 79212410a62640d6ba6fb9bee8c6f8ed88a7401f
e0e2ec
            python-py:
e0e2ec
                rationale: Python component
e0e2ec
                ref: 725721338027fabba187fcee663ee3e9bd3290d7
e0e2ec
            python-chardet:
e0e2ec
                rationale: Python component
e0e2ec
                ref: 9b1a7618c74677ce14bd40d08af06c4396fec593
e0e2ec
            python-attrs:
e0e2ec
                rationale: Python component
e0e2ec
                ref: e9bcb854a4017201a396d14a2f941a37a13010f3
e0e2ec
            python-pluggy:
e0e2ec
                rationale: Python component
e0e2ec
                ref: ba5dde76d5398b1c869eaaf2619bf7061d472fb6
e0e2ec
            python-markupsafe:
e0e2ec
                rationale: Python component
e0e2ec
                ref: 411ed0ff3ec0682aeef30fead3696673096fca82
e0e2ec
            python-pysocks:
e0e2ec
                rationale: Python component
e0e2ec
                ref: 6b463b3ef7eb83a13dc23f3d507e0cf5d9383817
e0e2ec
            python3x-pyparsing:
e0e2ec
                rationale: Python component
e0e2ec
                ref: 83e48edf172c5764192df37c87f61509132e98cc
e0e2ec
            python-atomicwrites:
e0e2ec
                rationale: Python component
e0e2ec
                ref: b94fddf57c6fbd09c9d7bd5a9d7dd666376e5386
e0e2ec
            python-wcwidth:
e0e2ec
                rationale: Python component
e0e2ec
                ref: be8f2b04d24c914cf2743628f95138cd91d58b44
e0e2ec
            python-more-itertools:
e0e2ec
                rationale: Python component
e0e2ec
                ref: e1d5d8a6b5d705f7dd4e3253ae33c7560cbd2150
e0e2ec
            python-packaging:
e0e2ec
                rationale: Python component
e0e2ec
                ref: 419429934421600cc834be5890be0400bfb7620a
e0e2ec
            pytest:
e0e2ec
                rationale: Python component
e0e2ec
                ref: d2854f6746913377d27f49ac2be01c1e6aa16ff5
e0e2ec
            pytz:
e0e2ec
                rationale: Python component
e0e2ec
                ref: e511e149f15c72f6899fcb6ec77d16b5f601b6bd
e0e2ec
            babel:
e0e2ec
                rationale: Python component
e0e2ec
                ref: 949a6ec8f98be7086f5dcbc7895b5ed48a5631cf
e0e2ec
            python-idna:
e0e2ec
                rationale: Python component
e0e2ec
                ref: f31aae82e6cc6bf72df28f33a6f79e0d9869dc18
e0e2ec
            python-urllib3:
e0e2ec
                rationale: Python component
e0e2ec
                ref: 2e756cf68ae5a65e2806edfd79ef671e54b42140
e0e2ec
            Cython:
e0e2ec
                rationale: Python component
e0e2ec
                ref: 6fd15dc5dd8beba861c7dd2cae96c6ffdce479b1
e0e2ec
            python-asn1crypto:
e0e2ec
                rationale: Python component
e0e2ec
                ref: a76406f22f1df8af46439738f675f42c38c55328
e0e2ec
            python-ply:
e0e2ec
                rationale: Python component
e0e2ec
                ref: 316624ad5b7dae8873b37c5e229b03f088c0ce73
e0e2ec
            python-psutil:
e0e2ec
                rationale: Python component
e0e2ec
                ref: 7d86f2b870e0b58ef6951bcb6a41fdf247bfdab6
e0e2ec
            python-psycopg2:
e0e2ec
                rationale: Python component
e0e2ec
                ref: d5342d2c15e078b550a5142647bed6310e34a9e7
e0e2ec
            mod_wsgi:
e0e2ec
                rationale: Python component
e0e2ec
                ref: 8add44143f3b76d4eb0a4e5237b86d7770afd971
e0e2ec
e0e2ec
            python-requests:
e0e2ec
                rationale: Python component
e0e2ec
                ref: 4f3cf0a863b3375816762185a43f454db4485c18
e0e2ec
                # buildorder: 10
e0e2ec
            python-jinja2:
e0e2ec
                rationale: Python component
e0e2ec
                ref: c7cd3c7e9762cede9ff725391c03716b7dc2f0fa
e0e2ec
                # buildorder: 10
e0e2ec
            numpy:
e0e2ec
                rationale: Python component
e0e2ec
                ref: 166d7b52b9bc12c1452fd710774241204712bd04
e0e2ec
                # buildorder: 10
e0e2ec
            PyYAML:
e0e2ec
                rationale: Python component
e0e2ec
                ref: f7c5978c9a50d6d0145803c0e085dc34990fe22d
e0e2ec
                # buildorder: 10
e0e2ec
            python-pycparser:
e0e2ec
                rationale: Python component
e0e2ec
                ref: d8780afffcee334655c6afc845213e51cc118423
e0e2ec
                # buildorder: 10
e0e2ec
            python-lxml:
e0e2ec
                rationale: Python component
e0e2ec
                ref: cadca9ed22f6c1cb705513703d300fdb81656735
e0e2ec
                # buildorder: 10
e0e2ec
e0e2ec
            python-cffi:
e0e2ec
                rationale: Python component
e0e2ec
                ref: 7863c65b2cc9d3caf9e21d8a0da66430f38dbca2
e0e2ec
                # buildorder: 20
e0e2ec
            scipy:
e0e2ec
                rationale: Python component
e0e2ec
                ref: 9b831368aba1a84483e855a720a7c74799fb9aa7
e0e2ec
                # buildorder: 20
e0e2ec
e0e2ec
            python-cryptography:
e0e2ec
                rationale: Python component
e0e2ec
                ref: 5c743a97fdb06d99fc583a7be55ea1dd0050dd6f
e0e2ec
                # needs cffi
e0e2ec
                # buildorder: 30
e0e2ec
e0e2ec
            python-PyMySQL:
e0e2ec
                rationale: Python component
e0e2ec
                ref: d857d6f32961c008fe3e226a7af9e844ba6fd5fa
e0e2ec
                # needs cryptography
e0e2ec
                # buildorder: 40
e0e2ec
...