---
document: modulemd
version: 2
data:
  name: python38
  stream: 3.8_bootstrap
  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_bootstrap]

      # 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
  filter:
    rpms:
    - python38-pyparsing
    - python38-atomicwrites
    - python38-attrs
    - python38-packaging
    - python38-py
    - python38-pytest
    - python38-more-itertools
    - python38-pluggy
    - python38-wcwidth
  api:
    rpms:
    - python38
    - python38-Cython
    - python38-PyMySQL
    - python38-asn1crypto
    - python38-babel
    - python38-cffi
    - python38-chardet
    - python38-cryptography
    - python38-devel
    - python38-idle
    - python38-idna
    - python38-jinja2
    - python38-libs
    - python38-lxml
    - python38-markupsafe
    - python38-mod_wsgi
    - python38-numpy
    - python38-numpy-f2py
    - python38-pip
    - python38-pip-wheel
    - python38-ply
    - python38-psutil
    - python38-psycopg2
    - python38-pycparser
    - python38-pysocks
    - python38-pytz
    - python38-pyyaml
    - python38-requests
    - python38-rpm-macros
    - python38-scipy
    - python38-setuptools
    - python38-setuptools-wheel
    - python38-six
    - python38-test
    - python38-tkinter
    - python38-urllib3
    - python38-wheel
    - python38-wheel-wheel
  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: 293afda38c8ba74274544d667a30281a0d0e45d1
        buildorder: 10
      python38:
        rationale: The main Python interpreter
        ref: 5c278631961a274ba4718d2ffd3860a37bf2334b
        buildorder: 20
      python-wheel:
        rationale: Packaging tool
        ref: 0f5cadb26f2580b47642a698aaf56f77e355eceb
        buildorder: 30
      python3x-pip:
        rationale: Packaging tool
        ref: 6e139932aaf3c090680c0620b58c41997a523859
        buildorder: 30

      python3x-six:
        rationale: Python component
        ref: 3d8044d2f7f5d171890e62fae643847fd1dd4a61
        buildorder: 30
      python-py:
        rationale: Python component
        ref: 390118b811dcf841e94f47c0dcf05dbeef1e8d45
        buildorder: 30
      python-chardet:
        rationale: Python component
        ref: f5491b76458f3e3e5cd90d653419719b6ace4174
        buildorder: 30
      python-attrs:
        rationale: Python component
        ref: 096f976d1e87fc3efab428296253a7857ed00759
        buildorder: 30
      python-pluggy:
        rationale: Python component
        ref: 02049c044aea6356a077dab7f4197579f3d2662a
        buildorder: 30
      python-markupsafe:
        rationale: Python component
        ref: 7e6afd0754981acc8f42684c66baa278582a4370
        buildorder: 30
      python-pysocks:
        rationale: Python component
        ref: 511749f1e0fecc255c27788c172ca43b406931e3
        buildorder: 30
      python3x-pyparsing:
        rationale: Python component
        ref: 226577ec3b467d10cf3c8d111fb3ed81c7899e5c
        buildorder: 30
      python-atomicwrites:
        rationale: Python component
        ref: 20fe5608a2bb31c0b08d3121e91bbe8a5336dfbe
        buildorder: 30
      python-wcwidth:
        rationale: Python component
        ref: 4662f6551251d988f583da3892d904987b6e4eea
        buildorder: 30
      python-more-itertools:
        rationale: Python component
        ref: a62aead25be524cb38e7d350cf162ae632bfb5fb
        buildorder: 40
      python-packaging:
        rationale: Python component
        ref: 55358b561f776c4e8b25268499286819768116dc
        buildorder: 40
      pytest:
        rationale: Python component
        ref: 98dc6a39ccf573b51752a784b38df4882eeb8369
        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: 9159e2d9f10483d66b4dfb9b82761dd4167b1927
            #python3x-setuptools:
            #    rationale: Packaging tool
            #    ref: 56fb730eaa8459d2f8b0c76104722b751761518a
            #python-wheel:
            #    rationale: Packaging tool
            #    ref: 978b5e98e50979fd0d5e9c3fecee62dab896bcc9
            #python3x-pip:
            #    rationale: Packaging tool
            #    ref: 84aa07c0a0800bec16dc78951d15748d6af75a7d

            #python3x-six:
            #    rationale: Python component
            #    ref: 79212410a62640d6ba6fb9bee8c6f8ed88a7401f
            #python-py:
            #    rationale: Python component
            #    ref: 725721338027fabba187fcee663ee3e9bd3290d7
            #python-chardet:
            #    rationale: Python component
            #    ref: 04b5d1be6d2e14ece3a43caa87b79216ea35b65a
            #python-attrs:
            #    rationale: Python component
            #    ref: e9bcb854a4017201a396d14a2f941a37a13010f3
            #python-pluggy:
            #    rationale: Python component
            #    ref: ba5dde76d5398b1c869eaaf2619bf7061d472fb6
            #python-markupsafe:
            #    rationale: Python component
            #    ref: 411ed0ff3ec0682aeef30fead3696673096fca82
            #python-pysocks:
            #    rationale: Python component
            #    ref: 483216203ae75373f15aea373c80ee0585c13e63
            #python3x-pyparsing:
            #    rationale: Python component
            #    ref: 83e48edf172c5764192df37c87f61509132e98cc
            #python-atomicwrites:
            #    rationale: Python component
            #    ref: b94fddf57c6fbd09c9d7bd5a9d7dd666376e5386
            #python-wcwidth:
            #    rationale: Python component
            #    ref: be8f2b04d24c914cf2743628f95138cd91d58b44
            #python-more-itertools:
            #    rationale: Python component
            #    ref: e1d5d8a6b5d705f7dd4e3253ae33c7560cbd2150
            #python-packaging:
            #    rationale: Python component
            #    ref: 419429934421600cc834be5890be0400bfb7620a
            #pytest:
            #    rationale: Python component
            #    ref: d2854f6746913377d27f49ac2be01c1e6aa16ff5
            #pytz:
            #    rationale: Python component
            #    ref: e511e149f15c72f6899fcb6ec77d16b5f601b6bd
            #babel:
            #    rationale: Python component
            #    ref: 227108b6f0c0f9686193e5c738c8ce70ff43db9e
            #python-idna:
            #    rationale: Python component
            #    ref: f31aae82e6cc6bf72df28f33a6f79e0d9869dc18
            #python-urllib3:
            #    rationale: Python component
            #    ref: f4a8dde4dc7d391cb3ee1902ff409fb145cb1c6d
            #Cython:
            #    rationale: Python component
            #    ref: 6fd15dc5dd8beba861c7dd2cae96c6ffdce479b1
            #python-asn1crypto:
            #    rationale: Python component
            #    ref: a76406f22f1df8af46439738f675f42c38c55328
            #python-ply:
            #    rationale: Python component
            #    ref: f113e7017224318a0e816f6e78f938187ff60515
            #python-psutil:
            #    rationale: Python component
            #    ref: e9f4c9756ebddcc6b2ebdc20050bc90a64a9f50f
            #python-psycopg2:
            #    rationale: Python component
            #    ref: d5342d2c15e078b550a5142647bed6310e34a9e7
            #mod_wsgi:
            #    rationale: Python component
            #    ref: 8add44143f3b76d4eb0a4e5237b86d7770afd971

            #python-requests:
            #    rationale: Python component
            #    ref: 4f3cf0a863b3375816762185a43f454db4485c18
            #    # buildorder: 10
            #python-jinja2:
            #    rationale: Python component
            #    ref: aa2c5985d72f71ebc735ac40b42f3e594cf72eed
            #    # buildorder: 10
            #numpy:
            #    rationale: Python component
            #    ref: dfb61a142f90c0b8495f4645d2835f8ba8383257
            #    # buildorder: 10
            #PyYAML:
            #    rationale: Python component
            #    ref: 9a5a9a0393de544d88cb78a4fcfda18efc4759c5
            #    # buildorder: 10
            #python-pycparser:
            #    rationale: Python component
            #    ref: d8780afffcee334655c6afc845213e51cc118423
            #    # buildorder: 10
            #python-lxml:
            #    rationale: Python component
            #    ref: 5c21380f82866c4871dc6bd8297fe29cfda7316c
            #    # buildorder: 10

            #python-cffi:
            #    rationale: Python component
            #    ref: 7863c65b2cc9d3caf9e21d8a0da66430f38dbca2
            #    # buildorder: 20
            #scipy:
            #    rationale: Python component
            #    ref: 9b831368aba1a84483e855a720a7c74799fb9aa7
            #    # buildorder: 20

            #python-cryptography:
            #    rationale: Python component
            #    ref: 5c743a97fdb06d99fc583a7be55ea1dd0050dd6f
            #    # needs cffi
            #    # buildorder: 30

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