---
document: modulemd
version: 2
data:
  name: python39
  stream: 3.9_bootstrap
  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: [oc8]

              # 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: [oc8]
  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

                # === Bootstrap phase 4 ===
                #
                #%python3_pkgversion 39


            # 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 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

  components:
    rpms:
            # === Bootstrap phase 1 ===
            #
      python39:
        rationale: The main Python interpreter
        ref: ed5b337dab9713459c9d2c28c0eb61f6967af0f4
        buildorder: 10
      python3x-setuptools:
        rationale: Packaging tool
        ref: 686164881b9ad3dbf41e221684d0a857ad5a1714
        buildorder: 20
      python-wheel:
        rationale: Packaging tool
        ref: d41d3a64469dfd36ca30a4f2d0e99d033c820c70
        buildorder: 30
      python3x-pip:
        rationale: Packaging tool
        ref: c4ef49e65f574b1807e3dcc1e8d2c4b55db9932c
        buildorder: 40


            # === Bootstrap phase 2 ===
            #
            # python3x-setuptools:
            #     rationale: Packaging tool
            #     ref: stream-50.1.0
            #     # buildorder: 10
            # python3x-pyparsing:
            #     rationale: Python component
            #     ref: stream-2.4.7
            #     # buildorder: 20
            # python39:
            #     rationale: The main Python interpreter
            #     ref: stream-3.9.0
            #     # buildorder: 30
            # python-wheel:
            #     rationale: Packaging tool
            #     ref: stream-0.35.1
            #     # buildorder: 40
            # python3x-pip:
            #     rationale: Packaging tool
            #     ref: stream-20.2.2
            #     # buildorder: 40
            # python3x-six:
            #     rationale: Python component
            #     ref: stream-1.15.0
            #     # buildorder: 40
            # python-py:
            #     rationale: Python component
            #     ref: stream-1.9.0
            #     # buildorder: 40
            # python-chardet:
            #     rationale: Python component
            #     # stream branch shared with python38 module
            #     ref: stream-3.0.4-python38
            #     # buildorder: 40
            # python-attrs:
            #     rationale: Python component
            #     ref: stream-20.3.0
            #     # buildorder: 40
            # python-pluggy:
            #     rationale: Python component
            #     ref: stream-0.13.1
            #     # buildorder: 40
            # python-pysocks:
            #     rationale: Python component
            #     # stream branch shared with python38 module
            #     ref: stream-1.7.1
            #     # buildorder: 40
            # python-wcwidth:
            #     rationale: Python component
            #     ref: stream-0.2.5
            #     # buildorder: 40
            # python-packaging:
            #     rationale: Python component
            #     ref: stream-20.4
            #     # buildorder: 40
            # python-toml:
            #     rationale: Python component
            #     ref: stream-0.10.1
            #     # buildorder: 40
            # python-iniconfig:
            #     rationale: Python component
            #     ref: stream-1.1.1
            #     # buildorder: 40
            # python-more-itertools:
            #     rationale: Python component
            #     ref: stream-8.5.0
            #     buildorder: 50
            # pytest:
            #     rationale: Python component
            #     ref: stream-6.0.2
            #     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
            #python3x-pyparsing:
            #    rationale: Python component
            #    ref: stream-2.4.7
            #python39:
            #    rationale: The main Python interpreter
            #    ref: stream-3.9.0
            #python-wheel:
            #    rationale: Packaging tool
            #    ref: stream-0.35.1
            #python3x-pip:
            #    rationale: Packaging tool
            #    ref: stream-20.2.2

            #python3x-six:
            #    rationale: Python component
            #    ref: stream-1.15.0
            #python-py:
            #    rationale: Python component
            #    ref: stream-1.9.0
            #python-chardet:
            #    rationale: Python component
            #    # stream branch shared with python38 module
            #    ref: stream-3.0.4-python38
            #python-attrs:
            #    rationale: Python component
            #    ref: stream-20.3.0
            #python-pluggy:
            #    rationale: Python component
            #    ref: stream-0.13.1
            #python-pysocks:
            #    rationale: Python component
            #    # stream branch shared with python38 module
            #    ref: stream-1.7.1
            #python-wcwidth:
            #    rationale: Python component
            #    ref: stream-0.2.5
            #python-packaging:
            #    rationale: Python component
            #    ref: stream-20.4
            #python-toml:
            #    rationale: Python component
            #    ref: stream-0.10.1
            #python-iniconfig:
            #    rationale: Python component
            #    ref: stream-1.1.1
            #python-more-itertools:
            #    rationale: Python component
            #    ref: stream-8.5.0
            #pytest:
            #    rationale: Python component
            #    ref: stream-6.0.2

            #python-idna:
            #    rationale: Python component
            #    ref: stream-2.10
            #python-urllib3:
            #    rationale: Python component
            #    ref: stream-1.25.10
            #Cython:
            #    rationale: Python component
            #    ref: stream-0.29.21
            #python-ply:
            #    rationale: Python component
            #    # stream branch shared with python38 module
            #    ref: stream-3.11
            #python-psutil:
            #    rationale: Python component
            #    ref: stream-5.7.3
            #python-psycopg2:
            #    rationale: Python component
            #    ref: stream-2.8.6
            #mod_wsgi:
            #    rationale: Python component
            #    ref: stream-4.7.1
            #python-requests:
            #    rationale: Python component
            #    ref: stream-2.25.0
            #    # buildorder: 10
            #numpy:
            #    rationale: Python component
            #    ref: stream-1.19.4
            #    # buildorder: 10
            #PyYAML:
            #    rationale: Python component
            #    ref: stream-5.3.1
            #    # buildorder: 10
            #python-pycparser:
            #    rationale: Python component
            #    ref: stream-2.20
            #    # buildorder: 10
            #python-lxml:
            #    rationale: Python component
            #    ref: stream-4.5.1
            #    # buildorder: 10
            #python-cffi:
            #    rationale: Python component
            #    ref: stream-1.14.3
            #    # buildorder: 20
            #pybind11:
            #    rationale: Python component
            #    ref: stream-2.7.1
            #    # needs numpy
            #    # buildorder: 20
            #scipy:
            #    rationale: Python component
            #    ref: stream-1.5.4
            #    # needs pybind11
            #    # buildorder: 30
            #python-cryptography:
            #    rationale: Python component
            #    ref: stream-3.2.1
            #    # needs cffi
            #    # buildorder: 30
            #python-PyMySQL:
            #    rationale: Python component
            #    ref: stream-0.10.1
            #    # needs cryptography
            #    # buildorder: 40
...