---
document: modulemd
version: 2
data:
  name: python38
  stream: '3.8'
  summary: Python programming language, version 3.8
  description: |-
    This module gives users access to the internal Python 3.8 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
      python38: [3.8]

      # scipy needs package swig
      swig: [3.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.8/
  profiles:
    common:
      rpms:
      - python38
    build:
      rpms:
      - python38
      - python38-devel
      - python38-rpm-macros
  buildopts:
    rpms:
          # === Bootstrap phase 1 ===
          #
          # %python3_pkgversion 38
          # %_without_python2 1
          # # python38, setuptools, wheel
          # %_with_bootstrap 1
          # # python38
          # %_without_rpmwheels 1
          # # python38, setuptools, pip
          # %_without_tests 1
          # # pip
          # %_without_doc 1

          # === Bootstrap phase 2 ===
          #
          # %python3_pkgversion 38
          # %_without_python2 1
          # # python38, setuptools, six, py, chardet, attrs, pluggy, pysocks,
          # # atomicwrites, wcwidth, packaging
          # %_without_tests 1
          # # py, pyparsing, atomicwrites, packaging, pytest
          # %_without_docs 1
          # # pytest
          # %_without_timeout 1
          # %_without_optional_tests 1


          ## === Bootstrap phase 3/4 ===
          ##
          #%python3_pkgversion 38
          #%_without_python2 1
          ## py, pyparsing, atomicwrites, packaging, pytest
          #%_without_docs 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 2 ===

        %python3_pkgversion 38
        %_without_python2 1
        # python38, setuptools, six, py, chardet, attrs, pluggy, pysocks,
        # atomicwrites, wcwidth, packaging
        %_without_tests 1
        # py, pyparsing, atomicwrites, packaging, pytest
        %_without_docs 1
        # pytest
        %_without_timeout 1
        %_without_optional_tests 1

  components:
    rpms:
      #=== Bootstrap phase 1 ===
      #python38:
      #  rationale: The main Python interpreter
      #  ref: 5c278631961a274ba4718d2ffd3860a37bf2334b
      #  buildorder: 10
      #python3x-setuptools:
      #  rationale: Packaging tool
      #  ref: 293afda38c8ba74274544d667a30281a0d0e45d1
      #  buildorder: 20
      #python-wheel:
      #  rationale: Packaging tool
      #  ref: 0f5cadb26f2580b47642a698aaf56f77e355eceb
      #  buildorder: 30
      #python3x-pip:
      #  rationale: Packaging tool
      #  ref: 6e139932aaf3c090680c0620b58c41997a523859
      #  buildorder: 40


      # === Bootstrap phase 2 ===
      #
      python3x-setuptools:
        rationale: Packaging tool
        ref: e06cefa6405849b371ebed86d7ad04131cf53cd3
        buildorder: 10
      python38:
        rationale: The main Python interpreter
        ref: d69f4d2405a2cb7de64a98bf60f0c96a95d1411a
        buildorder: 20
      python-wheel:
        rationale: Packaging tool
        ref: 253ebf603c2117c4a570176a72e8b4682afb7592
        buildorder: 30
      python3x-pip:
        rationale: Packaging tool
        ref: 6a1405d33dc061ea5b685c86aa727d81ff85a7db
        buildorder: 30

      python3x-six:
        rationale: Python component
        ref: 5235db020b38c94aff67199e07612d0924c764de
        buildorder: 30
      python-py:
        rationale: Python component
        ref: 3b221f2ad263228cfe8ff3cc79573fcbe93567ad
        buildorder: 30
      python-chardet:
        rationale: Python component
        ref: 88b7f968944c9c600b370a8493615bec737c27b2
        buildorder: 30
      python-attrs:
        rationale: Python component
        ref: b955323e0b830b55b3a71571313720dc4de581ad
        buildorder: 30
      python-pluggy:
        rationale: Python component
        ref: b2cc48a2bedd41915bc5d0eb913e8eca66ac2aad
        buildorder: 30
      python-markupsafe:
        rationale: Python component
        ref: 5a1ba5d6c2d337e80129e7e241e430add4ea5469
        buildorder: 30
      python-pysocks:
        rationale: Python component
        ref: 3c5eaaab85ce1b478991f0d05b69925ec2150c05
        buildorder: 30
      python3x-pyparsing:
        rationale: Python component
        ref: 3f1e7b43a1b6a6defb61c92fd56e3cfa219704fc
        buildorder: 30
      python-atomicwrites:
        rationale: Python component
        ref: a3be9f30226e0593a16565fdecab6fd8f56359a3
        buildorder: 30
      python-wcwidth:
        rationale: Python component
        ref: 136ff6b2458cd46cd806fb7f6b6115235231e132
        buildorder: 30
      python-more-itertools:
        rationale: Python component
        ref: e3533f8facd8e2b04a7ff3cdc21191e8d45afd35
        buildorder: 40
      python-packaging:
        rationale: Python component
        ref: 02330a40ce8fcf800d58fc75b3bac19dfdb5b7d2
        buildorder: 40
      pytest:
        rationale: Python component
        ref: 2671f21cd641d79b92fd1fdf7bc4b5710b1d6434
        buildorder: 50


      # === Bootstrap phase 3/4 ===
      # For bootstrap phase 3 uncomment all `buildorder:` lines below,
      # for bootstrap phase 4 comment them out.
      #
      # python38:
      #   rationale: The main Python interpreter
      #   ref: d69f4d2405a2cb7de64a98bf60f0c96a95d1411a
      # python3x-setuptools:
      #   rationale: Packaging tool
      #   ref: e06cefa6405849b371ebed86d7ad04131cf53cd3
      # python-wheel:
      #   rationale: Packaging tool
      #   ref: 253ebf603c2117c4a570176a72e8b4682afb7592
      # python3x-pip:
      #   rationale: Packaging tool
      #   ref: 6a1405d33dc061ea5b685c86aa727d81ff85a7db

      # python3x-six:
      #   rationale: Python component
      #   ref: 5235db020b38c94aff67199e07612d0924c764de
      # python-py:
      #   rationale: Python component
      #   ref: 3b221f2ad263228cfe8ff3cc79573fcbe93567ad
      # python-chardet:
      #   rationale: Python component
      #   ref: 88b7f968944c9c600b370a8493615bec737c27b2
      # python-attrs:
      #   rationale: Python component
      #   ref: b955323e0b830b55b3a71571313720dc4de581ad
      # python-pluggy:
      #   rationale: Python component
      #   ref: b2cc48a2bedd41915bc5d0eb913e8eca66ac2aad
      # python-markupsafe:
      #   rationale: Python component
      #   ref: 5a1ba5d6c2d337e80129e7e241e430add4ea5469
      # python-pysocks:
      #   rationale: Python component
      #   ref: 3c5eaaab85ce1b478991f0d05b69925ec2150c05
      # python3x-pyparsing:
      #   rationale: Python component
      #   ref: 3f1e7b43a1b6a6defb61c92fd56e3cfa219704fc
      # python-atomicwrites:
      #   rationale: Python component
      #   ref: a3be9f30226e0593a16565fdecab6fd8f56359a3
      # python-wcwidth:
      #   rationale: Python component
      #   ref: 136ff6b2458cd46cd806fb7f6b6115235231e132
      # python-more-itertools:
      #   rationale: Python component
      #   ref: e3533f8facd8e2b04a7ff3cdc21191e8d45afd35
      # python-packaging:
      #   rationale: Python component
      #   ref: 02330a40ce8fcf800d58fc75b3bac19dfdb5b7d2
      # pytest:
      #   rationale: Python component
      #   ref: 2671f21cd641d79b92fd1fdf7bc4b5710b1d6434
      # pytz:
      #   rationale: Python component
      #   ref: 959edf6279f997b426c751c9dc07f720377f6dad
      # babel:
      #   rationale: Python component
      #   ref: b06874858ee346176224b53259021e72e63c56a2
      # python-idna:
      #   rationale: Python component
      #   ref: d564d05bed1eb9bb1cd24c9630f6fbd39a4d4ada
      # python-urllib3:
      #   rationale: Python component
      #   ref: 73d3515120b6ca21772b90be9d9b1960500cf5be
      # Cython:
      #   rationale: Python component
      #   ref: 633f41509330d00b0159c76d3b096a92add73000
      # python-asn1crypto:
      #   rationale: Python component
      #   ref: 63a26e96a6bab8c48679414decba8ec0ed2ea92c
      # python-ply:
      #   rationale: Python component
      #   ref: 0e96b507eb8f69bc3c6f7450f84fa0b158b39466
      # python-psutil:
      #   rationale: Python component
      #   ref: 0907622d1d1321f6cd342985d3a5e52835fd52be
      # python-psycopg2:
      #   rationale: Python component
      #   ref: a5d1a1552ee5efb8259f5415a7ba423f690980a6
      # mod_wsgi:
      #   rationale: Python component
      #   ref: 83bbc6db4be8e36231b9f1796b718d7ab167b496

      # python-requests:
      #   rationale: Python component
      #   ref: c6d985ee02f324e0db83810d6ee021fdc2ad5673
      #   # buildorder: 10
      # python-jinja2:
      #   rationale: Python component
      #   ref: 96128be42f3eccd492fa9d5357438bd46f5b66e0
      #   # buildorder: 10
      # numpy:
      #   rationale: Python component
      #   ref: abaea2f4a92c9d9dcfc3326e8d7da6bbb0a1c438
      #   # buildorder: 10
      # PyYAML:
      #   rationale: Python component
      #   ref: 9377d8316718a80ef39ed33b562526c16d2a5ed1
      #   # buildorder: 10
      # python-pycparser:
      #   rationale: Python component
      #   ref: b9de4cc76acffea6f5a1b4234d04d32cba39be7f
      #   # buildorder: 10
      # python-lxml:
      #   rationale: Python component
      #   ref: 13f4a592a8778b85728b1c4ddcdea817f9452835
      #   # buildorder: 10

      # python-cffi:
      #   rationale: Python component
      #   ref: 8bb413d498e49973290d50c8b32ddba9ed22f2b8
      #   # buildorder: 20
      # scipy:
      #   rationale: Python component
      #   ref: 45c7fcf1aea6ba7ccc94f45da12cc42cb1b83eec
      #   # buildorder: 20

      # python-cryptography:
      #   rationale: Python component
      #   ref: 104e9a6a9c62dc35dd62df0c76e08770a77904c4
      #   # needs cffi
      #   # buildorder: 30

      # python-PyMySQL:
      #   rationale: Python component
      #   ref: c8f9e7a2ae3030a7b07b6da12c0e353f2c7b4474
      #   # needs cryptography
      #   # buildorder: 40
...