├── .flake8 ├── .github └── workflows │ ├── release.yml │ └── test.yml ├── .gitignore ├── CHANGELOG.md ├── Dockerfile ├── README.md ├── docker-compose.yml ├── hack ├── keystone.sh └── testrc ├── keystone_keycloak_backend ├── __init__.py ├── config.py └── identity.py ├── poetry.lock └── pyproject.toml /.flake8: -------------------------------------------------------------------------------- 1 | [flake8] 2 | max-line-length = 120 3 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: release 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | 8 | permissions: 9 | contents: write 10 | pull-requests: write 11 | id-token: write 12 | 13 | jobs: 14 | release-please: 15 | runs-on: ubuntu-latest 16 | steps: 17 | - name: Run "release-please" 18 | uses: google-github-actions/release-please-action@v3 19 | id: release 20 | with: 21 | release-type: python 22 | package-name: keystone-keycloak-backend 23 | 24 | - name: Checkout project 25 | if: ${{ steps.release.outputs.release_created }} 26 | uses: actions/checkout@v3 27 | 28 | - name: Install Poetry 29 | if: ${{ steps.release.outputs.release_created }} 30 | run: pipx install poetry 31 | 32 | - name: Setup Python 33 | if: ${{ steps.release.outputs.release_created }} 34 | uses: actions/setup-python@v4 35 | with: 36 | cache: poetry 37 | 38 | - name: Build package 39 | if: ${{ steps.release.outputs.release_created }} 40 | run: poetry build 41 | 42 | - name: Publish package distributions to PyPI 43 | if: ${{ steps.release.outputs.release_created }} 44 | uses: pypa/gh-action-pypi-publish@release/v1 45 | -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- 1 | name: test 2 | on: 3 | pull_request: 4 | paths-ignore: 5 | - README.md 6 | 7 | jobs: 8 | build: 9 | runs-on: ubuntu-latest 10 | strategy: 11 | fail-fast: false 12 | matrix: 13 | python-version: 14 | - "3.8" 15 | - "3.9" 16 | - "3.10" 17 | steps: 18 | - name: Checkout project 19 | uses: actions/checkout@v3 20 | 21 | - name: Install Poetry 22 | run: pipx install poetry 23 | 24 | - name: Setup Python 25 | uses: actions/setup-python@v4 26 | with: 27 | cache: poetry 28 | python-version: ${{ matrix.python-version }} 29 | 30 | - name: Build package 31 | run: poetry build 32 | 33 | install: 34 | runs-on: ubuntu-latest 35 | strategy: 36 | fail-fast: false 37 | matrix: 38 | include: 39 | - python-version: "3.8" 40 | openstack-version: zed 41 | - python-version: "3.8" 42 | openstack-version: "2023.1" 43 | steps: 44 | - name: Checkout project 45 | uses: actions/checkout@v3 46 | 47 | - name: Install Poetry 48 | run: pipx install poetry 49 | 50 | - name: Setup Python 51 | uses: actions/setup-python@v4 52 | with: 53 | cache: poetry 54 | python-version: ${{ matrix.python-version }} 55 | 56 | - name: Build package 57 | run: poetry build 58 | 59 | - name: Install package using constraints 60 | run: pip install --constraint https://releases.openstack.org/constraints/upper/${{ matrix.openstack-version }} ./dist/*.whl 61 | 62 | black: 63 | runs-on: ubuntu-latest 64 | steps: 65 | - name: Checkout project 66 | uses: actions/checkout@v3 67 | 68 | - name: Run "black" 69 | uses: psf/black@stable 70 | 71 | flake8: 72 | runs-on: ubuntu-latest 73 | steps: 74 | - name: Checkout project 75 | uses: actions/checkout@v3 76 | 77 | - name: Setup Python 78 | uses: actions/setup-python@v4 79 | with: 80 | python-version: "3.10" 81 | 82 | - name: Install "flake8" 83 | run: pipx install flake8 84 | 85 | - name: Run "flake8" 86 | uses: suo/flake8-github-action@releases/v1 87 | with: 88 | checkName: flake8 89 | env: 90 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 91 | 92 | isort: 93 | runs-on: ubuntu-latest 94 | steps: 95 | - name: Checkout project 96 | uses: actions/checkout@v3 97 | 98 | - name: Setup Python 99 | uses: actions/setup-python@v4 100 | with: 101 | python-version: "3.10" 102 | 103 | - name: Run "isort" 104 | uses: isort/isort-action@master 105 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | *.tar.gz 3 | *.whl 4 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ## [0.2.0](https://github.com/vexxhost/keystone-keycloak-backend/compare/v0.1.8...v0.2.0) (2024-10-30) 4 | 5 | 6 | ### Miscellaneous Chores 7 | 8 | * release 0.2.0 ([a8377e6](https://github.com/vexxhost/keystone-keycloak-backend/commit/a8377e64bee169f590b62ed839ce3b45df104ef1)) 9 | 10 | ## [0.1.8](https://github.com/vexxhost/keystone-keycloak-backend/compare/v0.1.7...v0.1.8) (2024-02-23) 11 | 12 | 13 | ### Bug Fixes 14 | 15 | * remove vendor keycloak use ([3ec569d](https://github.com/vexxhost/keystone-keycloak-backend/commit/3ec569d5323c6f3272f8599fe6f41d535289a04d)) 16 | 17 | ## [0.1.7](https://github.com/vexxhost/keystone-keycloak-backend/compare/v0.1.6...v0.1.7) (2024-02-07) 18 | 19 | 20 | ### Miscellaneous Chores 21 | 22 | * switch python-keycloak to dependencies ([1d9017a](https://github.com/vexxhost/keystone-keycloak-backend/commit/1d9017a737d1aa35d679c78820abf761d79c92b2)) 23 | 24 | ## [0.1.6](https://github.com/vexxhost/keystone-keycloak-backend/compare/v0.1.5...v0.1.6) (2023-10-11) 25 | 26 | 27 | ### Miscellaneous Chores 28 | 29 | * release 0.1.6 ([a5feb70](https://github.com/vexxhost/keystone-keycloak-backend/commit/a5feb70d09f7623604fcbd9c2f001f74285a95d5)) 30 | 31 | ## [0.1.5](https://github.com/vexxhost/keystone-keycloak-backend/compare/v0.1.4...v0.1.5) (2023-08-17) 32 | 33 | 34 | ### Bug Fixes 35 | 36 | * only add groups iff there is subgroups ([6360479](https://github.com/vexxhost/keystone-keycloak-backend/commit/63604793eff2d1d1b56249bad79bc435eebfa596)) 37 | 38 | ## [0.1.4](https://github.com/vexxhost/keystone-keycloak-backend/compare/v0.1.3...v0.1.4) (2023-08-16) 39 | 40 | 41 | ### Bug Fixes 42 | 43 | * add password_expires_at ([7103ca0](https://github.com/vexxhost/keystone-keycloak-backend/commit/7103ca0a93ee9273d4692563208ad998358abccd)) 44 | 45 | ## [0.1.3](https://github.com/vexxhost/keystone-keycloak-backend/compare/v0.1.2...v0.1.3) (2023-08-16) 46 | 47 | 48 | ### Bug Fixes 49 | 50 | * KeyError on federated auth ([fe8ce19](https://github.com/vexxhost/keystone-keycloak-backend/commit/fe8ce19fd1791c80a41aae3f91a7287db66efb76)) 51 | 52 | ## [0.1.2](https://github.com/vexxhost/keystone-keycloak-backend/compare/v0.1.1...v0.1.2) (2023-08-16) 53 | 54 | 55 | ### Bug Fixes 56 | 57 | * drop dependency on keystone ([e0f3083](https://github.com/vexxhost/keystone-keycloak-backend/commit/e0f30832053e74123cca9d7fe6df50a9ee5f0302)) 58 | 59 | ## [0.1.1](https://github.com/vexxhost/keystone-keycloak-backend/compare/v0.1.0...v0.1.1) (2023-08-03) 60 | 61 | 62 | ### Bug Fixes 63 | 64 | * enable coinstallability ([#1](https://github.com/vexxhost/keystone-keycloak-backend/issues/1)) ([58dabda](https://github.com/vexxhost/keystone-keycloak-backend/commit/58dabda4415d72d034e7808bed19c607c1fa4310)) 65 | 66 | ## 0.1.0 (2023-08-03) 67 | 68 | 69 | ### Bug Fixes 70 | 71 | * enable coinstallability ([#1](https://github.com/vexxhost/keystone-keycloak-backend/issues/1)) ([58dabda](https://github.com/vexxhost/keystone-keycloak-backend/commit/58dabda4415d72d034e7808bed19c607c1fa4310)) 72 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM quay.io/vexxhost/keystone:zed 2 | COPY . /src 3 | RUN --mount=type=cache,target=/root/.cache/pip \ 4 | pip install /src 5 | 6 | COPY hack/keystone.sh /keystone.sh 7 | CMD ["/keystone.sh"] 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Keycloak backend for OpenStack Keystone 2 | 3 | This is a Keycloak backend for OpenStack Keystone, it currently offers the 4 | ability to use Keycloak as the following backends: 5 | 6 | - Identity (users & groups) 7 | - Soon: Assignment (projects, roles, etc) 8 | 9 | The way this project is mean to be used is installed alongside Keystone with a 10 | domain configured to use the Keycloak backend. 11 | 12 | This allows you to use features such as OpenID Connect federation with the same domain but instead relying on `local` users instead of `federated` users 13 | 14 | This means that you can control the enabled/disabled state of a user and update other attributes directly in Keycloak and they will be instantly reflected 15 | inside of Keystone. 16 | 17 | ## Testing 18 | 19 | In order to test this project, you will need both Docker and Docker Compose 20 | installed on your system. You can bring up a test environment by running: 21 | 22 | ```bash 23 | $ docker compose up -d 24 | ``` 25 | 26 | This will bring up a Keycloak instance and a Keystone instance, you can then 27 | login to the Keystone instance with the following credentials: 28 | 29 | - Username: `admin` 30 | - Password: `admin` 31 | 32 | You can then use the Keystone CLI to interact with the Keystone instance: 33 | 34 | ```bash 35 | $ source hack/testrc 36 | $ openstack user list 37 | ``` 38 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3.7" 2 | 3 | services: 4 | database: 5 | image: mariadb:10.5 6 | environment: 7 | MYSQL_ROOT_PASSWORD: password 8 | MYSQL_DATABASE: keystone 9 | MYSQL_USER: keystone 10 | MYSQL_PASSWORD: password 11 | 12 | keycloak: 13 | image: quay.io/keycloak/keycloak:22.0 14 | command: ["start-dev"] 15 | ports: 16 | - 18080:8080 17 | environment: 18 | KEYCLOAK_ADMIN: admin 19 | KEYCLOAK_ADMIN_PASSWORD: admin 20 | 21 | keystone: 22 | build: . 23 | ports: 24 | - 15000:5000 25 | depends_on: 26 | - database 27 | - keycloak 28 | -------------------------------------------------------------------------------- /hack/keystone.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -xe 2 | 3 | cat << EOF | sudo tee /etc/keystone/keystone.conf 4 | [database] 5 | connection = mysql+pymysql://keystone:password@database/keystone 6 | 7 | [identity] 8 | domain_specific_drivers_enabled = true 9 | EOF 10 | 11 | mkdir -p /etc/keystone/domains 12 | cat << EOF | sudo tee /etc/keystone/domains/keystone.keycloak.conf 13 | [identity] 14 | driver = keycloak 15 | 16 | [keycloak] 17 | server_url = http://keycloak:8080/ 18 | username = admin 19 | password = admin 20 | realm_name = master 21 | user_realm_name = master 22 | client_id = admin-cli 23 | verify = true 24 | EOF 25 | 26 | /var/lib/openstack/bin/keystone-manage fernet_setup \ 27 | --keystone-user keystone \ 28 | --keystone-group keystone 29 | 30 | sudo -u keystone /var/lib/openstack/bin/keystone-manage db_sync 31 | sudo -u keystone /var/lib/openstack/bin/keystone-manage bootstrap \ 32 | --bootstrap-project-name admin \ 33 | --bootstrap-username admin \ 34 | --bootstrap-password admin \ 35 | --bootstrap-region-id RegionOne \ 36 | --bootstrap-admin-url http://localhost:15000/v3 \ 37 | --bootstrap-public-url http://localhost:15000/v3 \ 38 | --bootstrap-internal-url http://localhost:15000/v3 39 | 40 | # Create a domain for Keycloak 41 | python <=5.3)"] 69 | dev = ["attrs[docs,tests]", "pre-commit"] 70 | docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"] 71 | tests = ["attrs[tests-no-zope]", "zope-interface"] 72 | tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] 73 | 74 | [[package]] 75 | name = "backports-zoneinfo" 76 | version = "0.2.1" 77 | description = "Backport of the standard library zoneinfo module" 78 | category = "main" 79 | optional = false 80 | python-versions = ">=3.6" 81 | files = [ 82 | {file = "backports.zoneinfo-0.2.1-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:da6013fd84a690242c310d77ddb8441a559e9cb3d3d59ebac9aca1a57b2e18bc"}, 83 | {file = "backports.zoneinfo-0.2.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:89a48c0d158a3cc3f654da4c2de1ceba85263fafb861b98b59040a5086259722"}, 84 | {file = "backports.zoneinfo-0.2.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:1c5742112073a563c81f786e77514969acb58649bcdf6cdf0b4ed31a348d4546"}, 85 | {file = "backports.zoneinfo-0.2.1-cp36-cp36m-win32.whl", hash = "sha256:e8236383a20872c0cdf5a62b554b27538db7fa1bbec52429d8d106effbaeca08"}, 86 | {file = "backports.zoneinfo-0.2.1-cp36-cp36m-win_amd64.whl", hash = "sha256:8439c030a11780786a2002261569bdf362264f605dfa4d65090b64b05c9f79a7"}, 87 | {file = "backports.zoneinfo-0.2.1-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:f04e857b59d9d1ccc39ce2da1021d196e47234873820cbeaad210724b1ee28ac"}, 88 | {file = "backports.zoneinfo-0.2.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:17746bd546106fa389c51dbea67c8b7c8f0d14b5526a579ca6ccf5ed72c526cf"}, 89 | {file = "backports.zoneinfo-0.2.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:5c144945a7752ca544b4b78c8c41544cdfaf9786f25fe5ffb10e838e19a27570"}, 90 | {file = "backports.zoneinfo-0.2.1-cp37-cp37m-win32.whl", hash = "sha256:e55b384612d93be96506932a786bbcde5a2db7a9e6a4bb4bffe8b733f5b9036b"}, 91 | {file = "backports.zoneinfo-0.2.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a76b38c52400b762e48131494ba26be363491ac4f9a04c1b7e92483d169f6582"}, 92 | {file = "backports.zoneinfo-0.2.1-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:8961c0f32cd0336fb8e8ead11a1f8cd99ec07145ec2931122faaac1c8f7fd987"}, 93 | {file = "backports.zoneinfo-0.2.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:e81b76cace8eda1fca50e345242ba977f9be6ae3945af8d46326d776b4cf78d1"}, 94 | {file = "backports.zoneinfo-0.2.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7b0a64cda4145548fed9efc10322770f929b944ce5cee6c0dfe0c87bf4c0c8c9"}, 95 | {file = "backports.zoneinfo-0.2.1-cp38-cp38-win32.whl", hash = "sha256:1b13e654a55cd45672cb54ed12148cd33628f672548f373963b0bff67b217328"}, 96 | {file = "backports.zoneinfo-0.2.1-cp38-cp38-win_amd64.whl", hash = "sha256:4a0f800587060bf8880f954dbef70de6c11bbe59c673c3d818921f042f9954a6"}, 97 | {file = "backports.zoneinfo-0.2.1.tar.gz", hash = "sha256:fadbfe37f74051d024037f223b8e001611eac868b5c5b06144ef4d8b799862f2"}, 98 | ] 99 | 100 | [package.dependencies] 101 | tzdata = {version = "*", optional = true, markers = "extra == \"tzdata\""} 102 | 103 | [package.extras] 104 | tzdata = ["tzdata"] 105 | 106 | [[package]] 107 | name = "bcrypt" 108 | version = "4.0.1" 109 | description = "Modern password hashing for your software and your servers" 110 | category = "main" 111 | optional = false 112 | python-versions = ">=3.6" 113 | files = [ 114 | {file = "bcrypt-4.0.1-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:b1023030aec778185a6c16cf70f359cbb6e0c289fd564a7cfa29e727a1c38f8f"}, 115 | {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:08d2947c490093a11416df18043c27abe3921558d2c03e2076ccb28a116cb6d0"}, 116 | {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0eaa47d4661c326bfc9d08d16debbc4edf78778e6aaba29c1bc7ce67214d4410"}, 117 | {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae88eca3024bb34bb3430f964beab71226e761f51b912de5133470b649d82344"}, 118 | {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:a522427293d77e1c29e303fc282e2d71864579527a04ddcfda6d4f8396c6c36a"}, 119 | {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:fbdaec13c5105f0c4e5c52614d04f0bca5f5af007910daa8b6b12095edaa67b3"}, 120 | {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:ca3204d00d3cb2dfed07f2d74a25f12fc12f73e606fcaa6975d1f7ae69cacbb2"}, 121 | {file = "bcrypt-4.0.1-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:089098effa1bc35dc055366740a067a2fc76987e8ec75349eb9484061c54f535"}, 122 | {file = "bcrypt-4.0.1-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:e9a51bbfe7e9802b5f3508687758b564069ba937748ad7b9e890086290d2f79e"}, 123 | {file = "bcrypt-4.0.1-cp36-abi3-win32.whl", hash = "sha256:2caffdae059e06ac23fce178d31b4a702f2a3264c20bfb5ff541b338194d8fab"}, 124 | {file = "bcrypt-4.0.1-cp36-abi3-win_amd64.whl", hash = "sha256:8a68f4341daf7522fe8d73874de8906f3a339048ba406be6ddc1b3ccb16fc0d9"}, 125 | {file = "bcrypt-4.0.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf4fa8b2ca74381bb5442c089350f09a3f17797829d958fad058d6e44d9eb83c"}, 126 | {file = "bcrypt-4.0.1-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:67a97e1c405b24f19d08890e7ae0c4f7ce1e56a712a016746c8b2d7732d65d4b"}, 127 | {file = "bcrypt-4.0.1-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b3b85202d95dd568efcb35b53936c5e3b3600c7cdcc6115ba461df3a8e89f38d"}, 128 | {file = "bcrypt-4.0.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cbb03eec97496166b704ed663a53680ab57c5084b2fc98ef23291987b525cb7d"}, 129 | {file = "bcrypt-4.0.1-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:5ad4d32a28b80c5fa6671ccfb43676e8c1cc232887759d1cd7b6f56ea4355215"}, 130 | {file = "bcrypt-4.0.1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b57adba8a1444faf784394de3436233728a1ecaeb6e07e8c22c8848f179b893c"}, 131 | {file = "bcrypt-4.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:705b2cea8a9ed3d55b4491887ceadb0106acf7c6387699fca771af56b1cdeeda"}, 132 | {file = "bcrypt-4.0.1-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:2b3ac11cf45161628f1f3733263e63194f22664bf4d0c0f3ab34099c02134665"}, 133 | {file = "bcrypt-4.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3100851841186c25f127731b9fa11909ab7b1df6fc4b9f8353f4f1fd952fbf71"}, 134 | {file = "bcrypt-4.0.1.tar.gz", hash = "sha256:27d375903ac8261cfe4047f6709d16f7d18d39b1ec92aaf72af989552a650ebd"}, 135 | ] 136 | 137 | [package.extras] 138 | tests = ["pytest (>=3.2.1,!=3.3.0)"] 139 | typecheck = ["mypy"] 140 | 141 | [[package]] 142 | name = "blinker" 143 | version = "1.6.2" 144 | description = "Fast, simple object-to-object and broadcast signaling" 145 | category = "main" 146 | optional = false 147 | python-versions = ">=3.7" 148 | files = [ 149 | {file = "blinker-1.6.2-py3-none-any.whl", hash = "sha256:c3d739772abb7bc2860abf5f2ec284223d9ad5c76da018234f6f50d6f31ab1f0"}, 150 | {file = "blinker-1.6.2.tar.gz", hash = "sha256:4afd3de66ef3a9f8067559fb7a1cbe555c17dcbe15971b05d1b625c3e7abe213"}, 151 | ] 152 | 153 | [[package]] 154 | name = "cachetools" 155 | version = "5.3.1" 156 | description = "Extensible memoizing collections and decorators" 157 | category = "main" 158 | optional = false 159 | python-versions = ">=3.7" 160 | files = [ 161 | {file = "cachetools-5.3.1-py3-none-any.whl", hash = "sha256:95ef631eeaea14ba2e36f06437f36463aac3a096799e876ee55e5cdccb102590"}, 162 | {file = "cachetools-5.3.1.tar.gz", hash = "sha256:dce83f2d9b4e1f732a8cd44af8e8fab2dbe46201467fc98b3ef8f269092bf62b"}, 163 | ] 164 | 165 | [[package]] 166 | name = "certifi" 167 | version = "2023.7.22" 168 | description = "Python package for providing Mozilla's CA Bundle." 169 | category = "main" 170 | optional = false 171 | python-versions = ">=3.6" 172 | files = [ 173 | {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"}, 174 | {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"}, 175 | ] 176 | 177 | [[package]] 178 | name = "cffi" 179 | version = "1.15.1" 180 | description = "Foreign Function Interface for Python calling C code." 181 | category = "main" 182 | optional = false 183 | python-versions = "*" 184 | files = [ 185 | {file = "cffi-1.15.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2"}, 186 | {file = "cffi-1.15.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2"}, 187 | {file = "cffi-1.15.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914"}, 188 | {file = "cffi-1.15.1-cp27-cp27m-win32.whl", hash = "sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3"}, 189 | {file = "cffi-1.15.1-cp27-cp27m-win_amd64.whl", hash = "sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e"}, 190 | {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162"}, 191 | {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b"}, 192 | {file = "cffi-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21"}, 193 | {file = "cffi-1.15.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185"}, 194 | {file = "cffi-1.15.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd"}, 195 | {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc"}, 196 | {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f"}, 197 | {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e"}, 198 | {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4"}, 199 | {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01"}, 200 | {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e"}, 201 | {file = "cffi-1.15.1-cp310-cp310-win32.whl", hash = "sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2"}, 202 | {file = "cffi-1.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d"}, 203 | {file = "cffi-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac"}, 204 | {file = "cffi-1.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83"}, 205 | {file = "cffi-1.15.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9"}, 206 | {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c"}, 207 | {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325"}, 208 | {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c"}, 209 | {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef"}, 210 | {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8"}, 211 | {file = "cffi-1.15.1-cp311-cp311-win32.whl", hash = "sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d"}, 212 | {file = "cffi-1.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104"}, 213 | {file = "cffi-1.15.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7"}, 214 | {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6"}, 215 | {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d"}, 216 | {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a"}, 217 | {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405"}, 218 | {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e"}, 219 | {file = "cffi-1.15.1-cp36-cp36m-win32.whl", hash = "sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf"}, 220 | {file = "cffi-1.15.1-cp36-cp36m-win_amd64.whl", hash = "sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497"}, 221 | {file = "cffi-1.15.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375"}, 222 | {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e"}, 223 | {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82"}, 224 | {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b"}, 225 | {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c"}, 226 | {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426"}, 227 | {file = "cffi-1.15.1-cp37-cp37m-win32.whl", hash = "sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9"}, 228 | {file = "cffi-1.15.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045"}, 229 | {file = "cffi-1.15.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3"}, 230 | {file = "cffi-1.15.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a"}, 231 | {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5"}, 232 | {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca"}, 233 | {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02"}, 234 | {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192"}, 235 | {file = "cffi-1.15.1-cp38-cp38-win32.whl", hash = "sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314"}, 236 | {file = "cffi-1.15.1-cp38-cp38-win_amd64.whl", hash = "sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5"}, 237 | {file = "cffi-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585"}, 238 | {file = "cffi-1.15.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0"}, 239 | {file = "cffi-1.15.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415"}, 240 | {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d"}, 241 | {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984"}, 242 | {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35"}, 243 | {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27"}, 244 | {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76"}, 245 | {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3"}, 246 | {file = "cffi-1.15.1-cp39-cp39-win32.whl", hash = "sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee"}, 247 | {file = "cffi-1.15.1-cp39-cp39-win_amd64.whl", hash = "sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c"}, 248 | {file = "cffi-1.15.1.tar.gz", hash = "sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9"}, 249 | ] 250 | 251 | [package.dependencies] 252 | pycparser = "*" 253 | 254 | [[package]] 255 | name = "charset-normalizer" 256 | version = "3.2.0" 257 | description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." 258 | category = "main" 259 | optional = false 260 | python-versions = ">=3.7.0" 261 | files = [ 262 | {file = "charset-normalizer-3.2.0.tar.gz", hash = "sha256:3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace"}, 263 | {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b87549028f680ca955556e3bd57013ab47474c3124dc069faa0b6545b6c9710"}, 264 | {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7c70087bfee18a42b4040bb9ec1ca15a08242cf5867c58726530bdf3945672ed"}, 265 | {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a103b3a7069b62f5d4890ae1b8f0597618f628b286b03d4bc9195230b154bfa9"}, 266 | {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94aea8eff76ee6d1cdacb07dd2123a68283cb5569e0250feab1240058f53b623"}, 267 | {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db901e2ac34c931d73054d9797383d0f8009991e723dab15109740a63e7f902a"}, 268 | {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b0dac0ff919ba34d4df1b6131f59ce95b08b9065233446be7e459f95554c0dc8"}, 269 | {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad"}, 270 | {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09393e1b2a9461950b1c9a45d5fd251dc7c6f228acab64da1c9c0165d9c7765c"}, 271 | {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:baacc6aee0b2ef6f3d308e197b5d7a81c0e70b06beae1f1fcacffdbd124fe0e3"}, 272 | {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bf420121d4c8dce6b889f0e8e4ec0ca34b7f40186203f06a946fa0276ba54029"}, 273 | {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c04a46716adde8d927adb9457bbe39cf473e1e2c2f5d0a16ceb837e5d841ad4f"}, 274 | {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:aaf63899c94de41fe3cf934601b0f7ccb6b428c6e4eeb80da72c58eab077b19a"}, 275 | {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d62e51710986674142526ab9f78663ca2b0726066ae26b78b22e0f5e571238dd"}, 276 | {file = "charset_normalizer-3.2.0-cp310-cp310-win32.whl", hash = "sha256:04e57ab9fbf9607b77f7d057974694b4f6b142da9ed4a199859d9d4d5c63fe96"}, 277 | {file = "charset_normalizer-3.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:48021783bdf96e3d6de03a6e39a1171ed5bd7e8bb93fc84cc649d11490f87cea"}, 278 | {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4957669ef390f0e6719db3613ab3a7631e68424604a7b448f079bee145da6e09"}, 279 | {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:46fb8c61d794b78ec7134a715a3e564aafc8f6b5e338417cb19fe9f57a5a9bf2"}, 280 | {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac"}, 281 | {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f25c229a6ba38a35ae6e25ca1264621cc25d4d38dca2942a7fce0b67a4efe918"}, 282 | {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2efb1bd13885392adfda4614c33d3b68dee4921fd0ac1d3988f8cbb7d589e72a"}, 283 | {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f30b48dd7fa1474554b0b0f3fdfdd4c13b5c737a3c6284d3cdc424ec0ffff3a"}, 284 | {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:246de67b99b6851627d945db38147d1b209a899311b1305dd84916f2b88526c6"}, 285 | {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bd9b3b31adcb054116447ea22caa61a285d92e94d710aa5ec97992ff5eb7cf3"}, 286 | {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8c2f5e83493748286002f9369f3e6607c565a6a90425a3a1fef5ae32a36d749d"}, 287 | {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3170c9399da12c9dc66366e9d14da8bf7147e1e9d9ea566067bbce7bb74bd9c2"}, 288 | {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7a4826ad2bd6b07ca615c74ab91f32f6c96d08f6fcc3902ceeedaec8cdc3bcd6"}, 289 | {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:3b1613dd5aee995ec6d4c69f00378bbd07614702a315a2cf6c1d21461fe17c23"}, 290 | {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e608aafdb55eb9f255034709e20d5a83b6d60c054df0802fa9c9883d0a937aa"}, 291 | {file = "charset_normalizer-3.2.0-cp311-cp311-win32.whl", hash = "sha256:f2a1d0fd4242bd8643ce6f98927cf9c04540af6efa92323e9d3124f57727bfc1"}, 292 | {file = "charset_normalizer-3.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:681eb3d7e02e3c3655d1b16059fbfb605ac464c834a0c629048a30fad2b27489"}, 293 | {file = "charset_normalizer-3.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c57921cda3a80d0f2b8aec7e25c8aa14479ea92b5b51b6876d975d925a2ea346"}, 294 | {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41b25eaa7d15909cf3ac4c96088c1f266a9a93ec44f87f1d13d4a0e86c81b982"}, 295 | {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f058f6963fd82eb143c692cecdc89e075fa0828db2e5b291070485390b2f1c9c"}, 296 | {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7647ebdfb9682b7bb97e2a5e7cb6ae735b1c25008a70b906aecca294ee96cf4"}, 297 | {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eef9df1eefada2c09a5e7a40991b9fc6ac6ef20b1372abd48d2794a316dc0449"}, 298 | {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e03b8895a6990c9ab2cdcd0f2fe44088ca1c65ae592b8f795c3294af00a461c3"}, 299 | {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ee4006268ed33370957f55bf2e6f4d263eaf4dc3cfc473d1d90baff6ed36ce4a"}, 300 | {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c4983bf937209c57240cff65906b18bb35e64ae872da6a0db937d7b4af845dd7"}, 301 | {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:3bb7fda7260735efe66d5107fb7e6af6a7c04c7fce9b2514e04b7a74b06bf5dd"}, 302 | {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:72814c01533f51d68702802d74f77ea026b5ec52793c791e2da806a3844a46c3"}, 303 | {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:70c610f6cbe4b9fce272c407dd9d07e33e6bf7b4aa1b7ffb6f6ded8e634e3592"}, 304 | {file = "charset_normalizer-3.2.0-cp37-cp37m-win32.whl", hash = "sha256:a401b4598e5d3f4a9a811f3daf42ee2291790c7f9d74b18d75d6e21dda98a1a1"}, 305 | {file = "charset_normalizer-3.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:c0b21078a4b56965e2b12f247467b234734491897e99c1d51cee628da9786959"}, 306 | {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:95eb302ff792e12aba9a8b8f8474ab229a83c103d74a750ec0bd1c1eea32e669"}, 307 | {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a100c6d595a7f316f1b6f01d20815d916e75ff98c27a01ae817439ea7726329"}, 308 | {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6339d047dab2780cc6220f46306628e04d9750f02f983ddb37439ca47ced7149"}, 309 | {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4b749b9cc6ee664a3300bb3a273c1ca8068c46be705b6c31cf5d276f8628a94"}, 310 | {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a38856a971c602f98472050165cea2cdc97709240373041b69030be15047691f"}, 311 | {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa"}, 312 | {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89f1b185a01fe560bc8ae5f619e924407efca2191b56ce749ec84982fc59a32a"}, 313 | {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1c8a2f4c69e08e89632defbfabec2feb8a8d99edc9f89ce33c4b9e36ab63037"}, 314 | {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2f4ac36d8e2b4cc1aa71df3dd84ff8efbe3bfb97ac41242fbcfc053c67434f46"}, 315 | {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a386ebe437176aab38c041de1260cd3ea459c6ce5263594399880bbc398225b2"}, 316 | {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ccd16eb18a849fd8dcb23e23380e2f0a354e8daa0c984b8a732d9cfaba3a776d"}, 317 | {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:e6a5bf2cba5ae1bb80b154ed68a3cfa2fa00fde979a7f50d6598d3e17d9ac20c"}, 318 | {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:45de3f87179c1823e6d9e32156fb14c1927fcc9aba21433f088fdfb555b77c10"}, 319 | {file = "charset_normalizer-3.2.0-cp38-cp38-win32.whl", hash = "sha256:1000fba1057b92a65daec275aec30586c3de2401ccdcd41f8a5c1e2c87078706"}, 320 | {file = "charset_normalizer-3.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:8b2c760cfc7042b27ebdb4a43a4453bd829a5742503599144d54a032c5dc7e9e"}, 321 | {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c"}, 322 | {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f"}, 323 | {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858"}, 324 | {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5"}, 325 | {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952"}, 326 | {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4"}, 327 | {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200"}, 328 | {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252"}, 329 | {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22"}, 330 | {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c"}, 331 | {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e"}, 332 | {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299"}, 333 | {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020"}, 334 | {file = "charset_normalizer-3.2.0-cp39-cp39-win32.whl", hash = "sha256:6c409c0deba34f147f77efaa67b8e4bb83d2f11c8806405f76397ae5b8c0d1c9"}, 335 | {file = "charset_normalizer-3.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:7095f6fbfaa55defb6b733cfeb14efaae7a29f0b59d8cf213be4e7ca0b857b80"}, 336 | {file = "charset_normalizer-3.2.0-py3-none-any.whl", hash = "sha256:8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6"}, 337 | ] 338 | 339 | [[package]] 340 | name = "click" 341 | version = "8.1.6" 342 | description = "Composable command line interface toolkit" 343 | category = "main" 344 | optional = false 345 | python-versions = ">=3.7" 346 | files = [ 347 | {file = "click-8.1.6-py3-none-any.whl", hash = "sha256:fa244bb30b3b5ee2cae3da8f55c9e5e0c0e86093306301fb418eb9dc40fbded5"}, 348 | {file = "click-8.1.6.tar.gz", hash = "sha256:48ee849951919527a045bfe3bf7baa8a959c423134e1a5b98c05c20ba75a1cbd"}, 349 | ] 350 | 351 | [package.dependencies] 352 | colorama = {version = "*", markers = "platform_system == \"Windows\""} 353 | 354 | [[package]] 355 | name = "colorama" 356 | version = "0.4.6" 357 | description = "Cross-platform colored terminal text." 358 | category = "main" 359 | optional = false 360 | python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" 361 | files = [ 362 | {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, 363 | {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, 364 | ] 365 | 366 | [[package]] 367 | name = "cryptography" 368 | version = "41.0.3" 369 | description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." 370 | category = "main" 371 | optional = false 372 | python-versions = ">=3.7" 373 | files = [ 374 | {file = "cryptography-41.0.3-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:652627a055cb52a84f8c448185922241dd5217443ca194d5739b44612c5e6507"}, 375 | {file = "cryptography-41.0.3-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:8f09daa483aedea50d249ef98ed500569841d6498aa9c9f4b0531b9964658922"}, 376 | {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4fd871184321100fb400d759ad0cddddf284c4b696568204d281c902fc7b0d81"}, 377 | {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84537453d57f55a50a5b6835622ee405816999a7113267739a1b4581f83535bd"}, 378 | {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:3fb248989b6363906827284cd20cca63bb1a757e0a2864d4c1682a985e3dca47"}, 379 | {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:42cb413e01a5d36da9929baa9d70ca90d90b969269e5a12d39c1e0d475010116"}, 380 | {file = "cryptography-41.0.3-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:aeb57c421b34af8f9fe830e1955bf493a86a7996cc1338fe41b30047d16e962c"}, 381 | {file = "cryptography-41.0.3-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:6af1c6387c531cd364b72c28daa29232162010d952ceb7e5ca8e2827526aceae"}, 382 | {file = "cryptography-41.0.3-cp37-abi3-win32.whl", hash = "sha256:0d09fb5356f975974dbcb595ad2d178305e5050656affb7890a1583f5e02a306"}, 383 | {file = "cryptography-41.0.3-cp37-abi3-win_amd64.whl", hash = "sha256:a983e441a00a9d57a4d7c91b3116a37ae602907a7618b882c8013b5762e80574"}, 384 | {file = "cryptography-41.0.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5259cb659aa43005eb55a0e4ff2c825ca111a0da1814202c64d28a985d33b087"}, 385 | {file = "cryptography-41.0.3-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:67e120e9a577c64fe1f611e53b30b3e69744e5910ff3b6e97e935aeb96005858"}, 386 | {file = "cryptography-41.0.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:7efe8041897fe7a50863e51b77789b657a133c75c3b094e51b5e4b5cec7bf906"}, 387 | {file = "cryptography-41.0.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ce785cf81a7bdade534297ef9e490ddff800d956625020ab2ec2780a556c313e"}, 388 | {file = "cryptography-41.0.3-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:57a51b89f954f216a81c9d057bf1a24e2f36e764a1ca9a501a6964eb4a6800dd"}, 389 | {file = "cryptography-41.0.3-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:4c2f0d35703d61002a2bbdcf15548ebb701cfdd83cdc12471d2bae80878a4207"}, 390 | {file = "cryptography-41.0.3-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:23c2d778cf829f7d0ae180600b17e9fceea3c2ef8b31a99e3c694cbbf3a24b84"}, 391 | {file = "cryptography-41.0.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:95dd7f261bb76948b52a5330ba5202b91a26fbac13ad0e9fc8a3ac04752058c7"}, 392 | {file = "cryptography-41.0.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:41d7aa7cdfded09b3d73a47f429c298e80796c8e825ddfadc84c8a7f12df212d"}, 393 | {file = "cryptography-41.0.3-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:d0d651aa754ef58d75cec6edfbd21259d93810b73f6ec246436a21b7841908de"}, 394 | {file = "cryptography-41.0.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:ab8de0d091acbf778f74286f4989cf3d1528336af1b59f3e5d2ebca8b5fe49e1"}, 395 | {file = "cryptography-41.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a74fbcdb2a0d46fe00504f571a2a540532f4c188e6ccf26f1f178480117b33c4"}, 396 | {file = "cryptography-41.0.3.tar.gz", hash = "sha256:6d192741113ef5e30d89dcb5b956ef4e1578f304708701b8b73d38e3e1461f34"}, 397 | ] 398 | 399 | [package.dependencies] 400 | cffi = ">=1.12" 401 | 402 | [package.extras] 403 | docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.1.1)"] 404 | docstest = ["pyenchant (>=1.6.11)", "sphinxcontrib-spelling (>=4.0.1)", "twine (>=1.12.0)"] 405 | nox = ["nox"] 406 | pep8test = ["black", "check-sdist", "mypy", "ruff"] 407 | sdist = ["build"] 408 | ssh = ["bcrypt (>=3.1.5)"] 409 | test = ["pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] 410 | test-randomorder = ["pytest-randomly"] 411 | 412 | [[package]] 413 | name = "debtcollector" 414 | version = "2.5.0" 415 | description = "A collection of Python deprecation patterns and strategies that help you collect your technical debt in a non-destructive manner." 416 | category = "main" 417 | optional = false 418 | python-versions = ">=3.6" 419 | files = [ 420 | {file = "debtcollector-2.5.0-py3-none-any.whl", hash = "sha256:1393a527d2c72f143ffa6a629e9c33face6642634eece475b48cab7b04ba61f3"}, 421 | {file = "debtcollector-2.5.0.tar.gz", hash = "sha256:dc9d1ad3f745c43f4bbedbca30f9ffe8905a8c028c9926e61077847d5ea257ab"}, 422 | ] 423 | 424 | [package.dependencies] 425 | wrapt = ">=1.7.0" 426 | 427 | [[package]] 428 | name = "decorator" 429 | version = "5.1.1" 430 | description = "Decorators for Humans" 431 | category = "main" 432 | optional = false 433 | python-versions = ">=3.5" 434 | files = [ 435 | {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, 436 | {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, 437 | ] 438 | 439 | [[package]] 440 | name = "defusedxml" 441 | version = "0.7.1" 442 | description = "XML bomb protection for Python stdlib modules" 443 | category = "main" 444 | optional = false 445 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" 446 | files = [ 447 | {file = "defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"}, 448 | {file = "defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"}, 449 | ] 450 | 451 | [[package]] 452 | name = "deprecation" 453 | version = "2.1.0" 454 | description = "A library to handle automated deprecations" 455 | category = "main" 456 | optional = false 457 | python-versions = "*" 458 | files = [ 459 | {file = "deprecation-2.1.0-py2.py3-none-any.whl", hash = "sha256:a10811591210e1fb0e768a8c25517cabeabcba6f0bf96564f8ff45189f90b14a"}, 460 | {file = "deprecation-2.1.0.tar.gz", hash = "sha256:72b3bde64e5d778694b0cf68178aed03d15e15477116add3fb773e581f9518ff"}, 461 | ] 462 | 463 | [package.dependencies] 464 | packaging = "*" 465 | 466 | [[package]] 467 | name = "dnspython" 468 | version = "2.4.1" 469 | description = "DNS toolkit" 470 | category = "main" 471 | optional = false 472 | python-versions = ">=3.8,<4.0" 473 | files = [ 474 | {file = "dnspython-2.4.1-py3-none-any.whl", hash = "sha256:5b7488477388b8c0b70a8ce93b227c5603bc7b77f1565afe8e729c36c51447d7"}, 475 | {file = "dnspython-2.4.1.tar.gz", hash = "sha256:c33971c79af5be968bb897e95c2448e11a645ee84d93b265ce0b7aabe5dfdca8"}, 476 | ] 477 | 478 | [package.extras] 479 | dnssec = ["cryptography (>=2.6,<42.0)"] 480 | doh = ["h2 (>=4.1.0)", "httpcore (>=0.17.3)", "httpx (>=0.24.1)"] 481 | doq = ["aioquic (>=0.9.20)"] 482 | idna = ["idna (>=2.1,<4.0)"] 483 | trio = ["trio (>=0.14,<0.23)"] 484 | wmi = ["wmi (>=1.5.1,<2.0.0)"] 485 | 486 | [[package]] 487 | name = "dogpile-cache" 488 | version = "1.2.2" 489 | description = "A caching front-end based on the Dogpile lock." 490 | category = "main" 491 | optional = false 492 | python-versions = ">=3.6" 493 | files = [ 494 | {file = "dogpile.cache-1.2.2-py3-none-any.whl", hash = "sha256:f6c2c6ff3a3dc7dc0d662b3f30983f684502fd7a91a45be680879d7d8cc177d7"}, 495 | {file = "dogpile.cache-1.2.2.tar.gz", hash = "sha256:fd9022c0d9cbadadf20942391a95adaf296be80b42daa8e202f8de1c21f198b2"}, 496 | ] 497 | 498 | [package.dependencies] 499 | decorator = ">=4.0.0" 500 | stevedore = ">=3.0.0" 501 | typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""} 502 | 503 | [[package]] 504 | name = "ecdsa" 505 | version = "0.18.0" 506 | description = "ECDSA cryptographic signature library (pure python)" 507 | category = "main" 508 | optional = false 509 | python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" 510 | files = [ 511 | {file = "ecdsa-0.18.0-py2.py3-none-any.whl", hash = "sha256:80600258e7ed2f16b9aa1d7c295bd70194109ad5a30fdee0eaeefef1d4c559dd"}, 512 | {file = "ecdsa-0.18.0.tar.gz", hash = "sha256:190348041559e21b22a1d65cee485282ca11a6f81d503fddb84d5017e9ed1e49"}, 513 | ] 514 | 515 | [package.dependencies] 516 | six = ">=1.9.0" 517 | 518 | [package.extras] 519 | gmpy = ["gmpy"] 520 | gmpy2 = ["gmpy2"] 521 | 522 | [[package]] 523 | name = "elementpath" 524 | version = "4.1.5" 525 | description = "XPath 1.0/2.0/3.0/3.1 parsers and selectors for ElementTree and lxml" 526 | category = "main" 527 | optional = false 528 | python-versions = ">=3.7" 529 | files = [ 530 | {file = "elementpath-4.1.5-py3-none-any.whl", hash = "sha256:2ac1a2fb31eb22bbbf817f8cf6752f844513216263f0e3892c8e79782fe4bb55"}, 531 | {file = "elementpath-4.1.5.tar.gz", hash = "sha256:c2d6dc524b29ef751ecfc416b0627668119d8812441c555d7471da41d4bacb8d"}, 532 | ] 533 | 534 | [package.extras] 535 | dev = ["Sphinx", "coverage", "flake8", "lxml", "lxml-stubs", "memory-profiler", "memray", "mypy", "tox", "xmlschema (>=2.0.0)"] 536 | 537 | [[package]] 538 | name = "eventlet" 539 | version = "0.33.3" 540 | description = "Highly concurrent networking library" 541 | category = "main" 542 | optional = false 543 | python-versions = "*" 544 | files = [ 545 | {file = "eventlet-0.33.3-py2.py3-none-any.whl", hash = "sha256:e43b9ae05ba4bb477a10307699c9aff7ff86121b2640f9184d29059f5a687df8"}, 546 | {file = "eventlet-0.33.3.tar.gz", hash = "sha256:722803e7eadff295347539da363d68ae155b8b26ae6a634474d0a920be73cfda"}, 547 | ] 548 | 549 | [package.dependencies] 550 | dnspython = ">=1.15.0" 551 | greenlet = ">=0.3" 552 | six = ">=1.10.0" 553 | 554 | [[package]] 555 | name = "fasteners" 556 | version = "0.18" 557 | description = "A python package that provides useful locks" 558 | category = "main" 559 | optional = false 560 | python-versions = ">=3.6" 561 | files = [ 562 | {file = "fasteners-0.18-py3-none-any.whl", hash = "sha256:1d4caf5f8db57b0e4107d94fd5a1d02510a450dced6ca77d1839064c1bacf20c"}, 563 | {file = "fasteners-0.18.tar.gz", hash = "sha256:cb7c13ef91e0c7e4fe4af38ecaf6b904ec3f5ce0dda06d34924b6b74b869d953"}, 564 | ] 565 | 566 | [[package]] 567 | name = "fixtures" 568 | version = "4.1.0" 569 | description = "Fixtures, reusable state for writing clean tests and more." 570 | category = "main" 571 | optional = false 572 | python-versions = ">=3.7" 573 | files = [ 574 | {file = "fixtures-4.1.0-py3-none-any.whl", hash = "sha256:a43a55da406c37651aa86dd1ba6c3983a09d36d60fe5f72242872c8a4eeeb710"}, 575 | {file = "fixtures-4.1.0.tar.gz", hash = "sha256:82b1c5e69f615526ef6c067188a1e6c6067df7f88332509c99f8b8fdbb9776f3"}, 576 | ] 577 | 578 | [package.dependencies] 579 | pbr = ">=5.7.0" 580 | 581 | [package.extras] 582 | docs = ["docutils"] 583 | streams = ["testtools"] 584 | test = ["mock", "testtools"] 585 | 586 | [[package]] 587 | name = "flask" 588 | version = "2.3.2" 589 | description = "A simple framework for building complex web applications." 590 | category = "main" 591 | optional = false 592 | python-versions = ">=3.8" 593 | files = [ 594 | {file = "Flask-2.3.2-py3-none-any.whl", hash = "sha256:77fd4e1249d8c9923de34907236b747ced06e5467ecac1a7bb7115ae0e9670b0"}, 595 | {file = "Flask-2.3.2.tar.gz", hash = "sha256:8c2f9abd47a9e8df7f0c3f091ce9497d011dc3b31effcf4c85a6e2b50f4114ef"}, 596 | ] 597 | 598 | [package.dependencies] 599 | blinker = ">=1.6.2" 600 | click = ">=8.1.3" 601 | importlib-metadata = {version = ">=3.6.0", markers = "python_version < \"3.10\""} 602 | itsdangerous = ">=2.1.2" 603 | Jinja2 = ">=3.1.2" 604 | Werkzeug = ">=2.3.3" 605 | 606 | [package.extras] 607 | async = ["asgiref (>=3.2)"] 608 | dotenv = ["python-dotenv"] 609 | 610 | [[package]] 611 | name = "flask-restful" 612 | version = "0.3.10" 613 | description = "Simple framework for creating REST APIs" 614 | category = "main" 615 | optional = false 616 | python-versions = "*" 617 | files = [ 618 | {file = "Flask-RESTful-0.3.10.tar.gz", hash = "sha256:fe4af2ef0027df8f9b4f797aba20c5566801b6ade995ac63b588abf1a59cec37"}, 619 | {file = "Flask_RESTful-0.3.10-py2.py3-none-any.whl", hash = "sha256:1cf93c535172f112e080b0d4503a8d15f93a48c88bdd36dd87269bdaf405051b"}, 620 | ] 621 | 622 | [package.dependencies] 623 | aniso8601 = ">=0.82" 624 | Flask = ">=0.8" 625 | pytz = "*" 626 | six = ">=1.3.0" 627 | 628 | [package.extras] 629 | docs = ["sphinx"] 630 | 631 | [[package]] 632 | name = "futurist" 633 | version = "2.4.1" 634 | description = "Useful additions to futures, from the future." 635 | category = "main" 636 | optional = false 637 | python-versions = ">=3.6" 638 | files = [ 639 | {file = "futurist-2.4.1-py3-none-any.whl", hash = "sha256:3ef3a1f63eca3c4f6ebc8f4cff0bb1492241a0df93622e0bf3e6e90ca822e0e0"}, 640 | {file = "futurist-2.4.1.tar.gz", hash = "sha256:9c1760a877c0fe3260d04b6a6d4352a6d25ac58e483f1d6cd495e33dc3740ff7"}, 641 | ] 642 | 643 | [[package]] 644 | name = "greenlet" 645 | version = "2.0.2" 646 | description = "Lightweight in-process concurrent programming" 647 | category = "main" 648 | optional = false 649 | python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*" 650 | files = [ 651 | {file = "greenlet-2.0.2-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:bdfea8c661e80d3c1c99ad7c3ff74e6e87184895bbaca6ee8cc61209f8b9b85d"}, 652 | {file = "greenlet-2.0.2-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:9d14b83fab60d5e8abe587d51c75b252bcc21683f24699ada8fb275d7712f5a9"}, 653 | {file = "greenlet-2.0.2-cp27-cp27m-win32.whl", hash = "sha256:6c3acb79b0bfd4fe733dff8bc62695283b57949ebcca05ae5c129eb606ff2d74"}, 654 | {file = "greenlet-2.0.2-cp27-cp27m-win_amd64.whl", hash = "sha256:283737e0da3f08bd637b5ad058507e578dd462db259f7f6e4c5c365ba4ee9343"}, 655 | {file = "greenlet-2.0.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:d27ec7509b9c18b6d73f2f5ede2622441de812e7b1a80bbd446cb0633bd3d5ae"}, 656 | {file = "greenlet-2.0.2-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:30bcf80dda7f15ac77ba5af2b961bdd9dbc77fd4ac6105cee85b0d0a5fcf74df"}, 657 | {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26fbfce90728d82bc9e6c38ea4d038cba20b7faf8a0ca53a9c07b67318d46088"}, 658 | {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9190f09060ea4debddd24665d6804b995a9c122ef5917ab26e1566dcc712ceeb"}, 659 | {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d75209eed723105f9596807495d58d10b3470fa6732dd6756595e89925ce2470"}, 660 | {file = "greenlet-2.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3a51c9751078733d88e013587b108f1b7a1fb106d402fb390740f002b6f6551a"}, 661 | {file = "greenlet-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:76ae285c8104046b3a7f06b42f29c7b73f77683df18c49ab5af7983994c2dd91"}, 662 | {file = "greenlet-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:2d4686f195e32d36b4d7cf2d166857dbd0ee9f3d20ae349b6bf8afc8485b3645"}, 663 | {file = "greenlet-2.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c4302695ad8027363e96311df24ee28978162cdcdd2006476c43970b384a244c"}, 664 | {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c48f54ef8e05f04d6eff74b8233f6063cb1ed960243eacc474ee73a2ea8573ca"}, 665 | {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1846f1b999e78e13837c93c778dcfc3365902cfb8d1bdb7dd73ead37059f0d0"}, 666 | {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a06ad5312349fec0ab944664b01d26f8d1f05009566339ac6f63f56589bc1a2"}, 667 | {file = "greenlet-2.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:eff4eb9b7eb3e4d0cae3d28c283dc16d9bed6b193c2e1ace3ed86ce48ea8df19"}, 668 | {file = "greenlet-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5454276c07d27a740c5892f4907c86327b632127dd9abec42ee62e12427ff7e3"}, 669 | {file = "greenlet-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:7cafd1208fdbe93b67c7086876f061f660cfddc44f404279c1585bbf3cdc64c5"}, 670 | {file = "greenlet-2.0.2-cp35-cp35m-macosx_10_14_x86_64.whl", hash = "sha256:910841381caba4f744a44bf81bfd573c94e10b3045ee00de0cbf436fe50673a6"}, 671 | {file = "greenlet-2.0.2-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:18a7f18b82b52ee85322d7a7874e676f34ab319b9f8cce5de06067384aa8ff43"}, 672 | {file = "greenlet-2.0.2-cp35-cp35m-win32.whl", hash = "sha256:03a8f4f3430c3b3ff8d10a2a86028c660355ab637cee9333d63d66b56f09d52a"}, 673 | {file = "greenlet-2.0.2-cp35-cp35m-win_amd64.whl", hash = "sha256:4b58adb399c4d61d912c4c331984d60eb66565175cdf4a34792cd9600f21b394"}, 674 | {file = "greenlet-2.0.2-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:703f18f3fda276b9a916f0934d2fb6d989bf0b4fb5a64825260eb9bfd52d78f0"}, 675 | {file = "greenlet-2.0.2-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:32e5b64b148966d9cccc2c8d35a671409e45f195864560829f395a54226408d3"}, 676 | {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2dd11f291565a81d71dab10b7033395b7a3a5456e637cf997a6f33ebdf06f8db"}, 677 | {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e0f72c9ddb8cd28532185f54cc1453f2c16fb417a08b53a855c4e6a418edd099"}, 678 | {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cd021c754b162c0fb55ad5d6b9d960db667faad0fa2ff25bb6e1301b0b6e6a75"}, 679 | {file = "greenlet-2.0.2-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:3c9b12575734155d0c09d6c3e10dbd81665d5c18e1a7c6597df72fd05990c8cf"}, 680 | {file = "greenlet-2.0.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:b9ec052b06a0524f0e35bd8790686a1da006bd911dd1ef7d50b77bfbad74e292"}, 681 | {file = "greenlet-2.0.2-cp36-cp36m-win32.whl", hash = "sha256:dbfcfc0218093a19c252ca8eb9aee3d29cfdcb586df21049b9d777fd32c14fd9"}, 682 | {file = "greenlet-2.0.2-cp36-cp36m-win_amd64.whl", hash = "sha256:9f35ec95538f50292f6d8f2c9c9f8a3c6540bbfec21c9e5b4b751e0a7c20864f"}, 683 | {file = "greenlet-2.0.2-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:d5508f0b173e6aa47273bdc0a0b5ba055b59662ba7c7ee5119528f466585526b"}, 684 | {file = "greenlet-2.0.2-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:f82d4d717d8ef19188687aa32b8363e96062911e63ba22a0cff7802a8e58e5f1"}, 685 | {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9c59a2120b55788e800d82dfa99b9e156ff8f2227f07c5e3012a45a399620b7"}, 686 | {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2780572ec463d44c1d3ae850239508dbeb9fed38e294c68d19a24d925d9223ca"}, 687 | {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:937e9020b514ceedb9c830c55d5c9872abc90f4b5862f89c0887033ae33c6f73"}, 688 | {file = "greenlet-2.0.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:36abbf031e1c0f79dd5d596bfaf8e921c41df2bdf54ee1eed921ce1f52999a86"}, 689 | {file = "greenlet-2.0.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:18e98fb3de7dba1c0a852731c3070cf022d14f0d68b4c87a19cc1016f3bb8b33"}, 690 | {file = "greenlet-2.0.2-cp37-cp37m-win32.whl", hash = "sha256:3f6ea9bd35eb450837a3d80e77b517ea5bc56b4647f5502cd28de13675ee12f7"}, 691 | {file = "greenlet-2.0.2-cp37-cp37m-win_amd64.whl", hash = "sha256:7492e2b7bd7c9b9916388d9df23fa49d9b88ac0640db0a5b4ecc2b653bf451e3"}, 692 | {file = "greenlet-2.0.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:b864ba53912b6c3ab6bcb2beb19f19edd01a6bfcbdfe1f37ddd1778abfe75a30"}, 693 | {file = "greenlet-2.0.2-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:ba2956617f1c42598a308a84c6cf021a90ff3862eddafd20c3333d50f0edb45b"}, 694 | {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc3a569657468b6f3fb60587e48356fe512c1754ca05a564f11366ac9e306526"}, 695 | {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8eab883b3b2a38cc1e050819ef06a7e6344d4a990d24d45bc6f2cf959045a45b"}, 696 | {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:acd2162a36d3de67ee896c43effcd5ee3de247eb00354db411feb025aa319857"}, 697 | {file = "greenlet-2.0.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0bf60faf0bc2468089bdc5edd10555bab6e85152191df713e2ab1fcc86382b5a"}, 698 | {file = "greenlet-2.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b0ef99cdbe2b682b9ccbb964743a6aca37905fda5e0452e5ee239b1654d37f2a"}, 699 | {file = "greenlet-2.0.2-cp38-cp38-win32.whl", hash = "sha256:b80f600eddddce72320dbbc8e3784d16bd3fb7b517e82476d8da921f27d4b249"}, 700 | {file = "greenlet-2.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:4d2e11331fc0c02b6e84b0d28ece3a36e0548ee1a1ce9ddde03752d9b79bba40"}, 701 | {file = "greenlet-2.0.2-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:88d9ab96491d38a5ab7c56dd7a3cc37d83336ecc564e4e8816dbed12e5aaefc8"}, 702 | {file = "greenlet-2.0.2-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:561091a7be172ab497a3527602d467e2b3fbe75f9e783d8b8ce403fa414f71a6"}, 703 | {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:971ce5e14dc5e73715755d0ca2975ac88cfdaefcaab078a284fea6cfabf866df"}, 704 | {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be4ed120b52ae4d974aa40215fcdfde9194d63541c7ded40ee12eb4dda57b76b"}, 705 | {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94c817e84245513926588caf1152e3b559ff794d505555211ca041f032abbb6b"}, 706 | {file = "greenlet-2.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:1a819eef4b0e0b96bb0d98d797bef17dc1b4a10e8d7446be32d1da33e095dbb8"}, 707 | {file = "greenlet-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7efde645ca1cc441d6dc4b48c0f7101e8d86b54c8530141b09fd31cef5149ec9"}, 708 | {file = "greenlet-2.0.2-cp39-cp39-win32.whl", hash = "sha256:ea9872c80c132f4663822dd2a08d404073a5a9b5ba6155bea72fb2a79d1093b5"}, 709 | {file = "greenlet-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:db1a39669102a1d8d12b57de2bb7e2ec9066a6f2b3da35ae511ff93b01b5d564"}, 710 | {file = "greenlet-2.0.2.tar.gz", hash = "sha256:e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0"}, 711 | ] 712 | 713 | [package.extras] 714 | docs = ["Sphinx", "docutils (<0.18)"] 715 | test = ["objgraph", "psutil"] 716 | 717 | [[package]] 718 | name = "idna" 719 | version = "3.4" 720 | description = "Internationalized Domain Names in Applications (IDNA)" 721 | category = "main" 722 | optional = false 723 | python-versions = ">=3.5" 724 | files = [ 725 | {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, 726 | {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, 727 | ] 728 | 729 | [[package]] 730 | name = "importlib-metadata" 731 | version = "6.8.0" 732 | description = "Read metadata from Python packages" 733 | category = "main" 734 | optional = false 735 | python-versions = ">=3.8" 736 | files = [ 737 | {file = "importlib_metadata-6.8.0-py3-none-any.whl", hash = "sha256:3ebb78df84a805d7698245025b975d9d67053cd94c79245ba4b3eb694abe68bb"}, 738 | {file = "importlib_metadata-6.8.0.tar.gz", hash = "sha256:dbace7892d8c0c4ac1ad096662232f831d4e64f4c4545bd53016a3e9d4654743"}, 739 | ] 740 | 741 | [package.dependencies] 742 | zipp = ">=0.5" 743 | 744 | [package.extras] 745 | docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] 746 | perf = ["ipython"] 747 | testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"] 748 | 749 | [[package]] 750 | name = "importlib-resources" 751 | version = "6.0.0" 752 | description = "Read resources from Python packages" 753 | category = "main" 754 | optional = false 755 | python-versions = ">=3.8" 756 | files = [ 757 | {file = "importlib_resources-6.0.0-py3-none-any.whl", hash = "sha256:d952faee11004c045f785bb5636e8f885bed30dc3c940d5d42798a2a4541c185"}, 758 | {file = "importlib_resources-6.0.0.tar.gz", hash = "sha256:4cf94875a8368bd89531a756df9a9ebe1f150e0f885030b461237bc7f2d905f2"}, 759 | ] 760 | 761 | [package.dependencies] 762 | zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} 763 | 764 | [package.extras] 765 | docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] 766 | testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-ruff"] 767 | 768 | [[package]] 769 | name = "iso8601" 770 | version = "2.0.0" 771 | description = "Simple module to parse ISO 8601 dates" 772 | category = "main" 773 | optional = false 774 | python-versions = ">=3.7,<4.0" 775 | files = [ 776 | {file = "iso8601-2.0.0-py3-none-any.whl", hash = "sha256:ebe10061b932edb8a8e33cc635d661926c59b9c3bed7a4f4edca8c62d400af10"}, 777 | {file = "iso8601-2.0.0.tar.gz", hash = "sha256:739960d37c74c77bd9bd546a76562ccb581fe3d4820ff5c3141eb49c839fda8f"}, 778 | ] 779 | 780 | [[package]] 781 | name = "itsdangerous" 782 | version = "2.1.2" 783 | description = "Safely pass data to untrusted environments and back." 784 | category = "main" 785 | optional = false 786 | python-versions = ">=3.7" 787 | files = [ 788 | {file = "itsdangerous-2.1.2-py3-none-any.whl", hash = "sha256:2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44"}, 789 | {file = "itsdangerous-2.1.2.tar.gz", hash = "sha256:5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a"}, 790 | ] 791 | 792 | [[package]] 793 | name = "jinja2" 794 | version = "3.1.2" 795 | description = "A very fast and expressive template engine." 796 | category = "main" 797 | optional = false 798 | python-versions = ">=3.7" 799 | files = [ 800 | {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, 801 | {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, 802 | ] 803 | 804 | [package.dependencies] 805 | MarkupSafe = ">=2.0" 806 | 807 | [package.extras] 808 | i18n = ["Babel (>=2.7)"] 809 | 810 | [[package]] 811 | name = "jsonschema" 812 | version = "4.18.6" 813 | description = "An implementation of JSON Schema validation for Python" 814 | category = "main" 815 | optional = false 816 | python-versions = ">=3.8" 817 | files = [ 818 | {file = "jsonschema-4.18.6-py3-none-any.whl", hash = "sha256:dc274409c36175aad949c68e5ead0853aaffbe8e88c830ae66bb3c7a1728ad2d"}, 819 | {file = "jsonschema-4.18.6.tar.gz", hash = "sha256:ce71d2f8c7983ef75a756e568317bf54bc531dc3ad7e66a128eae0d51623d8a3"}, 820 | ] 821 | 822 | [package.dependencies] 823 | attrs = ">=22.2.0" 824 | importlib-resources = {version = ">=1.4.0", markers = "python_version < \"3.9\""} 825 | jsonschema-specifications = ">=2023.03.6" 826 | pkgutil-resolve-name = {version = ">=1.3.10", markers = "python_version < \"3.9\""} 827 | referencing = ">=0.28.4" 828 | rpds-py = ">=0.7.1" 829 | 830 | [package.extras] 831 | format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"] 832 | format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=1.11)"] 833 | 834 | [[package]] 835 | name = "jsonschema-specifications" 836 | version = "2023.7.1" 837 | description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" 838 | category = "main" 839 | optional = false 840 | python-versions = ">=3.8" 841 | files = [ 842 | {file = "jsonschema_specifications-2023.7.1-py3-none-any.whl", hash = "sha256:05adf340b659828a004220a9613be00fa3f223f2b82002e273dee62fd50524b1"}, 843 | {file = "jsonschema_specifications-2023.7.1.tar.gz", hash = "sha256:c91a50404e88a1f6ba40636778e2ee08f6e24c5613fe4c53ac24578a5a7f72bb"}, 844 | ] 845 | 846 | [package.dependencies] 847 | importlib-resources = {version = ">=1.4.0", markers = "python_version < \"3.9\""} 848 | referencing = ">=0.28.0" 849 | 850 | [[package]] 851 | name = "keystone" 852 | version = "23.0.0" 853 | description = "OpenStack Identity" 854 | category = "main" 855 | optional = false 856 | python-versions = ">=3.8" 857 | files = [ 858 | {file = "keystone-23.0.0-py3-none-any.whl", hash = "sha256:1dfaaca64be9584e06f063f247f0f427fd91271e1e116f6ad931d461ce4bf659"}, 859 | {file = "keystone-23.0.0.tar.gz", hash = "sha256:b74adabe8f7e1f69d87281a4be8c67e58c473937faf2f4a89fe5532459fa20d6"}, 860 | ] 861 | 862 | [package.dependencies] 863 | bcrypt = ">=3.1.3" 864 | cryptography = ">=2.7" 865 | "dogpile.cache" = ">=1.0.2" 866 | Flask = ">=1.0.2" 867 | Flask-RESTful = ">=0.3.5" 868 | jsonschema = ">=3.2.0" 869 | keystonemiddleware = ">=7.0.0" 870 | msgpack = ">=0.5.0" 871 | oauthlib = ">=0.6.2" 872 | "oslo.cache" = ">=1.26.0" 873 | "oslo.config" = ">=6.8.0" 874 | "oslo.context" = ">=2.22.0" 875 | "oslo.db" = ">=6.0.0" 876 | "oslo.i18n" = ">=3.15.3" 877 | "oslo.log" = ">=3.44.0" 878 | "oslo.messaging" = ">=5.29.0" 879 | "oslo.middleware" = ">=3.31.0" 880 | "oslo.policy" = ">=3.10.0" 881 | "oslo.serialization" = ">=2.18.0,<2.19.1 || >2.19.1" 882 | "oslo.upgradecheck" = ">=1.3.0" 883 | "oslo.utils" = ">=3.33.0" 884 | osprofiler = ">=1.4.0" 885 | passlib = ">=1.7.0" 886 | pbr = ">=2.0.0,<2.1.0 || >2.1.0" 887 | pycadf = ">=1.1.0,<2.0.0 || >2.0.0" 888 | PyJWT = ">=1.6.1" 889 | pysaml2 = ">=5.0.0" 890 | python-keystoneclient = ">=3.8.0" 891 | pytz = ">=2013.6" 892 | scrypt = ">=0.8.0" 893 | SQLAlchemy = ">=1.3.0" 894 | sqlalchemy-migrate = ">=0.13.0" 895 | stevedore = ">=1.20.0" 896 | WebOb = ">=1.7.1" 897 | 898 | [package.extras] 899 | bandit = ["bandit (>=1.1.0)"] 900 | ldap = ["ldappool (>=2.3.1)", "python-ldap (>=3.0.0)"] 901 | memcache = ["python-memcached (>=1.56)"] 902 | mongodb = ["pymongo (>=3.0.2,!=3.1)"] 903 | test = ["WebTest (>=2.0.27)", "bashate (>=2.1.0,<2.2.0)", "coverage (>=4.0,!=4.4)", "fixtures (>=3.0.0)", "flake8-docstrings (>=1.6.0,<1.7.0)", "freezegun (>=0.3.6)", "hacking (>=4.1.0,<4.2.0)", "lxml (>=4.5.0)", "oslo.db[fixtures,mysql,postgresql] (>=6.0.0)", "oslotest (>=3.2.0)", "pytz (>=2013.6)", "requests (>=2.14.2)", "stestr (>=1.0.0)", "tempest (>=17.1.0)", "testtools (>=2.2.0)"] 904 | 905 | [[package]] 906 | name = "keystoneauth1" 907 | version = "5.2.1" 908 | description = "Authentication Library for OpenStack Identity" 909 | category = "main" 910 | optional = false 911 | python-versions = ">=3.8" 912 | files = [ 913 | {file = "keystoneauth1-5.2.1-py3-none-any.whl", hash = "sha256:d2fcfdcfe347df8d92390e0806b4969289d884cd9ec3519e4c5aec53e66d0767"}, 914 | {file = "keystoneauth1-5.2.1.tar.gz", hash = "sha256:f79b1c27ed5a69be4d03a5bc4967df3dfab0c5d76e85226fa2060cffadff74a1"}, 915 | ] 916 | 917 | [package.dependencies] 918 | iso8601 = ">=0.1.11" 919 | os-service-types = ">=1.2.0" 920 | pbr = ">=2.0.0,<2.1.0 || >2.1.0" 921 | requests = ">=2.14.2" 922 | stevedore = ">=1.20.0" 923 | 924 | [package.extras] 925 | betamax = ["betamax (>=0.7.0)", "fixtures (>=3.0.0)", "mock (>=2.0.0)"] 926 | kerberos = ["requests-kerberos (>=0.8.0)"] 927 | oauth1 = ["oauthlib (>=0.6.2)"] 928 | saml2 = ["lxml (>=4.2.0)"] 929 | test = ["PyYAML (>=3.12)", "bandit (>=1.1.0,<1.6.0)", "betamax (>=0.7.0)", "coverage (>=4.0,!=4.4)", "fixtures (>=3.0.0)", "flake8-docstrings (>=1.6.0,<1.7.0)", "flake8-import-order (>=0.17.1)", "hacking (>=4.1.0,<4.2.0)", "lxml (>=4.2.0)", "oauthlib (>=0.6.2)", "oslo.config (>=5.2.0)", "oslo.utils (>=3.33.0)", "oslotest (>=3.2.0)", "reno (>=3.1.0)", "requests-kerberos (>=0.8.0)", "requests-mock (>=1.2.0)", "stestr (>=1.0.0)", "testresources (>=2.0.0)", "testtools (>=2.2.0)"] 930 | 931 | [[package]] 932 | name = "keystonemiddleware" 933 | version = "10.4.0" 934 | description = "Middleware for OpenStack Identity" 935 | category = "main" 936 | optional = false 937 | python-versions = ">=3.8" 938 | files = [ 939 | {file = "keystonemiddleware-10.4.0-py3-none-any.whl", hash = "sha256:f24c0f24c73be895cd14b2eb0edd6e06daa5fe04e25dd39bbe1eccf95863c361"}, 940 | {file = "keystonemiddleware-10.4.0.tar.gz", hash = "sha256:db99e3349702f5f8a4f62512e942e2fdf540edca4f89f50bd09c5733250c73a8"}, 941 | ] 942 | 943 | [package.dependencies] 944 | keystoneauth1 = ">=3.12.0" 945 | "oslo.cache" = ">=1.26.0" 946 | "oslo.config" = ">=5.2.0" 947 | "oslo.context" = ">=2.19.2" 948 | "oslo.i18n" = ">=3.15.3" 949 | "oslo.log" = ">=3.36.0" 950 | "oslo.serialization" = ">=2.18.0,<2.19.1 || >2.19.1" 951 | "oslo.utils" = ">=3.33.0" 952 | pbr = ">=2.0.0,<2.1.0 || >2.1.0" 953 | pycadf = ">=1.1.0,<2.0.0 || >2.0.0" 954 | python-keystoneclient = ">=3.20.0" 955 | requests = ">=2.14.2" 956 | WebOb = ">=1.7.1" 957 | 958 | [package.extras] 959 | audit-notifications = ["oslo.messaging (>=5.29.0)"] 960 | test = ["WebTest (>=2.0.27)", "bandit (>=1.1.0,!=1.6.0)", "coverage (>=4.0,!=4.4)", "cryptography (>=3.0)", "fixtures (>=3.0.0)", "flake8-docstrings (>=1.7.0,<1.8.0)", "hacking (>=6.0.1,<6.1.0)", "oslo.messaging (>=5.29.0)", "oslotest (>=3.2.0)", "python-memcached (>=1.59)", "requests-mock (>=1.2.0)", "stestr (>=2.0.0)", "stevedore (>=1.20.0)", "testresources (>=2.0.0)", "testtools (>=2.2.0)"] 961 | 962 | [[package]] 963 | name = "kombu" 964 | version = "5.3.1" 965 | description = "Messaging library for Python." 966 | category = "main" 967 | optional = false 968 | python-versions = ">=3.8" 969 | files = [ 970 | {file = "kombu-5.3.1-py3-none-any.whl", hash = "sha256:48ee589e8833126fd01ceaa08f8a2041334e9f5894e5763c8486a550454551e9"}, 971 | {file = "kombu-5.3.1.tar.gz", hash = "sha256:fbd7572d92c0bf71c112a6b45163153dea5a7b6a701ec16b568c27d0fd2370f2"}, 972 | ] 973 | 974 | [package.dependencies] 975 | amqp = ">=5.1.1,<6.0.0" 976 | "backports.zoneinfo" = {version = ">=0.2.1", extras = ["tzdata"], markers = "python_version < \"3.9\""} 977 | typing-extensions = {version = "*", markers = "python_version < \"3.10\""} 978 | vine = "*" 979 | 980 | [package.extras] 981 | azureservicebus = ["azure-servicebus (>=7.10.0)"] 982 | azurestoragequeues = ["azure-identity (>=1.12.0)", "azure-storage-queue (>=12.6.0)"] 983 | confluentkafka = ["confluent-kafka (==2.1.1)"] 984 | consul = ["python-consul2"] 985 | librabbitmq = ["librabbitmq (>=2.0.0)"] 986 | mongodb = ["pymongo (>=4.1.1)"] 987 | msgpack = ["msgpack"] 988 | pyro = ["pyro4"] 989 | qpid = ["qpid-python (>=0.26)", "qpid-tools (>=0.26)"] 990 | redis = ["redis (>=4.5.2)"] 991 | slmq = ["softlayer-messaging (>=1.0.3)"] 992 | sqlalchemy = ["sqlalchemy (>=1.4.48,<2.1)"] 993 | sqs = ["boto3 (>=1.26.143)", "pycurl (>=7.43.0.5)", "urllib3 (>=1.26.16)"] 994 | yaml = ["PyYAML (>=3.10)"] 995 | zookeeper = ["kazoo (>=2.8.0)"] 996 | 997 | [[package]] 998 | name = "mako" 999 | version = "1.2.4" 1000 | description = "A super-fast templating language that borrows the best ideas from the existing templating languages." 1001 | category = "main" 1002 | optional = false 1003 | python-versions = ">=3.7" 1004 | files = [ 1005 | {file = "Mako-1.2.4-py3-none-any.whl", hash = "sha256:c97c79c018b9165ac9922ae4f32da095ffd3c4e6872b45eded42926deea46818"}, 1006 | {file = "Mako-1.2.4.tar.gz", hash = "sha256:d60a3903dc3bb01a18ad6a89cdbe2e4eadc69c0bc8ef1e3773ba53d44c3f7a34"}, 1007 | ] 1008 | 1009 | [package.dependencies] 1010 | MarkupSafe = ">=0.9.2" 1011 | 1012 | [package.extras] 1013 | babel = ["Babel"] 1014 | lingua = ["lingua"] 1015 | testing = ["pytest"] 1016 | 1017 | [[package]] 1018 | name = "markupsafe" 1019 | version = "2.1.3" 1020 | description = "Safely add untrusted strings to HTML/XML markup." 1021 | category = "main" 1022 | optional = false 1023 | python-versions = ">=3.7" 1024 | files = [ 1025 | {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"}, 1026 | {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"}, 1027 | {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f"}, 1028 | {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52"}, 1029 | {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00"}, 1030 | {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6"}, 1031 | {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779"}, 1032 | {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7"}, 1033 | {file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431"}, 1034 | {file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559"}, 1035 | {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c"}, 1036 | {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575"}, 1037 | {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee"}, 1038 | {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2"}, 1039 | {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9"}, 1040 | {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc"}, 1041 | {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9"}, 1042 | {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"}, 1043 | {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"}, 1044 | {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"}, 1045 | {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"}, 1046 | {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"}, 1047 | {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"}, 1048 | {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e"}, 1049 | {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc"}, 1050 | {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48"}, 1051 | {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155"}, 1052 | {file = "MarkupSafe-2.1.3-cp37-cp37m-win32.whl", hash = "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0"}, 1053 | {file = "MarkupSafe-2.1.3-cp37-cp37m-win_amd64.whl", hash = "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24"}, 1054 | {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4"}, 1055 | {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0"}, 1056 | {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee"}, 1057 | {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be"}, 1058 | {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e"}, 1059 | {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8"}, 1060 | {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3"}, 1061 | {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d"}, 1062 | {file = "MarkupSafe-2.1.3-cp38-cp38-win32.whl", hash = "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5"}, 1063 | {file = "MarkupSafe-2.1.3-cp38-cp38-win_amd64.whl", hash = "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc"}, 1064 | {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198"}, 1065 | {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b"}, 1066 | {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58"}, 1067 | {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e"}, 1068 | {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c"}, 1069 | {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636"}, 1070 | {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea"}, 1071 | {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e"}, 1072 | {file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl", hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"}, 1073 | {file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba"}, 1074 | {file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"}, 1075 | ] 1076 | 1077 | [[package]] 1078 | name = "msgpack" 1079 | version = "1.0.5" 1080 | description = "MessagePack serializer" 1081 | category = "main" 1082 | optional = false 1083 | python-versions = "*" 1084 | files = [ 1085 | {file = "msgpack-1.0.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:525228efd79bb831cf6830a732e2e80bc1b05436b086d4264814b4b2955b2fa9"}, 1086 | {file = "msgpack-1.0.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4f8d8b3bf1ff2672567d6b5c725a1b347fe838b912772aa8ae2bf70338d5a198"}, 1087 | {file = "msgpack-1.0.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cdc793c50be3f01106245a61b739328f7dccc2c648b501e237f0699fe1395b81"}, 1088 | {file = "msgpack-1.0.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cb47c21a8a65b165ce29f2bec852790cbc04936f502966768e4aae9fa763cb7"}, 1089 | {file = "msgpack-1.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e42b9594cc3bf4d838d67d6ed62b9e59e201862a25e9a157019e171fbe672dd3"}, 1090 | {file = "msgpack-1.0.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:55b56a24893105dc52c1253649b60f475f36b3aa0fc66115bffafb624d7cb30b"}, 1091 | {file = "msgpack-1.0.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:1967f6129fc50a43bfe0951c35acbb729be89a55d849fab7686004da85103f1c"}, 1092 | {file = "msgpack-1.0.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:20a97bf595a232c3ee6d57ddaadd5453d174a52594bf9c21d10407e2a2d9b3bd"}, 1093 | {file = "msgpack-1.0.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d25dd59bbbbb996eacf7be6b4ad082ed7eacc4e8f3d2df1ba43822da9bfa122a"}, 1094 | {file = "msgpack-1.0.5-cp310-cp310-win32.whl", hash = "sha256:382b2c77589331f2cb80b67cc058c00f225e19827dbc818d700f61513ab47bea"}, 1095 | {file = "msgpack-1.0.5-cp310-cp310-win_amd64.whl", hash = "sha256:4867aa2df9e2a5fa5f76d7d5565d25ec76e84c106b55509e78c1ede0f152659a"}, 1096 | {file = "msgpack-1.0.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9f5ae84c5c8a857ec44dc180a8b0cc08238e021f57abdf51a8182e915e6299f0"}, 1097 | {file = "msgpack-1.0.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9e6ca5d5699bcd89ae605c150aee83b5321f2115695e741b99618f4856c50898"}, 1098 | {file = "msgpack-1.0.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5494ea30d517a3576749cad32fa27f7585c65f5f38309c88c6d137877fa28a5a"}, 1099 | {file = "msgpack-1.0.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ab2f3331cb1b54165976a9d976cb251a83183631c88076613c6c780f0d6e45a"}, 1100 | {file = "msgpack-1.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28592e20bbb1620848256ebc105fc420436af59515793ed27d5c77a217477705"}, 1101 | {file = "msgpack-1.0.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fe5c63197c55bce6385d9aee16c4d0641684628f63ace85f73571e65ad1c1e8d"}, 1102 | {file = "msgpack-1.0.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ed40e926fa2f297e8a653c954b732f125ef97bdd4c889f243182299de27e2aa9"}, 1103 | {file = "msgpack-1.0.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:b2de4c1c0538dcb7010902a2b97f4e00fc4ddf2c8cda9749af0e594d3b7fa3d7"}, 1104 | {file = "msgpack-1.0.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:bf22a83f973b50f9d38e55c6aade04c41ddda19b00c4ebc558930d78eecc64ed"}, 1105 | {file = "msgpack-1.0.5-cp311-cp311-win32.whl", hash = "sha256:c396e2cc213d12ce017b686e0f53497f94f8ba2b24799c25d913d46c08ec422c"}, 1106 | {file = "msgpack-1.0.5-cp311-cp311-win_amd64.whl", hash = "sha256:6c4c68d87497f66f96d50142a2b73b97972130d93677ce930718f68828b382e2"}, 1107 | {file = "msgpack-1.0.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:a2b031c2e9b9af485d5e3c4520f4220d74f4d222a5b8dc8c1a3ab9448ca79c57"}, 1108 | {file = "msgpack-1.0.5-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f837b93669ce4336e24d08286c38761132bc7ab29782727f8557e1eb21b2080"}, 1109 | {file = "msgpack-1.0.5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1d46dfe3832660f53b13b925d4e0fa1432b00f5f7210eb3ad3bb9a13c6204a6"}, 1110 | {file = "msgpack-1.0.5-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:366c9a7b9057e1547f4ad51d8facad8b406bab69c7d72c0eb6f529cf76d4b85f"}, 1111 | {file = "msgpack-1.0.5-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:4c075728a1095efd0634a7dccb06204919a2f67d1893b6aa8e00497258bf926c"}, 1112 | {file = "msgpack-1.0.5-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:f933bbda5a3ee63b8834179096923b094b76f0c7a73c1cfe8f07ad608c58844b"}, 1113 | {file = "msgpack-1.0.5-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:36961b0568c36027c76e2ae3ca1132e35123dcec0706c4b7992683cc26c1320c"}, 1114 | {file = "msgpack-1.0.5-cp36-cp36m-win32.whl", hash = "sha256:b5ef2f015b95f912c2fcab19c36814963b5463f1fb9049846994b007962743e9"}, 1115 | {file = "msgpack-1.0.5-cp36-cp36m-win_amd64.whl", hash = "sha256:288e32b47e67f7b171f86b030e527e302c91bd3f40fd9033483f2cacc37f327a"}, 1116 | {file = "msgpack-1.0.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:137850656634abddfb88236008339fdaba3178f4751b28f270d2ebe77a563b6c"}, 1117 | {file = "msgpack-1.0.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0c05a4a96585525916b109bb85f8cb6511db1c6f5b9d9cbcbc940dc6b4be944b"}, 1118 | {file = "msgpack-1.0.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56a62ec00b636583e5cb6ad313bbed36bb7ead5fa3a3e38938503142c72cba4f"}, 1119 | {file = "msgpack-1.0.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef8108f8dedf204bb7b42994abf93882da1159728a2d4c5e82012edd92c9da9f"}, 1120 | {file = "msgpack-1.0.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:1835c84d65f46900920b3708f5ba829fb19b1096c1800ad60bae8418652a951d"}, 1121 | {file = "msgpack-1.0.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:e57916ef1bd0fee4f21c4600e9d1da352d8816b52a599c46460e93a6e9f17086"}, 1122 | {file = "msgpack-1.0.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:17358523b85973e5f242ad74aa4712b7ee560715562554aa2134d96e7aa4cbbf"}, 1123 | {file = "msgpack-1.0.5-cp37-cp37m-win32.whl", hash = "sha256:cb5aaa8c17760909ec6cb15e744c3ebc2ca8918e727216e79607b7bbce9c8f77"}, 1124 | {file = "msgpack-1.0.5-cp37-cp37m-win_amd64.whl", hash = "sha256:ab31e908d8424d55601ad7075e471b7d0140d4d3dd3272daf39c5c19d936bd82"}, 1125 | {file = "msgpack-1.0.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:b72d0698f86e8d9ddf9442bdedec15b71df3598199ba33322d9711a19f08145c"}, 1126 | {file = "msgpack-1.0.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:379026812e49258016dd84ad79ac8446922234d498058ae1d415f04b522d5b2d"}, 1127 | {file = "msgpack-1.0.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:332360ff25469c346a1c5e47cbe2a725517919892eda5cfaffe6046656f0b7bb"}, 1128 | {file = "msgpack-1.0.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:476a8fe8fae289fdf273d6d2a6cb6e35b5a58541693e8f9f019bfe990a51e4ba"}, 1129 | {file = "msgpack-1.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9985b214f33311df47e274eb788a5893a761d025e2b92c723ba4c63936b69b1"}, 1130 | {file = "msgpack-1.0.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:48296af57cdb1d885843afd73c4656be5c76c0c6328db3440c9601a98f303d87"}, 1131 | {file = "msgpack-1.0.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:addab7e2e1fcc04bd08e4eb631c2a90960c340e40dfc4a5e24d2ff0d5a3b3edb"}, 1132 | {file = "msgpack-1.0.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:916723458c25dfb77ff07f4c66aed34e47503b2eb3188b3adbec8d8aa6e00f48"}, 1133 | {file = "msgpack-1.0.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:821c7e677cc6acf0fd3f7ac664c98803827ae6de594a9f99563e48c5a2f27eb0"}, 1134 | {file = "msgpack-1.0.5-cp38-cp38-win32.whl", hash = "sha256:1c0f7c47f0087ffda62961d425e4407961a7ffd2aa004c81b9c07d9269512f6e"}, 1135 | {file = "msgpack-1.0.5-cp38-cp38-win_amd64.whl", hash = "sha256:bae7de2026cbfe3782c8b78b0db9cbfc5455e079f1937cb0ab8d133496ac55e1"}, 1136 | {file = "msgpack-1.0.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:20c784e66b613c7f16f632e7b5e8a1651aa5702463d61394671ba07b2fc9e025"}, 1137 | {file = "msgpack-1.0.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:266fa4202c0eb94d26822d9bfd7af25d1e2c088927fe8de9033d929dd5ba24c5"}, 1138 | {file = "msgpack-1.0.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:18334484eafc2b1aa47a6d42427da7fa8f2ab3d60b674120bce7a895a0a85bdd"}, 1139 | {file = "msgpack-1.0.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:57e1f3528bd95cc44684beda696f74d3aaa8a5e58c816214b9046512240ef437"}, 1140 | {file = "msgpack-1.0.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:586d0d636f9a628ddc6a17bfd45aa5b5efaf1606d2b60fa5d87b8986326e933f"}, 1141 | {file = "msgpack-1.0.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a740fa0e4087a734455f0fc3abf5e746004c9da72fbd541e9b113013c8dc3282"}, 1142 | {file = "msgpack-1.0.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:3055b0455e45810820db1f29d900bf39466df96ddca11dfa6d074fa47054376d"}, 1143 | {file = "msgpack-1.0.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:a61215eac016f391129a013c9e46f3ab308db5f5ec9f25811e811f96962599a8"}, 1144 | {file = "msgpack-1.0.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:362d9655cd369b08fda06b6657a303eb7172d5279997abe094512e919cf74b11"}, 1145 | {file = "msgpack-1.0.5-cp39-cp39-win32.whl", hash = "sha256:ac9dd47af78cae935901a9a500104e2dea2e253207c924cc95de149606dc43cc"}, 1146 | {file = "msgpack-1.0.5-cp39-cp39-win_amd64.whl", hash = "sha256:06f5174b5f8ed0ed919da0e62cbd4ffde676a374aba4020034da05fab67b9164"}, 1147 | {file = "msgpack-1.0.5.tar.gz", hash = "sha256:c075544284eadc5cddc70f4757331d99dcbc16b2bbd4849d15f8aae4cf36d31c"}, 1148 | ] 1149 | 1150 | [[package]] 1151 | name = "netaddr" 1152 | version = "0.8.0" 1153 | description = "A network address manipulation library for Python" 1154 | category = "main" 1155 | optional = false 1156 | python-versions = "*" 1157 | files = [ 1158 | {file = "netaddr-0.8.0-py2.py3-none-any.whl", hash = "sha256:9666d0232c32d2656e5e5f8d735f58fd6c7457ce52fc21c98d45f2af78f990ac"}, 1159 | {file = "netaddr-0.8.0.tar.gz", hash = "sha256:d6cc57c7a07b1d9d2e917aa8b36ae8ce61c35ba3fcd1b83ca31c5a0ee2b5a243"}, 1160 | ] 1161 | 1162 | [[package]] 1163 | name = "netifaces" 1164 | version = "0.11.0" 1165 | description = "Portable network interface information." 1166 | category = "main" 1167 | optional = false 1168 | python-versions = "*" 1169 | files = [ 1170 | {file = "netifaces-0.11.0-cp27-cp27m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:eb4813b77d5df99903af4757ce980a98c4d702bbcb81f32a0b305a1537bdf0b1"}, 1171 | {file = "netifaces-0.11.0-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:5f9ca13babe4d845e400921973f6165a4c2f9f3379c7abfc7478160e25d196a4"}, 1172 | {file = "netifaces-0.11.0-cp27-cp27m-win32.whl", hash = "sha256:7dbb71ea26d304e78ccccf6faccef71bb27ea35e259fb883cfd7fd7b4f17ecb1"}, 1173 | {file = "netifaces-0.11.0-cp27-cp27m-win_amd64.whl", hash = "sha256:0f6133ac02521270d9f7c490f0c8c60638ff4aec8338efeff10a1b51506abe85"}, 1174 | {file = "netifaces-0.11.0-cp27-cp27mu-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:08e3f102a59f9eaef70948340aeb6c89bd09734e0dca0f3b82720305729f63ea"}, 1175 | {file = "netifaces-0.11.0-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:c03fb2d4ef4e393f2e6ffc6376410a22a3544f164b336b3a355226653e5efd89"}, 1176 | {file = "netifaces-0.11.0-cp34-cp34m-win32.whl", hash = "sha256:73ff21559675150d31deea8f1f8d7e9a9a7e4688732a94d71327082f517fc6b4"}, 1177 | {file = "netifaces-0.11.0-cp35-cp35m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:815eafdf8b8f2e61370afc6add6194bd5a7252ae44c667e96c4c1ecf418811e4"}, 1178 | {file = "netifaces-0.11.0-cp35-cp35m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:50721858c935a76b83dd0dd1ab472cad0a3ef540a1408057624604002fcfb45b"}, 1179 | {file = "netifaces-0.11.0-cp35-cp35m-win32.whl", hash = "sha256:c9a3a47cd3aaeb71e93e681d9816c56406ed755b9442e981b07e3618fb71d2ac"}, 1180 | {file = "netifaces-0.11.0-cp36-cp36m-macosx_10_15_x86_64.whl", hash = "sha256:aab1dbfdc55086c789f0eb37affccf47b895b98d490738b81f3b2360100426be"}, 1181 | {file = "netifaces-0.11.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c37a1ca83825bc6f54dddf5277e9c65dec2f1b4d0ba44b8fd42bc30c91aa6ea1"}, 1182 | {file = "netifaces-0.11.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:28f4bf3a1361ab3ed93c5ef360c8b7d4a4ae060176a3529e72e5e4ffc4afd8b0"}, 1183 | {file = "netifaces-0.11.0-cp36-cp36m-win32.whl", hash = "sha256:2650beee182fed66617e18474b943e72e52f10a24dc8cac1db36c41ee9c041b7"}, 1184 | {file = "netifaces-0.11.0-cp36-cp36m-win_amd64.whl", hash = "sha256:cb925e1ca024d6f9b4f9b01d83215fd00fe69d095d0255ff3f64bffda74025c8"}, 1185 | {file = "netifaces-0.11.0-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:84e4d2e6973eccc52778735befc01638498781ce0e39aa2044ccfd2385c03246"}, 1186 | {file = "netifaces-0.11.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:18917fbbdcb2d4f897153c5ddbb56b31fa6dd7c3fa9608b7e3c3a663df8206b5"}, 1187 | {file = "netifaces-0.11.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:48324183af7f1bc44f5f197f3dad54a809ad1ef0c78baee2c88f16a5de02c4c9"}, 1188 | {file = "netifaces-0.11.0-cp37-cp37m-win32.whl", hash = "sha256:8f7da24eab0d4184715d96208b38d373fd15c37b0dafb74756c638bd619ba150"}, 1189 | {file = "netifaces-0.11.0-cp37-cp37m-win_amd64.whl", hash = "sha256:2479bb4bb50968089a7c045f24d120f37026d7e802ec134c4490eae994c729b5"}, 1190 | {file = "netifaces-0.11.0-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:3ecb3f37c31d5d51d2a4d935cfa81c9bc956687c6f5237021b36d6fdc2815b2c"}, 1191 | {file = "netifaces-0.11.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:96c0fe9696398253f93482c84814f0e7290eee0bfec11563bd07d80d701280c3"}, 1192 | {file = "netifaces-0.11.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:c92ff9ac7c2282009fe0dcb67ee3cd17978cffbe0c8f4b471c00fe4325c9b4d4"}, 1193 | {file = "netifaces-0.11.0-cp38-cp38-win32.whl", hash = "sha256:d07b01c51b0b6ceb0f09fc48ec58debd99d2c8430b09e56651addeaf5de48048"}, 1194 | {file = "netifaces-0.11.0-cp38-cp38-win_amd64.whl", hash = "sha256:469fc61034f3daf095e02f9f1bbac07927b826c76b745207287bc594884cfd05"}, 1195 | {file = "netifaces-0.11.0-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:5be83986100ed1fdfa78f11ccff9e4757297735ac17391b95e17e74335c2047d"}, 1196 | {file = "netifaces-0.11.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:54ff6624eb95b8a07e79aa8817288659af174e954cca24cdb0daeeddfc03c4ff"}, 1197 | {file = "netifaces-0.11.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:841aa21110a20dc1621e3dd9f922c64ca64dd1eb213c47267a2c324d823f6c8f"}, 1198 | {file = "netifaces-0.11.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:e76c7f351e0444721e85f975ae92718e21c1f361bda946d60a214061de1f00a1"}, 1199 | {file = "netifaces-0.11.0.tar.gz", hash = "sha256:043a79146eb2907edf439899f262b3dfe41717d34124298ed281139a8b93ca32"}, 1200 | ] 1201 | 1202 | [[package]] 1203 | name = "oauthlib" 1204 | version = "3.2.2" 1205 | description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic" 1206 | category = "main" 1207 | optional = false 1208 | python-versions = ">=3.6" 1209 | files = [ 1210 | {file = "oauthlib-3.2.2-py3-none-any.whl", hash = "sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca"}, 1211 | {file = "oauthlib-3.2.2.tar.gz", hash = "sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918"}, 1212 | ] 1213 | 1214 | [package.extras] 1215 | rsa = ["cryptography (>=3.0.0)"] 1216 | signals = ["blinker (>=1.4.0)"] 1217 | signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"] 1218 | 1219 | [[package]] 1220 | name = "os-service-types" 1221 | version = "1.7.0" 1222 | description = "Python library for consuming OpenStack sevice-types-authority data" 1223 | category = "main" 1224 | optional = false 1225 | python-versions = "*" 1226 | files = [ 1227 | {file = "os-service-types-1.7.0.tar.gz", hash = "sha256:31800299a82239363995b91f1ebf9106ac7758542a1e4ef6dc737a5932878c6c"}, 1228 | {file = "os_service_types-1.7.0-py2.py3-none-any.whl", hash = "sha256:0505c72205690910077fb72b88f2a1f07533c8d39f2fe75b29583481764965d6"}, 1229 | ] 1230 | 1231 | [package.dependencies] 1232 | pbr = ">=2.0.0,<2.1.0 || >2.1.0" 1233 | 1234 | [[package]] 1235 | name = "oslo-cache" 1236 | version = "3.4.0" 1237 | description = "Cache storage for OpenStack projects." 1238 | category = "main" 1239 | optional = false 1240 | python-versions = ">=3.8" 1241 | files = [ 1242 | {file = "oslo.cache-3.4.0-py3-none-any.whl", hash = "sha256:306ad745354d2791668bdff342295c7d05079ceef944b16aabd4b7a08db1252e"}, 1243 | {file = "oslo.cache-3.4.0.tar.gz", hash = "sha256:48d4a06a25e0d0fba61cff052abaff7b5c5747379be376da5788f0d01cb56943"}, 1244 | ] 1245 | 1246 | [package.dependencies] 1247 | "dogpile.cache" = ">=1.1.5" 1248 | "oslo.config" = ">=8.1.0" 1249 | "oslo.i18n" = ">=5.0.0" 1250 | "oslo.log" = ">=4.2.1" 1251 | "oslo.utils" = ">=4.2.0" 1252 | 1253 | [package.extras] 1254 | dogpile = ["pymemcache (>=3.5.0)", "python-binary-memcached (>=0.29.0)", "python-memcached (>=1.56)"] 1255 | etcd3gw = ["etcd3gw (>=0.2.0)"] 1256 | mongo = ["pymongo (>=3.0.2,!=3.1)"] 1257 | test = ["bandit (>=1.6.0,<1.7.0)", "etcd3gw (>=0.2.0)", "hacking (>=3.0.1,<3.1.0)", "oslotest (>=3.2.0)", "pifpaf (>=0.10.0)", "pre-commit (>=2.6.0)", "pymemcache (>=3.5.0)", "pymongo (>=3.0.2,!=3.1)", "python-binary-memcached (>=0.29.0)", "python-memcached (>=1.56)", "stestr (>=2.0.0)"] 1258 | 1259 | [[package]] 1260 | name = "oslo-concurrency" 1261 | version = "5.1.1" 1262 | description = "Oslo Concurrency library" 1263 | category = "main" 1264 | optional = false 1265 | python-versions = ">=3.8" 1266 | files = [ 1267 | {file = "oslo.concurrency-5.1.1-py3-none-any.whl", hash = "sha256:2daead41e58cb9e6987496046d00b21b0bdf2d732d9a5cd059c34abb82c0b897"}, 1268 | {file = "oslo.concurrency-5.1.1.tar.gz", hash = "sha256:110fb601d822dd4b08eea27977d70d01f9f1cd1eaf6decd042a21f43bf3f2b25"}, 1269 | ] 1270 | 1271 | [package.dependencies] 1272 | fasteners = ">=0.7.0" 1273 | "oslo.config" = ">=5.2.0" 1274 | "oslo.i18n" = ">=3.15.3" 1275 | "oslo.utils" = ">=3.33.0" 1276 | pbr = ">=2.0.0,<2.1.0 || >2.1.0" 1277 | 1278 | [[package]] 1279 | name = "oslo-config" 1280 | version = "9.1.1" 1281 | description = "Oslo Configuration API" 1282 | category = "main" 1283 | optional = false 1284 | python-versions = ">=3.8" 1285 | files = [ 1286 | {file = "oslo.config-9.1.1-py3-none-any.whl", hash = "sha256:7cd56e0b41b04f64dbc42e83e8164d5ef03466390f1216fbda2cb0e1c535c22c"}, 1287 | {file = "oslo.config-9.1.1.tar.gz", hash = "sha256:b07654b53d87792ae8e739962ad729c529c9938a118d891ece9ee31d59716bc9"}, 1288 | ] 1289 | 1290 | [package.dependencies] 1291 | debtcollector = ">=1.2.0" 1292 | netaddr = ">=0.7.18" 1293 | "oslo.i18n" = ">=3.15.3" 1294 | PyYAML = ">=5.1" 1295 | requests = ">=2.18.0" 1296 | rfc3986 = ">=1.2.0" 1297 | stevedore = ">=1.20.0" 1298 | 1299 | [package.extras] 1300 | rst-generator = ["rst2txt (>=1.1.0)", "sphinx (>=1.8.0,!=2.1.0)"] 1301 | test = ["bandit (>=1.6.0,<1.7.0)", "coverage (>=4.0,!=4.4)", "fixtures (>=3.0.0)", "hacking (>=3.0.1,<3.1.0)", "mypy (>=0.720)", "oslo.log (>=3.36.0)", "oslotest (>=3.2.0)", "pre-commit (>=2.6.0)", "requests-mock (>=1.5.0)", "stestr (>=2.1.0)", "testscenarios (>=0.4)", "testtools (>=2.2.0)"] 1302 | 1303 | [[package]] 1304 | name = "oslo-context" 1305 | version = "5.1.1" 1306 | description = "Oslo Context library" 1307 | category = "main" 1308 | optional = false 1309 | python-versions = ">=3.8" 1310 | files = [ 1311 | {file = "oslo.context-5.1.1-py3-none-any.whl", hash = "sha256:3cbe3c42a3e2fc967e740f23e84421bb2d2b5f7579798698dd1d1485dd6baa44"}, 1312 | {file = "oslo.context-5.1.1.tar.gz", hash = "sha256:2f2e79171044efd1807c55713ed2c7f4068b18d73d027819165c4819b287cfaf"}, 1313 | ] 1314 | 1315 | [package.dependencies] 1316 | debtcollector = ">=1.2.0" 1317 | pbr = ">=2.0.0,<2.1.0 || >2.1.0" 1318 | 1319 | [[package]] 1320 | name = "oslo-db" 1321 | version = "13.1.0" 1322 | description = "Oslo Database library" 1323 | category = "main" 1324 | optional = false 1325 | python-versions = ">=3.8" 1326 | files = [ 1327 | {file = "oslo.db-13.1.0-py3-none-any.whl", hash = "sha256:449a85fb9ff6065608e62a4033ae0d4857d709033f240a7ecd2a3897e8563850"}, 1328 | {file = "oslo.db-13.1.0.tar.gz", hash = "sha256:2110f292ee4b98d21058245c23d19668f5e3dc2af9f18ae6569b5a2f4bc83299"}, 1329 | ] 1330 | 1331 | [package.dependencies] 1332 | alembic = ">=0.9.6" 1333 | debtcollector = ">=1.2.0" 1334 | "oslo.config" = ">=5.2.0" 1335 | "oslo.i18n" = ">=3.15.3" 1336 | "oslo.utils" = ">=3.33.0" 1337 | pbr = ">=2.0.0,<2.1.0 || >2.1.0" 1338 | SQLAlchemy = ">=1.4.0" 1339 | stevedore = ">=1.20.0" 1340 | testresources = ">=2.0.0" 1341 | testscenarios = ">=0.4" 1342 | 1343 | [package.extras] 1344 | mysql = ["PyMySQL (>=0.7.6)"] 1345 | postgresql = ["psycopg2 (>=2.8.0)"] 1346 | test = ["PyMySQL (>=0.7.6)", "bandit (>=1.7.0,<1.8.0)", "coverage (>=4.0,!=4.4)", "eventlet (>=0.18.2,!=0.18.3,!=0.20.1)", "fixtures (>=3.0.0)", "hacking (>=3.0.1,<3.1.0)", "oslo.context (>=2.19.2)", "oslotest (>=3.2.0)", "pifpaf (>=0.10.0)", "pre-commit (>=2.6.0)", "psycopg2 (>=2.8.0)", "python-subunit (>=1.0.0)", "stestr (>=2.0.0)", "testtools (>=2.2.0)"] 1347 | 1348 | [[package]] 1349 | name = "oslo-i18n" 1350 | version = "6.0.0" 1351 | description = "Oslo i18n library" 1352 | category = "main" 1353 | optional = false 1354 | python-versions = ">=3.8" 1355 | files = [ 1356 | {file = "oslo.i18n-6.0.0-py3-none-any.whl", hash = "sha256:080fedf41b05d4dcd23a91d23ee2dea0863996e860a59695856269a42d939fc1"}, 1357 | {file = "oslo.i18n-6.0.0.tar.gz", hash = "sha256:ed10686b75f7c607825177a669155f4e259ce39f6143a375f6359bbcaa4a35cd"}, 1358 | ] 1359 | 1360 | [package.dependencies] 1361 | pbr = ">=2.0.0,<2.1.0 || >2.1.0" 1362 | 1363 | [[package]] 1364 | name = "oslo-log" 1365 | version = "5.2.0" 1366 | description = "oslo.log library" 1367 | category = "main" 1368 | optional = false 1369 | python-versions = ">=3.8" 1370 | files = [ 1371 | {file = "oslo.log-5.2.0-py3-none-any.whl", hash = "sha256:3f73c96e1cce9a54be26663a7616e3067bc65b112c47916ac0a655d7709f8eff"}, 1372 | {file = "oslo.log-5.2.0.tar.gz", hash = "sha256:6226336d5b6ee1885f057b65dbede84c4a9c5e4e4ae75a0e8e7f383c163ec480"}, 1373 | ] 1374 | 1375 | [package.dependencies] 1376 | debtcollector = ">=1.19.0" 1377 | "oslo.config" = ">=5.2.0" 1378 | "oslo.context" = ">=2.21.0" 1379 | "oslo.i18n" = ">=3.20.0" 1380 | "oslo.serialization" = ">=2.25.0" 1381 | "oslo.utils" = ">=3.36.0" 1382 | pbr = ">=3.1.1" 1383 | pyinotify = {version = ">=0.9.6", markers = "sys_platform != \"win32\" and sys_platform != \"darwin\" and sys_platform != \"sunos5\""} 1384 | python-dateutil = ">=2.7.0" 1385 | 1386 | [package.extras] 1387 | fixtures = ["fixtures (>=3.0.0)"] 1388 | systemd = ["systemd-python (>=234)"] 1389 | test = ["bandit (>=1.6.0,<1.7.0)", "coverage (>=4.5.1)", "fixtures (>=3.0.0)", "hacking (>=2.0.0,<2.1.0)", "oslotest (>=3.3.0)", "pre-commit (>=2.6.0)", "stestr (>=2.0.0)", "testtools (>=2.3.0)"] 1390 | 1391 | [[package]] 1392 | name = "oslo-messaging" 1393 | version = "14.3.1" 1394 | description = "Oslo Messaging API" 1395 | category = "main" 1396 | optional = false 1397 | python-versions = ">=3.8" 1398 | files = [ 1399 | {file = "oslo.messaging-14.3.1-py3-none-any.whl", hash = "sha256:4dd46d7639e699bf9243f62c6b617cd2632c1cf8582bdd1a16967ca86ea07c1b"}, 1400 | {file = "oslo.messaging-14.3.1.tar.gz", hash = "sha256:6170057dc88a40f32a558fb9ffd7e2d8925d5068368b6ad45438ea823e1fc189"}, 1401 | ] 1402 | 1403 | [package.dependencies] 1404 | amqp = ">=2.5.2" 1405 | cachetools = ">=2.0.0" 1406 | debtcollector = ">=1.2.0" 1407 | futurist = ">=1.2.0" 1408 | kombu = ">=4.6.6" 1409 | "oslo.config" = ">=5.2.0" 1410 | "oslo.log" = ">=3.36.0" 1411 | "oslo.metrics" = ">=0.2.1" 1412 | "oslo.middleware" = ">=3.31.0" 1413 | "oslo.serialization" = ">=2.18.0,<2.19.1 || >2.19.1" 1414 | "oslo.service" = ">=1.24.0,<1.28.1 || >1.28.1" 1415 | "oslo.utils" = ">=3.37.0" 1416 | pbr = ">=2.0.0,<2.1.0 || >2.1.0" 1417 | PyYAML = ">=3.13" 1418 | stevedore = ">=1.20.0" 1419 | WebOb = ">=1.7.1" 1420 | 1421 | [package.extras] 1422 | amqp1 = ["pyngus (>=2.2.0)"] 1423 | kafka = ["confluent-kafka (>=1.3.0)"] 1424 | test = ["bandit (>=1.6.0,<1.7.0)", "confluent-kafka (>=1.3.0)", "coverage (>=4.0,!=4.4)", "eventlet (>=0.23.0)", "fixtures (>=3.0.0)", "greenlet (>=0.4.15)", "hacking (>=3.0.1,<=4.1.0)", "oslotest (>=3.2.0)", "pifpaf (>=2.2.0)", "pre-commit (>=2.6.0)", "pyngus (>=2.2.0)", "stestr (>=2.0.0)", "testscenarios (>=0.4)", "testtools (>=2.2.0)"] 1425 | 1426 | [[package]] 1427 | name = "oslo-metrics" 1428 | version = "0.6.0" 1429 | description = "Oslo Metrics API" 1430 | category = "main" 1431 | optional = false 1432 | python-versions = ">=3.8" 1433 | files = [ 1434 | {file = "oslo.metrics-0.6.0-py3-none-any.whl", hash = "sha256:d1ed7a9167bb9ef245bd1bc023330bb478a069718bf0f70d9ac325324f8f5d73"}, 1435 | {file = "oslo.metrics-0.6.0.tar.gz", hash = "sha256:a937b0ea597de8e9957a41c3c80e5d408bb626652a79e87d3ff9600f1b15c850"}, 1436 | ] 1437 | 1438 | [package.dependencies] 1439 | "oslo.config" = ">=6.9.0" 1440 | "oslo.log" = ">=3.44.0" 1441 | "oslo.utils" = ">=3.41.0" 1442 | pbr = ">=3.1.1" 1443 | prometheus-client = ">=0.6.0" 1444 | 1445 | [[package]] 1446 | name = "oslo-middleware" 1447 | version = "5.1.1" 1448 | description = "Oslo Middleware library" 1449 | category = "main" 1450 | optional = false 1451 | python-versions = ">=3.8" 1452 | files = [ 1453 | {file = "oslo.middleware-5.1.1-py3-none-any.whl", hash = "sha256:5363cc20f235efbe3d66ac1584bb2d17555247c4ad74f197df34191301f51203"}, 1454 | {file = "oslo.middleware-5.1.1.tar.gz", hash = "sha256:2166e22897be81fce648a7886d0ff8dce6bfec63a7a6f7a0cd10446e51d7c591"}, 1455 | ] 1456 | 1457 | [package.dependencies] 1458 | bcrypt = ">=3.1.3" 1459 | debtcollector = ">=1.2.0" 1460 | Jinja2 = ">=2.10" 1461 | "oslo.config" = ">=5.2.0" 1462 | "oslo.context" = ">=2.19.2" 1463 | "oslo.i18n" = ">=3.15.3" 1464 | "oslo.utils" = ">=3.33.0" 1465 | pbr = ">=2.0.0,<2.1.0 || >2.1.0" 1466 | statsd = ">=3.2.1" 1467 | stevedore = ">=1.20.0" 1468 | WebOb = ">=1.8.0" 1469 | 1470 | [[package]] 1471 | name = "oslo-policy" 1472 | version = "4.2.0" 1473 | description = "Oslo Policy library" 1474 | category = "main" 1475 | optional = false 1476 | python-versions = ">=3.8" 1477 | files = [ 1478 | {file = "oslo.policy-4.2.0-py3-none-any.whl", hash = "sha256:f7fb0d3a9a67a12447de67f7597c02d3b130c9cf0d618e6f80ccf28a33ad2beb"}, 1479 | {file = "oslo.policy-4.2.0.tar.gz", hash = "sha256:fe7a635ee3a8c8a121d89e6ef5a81456e7998e0bfeed1ab91d44b18028473dc3"}, 1480 | ] 1481 | 1482 | [package.dependencies] 1483 | "oslo.config" = ">=6.0.0" 1484 | "oslo.context" = ">=2.22.0" 1485 | "oslo.i18n" = ">=3.15.3" 1486 | "oslo.serialization" = ">=2.18.0,<2.19.1 || >2.19.1" 1487 | "oslo.utils" = ">=3.40.0" 1488 | PyYAML = ">=5.1" 1489 | requests = ">=2.14.2" 1490 | stevedore = ">=1.20.0" 1491 | 1492 | [[package]] 1493 | name = "oslo-serialization" 1494 | version = "5.1.1" 1495 | description = "Oslo Serialization library" 1496 | category = "main" 1497 | optional = false 1498 | python-versions = ">=3.8" 1499 | files = [ 1500 | {file = "oslo.serialization-5.1.1-py3-none-any.whl", hash = "sha256:c5dfb97ce8ddd1d2708a9a3f4a091063f6c304940c7cb39f532f7f791441fdca"}, 1501 | {file = "oslo.serialization-5.1.1.tar.gz", hash = "sha256:8abbda8b1763a06071fc28c5d8a9be547ba285f4830e68a70ff88fe11f16bf43"}, 1502 | ] 1503 | 1504 | [package.dependencies] 1505 | msgpack = ">=0.5.2" 1506 | "oslo.utils" = ">=3.33.0" 1507 | pbr = ">=2.0.0,<2.1.0 || >2.1.0" 1508 | pytz = ">=2013.6" 1509 | 1510 | [[package]] 1511 | name = "oslo-service" 1512 | version = "3.1.1" 1513 | description = "oslo.service library" 1514 | category = "main" 1515 | optional = false 1516 | python-versions = ">=3.8" 1517 | files = [ 1518 | {file = "oslo.service-3.1.1-py3-none-any.whl", hash = "sha256:48bce1c436cab7a0a4c144999ab05896d7c024dee215d89cb351009e980363f1"}, 1519 | {file = "oslo.service-3.1.1.tar.gz", hash = "sha256:ea0b93f922ef49ceca475f2dab78468c76281f73170614599e2c83420f8ea439"}, 1520 | ] 1521 | 1522 | [package.dependencies] 1523 | debtcollector = ">=1.2.0" 1524 | eventlet = ">=0.25.2" 1525 | fixtures = ">=3.0.0" 1526 | greenlet = ">=0.4.15" 1527 | "oslo.concurrency" = ">=3.25.0" 1528 | "oslo.config" = ">=5.1.0" 1529 | "oslo.i18n" = ">=3.15.3" 1530 | "oslo.log" = ">=3.36.0" 1531 | "oslo.utils" = ">=3.40.2" 1532 | Paste = ">=2.0.2" 1533 | PasteDeploy = ">=1.5.0" 1534 | Routes = ">=2.3.1" 1535 | WebOb = ">=1.7.1" 1536 | Yappi = ">=1.0" 1537 | 1538 | [[package]] 1539 | name = "oslo-upgradecheck" 1540 | version = "2.1.1" 1541 | description = "Common code for writing OpenStack upgrade checks" 1542 | category = "main" 1543 | optional = false 1544 | python-versions = ">=3.8" 1545 | files = [ 1546 | {file = "oslo.upgradecheck-2.1.1-py3-none-any.whl", hash = "sha256:df1c377f0167667fdbba4adad0f0417012340670c4fd89686f239bd8d2de7c62"}, 1547 | {file = "oslo.upgradecheck-2.1.1.tar.gz", hash = "sha256:9c69e2bebdecc68411871c18d3b4b679a7e88c9ec577e892fce0ce1dafed8de5"}, 1548 | ] 1549 | 1550 | [package.dependencies] 1551 | "oslo.config" = ">=5.2.0" 1552 | "oslo.i18n" = ">=3.15.3" 1553 | "oslo.policy" = ">=2.0.0" 1554 | "oslo.utils" = ">=4.5.0" 1555 | PrettyTable = ">=0.7.1" 1556 | 1557 | [[package]] 1558 | name = "oslo-utils" 1559 | version = "6.2.0" 1560 | description = "Oslo Utility library" 1561 | category = "main" 1562 | optional = false 1563 | python-versions = ">=3.8" 1564 | files = [ 1565 | {file = "oslo.utils-6.2.0-py3-none-any.whl", hash = "sha256:30ba9fd431be468cd17b5d7c1a0ae6d63bb63aaaf97bf590123f13c6d95254a3"}, 1566 | {file = "oslo.utils-6.2.0.tar.gz", hash = "sha256:fe1d166f4cb004fbd6b6bc9adfbc32aedeaf3eb54eeaf70d91a224a87543c6a5"}, 1567 | ] 1568 | 1569 | [package.dependencies] 1570 | debtcollector = ">=1.2.0" 1571 | iso8601 = ">=0.1.11" 1572 | netaddr = ">=0.7.18" 1573 | netifaces = ">=0.10.4" 1574 | "oslo.i18n" = ">=3.15.3" 1575 | packaging = ">=20.4" 1576 | pyparsing = ">=2.1.0" 1577 | pytz = ">=2013.6" 1578 | tzdata = ">=2022.4" 1579 | 1580 | [[package]] 1581 | name = "osprofiler" 1582 | version = "4.1.0" 1583 | description = "OpenStack Profiler Library" 1584 | category = "main" 1585 | optional = false 1586 | python-versions = ">=3.8" 1587 | files = [ 1588 | {file = "osprofiler-4.1.0-py3-none-any.whl", hash = "sha256:7db027e12033fa72fefaa107a1a69e05c730acaabcc74117a9c87840526686b4"}, 1589 | {file = "osprofiler-4.1.0.tar.gz", hash = "sha256:57837b620581b13444a2e20564775d4fc73eff67c7888af99947ed582fe514b0"}, 1590 | ] 1591 | 1592 | [package.dependencies] 1593 | netaddr = ">=0.7.18" 1594 | "oslo.concurrency" = ">=3.26.0" 1595 | "oslo.serialization" = ">=2.18.0" 1596 | "oslo.utils" = ">=3.33.0" 1597 | PrettyTable = ">=0.7.2" 1598 | requests = ">=2.14.2" 1599 | WebOb = ">=1.7.1" 1600 | 1601 | [package.extras] 1602 | oslo-config = ["oslo.config (>=5.2.0)"] 1603 | test = ["bandit (>=1.6.0,<1.7.0)", "coverage (>=4.0)", "ddt (>=1.0.1)", "docutils (>=0.14)", "elasticsearch (>=2.0.0,<3.0.0)", "flake8-import-order (==0.18.1)", "hacking (>=3.1.0,<3.2.0)", "jaeger-client (>=3.8.0)", "opentelemetry-exporter-otlp (>=1.16.0)", "opentelemetry-sdk (>=1.16.0)", "pre-commit (>=2.6.0)", "pymongo (>=3.0.2,!=3.1)", "redis (>=2.10.0)", "stestr (>=2.0.0)", "testtools (>=2.2.0)"] 1604 | 1605 | [[package]] 1606 | name = "packaging" 1607 | version = "23.1" 1608 | description = "Core utilities for Python packages" 1609 | category = "main" 1610 | optional = false 1611 | python-versions = ">=3.7" 1612 | files = [ 1613 | {file = "packaging-23.1-py3-none-any.whl", hash = "sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"}, 1614 | {file = "packaging-23.1.tar.gz", hash = "sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f"}, 1615 | ] 1616 | 1617 | [[package]] 1618 | name = "passlib" 1619 | version = "1.7.4" 1620 | description = "comprehensive password hashing framework supporting over 30 schemes" 1621 | category = "main" 1622 | optional = false 1623 | python-versions = "*" 1624 | files = [ 1625 | {file = "passlib-1.7.4-py2.py3-none-any.whl", hash = "sha256:aa6bca462b8d8bda89c70b382f0c298a20b5560af6cbfa2dce410c0a2fb669f1"}, 1626 | {file = "passlib-1.7.4.tar.gz", hash = "sha256:defd50f72b65c5402ab2c573830a6978e5f202ad0d984793c8dde2c4152ebe04"}, 1627 | ] 1628 | 1629 | [package.extras] 1630 | argon2 = ["argon2-cffi (>=18.2.0)"] 1631 | bcrypt = ["bcrypt (>=3.1.0)"] 1632 | build-docs = ["cloud-sptheme (>=1.10.1)", "sphinx (>=1.6)", "sphinxcontrib-fulltoc (>=1.2.0)"] 1633 | totp = ["cryptography"] 1634 | 1635 | [[package]] 1636 | name = "paste" 1637 | version = "3.5.3" 1638 | description = "Tools for using a Web Server Gateway Interface stack" 1639 | category = "main" 1640 | optional = false 1641 | python-versions = "*" 1642 | files = [ 1643 | {file = "Paste-3.5.3-py2.py3-none-any.whl", hash = "sha256:e837f769ac78b03190337f7639e592e3f80a86d3556ef1c4b49cfc151b216a9c"}, 1644 | {file = "Paste-3.5.3.tar.gz", hash = "sha256:fa093f46a4d1ea3898a849c8ce1d2a425c2bed5fc06b36384fe3ffaa652c081b"}, 1645 | ] 1646 | 1647 | [package.dependencies] 1648 | setuptools = "*" 1649 | six = ">=1.4.0" 1650 | 1651 | [package.extras] 1652 | flup = ["flup"] 1653 | openid = ["python-openid"] 1654 | 1655 | [[package]] 1656 | name = "pastedeploy" 1657 | version = "3.0.1" 1658 | description = "Load, configure, and compose WSGI applications and servers" 1659 | category = "main" 1660 | optional = false 1661 | python-versions = ">=3.7" 1662 | files = [ 1663 | {file = "PasteDeploy-3.0.1-py3-none-any.whl", hash = "sha256:6195c921b1c3ed9722e4e3e6aa29b70deebb2429b4ca3ff3d49185c8e80003bb"}, 1664 | {file = "PasteDeploy-3.0.1.tar.gz", hash = "sha256:5f4b4d5fddd39b8947ea727161e366bf55b90efc60a4d1dd7976b9031d0b4e5f"}, 1665 | ] 1666 | 1667 | [package.extras] 1668 | docs = ["Sphinx (>=1.7.5)", "pylons-sphinx-themes"] 1669 | paste = ["Paste"] 1670 | testing = ["Paste", "pytest", "pytest-cov"] 1671 | 1672 | [[package]] 1673 | name = "pbr" 1674 | version = "5.11.1" 1675 | description = "Python Build Reasonableness" 1676 | category = "main" 1677 | optional = false 1678 | python-versions = ">=2.6" 1679 | files = [ 1680 | {file = "pbr-5.11.1-py2.py3-none-any.whl", hash = "sha256:567f09558bae2b3ab53cb3c1e2e33e726ff3338e7bae3db5dc954b3a44eef12b"}, 1681 | {file = "pbr-5.11.1.tar.gz", hash = "sha256:aefc51675b0b533d56bb5fd1c8c6c0522fe31896679882e1c4c63d5e4a0fccb3"}, 1682 | ] 1683 | 1684 | [[package]] 1685 | name = "pkgutil-resolve-name" 1686 | version = "1.3.10" 1687 | description = "Resolve a name to an object." 1688 | category = "main" 1689 | optional = false 1690 | python-versions = ">=3.6" 1691 | files = [ 1692 | {file = "pkgutil_resolve_name-1.3.10-py3-none-any.whl", hash = "sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e"}, 1693 | {file = "pkgutil_resolve_name-1.3.10.tar.gz", hash = "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174"}, 1694 | ] 1695 | 1696 | [[package]] 1697 | name = "prettytable" 1698 | version = "3.8.0" 1699 | description = "A simple Python library for easily displaying tabular data in a visually appealing ASCII table format" 1700 | category = "main" 1701 | optional = false 1702 | python-versions = ">=3.8" 1703 | files = [ 1704 | {file = "prettytable-3.8.0-py3-none-any.whl", hash = "sha256:03481bca25ae0c28958c8cd6ac5165c159ce89f7ccde04d5c899b24b68bb13b7"}, 1705 | {file = "prettytable-3.8.0.tar.gz", hash = "sha256:031eae6a9102017e8c7c7906460d150b7ed78b20fd1d8c8be4edaf88556c07ce"}, 1706 | ] 1707 | 1708 | [package.dependencies] 1709 | wcwidth = "*" 1710 | 1711 | [package.extras] 1712 | tests = ["pytest", "pytest-cov", "pytest-lazy-fixture"] 1713 | 1714 | [[package]] 1715 | name = "prometheus-client" 1716 | version = "0.17.1" 1717 | description = "Python client for the Prometheus monitoring system." 1718 | category = "main" 1719 | optional = false 1720 | python-versions = ">=3.6" 1721 | files = [ 1722 | {file = "prometheus_client-0.17.1-py3-none-any.whl", hash = "sha256:e537f37160f6807b8202a6fc4764cdd19bac5480ddd3e0d463c3002b34462101"}, 1723 | {file = "prometheus_client-0.17.1.tar.gz", hash = "sha256:21e674f39831ae3f8acde238afd9a27a37d0d2fb5a28ea094f0ce25d2cbf2091"}, 1724 | ] 1725 | 1726 | [package.extras] 1727 | twisted = ["twisted"] 1728 | 1729 | [[package]] 1730 | name = "pyasn1" 1731 | version = "0.5.0" 1732 | description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)" 1733 | category = "main" 1734 | optional = false 1735 | python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" 1736 | files = [ 1737 | {file = "pyasn1-0.5.0-py2.py3-none-any.whl", hash = "sha256:87a2121042a1ac9358cabcaf1d07680ff97ee6404333bacca15f76aa8ad01a57"}, 1738 | {file = "pyasn1-0.5.0.tar.gz", hash = "sha256:97b7290ca68e62a832558ec3976f15cbf911bf5d7c7039d8b861c2a0ece69fde"}, 1739 | ] 1740 | 1741 | [[package]] 1742 | name = "pycadf" 1743 | version = "3.1.1" 1744 | description = "CADF Library" 1745 | category = "main" 1746 | optional = false 1747 | python-versions = ">=3.6" 1748 | files = [ 1749 | {file = "pycadf-3.1.1-py3-none-any.whl", hash = "sha256:b1fa1dea7638c0f685fec9fceb94ae6409c42022c1b251d8a0d46a7ff9895f9c"}, 1750 | {file = "pycadf-3.1.1.tar.gz", hash = "sha256:2be491143d21fa3dd1f842ce8dd4973e95f580893887960faa5c11a6190081e8"}, 1751 | ] 1752 | 1753 | [package.dependencies] 1754 | debtcollector = ">=1.2.0" 1755 | "oslo.config" = ">=5.2.0" 1756 | "oslo.serialization" = ">=2.18.0,<2.19.1 || >2.19.1" 1757 | pytz = ">=2013.6" 1758 | six = ">=1.10.0" 1759 | 1760 | [[package]] 1761 | name = "pycparser" 1762 | version = "2.21" 1763 | description = "C parser in Python" 1764 | category = "main" 1765 | optional = false 1766 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" 1767 | files = [ 1768 | {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"}, 1769 | {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, 1770 | ] 1771 | 1772 | [[package]] 1773 | name = "pyinotify" 1774 | version = "0.9.6" 1775 | description = "Linux filesystem events monitoring" 1776 | category = "main" 1777 | optional = false 1778 | python-versions = "*" 1779 | files = [ 1780 | {file = "pyinotify-0.9.6.tar.gz", hash = "sha256:9c998a5d7606ca835065cdabc013ae6c66eb9ea76a00a1e3bc6e0cfe2b4f71f4"}, 1781 | ] 1782 | 1783 | [[package]] 1784 | name = "pyjwt" 1785 | version = "2.8.0" 1786 | description = "JSON Web Token implementation in Python" 1787 | category = "main" 1788 | optional = false 1789 | python-versions = ">=3.7" 1790 | files = [ 1791 | {file = "PyJWT-2.8.0-py3-none-any.whl", hash = "sha256:59127c392cc44c2da5bb3192169a91f429924e17aff6534d70fdc02ab3e04320"}, 1792 | {file = "PyJWT-2.8.0.tar.gz", hash = "sha256:57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de"}, 1793 | ] 1794 | 1795 | [package.extras] 1796 | crypto = ["cryptography (>=3.4.0)"] 1797 | dev = ["coverage[toml] (==5.0.4)", "cryptography (>=3.4.0)", "pre-commit", "pytest (>=6.0.0,<7.0.0)", "sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] 1798 | docs = ["sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] 1799 | tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] 1800 | 1801 | [[package]] 1802 | name = "pyopenssl" 1803 | version = "23.2.0" 1804 | description = "Python wrapper module around the OpenSSL library" 1805 | category = "main" 1806 | optional = false 1807 | python-versions = ">=3.6" 1808 | files = [ 1809 | {file = "pyOpenSSL-23.2.0-py3-none-any.whl", hash = "sha256:24f0dc5227396b3e831f4c7f602b950a5e9833d292c8e4a2e06b709292806ae2"}, 1810 | {file = "pyOpenSSL-23.2.0.tar.gz", hash = "sha256:276f931f55a452e7dea69c7173e984eb2a4407ce413c918aa34b55f82f9b8bac"}, 1811 | ] 1812 | 1813 | [package.dependencies] 1814 | cryptography = ">=38.0.0,<40.0.0 || >40.0.0,<40.0.1 || >40.0.1,<42" 1815 | 1816 | [package.extras] 1817 | docs = ["sphinx (!=5.2.0,!=5.2.0.post0)", "sphinx-rtd-theme"] 1818 | test = ["flaky", "pretend", "pytest (>=3.0.1)"] 1819 | 1820 | [[package]] 1821 | name = "pyparsing" 1822 | version = "3.1.1" 1823 | description = "pyparsing module - Classes and methods to define and execute parsing grammars" 1824 | category = "main" 1825 | optional = false 1826 | python-versions = ">=3.6.8" 1827 | files = [ 1828 | {file = "pyparsing-3.1.1-py3-none-any.whl", hash = "sha256:32c7c0b711493c72ff18a981d24f28aaf9c1fb7ed5e9667c9e84e3db623bdbfb"}, 1829 | {file = "pyparsing-3.1.1.tar.gz", hash = "sha256:ede28a1a32462f5a9705e07aea48001a08f7cf81a021585011deba701581a0db"}, 1830 | ] 1831 | 1832 | [package.extras] 1833 | diagrams = ["jinja2", "railroad-diagrams"] 1834 | 1835 | [[package]] 1836 | name = "pysaml2" 1837 | version = "7.3.1" 1838 | description = "Python implementation of SAML Version 2 Standard" 1839 | category = "main" 1840 | optional = false 1841 | python-versions = ">=3.6.2,<4.0.0" 1842 | files = [ 1843 | {file = "pysaml2-7.3.1-py3-none-any.whl", hash = "sha256:2cc66e7a371d3f5ff9601f0ed93b5276cca816fce82bb38447d5a0651f2f5193"}, 1844 | {file = "pysaml2-7.3.1.tar.gz", hash = "sha256:eab22d187c6dd7707c58b5bb1688f9b8e816427667fc99d77f54399e15cd0a0a"}, 1845 | ] 1846 | 1847 | [package.dependencies] 1848 | cryptography = ">=3.1" 1849 | defusedxml = "*" 1850 | importlib-resources = {version = "*", markers = "python_version < \"3.9\""} 1851 | pyopenssl = "*" 1852 | python-dateutil = "*" 1853 | pytz = "*" 1854 | requests = ">=2,<3" 1855 | xmlschema = ">=1.2.1" 1856 | 1857 | [package.extras] 1858 | s2repoze = ["paste", "repoze.who", "zope.interface"] 1859 | 1860 | [[package]] 1861 | name = "python-dateutil" 1862 | version = "2.8.2" 1863 | description = "Extensions to the standard Python datetime module" 1864 | category = "main" 1865 | optional = false 1866 | python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" 1867 | files = [ 1868 | {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, 1869 | {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, 1870 | ] 1871 | 1872 | [package.dependencies] 1873 | six = ">=1.5" 1874 | 1875 | [[package]] 1876 | name = "python-jose" 1877 | version = "3.3.0" 1878 | description = "JOSE implementation in Python" 1879 | category = "main" 1880 | optional = false 1881 | python-versions = "*" 1882 | files = [ 1883 | {file = "python-jose-3.3.0.tar.gz", hash = "sha256:55779b5e6ad599c6336191246e95eb2293a9ddebd555f796a65f838f07e5d78a"}, 1884 | {file = "python_jose-3.3.0-py2.py3-none-any.whl", hash = "sha256:9b1376b023f8b298536eedd47ae1089bcdb848f1535ab30555cd92002d78923a"}, 1885 | ] 1886 | 1887 | [package.dependencies] 1888 | ecdsa = "!=0.15" 1889 | pyasn1 = "*" 1890 | rsa = "*" 1891 | 1892 | [package.extras] 1893 | cryptography = ["cryptography (>=3.4.0)"] 1894 | pycrypto = ["pyasn1", "pycrypto (>=2.6.0,<2.7.0)"] 1895 | pycryptodome = ["pyasn1", "pycryptodome (>=3.3.1,<4.0.0)"] 1896 | 1897 | [[package]] 1898 | name = "python-keystoneclient" 1899 | version = "5.1.0" 1900 | description = "Client Library for OpenStack Identity" 1901 | category = "main" 1902 | optional = false 1903 | python-versions = ">=3.8" 1904 | files = [ 1905 | {file = "python-keystoneclient-5.1.0.tar.gz", hash = "sha256:ba09bdfeafa2a2196450a327cd3f46f2a8a9dd9d21b838f8cb9b17a99740c6a1"}, 1906 | {file = "python_keystoneclient-5.1.0-py3-none-any.whl", hash = "sha256:9c2e0b1700f553ca625e987f4cd8ef62d7a27ad88c5104e96e16904d2ae1d918"}, 1907 | ] 1908 | 1909 | [package.dependencies] 1910 | debtcollector = ">=1.2.0" 1911 | keystoneauth1 = ">=3.4.0" 1912 | "oslo.config" = ">=5.2.0" 1913 | "oslo.i18n" = ">=3.15.3" 1914 | "oslo.serialization" = ">=2.18.0,<2.19.1 || >2.19.1" 1915 | "oslo.utils" = ">=3.33.0" 1916 | packaging = ">=20.4" 1917 | pbr = ">=2.0.0,<2.1.0 || >2.1.0" 1918 | requests = ">=2.14.2" 1919 | six = ">=1.10.0" 1920 | stevedore = ">=1.20.0" 1921 | 1922 | [[package]] 1923 | name = "pytz" 1924 | version = "2023.3" 1925 | description = "World timezone definitions, modern and historical" 1926 | category = "main" 1927 | optional = false 1928 | python-versions = "*" 1929 | files = [ 1930 | {file = "pytz-2023.3-py2.py3-none-any.whl", hash = "sha256:a151b3abb88eda1d4e34a9814df37de2a80e301e68ba0fd856fb9b46bfbbbffb"}, 1931 | {file = "pytz-2023.3.tar.gz", hash = "sha256:1d8ce29db189191fb55338ee6d0387d82ab59f3d00eac103412d64e0ebd0c588"}, 1932 | ] 1933 | 1934 | [[package]] 1935 | name = "pyyaml" 1936 | version = "6.0.1" 1937 | description = "YAML parser and emitter for Python" 1938 | category = "main" 1939 | optional = false 1940 | python-versions = ">=3.6" 1941 | files = [ 1942 | {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"}, 1943 | {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"}, 1944 | {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, 1945 | {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, 1946 | {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, 1947 | {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, 1948 | {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, 1949 | {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, 1950 | {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"}, 1951 | {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, 1952 | {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, 1953 | {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, 1954 | {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, 1955 | {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, 1956 | {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, 1957 | {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, 1958 | {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, 1959 | {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"}, 1960 | {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"}, 1961 | {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"}, 1962 | {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"}, 1963 | {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"}, 1964 | {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"}, 1965 | {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"}, 1966 | {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"}, 1967 | {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"}, 1968 | {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"}, 1969 | {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, 1970 | {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, 1971 | {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, 1972 | {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, 1973 | {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, 1974 | {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, 1975 | {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"}, 1976 | {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, 1977 | {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, 1978 | {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, 1979 | {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, 1980 | {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, 1981 | {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, 1982 | ] 1983 | 1984 | [[package]] 1985 | name = "referencing" 1986 | version = "0.30.0" 1987 | description = "JSON Referencing + Python" 1988 | category = "main" 1989 | optional = false 1990 | python-versions = ">=3.8" 1991 | files = [ 1992 | {file = "referencing-0.30.0-py3-none-any.whl", hash = "sha256:c257b08a399b6c2f5a3510a50d28ab5dbc7bbde049bcaf954d43c446f83ab548"}, 1993 | {file = "referencing-0.30.0.tar.gz", hash = "sha256:47237742e990457f7512c7d27486394a9aadaf876cbfaa4be65b27b4f4d47c6b"}, 1994 | ] 1995 | 1996 | [package.dependencies] 1997 | attrs = ">=22.2.0" 1998 | rpds-py = ">=0.7.0" 1999 | 2000 | [[package]] 2001 | name = "repoze-lru" 2002 | version = "0.7" 2003 | description = "A tiny LRU cache implementation and decorator" 2004 | category = "main" 2005 | optional = false 2006 | python-versions = "*" 2007 | files = [ 2008 | {file = "repoze.lru-0.7-py3-none-any.whl", hash = "sha256:f77bf0e1096ea445beadd35f3479c5cff2aa1efe604a133e67150bc8630a62ea"}, 2009 | {file = "repoze.lru-0.7.tar.gz", hash = "sha256:0429a75e19380e4ed50c0694e26ac8819b4ea7851ee1fc7583c8572db80aff77"}, 2010 | ] 2011 | 2012 | [package.extras] 2013 | docs = ["Sphinx"] 2014 | testing = ["coverage", "nose"] 2015 | 2016 | [[package]] 2017 | name = "requests" 2018 | version = "2.31.0" 2019 | description = "Python HTTP for Humans." 2020 | category = "main" 2021 | optional = false 2022 | python-versions = ">=3.7" 2023 | files = [ 2024 | {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, 2025 | {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, 2026 | ] 2027 | 2028 | [package.dependencies] 2029 | certifi = ">=2017.4.17" 2030 | charset-normalizer = ">=2,<4" 2031 | idna = ">=2.5,<4" 2032 | urllib3 = ">=1.21.1,<3" 2033 | 2034 | [package.extras] 2035 | socks = ["PySocks (>=1.5.6,!=1.5.7)"] 2036 | use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] 2037 | 2038 | [[package]] 2039 | name = "requests-toolbelt" 2040 | version = "1.0.0" 2041 | description = "A utility belt for advanced users of python-requests" 2042 | category = "main" 2043 | optional = false 2044 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" 2045 | files = [ 2046 | {file = "requests-toolbelt-1.0.0.tar.gz", hash = "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6"}, 2047 | {file = "requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06"}, 2048 | ] 2049 | 2050 | [package.dependencies] 2051 | requests = ">=2.0.1,<3.0.0" 2052 | 2053 | [[package]] 2054 | name = "rfc3986" 2055 | version = "2.0.0" 2056 | description = "Validating URI References per RFC 3986" 2057 | category = "main" 2058 | optional = false 2059 | python-versions = ">=3.7" 2060 | files = [ 2061 | {file = "rfc3986-2.0.0-py2.py3-none-any.whl", hash = "sha256:50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd"}, 2062 | {file = "rfc3986-2.0.0.tar.gz", hash = "sha256:97aacf9dbd4bfd829baad6e6309fa6573aaf1be3f6fa735c8ab05e46cecb261c"}, 2063 | ] 2064 | 2065 | [package.extras] 2066 | idna2008 = ["idna"] 2067 | 2068 | [[package]] 2069 | name = "routes" 2070 | version = "2.5.1" 2071 | description = "Routing Recognition and Generation Tools" 2072 | category = "main" 2073 | optional = false 2074 | python-versions = "*" 2075 | files = [ 2076 | {file = "Routes-2.5.1-py2.py3-none-any.whl", hash = "sha256:fab5a042a3a87778eb271d053ca2723cadf43c95b471532a191a48539cb606ea"}, 2077 | {file = "Routes-2.5.1.tar.gz", hash = "sha256:b6346459a15f0cbab01a45a90c3d25caf980d4733d628b4cc1952b865125d053"}, 2078 | ] 2079 | 2080 | [package.dependencies] 2081 | "repoze.lru" = ">=0.3" 2082 | six = "*" 2083 | 2084 | [package.extras] 2085 | docs = ["Sphinx", "webob"] 2086 | middleware = ["webob"] 2087 | 2088 | [[package]] 2089 | name = "rpds-py" 2090 | version = "0.9.2" 2091 | description = "Python bindings to Rust's persistent data structures (rpds)" 2092 | category = "main" 2093 | optional = false 2094 | python-versions = ">=3.8" 2095 | files = [ 2096 | {file = "rpds_py-0.9.2-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:ab6919a09c055c9b092798ce18c6c4adf49d24d4d9e43a92b257e3f2548231e7"}, 2097 | {file = "rpds_py-0.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d55777a80f78dd09410bd84ff8c95ee05519f41113b2df90a69622f5540c4f8b"}, 2098 | {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a216b26e5af0a8e265d4efd65d3bcec5fba6b26909014effe20cd302fd1138fa"}, 2099 | {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:29cd8bfb2d716366a035913ced99188a79b623a3512292963d84d3e06e63b496"}, 2100 | {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44659b1f326214950a8204a248ca6199535e73a694be8d3e0e869f820767f12f"}, 2101 | {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:745f5a43fdd7d6d25a53ab1a99979e7f8ea419dfefebcab0a5a1e9095490ee5e"}, 2102 | {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a987578ac5214f18b99d1f2a3851cba5b09f4a689818a106c23dbad0dfeb760f"}, 2103 | {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bf4151acb541b6e895354f6ff9ac06995ad9e4175cbc6d30aaed08856558201f"}, 2104 | {file = "rpds_py-0.9.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:03421628f0dc10a4119d714a17f646e2837126a25ac7a256bdf7c3943400f67f"}, 2105 | {file = "rpds_py-0.9.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:13b602dc3e8dff3063734f02dcf05111e887f301fdda74151a93dbbc249930fe"}, 2106 | {file = "rpds_py-0.9.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:fae5cb554b604b3f9e2c608241b5d8d303e410d7dfb6d397c335f983495ce7f6"}, 2107 | {file = "rpds_py-0.9.2-cp310-none-win32.whl", hash = "sha256:47c5f58a8e0c2c920cc7783113df2fc4ff12bf3a411d985012f145e9242a2764"}, 2108 | {file = "rpds_py-0.9.2-cp310-none-win_amd64.whl", hash = "sha256:4ea6b73c22d8182dff91155af018b11aac9ff7eca085750455c5990cb1cfae6e"}, 2109 | {file = "rpds_py-0.9.2-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:e564d2238512c5ef5e9d79338ab77f1cbbda6c2d541ad41b2af445fb200385e3"}, 2110 | {file = "rpds_py-0.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f411330a6376fb50e5b7a3e66894e4a39e60ca2e17dce258d53768fea06a37bd"}, 2111 | {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e7521f5af0233e89939ad626b15278c71b69dc1dfccaa7b97bd4cdf96536bb7"}, 2112 | {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8d3335c03100a073883857e91db9f2e0ef8a1cf42dc0369cbb9151c149dbbc1b"}, 2113 | {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d25b1c1096ef0447355f7293fbe9ad740f7c47ae032c2884113f8e87660d8f6e"}, 2114 | {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6a5d3fbd02efd9cf6a8ffc2f17b53a33542f6b154e88dd7b42ef4a4c0700fdad"}, 2115 | {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5934e2833afeaf36bd1eadb57256239785f5af0220ed8d21c2896ec4d3a765f"}, 2116 | {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:095b460e117685867d45548fbd8598a8d9999227e9061ee7f012d9d264e6048d"}, 2117 | {file = "rpds_py-0.9.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:91378d9f4151adc223d584489591dbb79f78814c0734a7c3bfa9c9e09978121c"}, 2118 | {file = "rpds_py-0.9.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:24a81c177379300220e907e9b864107614b144f6c2a15ed5c3450e19cf536fae"}, 2119 | {file = "rpds_py-0.9.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:de0b6eceb46141984671802d412568d22c6bacc9b230174f9e55fc72ef4f57de"}, 2120 | {file = "rpds_py-0.9.2-cp311-none-win32.whl", hash = "sha256:700375326ed641f3d9d32060a91513ad668bcb7e2cffb18415c399acb25de2ab"}, 2121 | {file = "rpds_py-0.9.2-cp311-none-win_amd64.whl", hash = "sha256:0766babfcf941db8607bdaf82569ec38107dbb03c7f0b72604a0b346b6eb3298"}, 2122 | {file = "rpds_py-0.9.2-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:b1440c291db3f98a914e1afd9d6541e8fc60b4c3aab1a9008d03da4651e67386"}, 2123 | {file = "rpds_py-0.9.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0f2996fbac8e0b77fd67102becb9229986396e051f33dbceada3debaacc7033f"}, 2124 | {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f30d205755566a25f2ae0382944fcae2f350500ae4df4e795efa9e850821d82"}, 2125 | {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:159fba751a1e6b1c69244e23ba6c28f879a8758a3e992ed056d86d74a194a0f3"}, 2126 | {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1f044792e1adcea82468a72310c66a7f08728d72a244730d14880cd1dabe36b"}, 2127 | {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9251eb8aa82e6cf88510530b29eef4fac825a2b709baf5b94a6094894f252387"}, 2128 | {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01899794b654e616c8625b194ddd1e5b51ef5b60ed61baa7a2d9c2ad7b2a4238"}, 2129 | {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b0c43f8ae8f6be1d605b0465671124aa8d6a0e40f1fb81dcea28b7e3d87ca1e1"}, 2130 | {file = "rpds_py-0.9.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:207f57c402d1f8712618f737356e4b6f35253b6d20a324d9a47cb9f38ee43a6b"}, 2131 | {file = "rpds_py-0.9.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b52e7c5ae35b00566d244ffefba0f46bb6bec749a50412acf42b1c3f402e2c90"}, 2132 | {file = "rpds_py-0.9.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:978fa96dbb005d599ec4fd9ed301b1cc45f1a8f7982d4793faf20b404b56677d"}, 2133 | {file = "rpds_py-0.9.2-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:6aa8326a4a608e1c28da191edd7c924dff445251b94653988efb059b16577a4d"}, 2134 | {file = "rpds_py-0.9.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:aad51239bee6bff6823bbbdc8ad85136c6125542bbc609e035ab98ca1e32a192"}, 2135 | {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4bd4dc3602370679c2dfb818d9c97b1137d4dd412230cfecd3c66a1bf388a196"}, 2136 | {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:dd9da77c6ec1f258387957b754f0df60766ac23ed698b61941ba9acccd3284d1"}, 2137 | {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:190ca6f55042ea4649ed19c9093a9be9d63cd8a97880106747d7147f88a49d18"}, 2138 | {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:876bf9ed62323bc7dcfc261dbc5572c996ef26fe6406b0ff985cbcf460fc8a4c"}, 2139 | {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa2818759aba55df50592ecbc95ebcdc99917fa7b55cc6796235b04193eb3c55"}, 2140 | {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9ea4d00850ef1e917815e59b078ecb338f6a8efda23369677c54a5825dbebb55"}, 2141 | {file = "rpds_py-0.9.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:5855c85eb8b8a968a74dc7fb014c9166a05e7e7a8377fb91d78512900aadd13d"}, 2142 | {file = "rpds_py-0.9.2-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:14c408e9d1a80dcb45c05a5149e5961aadb912fff42ca1dd9b68c0044904eb32"}, 2143 | {file = "rpds_py-0.9.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:65a0583c43d9f22cb2130c7b110e695fff834fd5e832a776a107197e59a1898e"}, 2144 | {file = "rpds_py-0.9.2-cp38-none-win32.whl", hash = "sha256:71f2f7715935a61fa3e4ae91d91b67e571aeb5cb5d10331ab681256bda2ad920"}, 2145 | {file = "rpds_py-0.9.2-cp38-none-win_amd64.whl", hash = "sha256:674c704605092e3ebbbd13687b09c9f78c362a4bc710343efe37a91457123044"}, 2146 | {file = "rpds_py-0.9.2-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:07e2c54bef6838fa44c48dfbc8234e8e2466d851124b551fc4e07a1cfeb37260"}, 2147 | {file = "rpds_py-0.9.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f7fdf55283ad38c33e35e2855565361f4bf0abd02470b8ab28d499c663bc5d7c"}, 2148 | {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:890ba852c16ace6ed9f90e8670f2c1c178d96510a21b06d2fa12d8783a905193"}, 2149 | {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:50025635ba8b629a86d9d5474e650da304cb46bbb4d18690532dd79341467846"}, 2150 | {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:517cbf6e67ae3623c5127206489d69eb2bdb27239a3c3cc559350ef52a3bbf0b"}, 2151 | {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0836d71ca19071090d524739420a61580f3f894618d10b666cf3d9a1688355b1"}, 2152 | {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c439fd54b2b9053717cca3de9583be6584b384d88d045f97d409f0ca867d80f"}, 2153 | {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f68996a3b3dc9335037f82754f9cdbe3a95db42bde571d8c3be26cc6245f2324"}, 2154 | {file = "rpds_py-0.9.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7d68dc8acded354c972116f59b5eb2e5864432948e098c19fe6994926d8e15c3"}, 2155 | {file = "rpds_py-0.9.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:f963c6b1218b96db85fc37a9f0851eaf8b9040aa46dec112611697a7023da535"}, 2156 | {file = "rpds_py-0.9.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5a46859d7f947061b4010e554ccd1791467d1b1759f2dc2ec9055fa239f1bc26"}, 2157 | {file = "rpds_py-0.9.2-cp39-none-win32.whl", hash = "sha256:e07e5dbf8a83c66783a9fe2d4566968ea8c161199680e8ad38d53e075df5f0d0"}, 2158 | {file = "rpds_py-0.9.2-cp39-none-win_amd64.whl", hash = "sha256:682726178138ea45a0766907957b60f3a1bf3acdf212436be9733f28b6c5af3c"}, 2159 | {file = "rpds_py-0.9.2-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:196cb208825a8b9c8fc360dc0f87993b8b260038615230242bf18ec84447c08d"}, 2160 | {file = "rpds_py-0.9.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:c7671d45530fcb6d5e22fd40c97e1e1e01965fc298cbda523bb640f3d923b387"}, 2161 | {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83b32f0940adec65099f3b1c215ef7f1d025d13ff947975a055989cb7fd019a4"}, 2162 | {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7f67da97f5b9eac838b6980fc6da268622e91f8960e083a34533ca710bec8611"}, 2163 | {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:03975db5f103997904c37e804e5f340c8fdabbb5883f26ee50a255d664eed58c"}, 2164 | {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:987b06d1cdb28f88a42e4fb8a87f094e43f3c435ed8e486533aea0bf2e53d931"}, 2165 | {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c861a7e4aef15ff91233751619ce3a3d2b9e5877e0fcd76f9ea4f6847183aa16"}, 2166 | {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:02938432352359805b6da099c9c95c8a0547fe4b274ce8f1a91677401bb9a45f"}, 2167 | {file = "rpds_py-0.9.2-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:ef1f08f2a924837e112cba2953e15aacfccbbfcd773b4b9b4723f8f2ddded08e"}, 2168 | {file = "rpds_py-0.9.2-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:35da5cc5cb37c04c4ee03128ad59b8c3941a1e5cd398d78c37f716f32a9b7f67"}, 2169 | {file = "rpds_py-0.9.2-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:141acb9d4ccc04e704e5992d35472f78c35af047fa0cfae2923835d153f091be"}, 2170 | {file = "rpds_py-0.9.2-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:79f594919d2c1a0cc17d1988a6adaf9a2f000d2e1048f71f298b056b1018e872"}, 2171 | {file = "rpds_py-0.9.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:a06418fe1155e72e16dddc68bb3780ae44cebb2912fbd8bb6ff9161de56e1798"}, 2172 | {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b2eb034c94b0b96d5eddb290b7b5198460e2d5d0c421751713953a9c4e47d10"}, 2173 | {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8b08605d248b974eb02f40bdcd1a35d3924c83a2a5e8f5d0fa5af852c4d960af"}, 2174 | {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a0805911caedfe2736935250be5008b261f10a729a303f676d3d5fea6900c96a"}, 2175 | {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ab2299e3f92aa5417d5e16bb45bb4586171c1327568f638e8453c9f8d9e0f020"}, 2176 | {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c8d7594e38cf98d8a7df25b440f684b510cf4627fe038c297a87496d10a174f"}, 2177 | {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8b9ec12ad5f0a4625db34db7e0005be2632c1013b253a4a60e8302ad4d462afd"}, 2178 | {file = "rpds_py-0.9.2-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:1fcdee18fea97238ed17ab6478c66b2095e4ae7177e35fb71fbe561a27adf620"}, 2179 | {file = "rpds_py-0.9.2-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:933a7d5cd4b84f959aedeb84f2030f0a01d63ae6cf256629af3081cf3e3426e8"}, 2180 | {file = "rpds_py-0.9.2-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:686ba516e02db6d6f8c279d1641f7067ebb5dc58b1d0536c4aaebb7bf01cdc5d"}, 2181 | {file = "rpds_py-0.9.2-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:0173c0444bec0a3d7d848eaeca2d8bd32a1b43f3d3fde6617aac3731fa4be05f"}, 2182 | {file = "rpds_py-0.9.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:d576c3ef8c7b2d560e301eb33891d1944d965a4d7a2eacb6332eee8a71827db6"}, 2183 | {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed89861ee8c8c47d6beb742a602f912b1bb64f598b1e2f3d758948721d44d468"}, 2184 | {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1054a08e818f8e18910f1bee731583fe8f899b0a0a5044c6e680ceea34f93876"}, 2185 | {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99e7c4bb27ff1aab90dcc3e9d37ee5af0231ed98d99cb6f5250de28889a3d502"}, 2186 | {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c545d9d14d47be716495076b659db179206e3fd997769bc01e2d550eeb685596"}, 2187 | {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9039a11bca3c41be5a58282ed81ae422fa680409022b996032a43badef2a3752"}, 2188 | {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fb39aca7a64ad0c9490adfa719dbeeb87d13be137ca189d2564e596f8ba32c07"}, 2189 | {file = "rpds_py-0.9.2-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:2d8b3b3a2ce0eaa00c5bbbb60b6713e94e7e0becab7b3db6c5c77f979e8ed1f1"}, 2190 | {file = "rpds_py-0.9.2-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:99b1c16f732b3a9971406fbfe18468592c5a3529585a45a35adbc1389a529a03"}, 2191 | {file = "rpds_py-0.9.2-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:c27ee01a6c3223025f4badd533bea5e87c988cb0ba2811b690395dfe16088cfe"}, 2192 | {file = "rpds_py-0.9.2.tar.gz", hash = "sha256:8d70e8f14900f2657c249ea4def963bed86a29b81f81f5b76b5a9215680de945"}, 2193 | ] 2194 | 2195 | [[package]] 2196 | name = "rsa" 2197 | version = "4.9" 2198 | description = "Pure-Python RSA implementation" 2199 | category = "main" 2200 | optional = false 2201 | python-versions = ">=3.6,<4" 2202 | files = [ 2203 | {file = "rsa-4.9-py3-none-any.whl", hash = "sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7"}, 2204 | {file = "rsa-4.9.tar.gz", hash = "sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21"}, 2205 | ] 2206 | 2207 | [package.dependencies] 2208 | pyasn1 = ">=0.1.3" 2209 | 2210 | [[package]] 2211 | name = "scrypt" 2212 | version = "0.8.20" 2213 | description = "Bindings for the scrypt key derivation function library" 2214 | category = "main" 2215 | optional = false 2216 | python-versions = "*" 2217 | files = [ 2218 | {file = "scrypt-0.8.20-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2e4f7c5cff06dfd45207760a81381aeb8dc9f88bc722794d82728a5449dbdb0d"}, 2219 | {file = "scrypt-0.8.20-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:809b423a7107c5dd047c8bd1733a33fb0c5f16a884d9a2389e8446945fbcce0c"}, 2220 | {file = "scrypt-0.8.20-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6dbb0f472ac6c27d336c0ef6e0d66ff7ef1112ebb79604c1a71faa725d105c72"}, 2221 | {file = "scrypt-0.8.20-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:3a008e868b68b56d9947e69c3f2bf42a8cb9a85f0b849d014c9d265932deb5b5"}, 2222 | {file = "scrypt-0.8.20-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:47b9b6b312dfb98804fdb073d0cc7320f21e215d28c277018449e77e3763e70e"}, 2223 | {file = "scrypt-0.8.20-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:9c986af7320b4bf967934b505ee019243282b575e07d9f8517596a6254586482"}, 2224 | {file = "scrypt-0.8.20-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e90edf96a805e4ea981201b21065717f61f1fd718cb5000ce0445fabcaa0d988"}, 2225 | {file = "scrypt-0.8.20-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3ca103672508ba4711df6b2dda1011aa0d347939cb2d5857c407b8e4544ec303"}, 2226 | {file = "scrypt-0.8.20-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76b9d5493487f0018e5c0926357eaa8a4a7120786268741169337e9d4e0b0612"}, 2227 | {file = "scrypt-0.8.20-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:10ffebb09a3bc6a87d3a4d67e10de9c5d2557d240d71fdada42301173ba0a107"}, 2228 | {file = "scrypt-0.8.20-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:610930e3f4d52427664cb6afd402407fa07dbc1b7f3c6083c26abf16f63a6455"}, 2229 | {file = "scrypt-0.8.20-cp36-cp36m-win32.whl", hash = "sha256:efaa4ad229cc46760a6e5b9fdf2dc71a13db06ee455ec749ea8adacad2ba78a8"}, 2230 | {file = "scrypt-0.8.20-cp36-cp36m-win_amd64.whl", hash = "sha256:efac56d0c6b7d7b806ebfeb2154bd39cdb511f0ccb9e197e945a07980f001245"}, 2231 | {file = "scrypt-0.8.20-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:d2d3031aa4a11a1ca2e1145526517a761f3f3cf6fd0e039b25daaa79a54d6b42"}, 2232 | {file = "scrypt-0.8.20-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56af4b0154c08e2d36c96c9b055fe104a3a0e829b04e272137c89e0e019b978a"}, 2233 | {file = "scrypt-0.8.20-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:75fffdbb8deb7b481c12a2177b686c5a518083e5254f842b34057840f3f3795b"}, 2234 | {file = "scrypt-0.8.20-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b9c7fce4eaabe7a668924b851746f115be4cd337adc75e36b84dc8d0c28386f"}, 2235 | {file = "scrypt-0.8.20-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f6367c71527ad1b107644eb17e77509c0b37fdbd5cca0a5e1180d1a4a37b61ca"}, 2236 | {file = "scrypt-0.8.20-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ff96e6025176363c90f5fb6bb7b80b25605010de7972e2d5097ff9f9adb08f87"}, 2237 | {file = "scrypt-0.8.20-cp37-cp37m-win32.whl", hash = "sha256:84e2d37bea004c737352f507fa0b4b3d9fa0bffc027331d3291a4e523066cc3c"}, 2238 | {file = "scrypt-0.8.20-cp37-cp37m-win_amd64.whl", hash = "sha256:02a00c05a3d434f473f3767b36c4d7e5122a72641b93b25c4cc0245e59b6ef58"}, 2239 | {file = "scrypt-0.8.20-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5eebe8082494cac4d8db42325fe7a9344b4d0c84c90c7951abf1041f07a18318"}, 2240 | {file = "scrypt-0.8.20-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b25f81ef66e1f0605d1ff5be9b799747b0ef56ae751a6308d4dc25980bc3156"}, 2241 | {file = "scrypt-0.8.20-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:620f2a3a44ea20a1c013e94ced4f3e1d908fc8bb48c3475bbc155277b14386cf"}, 2242 | {file = "scrypt-0.8.20-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61dfaff95a184fd32ddc69102e267c8b03daded9fc7ec02e64ff6cc68a91bb6e"}, 2243 | {file = "scrypt-0.8.20-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:9e4f565feb2cad4c126a66037d6569917aaaaf35f5fecf7a179421b68d584f1a"}, 2244 | {file = "scrypt-0.8.20-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d2e3bcbcd98da1ca3c4adfb62693a445a8c88b65ce507df502a8c5a7966d19f3"}, 2245 | {file = "scrypt-0.8.20-cp38-cp38-win32.whl", hash = "sha256:5b5d406b3dff9bd885065a0b1b5ad9e01739dbddd3c9d13749cb66cf1ad2623f"}, 2246 | {file = "scrypt-0.8.20-cp38-cp38-win_amd64.whl", hash = "sha256:fecc315a58bbf409807ef6e6f1aaffb2cba90898f9283e47513a09b09ad8f49d"}, 2247 | {file = "scrypt-0.8.20-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:25fb074d9c4721d10f8abedacb20695a4d62c83a2f90e8791a75b29b3fc7f33d"}, 2248 | {file = "scrypt-0.8.20-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ba29376d964f4ffefffc01f53d8ed5df123051996cfed1cba0c78e9b76dbdf1"}, 2249 | {file = "scrypt-0.8.20-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7a248180b82738738693abfff6d6e9418d04c3ad533eefe839b4d8a3dd2e534"}, 2250 | {file = "scrypt-0.8.20-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17eb9097850988fedf78f0f7cc2be379699fbf9016e54be416c15a7314d5b661"}, 2251 | {file = "scrypt-0.8.20-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:3069f6dd07115dd094d9301c8397f99aa141691029c1ab66847046673a3f8c4a"}, 2252 | {file = "scrypt-0.8.20-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f9fd69646cb8015525eff22292b5545d10490dcb8d0ce429b47f4952cd840aef"}, 2253 | {file = "scrypt-0.8.20-cp39-cp39-win32.whl", hash = "sha256:ae606705fa1d54aa0d5ba8e3272bb4d3f801543c8090e11ced00de46c4feff40"}, 2254 | {file = "scrypt-0.8.20-cp39-cp39-win_amd64.whl", hash = "sha256:776b6778d6bdd0794b404f20af9509c8e09dc0b7bc5683e2b6612a6ca8231b11"}, 2255 | {file = "scrypt-0.8.20.tar.gz", hash = "sha256:0d226c1c6744fb2e308b391410669b1df5cfe82637ffcb5ed489bf82b2d2eb78"}, 2256 | ] 2257 | 2258 | [[package]] 2259 | name = "setuptools" 2260 | version = "68.0.0" 2261 | description = "Easily download, build, install, upgrade, and uninstall Python packages" 2262 | category = "main" 2263 | optional = false 2264 | python-versions = ">=3.7" 2265 | files = [ 2266 | {file = "setuptools-68.0.0-py3-none-any.whl", hash = "sha256:11e52c67415a381d10d6b462ced9cfb97066179f0e871399e006c4ab101fc85f"}, 2267 | {file = "setuptools-68.0.0.tar.gz", hash = "sha256:baf1fdb41c6da4cd2eae722e135500da913332ab3f2f5c7d33af9b492acb5235"}, 2268 | ] 2269 | 2270 | [package.extras] 2271 | docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"] 2272 | testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] 2273 | testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] 2274 | 2275 | [[package]] 2276 | name = "six" 2277 | version = "1.16.0" 2278 | description = "Python 2 and 3 compatibility utilities" 2279 | category = "main" 2280 | optional = false 2281 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" 2282 | files = [ 2283 | {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, 2284 | {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, 2285 | ] 2286 | 2287 | [[package]] 2288 | name = "sqlalchemy" 2289 | version = "2.0.19" 2290 | description = "Database Abstraction Library" 2291 | category = "main" 2292 | optional = false 2293 | python-versions = ">=3.7" 2294 | files = [ 2295 | {file = "SQLAlchemy-2.0.19-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9deaae357edc2091a9ed5d25e9ee8bba98bcfae454b3911adeaf159c2e9ca9e3"}, 2296 | {file = "SQLAlchemy-2.0.19-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0bf0fd65b50a330261ec7fe3d091dfc1c577483c96a9fa1e4323e932961aa1b5"}, 2297 | {file = "SQLAlchemy-2.0.19-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d90ccc15ba1baa345796a8fb1965223ca7ded2d235ccbef80a47b85cea2d71a"}, 2298 | {file = "SQLAlchemy-2.0.19-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb4e688f6784427e5f9479d1a13617f573de8f7d4aa713ba82813bcd16e259d1"}, 2299 | {file = "SQLAlchemy-2.0.19-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:584f66e5e1979a7a00f4935015840be627e31ca29ad13f49a6e51e97a3fb8cae"}, 2300 | {file = "SQLAlchemy-2.0.19-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:2c69ce70047b801d2aba3e5ff3cba32014558966109fecab0c39d16c18510f15"}, 2301 | {file = "SQLAlchemy-2.0.19-cp310-cp310-win32.whl", hash = "sha256:96f0463573469579d32ad0c91929548d78314ef95c210a8115346271beeeaaa2"}, 2302 | {file = "SQLAlchemy-2.0.19-cp310-cp310-win_amd64.whl", hash = "sha256:22bafb1da60c24514c141a7ff852b52f9f573fb933b1e6b5263f0daa28ce6db9"}, 2303 | {file = "SQLAlchemy-2.0.19-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d6894708eeb81f6d8193e996257223b6bb4041cb05a17cd5cf373ed836ef87a2"}, 2304 | {file = "SQLAlchemy-2.0.19-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d8f2afd1aafded7362b397581772c670f20ea84d0a780b93a1a1529da7c3d369"}, 2305 | {file = "SQLAlchemy-2.0.19-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15afbf5aa76f2241184c1d3b61af1a72ba31ce4161013d7cb5c4c2fca04fd6e"}, 2306 | {file = "SQLAlchemy-2.0.19-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8fc05b59142445a4efb9c1fd75c334b431d35c304b0e33f4fa0ff1ea4890f92e"}, 2307 | {file = "SQLAlchemy-2.0.19-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:5831138f0cc06b43edf5f99541c64adf0ab0d41f9a4471fd63b54ae18399e4de"}, 2308 | {file = "SQLAlchemy-2.0.19-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3afa8a21a9046917b3a12ffe016ba7ebe7a55a6fc0c7d950beb303c735c3c3ad"}, 2309 | {file = "SQLAlchemy-2.0.19-cp311-cp311-win32.whl", hash = "sha256:c896d4e6ab2eba2afa1d56be3d0b936c56d4666e789bfc59d6ae76e9fcf46145"}, 2310 | {file = "SQLAlchemy-2.0.19-cp311-cp311-win_amd64.whl", hash = "sha256:024d2f67fb3ec697555e48caeb7147cfe2c08065a4f1a52d93c3d44fc8e6ad1c"}, 2311 | {file = "SQLAlchemy-2.0.19-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:89bc2b374ebee1a02fd2eae6fd0570b5ad897ee514e0f84c5c137c942772aa0c"}, 2312 | {file = "SQLAlchemy-2.0.19-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd4d410a76c3762511ae075d50f379ae09551d92525aa5bb307f8343bf7c2c12"}, 2313 | {file = "SQLAlchemy-2.0.19-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f469f15068cd8351826df4080ffe4cc6377c5bf7d29b5a07b0e717dddb4c7ea2"}, 2314 | {file = "SQLAlchemy-2.0.19-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:cda283700c984e699e8ef0fcc5c61f00c9d14b6f65a4f2767c97242513fcdd84"}, 2315 | {file = "SQLAlchemy-2.0.19-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:43699eb3f80920cc39a380c159ae21c8a8924fe071bccb68fc509e099420b148"}, 2316 | {file = "SQLAlchemy-2.0.19-cp37-cp37m-win32.whl", hash = "sha256:61ada5831db36d897e28eb95f0f81814525e0d7927fb51145526c4e63174920b"}, 2317 | {file = "SQLAlchemy-2.0.19-cp37-cp37m-win_amd64.whl", hash = "sha256:57d100a421d9ab4874f51285c059003292433c648df6abe6c9c904e5bd5b0828"}, 2318 | {file = "SQLAlchemy-2.0.19-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:16a310f5bc75a5b2ce7cb656d0e76eb13440b8354f927ff15cbaddd2523ee2d1"}, 2319 | {file = "SQLAlchemy-2.0.19-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cf7b5e3856cbf1876da4e9d9715546fa26b6e0ba1a682d5ed2fc3ca4c7c3ec5b"}, 2320 | {file = "SQLAlchemy-2.0.19-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e7b69d9ced4b53310a87117824b23c509c6fc1f692aa7272d47561347e133b6"}, 2321 | {file = "SQLAlchemy-2.0.19-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f9eb4575bfa5afc4b066528302bf12083da3175f71b64a43a7c0badda2be365"}, 2322 | {file = "SQLAlchemy-2.0.19-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6b54d1ad7a162857bb7c8ef689049c7cd9eae2f38864fc096d62ae10bc100c7d"}, 2323 | {file = "SQLAlchemy-2.0.19-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5d6afc41ca0ecf373366fd8e10aee2797128d3ae45eb8467b19da4899bcd1ee0"}, 2324 | {file = "SQLAlchemy-2.0.19-cp38-cp38-win32.whl", hash = "sha256:430614f18443b58ceb9dedec323ecddc0abb2b34e79d03503b5a7579cd73a531"}, 2325 | {file = "SQLAlchemy-2.0.19-cp38-cp38-win_amd64.whl", hash = "sha256:eb60699de43ba1a1f77363f563bb2c652f7748127ba3a774f7cf2c7804aa0d3d"}, 2326 | {file = "SQLAlchemy-2.0.19-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a752b7a9aceb0ba173955d4f780c64ee15a1a991f1c52d307d6215c6c73b3a4c"}, 2327 | {file = "SQLAlchemy-2.0.19-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7351c05db355da112e056a7b731253cbeffab9dfdb3be1e895368513c7d70106"}, 2328 | {file = "SQLAlchemy-2.0.19-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fa51ce4aea583b0c6b426f4b0563d3535c1c75986c4373a0987d84d22376585b"}, 2329 | {file = "SQLAlchemy-2.0.19-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae7473a67cd82a41decfea58c0eac581209a0aa30f8bc9190926fbf628bb17f7"}, 2330 | {file = "SQLAlchemy-2.0.19-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:851a37898a8a39783aab603c7348eb5b20d83c76a14766a43f56e6ad422d1ec8"}, 2331 | {file = "SQLAlchemy-2.0.19-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:539010665c90e60c4a1650afe4ab49ca100c74e6aef882466f1de6471d414be7"}, 2332 | {file = "SQLAlchemy-2.0.19-cp39-cp39-win32.whl", hash = "sha256:f82c310ddf97b04e1392c33cf9a70909e0ae10a7e2ddc1d64495e3abdc5d19fb"}, 2333 | {file = "SQLAlchemy-2.0.19-cp39-cp39-win_amd64.whl", hash = "sha256:8e712cfd2e07b801bc6b60fdf64853bc2bd0af33ca8fa46166a23fe11ce0dbb0"}, 2334 | {file = "SQLAlchemy-2.0.19-py3-none-any.whl", hash = "sha256:314145c1389b021a9ad5aa3a18bac6f5d939f9087d7fc5443be28cba19d2c972"}, 2335 | {file = "SQLAlchemy-2.0.19.tar.gz", hash = "sha256:77a14fa20264af73ddcdb1e2b9c5a829b8cc6b8304d0f093271980e36c200a3f"}, 2336 | ] 2337 | 2338 | [package.dependencies] 2339 | greenlet = {version = "!=0.4.17", markers = "platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\""} 2340 | typing-extensions = ">=4.2.0" 2341 | 2342 | [package.extras] 2343 | aiomysql = ["aiomysql", "greenlet (!=0.4.17)"] 2344 | aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing-extensions (!=3.10.0.1)"] 2345 | asyncio = ["greenlet (!=0.4.17)"] 2346 | asyncmy = ["asyncmy (>=0.2.3,!=0.2.4,!=0.2.6)", "greenlet (!=0.4.17)"] 2347 | mariadb-connector = ["mariadb (>=1.0.1,!=1.1.2,!=1.1.5)"] 2348 | mssql = ["pyodbc"] 2349 | mssql-pymssql = ["pymssql"] 2350 | mssql-pyodbc = ["pyodbc"] 2351 | mypy = ["mypy (>=0.910)"] 2352 | mysql = ["mysqlclient (>=1.4.0)"] 2353 | mysql-connector = ["mysql-connector-python"] 2354 | oracle = ["cx-oracle (>=7)"] 2355 | oracle-oracledb = ["oracledb (>=1.0.1)"] 2356 | postgresql = ["psycopg2 (>=2.7)"] 2357 | postgresql-asyncpg = ["asyncpg", "greenlet (!=0.4.17)"] 2358 | postgresql-pg8000 = ["pg8000 (>=1.29.1)"] 2359 | postgresql-psycopg = ["psycopg (>=3.0.7)"] 2360 | postgresql-psycopg2binary = ["psycopg2-binary"] 2361 | postgresql-psycopg2cffi = ["psycopg2cffi"] 2362 | postgresql-psycopgbinary = ["psycopg[binary] (>=3.0.7)"] 2363 | pymysql = ["pymysql"] 2364 | sqlcipher = ["sqlcipher3-binary"] 2365 | 2366 | [[package]] 2367 | name = "sqlalchemy-migrate" 2368 | version = "0.13.0" 2369 | description = "Database schema migration for SQLAlchemy" 2370 | category = "main" 2371 | optional = false 2372 | python-versions = "*" 2373 | files = [ 2374 | {file = "sqlalchemy-migrate-0.13.0.tar.gz", hash = "sha256:0bc02e292a040ade5e35a01d3ea744119e1309cdddb704fdb99bac13236614f8"}, 2375 | {file = "sqlalchemy_migrate-0.13.0-py2.py3-none-any.whl", hash = "sha256:e5d2348db19a5062132d93e3b4d9e7644af552fffbec4c78cc5358f848d2f6c1"}, 2376 | ] 2377 | 2378 | [package.dependencies] 2379 | decorator = "*" 2380 | pbr = ">=1.8" 2381 | six = ">=1.7.0" 2382 | SQLAlchemy = ">=0.9.6" 2383 | sqlparse = "*" 2384 | Tempita = ">=0.4" 2385 | 2386 | [[package]] 2387 | name = "sqlparse" 2388 | version = "0.4.4" 2389 | description = "A non-validating SQL parser." 2390 | category = "main" 2391 | optional = false 2392 | python-versions = ">=3.5" 2393 | files = [ 2394 | {file = "sqlparse-0.4.4-py3-none-any.whl", hash = "sha256:5430a4fe2ac7d0f93e66f1efc6e1338a41884b7ddf2a350cedd20ccc4d9d28f3"}, 2395 | {file = "sqlparse-0.4.4.tar.gz", hash = "sha256:d446183e84b8349fa3061f0fe7f06ca94ba65b426946ffebe6e3e8295332420c"}, 2396 | ] 2397 | 2398 | [package.extras] 2399 | dev = ["build", "flake8"] 2400 | doc = ["sphinx"] 2401 | test = ["pytest", "pytest-cov"] 2402 | 2403 | [[package]] 2404 | name = "statsd" 2405 | version = "4.0.1" 2406 | description = "A simple statsd client." 2407 | category = "main" 2408 | optional = false 2409 | python-versions = "*" 2410 | files = [ 2411 | {file = "statsd-4.0.1-py2.py3-none-any.whl", hash = "sha256:c2676519927f7afade3723aca9ca8ea986ef5b059556a980a867721ca69df093"}, 2412 | {file = "statsd-4.0.1.tar.gz", hash = "sha256:99763da81bfea8daf6b3d22d11aaccb01a8d0f52ea521daab37e758a4ca7d128"}, 2413 | ] 2414 | 2415 | [[package]] 2416 | name = "stevedore" 2417 | version = "5.1.0" 2418 | description = "Manage dynamic plugins for Python applications" 2419 | category = "main" 2420 | optional = false 2421 | python-versions = ">=3.8" 2422 | files = [ 2423 | {file = "stevedore-5.1.0-py3-none-any.whl", hash = "sha256:8cc040628f3cea5d7128f2e76cf486b2251a4e543c7b938f58d9a377f6694a2d"}, 2424 | {file = "stevedore-5.1.0.tar.gz", hash = "sha256:a54534acf9b89bc7ed264807013b505bf07f74dbe4bcfa37d32bd063870b087c"}, 2425 | ] 2426 | 2427 | [package.dependencies] 2428 | pbr = ">=2.0.0,<2.1.0 || >2.1.0" 2429 | 2430 | [[package]] 2431 | name = "tempita" 2432 | version = "0.5.2" 2433 | description = "A very small text templating language" 2434 | category = "main" 2435 | optional = false 2436 | python-versions = "*" 2437 | files = [ 2438 | {file = "Tempita-0.5.2-py3-none-any.whl", hash = "sha256:f4554840cb59c6b4a5df4fad27eea4e3cb47ca7089bfeefb5890ff1bb8af2117"}, 2439 | {file = "Tempita-0.5.2.tar.gz", hash = "sha256:cacecf0baa674d356641f1d406b8bff1d756d739c46b869a54de515d08e6fc9c"}, 2440 | ] 2441 | 2442 | [[package]] 2443 | name = "testresources" 2444 | version = "2.0.1" 2445 | description = "Testresources, a pyunit extension for managing expensive test resources" 2446 | category = "main" 2447 | optional = false 2448 | python-versions = "*" 2449 | files = [ 2450 | {file = "testresources-2.0.1-py2.py3-none-any.whl", hash = "sha256:67a361c3a2412231963b91ab04192209aa91a1aa052f0ab87245dbea889d1282"}, 2451 | {file = "testresources-2.0.1.tar.gz", hash = "sha256:ee9d1982154a1e212d4e4bac6b610800bfb558e4fb853572a827bc14a96e4417"}, 2452 | ] 2453 | 2454 | [package.dependencies] 2455 | pbr = ">=1.8" 2456 | 2457 | [package.extras] 2458 | test = ["docutils", "fixtures", "testtools"] 2459 | 2460 | [[package]] 2461 | name = "testscenarios" 2462 | version = "0.5.0" 2463 | description = "Testscenarios, a pyunit extension for dependency injection" 2464 | category = "main" 2465 | optional = false 2466 | python-versions = "*" 2467 | files = [ 2468 | {file = "testscenarios-0.5.0-py2.py3-none-any.whl", hash = "sha256:480263fa5d6e618125bdf092aab129a3aeed5996b1e668428f12cc56d6d01d28"}, 2469 | {file = "testscenarios-0.5.0.tar.gz", hash = "sha256:c257cb6b90ea7e6f8fef3158121d430543412c9a87df30b5dde6ec8b9b57a2b6"}, 2470 | ] 2471 | 2472 | [package.dependencies] 2473 | pbr = ">=0.11" 2474 | testtools = "*" 2475 | 2476 | [[package]] 2477 | name = "testtools" 2478 | version = "2.6.0" 2479 | description = "Extensions to the Python standard library unit testing framework" 2480 | category = "main" 2481 | optional = false 2482 | python-versions = ">=3.6" 2483 | files = [ 2484 | {file = "testtools-2.6.0-py3-none-any.whl", hash = "sha256:cae7b2c2f459e448e0bb22c017fa1e7b4ba534b6e623d9f7ec0e0312aac8f7e8"}, 2485 | {file = "testtools-2.6.0.tar.gz", hash = "sha256:28b65e14c0f2d3ecbbfb5f55c9dcde5e4faa80ac16a37a823909a1fe3cbcb30a"}, 2486 | ] 2487 | 2488 | [package.dependencies] 2489 | fixtures = ">=2.0" 2490 | pbr = ">=0.11" 2491 | 2492 | [package.extras] 2493 | test = ["testresources", "testscenarios"] 2494 | twisted = ["Twisted"] 2495 | 2496 | [[package]] 2497 | name = "typing-extensions" 2498 | version = "4.7.1" 2499 | description = "Backported and Experimental Type Hints for Python 3.7+" 2500 | category = "main" 2501 | optional = false 2502 | python-versions = ">=3.7" 2503 | files = [ 2504 | {file = "typing_extensions-4.7.1-py3-none-any.whl", hash = "sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36"}, 2505 | {file = "typing_extensions-4.7.1.tar.gz", hash = "sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2"}, 2506 | ] 2507 | 2508 | [[package]] 2509 | name = "tzdata" 2510 | version = "2023.3" 2511 | description = "Provider of IANA time zone data" 2512 | category = "main" 2513 | optional = false 2514 | python-versions = ">=2" 2515 | files = [ 2516 | {file = "tzdata-2023.3-py2.py3-none-any.whl", hash = "sha256:7e65763eef3120314099b6939b5546db7adce1e7d6f2e179e3df563c70511eda"}, 2517 | {file = "tzdata-2023.3.tar.gz", hash = "sha256:11ef1e08e54acb0d4f95bdb1be05da659673de4acbd21bf9c69e94cc5e907a3a"}, 2518 | ] 2519 | 2520 | [[package]] 2521 | name = "urllib3" 2522 | version = "2.0.4" 2523 | description = "HTTP library with thread-safe connection pooling, file post, and more." 2524 | category = "main" 2525 | optional = false 2526 | python-versions = ">=3.7" 2527 | files = [ 2528 | {file = "urllib3-2.0.4-py3-none-any.whl", hash = "sha256:de7df1803967d2c2a98e4b11bb7d6bd9210474c46e8a0401514e3a42a75ebde4"}, 2529 | {file = "urllib3-2.0.4.tar.gz", hash = "sha256:8d22f86aae8ef5e410d4f539fde9ce6b2113a001bb4d189e0aed70642d602b11"}, 2530 | ] 2531 | 2532 | [package.extras] 2533 | brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] 2534 | secure = ["certifi", "cryptography (>=1.9)", "idna (>=2.0.0)", "pyopenssl (>=17.1.0)", "urllib3-secure-extra"] 2535 | socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] 2536 | zstd = ["zstandard (>=0.18.0)"] 2537 | 2538 | [[package]] 2539 | name = "vine" 2540 | version = "5.0.0" 2541 | description = "Promises, promises, promises." 2542 | category = "main" 2543 | optional = false 2544 | python-versions = ">=3.6" 2545 | files = [ 2546 | {file = "vine-5.0.0-py2.py3-none-any.whl", hash = "sha256:4c9dceab6f76ed92105027c49c823800dd33cacce13bdedc5b914e3514b7fb30"}, 2547 | {file = "vine-5.0.0.tar.gz", hash = "sha256:7d3b1624a953da82ef63462013bbd271d3eb75751489f9807598e8f340bd637e"}, 2548 | ] 2549 | 2550 | [[package]] 2551 | name = "wcwidth" 2552 | version = "0.2.6" 2553 | description = "Measures the displayed width of unicode strings in a terminal" 2554 | category = "main" 2555 | optional = false 2556 | python-versions = "*" 2557 | files = [ 2558 | {file = "wcwidth-0.2.6-py2.py3-none-any.whl", hash = "sha256:795b138f6875577cd91bba52baf9e445cd5118fd32723b460e30a0af30ea230e"}, 2559 | {file = "wcwidth-0.2.6.tar.gz", hash = "sha256:a5220780a404dbe3353789870978e472cfe477761f06ee55077256e509b156d0"}, 2560 | ] 2561 | 2562 | [[package]] 2563 | name = "webob" 2564 | version = "1.8.7" 2565 | description = "WSGI request and response object" 2566 | category = "main" 2567 | optional = false 2568 | python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*" 2569 | files = [ 2570 | {file = "WebOb-1.8.7-py2.py3-none-any.whl", hash = "sha256:73aae30359291c14fa3b956f8b5ca31960e420c28c1bec002547fb04928cf89b"}, 2571 | {file = "WebOb-1.8.7.tar.gz", hash = "sha256:b64ef5141be559cfade448f044fa45c2260351edcb6a8ef6b7e00c7dcef0c323"}, 2572 | ] 2573 | 2574 | [package.extras] 2575 | docs = ["Sphinx (>=1.7.5)", "pylons-sphinx-themes"] 2576 | testing = ["coverage", "pytest (>=3.1.0)", "pytest-cov", "pytest-xdist"] 2577 | 2578 | [[package]] 2579 | name = "werkzeug" 2580 | version = "2.3.6" 2581 | description = "The comprehensive WSGI web application library." 2582 | category = "main" 2583 | optional = false 2584 | python-versions = ">=3.8" 2585 | files = [ 2586 | {file = "Werkzeug-2.3.6-py3-none-any.whl", hash = "sha256:935539fa1413afbb9195b24880778422ed620c0fc09670945185cce4d91a8890"}, 2587 | {file = "Werkzeug-2.3.6.tar.gz", hash = "sha256:98c774df2f91b05550078891dee5f0eb0cb797a522c757a2452b9cee5b202330"}, 2588 | ] 2589 | 2590 | [package.dependencies] 2591 | MarkupSafe = ">=2.1.1" 2592 | 2593 | [package.extras] 2594 | watchdog = ["watchdog (>=2.3)"] 2595 | 2596 | [[package]] 2597 | name = "wrapt" 2598 | version = "1.15.0" 2599 | description = "Module for decorators, wrappers and monkey patching." 2600 | category = "main" 2601 | optional = false 2602 | python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" 2603 | files = [ 2604 | {file = "wrapt-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ca1cccf838cd28d5a0883b342474c630ac48cac5df0ee6eacc9c7290f76b11c1"}, 2605 | {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e826aadda3cae59295b95343db8f3d965fb31059da7de01ee8d1c40a60398b29"}, 2606 | {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:5fc8e02f5984a55d2c653f5fea93531e9836abbd84342c1d1e17abc4a15084c2"}, 2607 | {file = "wrapt-1.15.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:96e25c8603a155559231c19c0349245eeb4ac0096fe3c1d0be5c47e075bd4f46"}, 2608 | {file = "wrapt-1.15.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:40737a081d7497efea35ab9304b829b857f21558acfc7b3272f908d33b0d9d4c"}, 2609 | {file = "wrapt-1.15.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:f87ec75864c37c4c6cb908d282e1969e79763e0d9becdfe9fe5473b7bb1e5f09"}, 2610 | {file = "wrapt-1.15.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:1286eb30261894e4c70d124d44b7fd07825340869945c79d05bda53a40caa079"}, 2611 | {file = "wrapt-1.15.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:493d389a2b63c88ad56cdc35d0fa5752daac56ca755805b1b0c530f785767d5e"}, 2612 | {file = "wrapt-1.15.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:58d7a75d731e8c63614222bcb21dd992b4ab01a399f1f09dd82af17bbfc2368a"}, 2613 | {file = "wrapt-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:21f6d9a0d5b3a207cdf7acf8e58d7d13d463e639f0c7e01d82cdb671e6cb7923"}, 2614 | {file = "wrapt-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce42618f67741d4697684e501ef02f29e758a123aa2d669e2d964ff734ee00ee"}, 2615 | {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41d07d029dd4157ae27beab04d22b8e261eddfc6ecd64ff7000b10dc8b3a5727"}, 2616 | {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54accd4b8bc202966bafafd16e69da9d5640ff92389d33d28555c5fd4f25ccb7"}, 2617 | {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fbfbca668dd15b744418265a9607baa970c347eefd0db6a518aaf0cfbd153c0"}, 2618 | {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:76e9c727a874b4856d11a32fb0b389afc61ce8aaf281ada613713ddeadd1cfec"}, 2619 | {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e20076a211cd6f9b44a6be58f7eeafa7ab5720eb796975d0c03f05b47d89eb90"}, 2620 | {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a74d56552ddbde46c246b5b89199cb3fd182f9c346c784e1a93e4dc3f5ec9975"}, 2621 | {file = "wrapt-1.15.0-cp310-cp310-win32.whl", hash = "sha256:26458da5653aa5b3d8dc8b24192f574a58984c749401f98fff994d41d3f08da1"}, 2622 | {file = "wrapt-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:75760a47c06b5974aa5e01949bf7e66d2af4d08cb8c1d6516af5e39595397f5e"}, 2623 | {file = "wrapt-1.15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ba1711cda2d30634a7e452fc79eabcadaffedf241ff206db2ee93dd2c89a60e7"}, 2624 | {file = "wrapt-1.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:56374914b132c702aa9aa9959c550004b8847148f95e1b824772d453ac204a72"}, 2625 | {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a89ce3fd220ff144bd9d54da333ec0de0399b52c9ac3d2ce34b569cf1a5748fb"}, 2626 | {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3bbe623731d03b186b3d6b0d6f51865bf598587c38d6f7b0be2e27414f7f214e"}, 2627 | {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3abbe948c3cbde2689370a262a8d04e32ec2dd4f27103669a45c6929bcdbfe7c"}, 2628 | {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b67b819628e3b748fd3c2192c15fb951f549d0f47c0449af0764d7647302fda3"}, 2629 | {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7eebcdbe3677e58dd4c0e03b4f2cfa346ed4049687d839adad68cc38bb559c92"}, 2630 | {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:74934ebd71950e3db69960a7da29204f89624dde411afbfb3b4858c1409b1e98"}, 2631 | {file = "wrapt-1.15.0-cp311-cp311-win32.whl", hash = "sha256:bd84395aab8e4d36263cd1b9308cd504f6cf713b7d6d3ce25ea55670baec5416"}, 2632 | {file = "wrapt-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:a487f72a25904e2b4bbc0817ce7a8de94363bd7e79890510174da9d901c38705"}, 2633 | {file = "wrapt-1.15.0-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:4ff0d20f2e670800d3ed2b220d40984162089a6e2c9646fdb09b85e6f9a8fc29"}, 2634 | {file = "wrapt-1.15.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9ed6aa0726b9b60911f4aed8ec5b8dd7bf3491476015819f56473ffaef8959bd"}, 2635 | {file = "wrapt-1.15.0-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:896689fddba4f23ef7c718279e42f8834041a21342d95e56922e1c10c0cc7afb"}, 2636 | {file = "wrapt-1.15.0-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:75669d77bb2c071333417617a235324a1618dba66f82a750362eccbe5b61d248"}, 2637 | {file = "wrapt-1.15.0-cp35-cp35m-win32.whl", hash = "sha256:fbec11614dba0424ca72f4e8ba3c420dba07b4a7c206c8c8e4e73f2e98f4c559"}, 2638 | {file = "wrapt-1.15.0-cp35-cp35m-win_amd64.whl", hash = "sha256:fd69666217b62fa5d7c6aa88e507493a34dec4fa20c5bd925e4bc12fce586639"}, 2639 | {file = "wrapt-1.15.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:b0724f05c396b0a4c36a3226c31648385deb6a65d8992644c12a4963c70326ba"}, 2640 | {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bbeccb1aa40ab88cd29e6c7d8585582c99548f55f9b2581dfc5ba68c59a85752"}, 2641 | {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:38adf7198f8f154502883242f9fe7333ab05a5b02de7d83aa2d88ea621f13364"}, 2642 | {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:578383d740457fa790fdf85e6d346fda1416a40549fe8db08e5e9bd281c6a475"}, 2643 | {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:a4cbb9ff5795cd66f0066bdf5947f170f5d63a9274f99bdbca02fd973adcf2a8"}, 2644 | {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:af5bd9ccb188f6a5fdda9f1f09d9f4c86cc8a539bd48a0bfdc97723970348418"}, 2645 | {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:b56d5519e470d3f2fe4aa7585f0632b060d532d0696c5bdfb5e8319e1d0f69a2"}, 2646 | {file = "wrapt-1.15.0-cp36-cp36m-win32.whl", hash = "sha256:77d4c1b881076c3ba173484dfa53d3582c1c8ff1f914c6461ab70c8428b796c1"}, 2647 | {file = "wrapt-1.15.0-cp36-cp36m-win_amd64.whl", hash = "sha256:077ff0d1f9d9e4ce6476c1a924a3332452c1406e59d90a2cf24aeb29eeac9420"}, 2648 | {file = "wrapt-1.15.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:5c5aa28df055697d7c37d2099a7bc09f559d5053c3349b1ad0c39000e611d317"}, 2649 | {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a8564f283394634a7a7054b7983e47dbf39c07712d7b177b37e03f2467a024e"}, 2650 | {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:780c82a41dc493b62fc5884fb1d3a3b81106642c5c5c78d6a0d4cbe96d62ba7e"}, 2651 | {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e169e957c33576f47e21864cf3fc9ff47c223a4ebca8960079b8bd36cb014fd0"}, 2652 | {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b02f21c1e2074943312d03d243ac4388319f2456576b2c6023041c4d57cd7019"}, 2653 | {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f2e69b3ed24544b0d3dbe2c5c0ba5153ce50dcebb576fdc4696d52aa22db6034"}, 2654 | {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d787272ed958a05b2c86311d3a4135d3c2aeea4fc655705f074130aa57d71653"}, 2655 | {file = "wrapt-1.15.0-cp37-cp37m-win32.whl", hash = "sha256:02fce1852f755f44f95af51f69d22e45080102e9d00258053b79367d07af39c0"}, 2656 | {file = "wrapt-1.15.0-cp37-cp37m-win_amd64.whl", hash = "sha256:abd52a09d03adf9c763d706df707c343293d5d106aea53483e0ec8d9e310ad5e"}, 2657 | {file = "wrapt-1.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cdb4f085756c96a3af04e6eca7f08b1345e94b53af8921b25c72f096e704e145"}, 2658 | {file = "wrapt-1.15.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:230ae493696a371f1dbffaad3dafbb742a4d27a0afd2b1aecebe52b740167e7f"}, 2659 | {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63424c681923b9f3bfbc5e3205aafe790904053d42ddcc08542181a30a7a51bd"}, 2660 | {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6bcbfc99f55655c3d93feb7ef3800bd5bbe963a755687cbf1f490a71fb7794b"}, 2661 | {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c99f4309f5145b93eca6e35ac1a988f0dc0a7ccf9ccdcd78d3c0adf57224e62f"}, 2662 | {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b130fe77361d6771ecf5a219d8e0817d61b236b7d8b37cc045172e574ed219e6"}, 2663 | {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:96177eb5645b1c6985f5c11d03fc2dbda9ad24ec0f3a46dcce91445747e15094"}, 2664 | {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5fe3e099cf07d0fb5a1e23d399e5d4d1ca3e6dfcbe5c8570ccff3e9208274f7"}, 2665 | {file = "wrapt-1.15.0-cp38-cp38-win32.whl", hash = "sha256:abd8f36c99512755b8456047b7be10372fca271bf1467a1caa88db991e7c421b"}, 2666 | {file = "wrapt-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:b06fa97478a5f478fb05e1980980a7cdf2712015493b44d0c87606c1513ed5b1"}, 2667 | {file = "wrapt-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2e51de54d4fb8fb50d6ee8327f9828306a959ae394d3e01a1ba8b2f937747d86"}, 2668 | {file = "wrapt-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0970ddb69bba00670e58955f8019bec4a42d1785db3faa043c33d81de2bf843c"}, 2669 | {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76407ab327158c510f44ded207e2f76b657303e17cb7a572ffe2f5a8a48aa04d"}, 2670 | {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd525e0e52a5ff16653a3fc9e3dd827981917d34996600bbc34c05d048ca35cc"}, 2671 | {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d37ac69edc5614b90516807de32d08cb8e7b12260a285ee330955604ed9dd29"}, 2672 | {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:078e2a1a86544e644a68422f881c48b84fef6d18f8c7a957ffd3f2e0a74a0d4a"}, 2673 | {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2cf56d0e237280baed46f0b5316661da892565ff58309d4d2ed7dba763d984b8"}, 2674 | {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7dc0713bf81287a00516ef43137273b23ee414fe41a3c14be10dd95ed98a2df9"}, 2675 | {file = "wrapt-1.15.0-cp39-cp39-win32.whl", hash = "sha256:46ed616d5fb42f98630ed70c3529541408166c22cdfd4540b88d5f21006b0eff"}, 2676 | {file = "wrapt-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:eef4d64c650f33347c1f9266fa5ae001440b232ad9b98f1f43dfe7a79435c0a6"}, 2677 | {file = "wrapt-1.15.0-py3-none-any.whl", hash = "sha256:64b1df0f83706b4ef4cfb4fb0e4c2669100fd7ecacfb59e091fad300d4e04640"}, 2678 | {file = "wrapt-1.15.0.tar.gz", hash = "sha256:d06730c6aed78cee4126234cf2d071e01b44b915e725a6cb439a879ec9754a3a"}, 2679 | ] 2680 | 2681 | [[package]] 2682 | name = "xmlschema" 2683 | version = "2.4.0" 2684 | description = "An XML Schema validator and decoder" 2685 | category = "main" 2686 | optional = false 2687 | python-versions = ">=3.7" 2688 | files = [ 2689 | {file = "xmlschema-2.4.0-py3-none-any.whl", hash = "sha256:dc87be0caaa61f42649899189aab2fd8e0d567f2cf548433ba7b79278d231a4a"}, 2690 | {file = "xmlschema-2.4.0.tar.gz", hash = "sha256:d74cd0c10866ac609e1ef94a5a69b018ad16e39077bc6393408b40c6babee793"}, 2691 | ] 2692 | 2693 | [package.dependencies] 2694 | elementpath = ">=4.1.5,<5.0.0" 2695 | 2696 | [package.extras] 2697 | codegen = ["elementpath (>=4.1.5,<5.0.0)", "jinja2"] 2698 | dev = ["Sphinx", "coverage", "elementpath (>=4.1.5,<5.0.0)", "flake8", "jinja2", "lxml", "lxml-stubs", "memory-profiler", "mypy", "sphinx-rtd-theme", "tox"] 2699 | docs = ["Sphinx", "elementpath (>=4.1.5,<5.0.0)", "jinja2", "sphinx-rtd-theme"] 2700 | 2701 | [[package]] 2702 | name = "yappi" 2703 | version = "1.4.0" 2704 | description = "Yet Another Python Profiler" 2705 | category = "main" 2706 | optional = false 2707 | python-versions = "*" 2708 | files = [ 2709 | {file = "yappi-1.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:71a6bce588d03240d8c05aa734d97d69c595ac382644701eaaca2421f6e37c9e"}, 2710 | {file = "yappi-1.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d80262ef4bf8ebd7c81e37832b41fe3b0b74621a24eb853b0444e06b01a44a1a"}, 2711 | {file = "yappi-1.4.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8791dbdf17673fb14a6cff150a8b2c85a5e40c455eebb37a62ea4dc74c077408"}, 2712 | {file = "yappi-1.4.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:57f9d3a88b822e3727505cf0a59e4b1038de4cd34555749bdc65ac258a58ca23"}, 2713 | {file = "yappi-1.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f3fb92fe0ea47142275fbe6e5d1daa9685c2e25bfd6a9478c2669e8828b3abf8"}, 2714 | {file = "yappi-1.4.0-cp310-cp310-win32.whl", hash = "sha256:52b82a8ec9d5e86e828fe35821a8482c94ca1dec8a278bb8001d21f2c8af98a8"}, 2715 | {file = "yappi-1.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:a5767d79a44d47a34be469d798ddc56cff251394af1f4fde2463de9359a8c38e"}, 2716 | {file = "yappi-1.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d8bc404a3201ec9dc93ab669a700b4f3736bbe3a029e85dc046f278541b83f74"}, 2717 | {file = "yappi-1.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:733b4088a54996e7811dca94de633ffe4b906b6e6b8147c31913b674ae6e90cc"}, 2718 | {file = "yappi-1.4.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5cd0ed067b4499fa45f08e78e0caf9154bc5ae28eca90167107b1fcfa741dac"}, 2719 | {file = "yappi-1.4.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:34aed429e1ef04d5b432bbbd719d7c7707b9fb310e30f78c61d0b31733626af8"}, 2720 | {file = "yappi-1.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:01fc1f7f76a43a2d0ded34313c97395e3c3323e796945b183569a5a0365b14a3"}, 2721 | {file = "yappi-1.4.0-cp311-cp311-win32.whl", hash = "sha256:987c8f658e1d2e4029612c33a4ff7b04f9a8fbd96e315eefb0384943830ae68b"}, 2722 | {file = "yappi-1.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:4f42a9de88cfcbcd3f05834b4cc585e6e70ae0c4e03918b41865ccca02d2514b"}, 2723 | {file = "yappi-1.4.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:a3bb2d75620ac9ef69f11c62e737469ef155e566e51ed85a74126871e45d2051"}, 2724 | {file = "yappi-1.4.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3033cdbd482a79ecafcafef8a1a0699ad333ee87bc7a28bd07c461ef196b2ea3"}, 2725 | {file = "yappi-1.4.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42ddd97258604bb1bea1b7dce2790c24f9b9bca970d844cb7afe98a9fbbf1425"}, 2726 | {file = "yappi-1.4.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:3a9652e7785f4b4c8bb3a8fa9ee33adf5e3f6dd893de4465008f75b1306f7895"}, 2727 | {file = "yappi-1.4.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:3e5d5a95a8681dc91f5a22c81d458109dcbcd718a551b647d28075574dfb8cbb"}, 2728 | {file = "yappi-1.4.0-cp36-cp36m-win32.whl", hash = "sha256:89d352ea770860617f55539e860440a166c5b9c1a67a7f351fed4030af9943b0"}, 2729 | {file = "yappi-1.4.0-cp36-cp36m-win_amd64.whl", hash = "sha256:64529504c5522b1c8c79eeb27a68f84979ce9415150c32cd7e06618383443bcc"}, 2730 | {file = "yappi-1.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:d878f66d0b5d79396d6f034f8d89615517a4c4410e97b84d48402e940f9501d5"}, 2731 | {file = "yappi-1.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bad0766003eaa683e56f77166d4551c2f7530ec13aa602ada5cd8ddfe130d42b"}, 2732 | {file = "yappi-1.4.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ab8c17980e6bdb522b03b118f6d62362c92f7be40a81a4e89746d0eeae1e3ab"}, 2733 | {file = "yappi-1.4.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:194a565ab0145ff10e31389fb364a35a4f5160ad6af17362355592cfddf2ae6e"}, 2734 | {file = "yappi-1.4.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:14068a34907f4e7404b6b87a7bda2d55be2bde4d4d7f9e254b2cd26187cc2ebc"}, 2735 | {file = "yappi-1.4.0-cp37-cp37m-win32.whl", hash = "sha256:407b119f394ab60bb0a3d07efcb92d4846ef40ab40fff02c8902ca8d800f85d3"}, 2736 | {file = "yappi-1.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:5e4de1137021f80a238217444c0ad5f0e393082f4744ecae3d92eb3a9b98ca3e"}, 2737 | {file = "yappi-1.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7b286c4fcc72812adbd19280329a3c0144582abd1e5a3513d93a8bb2d3d1abaa"}, 2738 | {file = "yappi-1.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aef7a5bd5cd7e36adb90419984f29809eee51c9a9b74849b9dfa6077075da21f"}, 2739 | {file = "yappi-1.4.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5092940caea4cc150ba21d9afbafc8b00770f33ab5de55638c2bbd2c6f7f82cf"}, 2740 | {file = "yappi-1.4.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ec8ada826232137560e6ac7644ace8305b4dacbca0f9fff246ffee52db0a3c3a"}, 2741 | {file = "yappi-1.4.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:1413d3fb200c0011b22764a227fb9e56e479acb1ec2b7c134c62d70a76a7e1f2"}, 2742 | {file = "yappi-1.4.0-cp38-cp38-win32.whl", hash = "sha256:38b0235574b7c0c549d97baa63f5fa4660b6d34a0b00ee8cc48d04ef19cf71fb"}, 2743 | {file = "yappi-1.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:7ab23d95fe8130445f1e089af7efec21f172611b306283496c99089839ef61c5"}, 2744 | {file = "yappi-1.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:61a2c7dc15eeccd1909c6bc5783e63fb06ee7725e5aa006b83cd6afb49a343c7"}, 2745 | {file = "yappi-1.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c81d957b10085ce32bb232896d258e9e87ae4ac4e044e755eb505f1c8eb148da"}, 2746 | {file = "yappi-1.4.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2e4a0af76310957d12ff2d661e2ec3509ee4b4661929fec04d0dc40a0c8866ae"}, 2747 | {file = "yappi-1.4.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:a279bb01f9c4b4c99cb959210e49151afd6c76693eca8a01311343efe8f31262"}, 2748 | {file = "yappi-1.4.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:36eaa02d53842b22157f1b150db79d03cae1cc635f708fa82737bcdfd4aa2bd9"}, 2749 | {file = "yappi-1.4.0-cp39-cp39-win32.whl", hash = "sha256:05b2c6c7f0667b46cd7cccbd36cff1b10f4b3f6625aacea5eb0ac99cd9ca7520"}, 2750 | {file = "yappi-1.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:bbdd6043e24f5c84a042ea8af69a1f2720571426fd1985814cf41e6d7a17f5c9"}, 2751 | {file = "yappi-1.4.0.tar.gz", hash = "sha256:504b5d8fc7433736cb5e257991d2e7f2946019174f1faec7b2fe947881a17fc0"}, 2752 | ] 2753 | 2754 | [package.extras] 2755 | test = ["gevent (>=20.6.2)"] 2756 | 2757 | [[package]] 2758 | name = "zipp" 2759 | version = "3.16.2" 2760 | description = "Backport of pathlib-compatible object wrapper for zip files" 2761 | category = "main" 2762 | optional = false 2763 | python-versions = ">=3.8" 2764 | files = [ 2765 | {file = "zipp-3.16.2-py3-none-any.whl", hash = "sha256:679e51dd4403591b2d6838a48de3d283f3d188412a9782faadf845f298736ba0"}, 2766 | {file = "zipp-3.16.2.tar.gz", hash = "sha256:ebc15946aa78bd63458992fc81ec3b6f7b1e92d51c35e6de1c3804e73b799147"}, 2767 | ] 2768 | 2769 | [package.extras] 2770 | docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] 2771 | testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"] 2772 | 2773 | [metadata] 2774 | lock-version = "2.0" 2775 | python-versions = "^3.8" 2776 | content-hash = "f2dc000992d35fb0726793afa4c6df5b43cbe9675e091ab3530a8e6ba217690f" 2777 | -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "keystone-keycloak-backend" 3 | version = "0.2.0" 4 | description = "Keycloak backend for OpenStack Keystone" 5 | authors = ["Mohammed Naser "] 6 | license = "Apache-2.0" 7 | readme = "README.md" 8 | packages = [{include = "keystone_keycloak_backend"}] 9 | 10 | [tool.poetry.dependencies] 11 | python = "^3.8" 12 | python-keycloak = "^3.6.1" 13 | 14 | [tool.poetry.group.dev.dependencies] 15 | keystone = ">=22.0.0" 16 | 17 | [build-system] 18 | requires = ["poetry-core"] 19 | build-backend = "poetry.core.masonry.api" 20 | 21 | [tool.poetry.plugins."keystone.identity"] 22 | keycloak = "keystone_keycloak_backend.identity:Driver" 23 | 24 | [tool.isort] 25 | profile = "black" 26 | --------------------------------------------------------------------------------