---
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
  buildopts:
    rpms:

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

        #  # === 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 3 ===
        #
        %python3_pkgversion 39
        # scipy needs pybind11 to build and pybind11 needs scipy for tests
        %_without_tests 1
        
        # === Bootstrap phase 2 ===
        # 
        # %python3_pkgversion 39
        # # setuptools, pip, ...
        # %_without_tests 1

        # === 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: 2abd2b806bcefc1cd4e2bd8a782a618ce4283016
      #   buildorder: 10
      # python3x-setuptools:
      #   rationale: Packaging tool
      #   ref: 3fbc942c5886cf63d5e62c16e3995abb3151a104
      #   buildorder: 20
      # python-wheel:
      #   rationale: Packaging tool
      #   ref: 2418755b36d8053adb8f6cdd017ea374e0bcc17f
      #   buildorder: 30
      # python3x-pip:
      #   rationale: Packaging tool
      #   ref: fbce91a260a803e7741085b3c35fae47c22dc558
      #   buildorder: 40


      # === Bootstrap phase 2 ===
      #
      # python3x-setuptools:
      #   rationale: Packaging tool
      #   ref: 3fbc942c5886cf63d5e62c16e3995abb3151a104
      #   buildorder: 10
      # python3x-pyparsing:
      #   rationale: Python component
      #   ref: f369323c44a47426507abd64e4496e7c202863ae
      #   buildorder: 20
      # python39:
      #   rationale: The main Python interpreter
      #   ref: 2abd2b806bcefc1cd4e2bd8a782a618ce4283016
      #   buildorder: 30
      # python-wheel:
      #   rationale: Packaging tool
      #   ref: 2418755b36d8053adb8f6cdd017ea374e0bcc17f
      #   buildorder: 40
      # python3x-pip:
      #   rationale: Packaging tool
      #   ref: fbce91a260a803e7741085b3c35fae47c22dc558
      #   buildorder: 40
      # python3x-six:
      #   rationale: Python component
      #   ref: 74e7d939db72ef53db2e16d924b688c05782979a
      #   buildorder: 40
      # python-py:
      #   rationale: Python component
      #   ref: ee6fc54b4b6fcc5b188681d6ea4d94dd13f68397
      #   buildorder: 40
      # python-chardet:
      #   rationale: Python component
      #   # stream branch shared with python38 module
      #   ref: 9b32e555bfe468979c7044a89913ff2d238519e7
      #   buildorder: 40
      # python-attrs:
      #   rationale: Python component
      #   ref: fbbed196fb8f63b0ba42206b7a6f5d291c138c83
      #   buildorder: 40
      # python-pluggy:
      #   rationale: Python component
      #   ref: cbd3494578263a12eb62f252ebf625e1805cde92
      #   buildorder: 40
      # python-pysocks:
      #   rationale: Python component
      #   # stream branch shared with python38 module
      #   ref: 7c9d9eed3ae4eb4b0d82ee72aa3d4f3f6ca2f4e6
      #   buildorder: 40
      # python-wcwidth:
      #   rationale: Python component
      #   ref: 06a33247ee4e9ca83f31af015feac59cea60ca7c
      #   buildorder: 40
      # python-packaging:
      #   rationale: Python component
      #   ref: 45bd7e6fa45d9fb6233216c910c2fade6213a8b2
      #   buildorder: 40
      # python-toml:
      #   rationale: Python component
      #   ref: 22f1c2c63226b0257855e8708a6dc23fef9b5e1b
      #   buildorder: 40
      # python-iniconfig:
      #   rationale: Python component
      #   ref: 8c25ec793ea0a4003119571638c30a21375aa94e
      #   buildorder: 40
      # python-more-itertools:
      #   rationale: Python component
      #   ref: e18dce67471d3fcb7d11561b9bd5dc06c9c76402
      #   buildorder: 50
      # pytest:
      #   rationale: Python component
      #   ref: 1749ffe46b772258ae5853256eeffe98969daf05
      #   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: 3fbc942c5886cf63d5e62c16e3995abb3151a104
      python3x-pyparsing:
        rationale: Python component
        ref: f369323c44a47426507abd64e4496e7c202863ae
      python39:
        rationale: The main Python interpreter
        ref: 2abd2b806bcefc1cd4e2bd8a782a618ce4283016
      python-wheel:
        rationale: Packaging tool
        ref: 2418755b36d8053adb8f6cdd017ea374e0bcc17f
      python3x-pip:
        rationale: Packaging tool
        ref: fbce91a260a803e7741085b3c35fae47c22dc558

      python3x-six:
        rationale: Python component
        ref: 74e7d939db72ef53db2e16d924b688c05782979a
      python-py:
        rationale: Python component
        ref: ee6fc54b4b6fcc5b188681d6ea4d94dd13f68397
      python-chardet:
        rationale: Python component
        # stream branch shared with python38 module
        ref: 9b32e555bfe468979c7044a89913ff2d238519e7
      python-attrs:
        rationale: Python component
        ref: fbbed196fb8f63b0ba42206b7a6f5d291c138c83
      python-pluggy:
        rationale: Python component
        ref: cbd3494578263a12eb62f252ebf625e1805cde92
      python-pysocks:
        rationale: Python component
        # stream branch shared with python38 module
        ref: 7c9d9eed3ae4eb4b0d82ee72aa3d4f3f6ca2f4e6
      python-wcwidth:
        rationale: Python component
        ref: 06a33247ee4e9ca83f31af015feac59cea60ca7c
      python-packaging:
        rationale: Python component
        ref: 45bd7e6fa45d9fb6233216c910c2fade6213a8b2
      python-toml:
        rationale: Python component
        ref: 22f1c2c63226b0257855e8708a6dc23fef9b5e1b
      python-iniconfig:
        rationale: Python component
        ref: 8c25ec793ea0a4003119571638c30a21375aa94e
      python-more-itertools:
        rationale: Python component
        ref: e18dce67471d3fcb7d11561b9bd5dc06c9c76402
      pytest:
        rationale: Python component
        ref: 1749ffe46b772258ae5853256eeffe98969daf05

      python-idna:
        rationale: Python component
        ref: 7fb511e1cd6a7ce262488f15c54e9212759cb02c
      python-urllib3:
        rationale: Python component
        ref: 201a59497ebd7740fa569af3962d65f5d60b2113
      Cython:
        rationale: Python component
        ref: 792a8b9d85fa15af0134c0022e76f5330fd8355a
      python-ply:
        rationale: Python component
        # stream branch shared with python38 module
        ref: 877aca181c3ccda5eb723d2e434a3e042241899d
      python-psutil:
        rationale: Python component
        ref: 03f0860a53046558b5e93d9b37204e7ae2d5fbf9
      python-psycopg2:
        rationale: Python component
        ref: 2f3caabd1c0ecabdbfc9989c87091947ef3386bc
      mod_wsgi:
        rationale: Python component
        ref: bab9295e2fc6905e6343b763c9ff1e6c2bcf0ab9
      python-requests:
        rationale: Python component
        ref: 206cf9174068604cc0d0ca38b30a91bb1f9e969f
        buildorder: 10
      numpy:
        rationale: Python component
        ref: e89ecc717469769f032dcc28226bd0b91390c25a
        buildorder: 10
      PyYAML:
        rationale: Python component
        ref: 93dcc5088eb95d4cd681db427a2a4c10ad724962
        buildorder: 10
      python-pycparser:
        rationale: Python component
        ref: a08ae060f0b8f017f284d7650c040b1a6b14d384
        buildorder: 10
      python-lxml:
        rationale: Python component
        ref: 81d36606fc16bc7a6572283d7c4153a584023430
        buildorder: 10
      python-cffi:
        rationale: Python component
        ref: 895b1fcc292eb36d5239de9de7c6470dbcbc819e
        buildorder: 20
      pybind11:
        rationale: Python component
        ref: a8c8f155ac61b2ad16a204121b21cc48fa5dfb8b
        # needs numpy
        buildorder: 20
      scipy:
        rationale: Python component
        ref: b364884b1684baa296bab8317fdd3cd567bfa883
        # needs pybind11
        buildorder: 30
      python-cryptography:
        rationale: Python component
        ref: 10f935948217c50d933de91e5afef880a3416ff6
        # needs cffi
        buildorder: 30
      python-PyMySQL:
        rationale: Python component
        ref: 9e898010c9fed49a742585131478f846f2f6b71c
        # needs cryptography
        buildorder: 40
...