diff --git a/.bazelignore b/.bazelignore index 293f292a..755c2e60 100644 --- a/.bazelignore +++ b/.bazelignore @@ -1,8 +1,4 @@ -private/examples -private/tests/override_module_repos/overrider -private/tests/override_module_repos/overridee -private/tests/package_aliases -private/tests/workspace_user +examples venv venv3 .ijwb diff --git a/.bazelrc b/.bazelrc index 8739d198..71543fb1 100644 --- a/.bazelrc +++ b/.bazelrc @@ -33,6 +33,36 @@ common --noslim_profile --experimental_profile_include_target_label --experiment common --nolegacy_important_outputs common --remote_cache_compression +############################################################################### +## Lint and type check aspects +############################################################################### + +# Enable black for all targets in the workspace +build:black --aspects=@rules_venv//python/black:py_black_aspect.bzl%py_black_aspect +build:black --output_groups=+py_black_checks +build --@rules_venv//python/black:config=//:pyproject.toml + +# Enable isort for all targets in the workspace +build:isort --aspects=@rules_venv//python/isort:py_isort_aspect.bzl%py_isort_aspect +build:isort --output_groups=+py_isort_checks +build --@rules_venv//python/isort:config=//:pyproject.toml + +# Enable mypy for all targets in the workspace +build:mypy --aspects=@rules_venv//python/mypy:py_mypy_aspect.bzl%py_mypy_aspect +build:mypy --output_groups=+py_mypy_checks +build --@rules_venv//python/mypy:config=//:pyproject.toml + +# Enable pylint for all targets in the workspace +build:pylint --aspects=@rules_venv//python/pylint:py_pylint_aspect.bzl%py_pylint_aspect +build:pylint --output_groups=+py_pylint_checks +build --@rules_venv//python/pylint:config=//:pyproject.toml + +# Define a config that enables all linter aspects. +build:strict --config=black +build:strict --config=isort +build:strict --config=mypy +build:strict --config=pylint + # Attempt to import any CI flags try-import %workspace%/.github/ci.bazelrc diff --git a/.bcr/presubmit.yml b/.bcr/presubmit.yml index e134a7e5..3b1cdc80 100644 --- a/.bcr/presubmit.yml +++ b/.bcr/presubmit.yml @@ -1,5 +1,5 @@ bcr_test_module: - module_path: "private/examples/multiplatform_py_test" + module_path: "examples/multiplatform_py_test" matrix: platform: ["macos_arm64", "ubuntu2004", "windows"] bazel: [7.x, 8.x, 9.x] diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 873a811c..adc1adb7 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -13,6 +13,9 @@ on: jobs: + # Bazel pins a single interpreter, so this matrix is the only coverage of + # `req-compile` running on the other Python versions it claims to support. + # Linting, type checking and the Bazel rules are all handled by `bazel-bzlmod`. build: strategy: fail-fast: false @@ -34,34 +37,9 @@ jobs: - name: Install dependencies run: | pip install -r 3rdparty/requirements.txt --user - - name: Run mypy - run: | - python -m mypy req_compile - - name: Run pylint - run: | - python -m pylint req_compile tests - name: Test with pytest run: | - python -m pytest -v --ignore=private - - formatting: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Set up Python 3.11 - uses: actions/setup-python@v2 - with: - python-version: "3.11" - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install -r 3rdparty/requirements.txt --user - - name: Run black - run: | - black --check --diff req_compile - - name: Run isort - run: | - isort --check-only req_compile + python -m pytest -v tests bazel-bzlmod: strategy: @@ -81,7 +59,7 @@ jobs: CI_BAZELRC_PATH: .github/ci.bazelrc - name: Run Tests run: | - bazel test //... + bazel test --config=strict //... - name: Perform compilation run: | bazel run //3rdparty:requirements_compiler "--" --upgrade @@ -92,39 +70,37 @@ jobs: matrix: platform: ["ubuntu-latest", "macos-14", "windows-latest"] runs-on: ${{ matrix.platform }} - name: bazel test multiplatform_py_test --build ${{ matrix.platform }} + name: bazel test examples ${{ matrix.platform }} steps: - uses: actions/checkout@v2 - - name: Test user repo examples + - name: Test example modules + shell: bash run: | - bazel test //... - working-directory: private/examples/multiplatform_py_test - - name: Test module repo overrides - run: | - bazel test //... - working-directory: private/tests/override_module_repos/overrider + set -euo pipefail + for module in examples/*/MODULE.bazel examples/*/*/MODULE.bazel; do + dir="$(dirname "${module}")" + + # Bazel's convenience symlinks point back at a module that was + # already visited. + if [[ "$(basename "${dir}")" == bazel-* ]]; then + continue + fi + + # `overridee` deliberately ships an incomplete solution. It only + # resolves when `overrider` replaces its repositories, so it is + # covered by building that module rather than on its own. + if [[ "${dir}" == "examples/override_module_repos/overridee" ]]; then + continue + fi + + echo "::group::${dir}" + (cd "${dir}" && bazel test //...) + echo "::endgroup::" + done bazel_lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - name: Set up Python ${{ matrix.python_version }} - uses: actions/setup-python@v2 - with: - python-version: "3.11" - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install -r 3rdparty/requirements.txt --user - pip install -e . - - name: Run isort - run: | - isort --check-only private - - name: Run black - run: | - black --check --diff private - - name: Run pylint - run: | - python -m pylint private - name: Run buildifier run: bazel run //:buildifier.check diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index aa0f1ed0..6b425ba1 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -37,8 +37,15 @@ jobs: python-version: 3.11 - name: Build a binary wheel and a source tarball run: | - python -m pip install -U setuptools wheel - python setup.py bdist_wheel sdist + bazel build //req_compile:req_compile.whl + mkdir -p dist + cp "$(bazel cquery --output=files //req_compile:req_compile.whl)" dist/ + + # The wheel is built by Bazel but `py_wheel_publisher` only handles + # wheels, so the source distribution is still built by setuptools. + python -m pip install -U build setuptools twine wheel + python -m build --sdist --outdir dist + WHEEL_NAME="$(find dist -name '*.whl' -exec basename {} \;)" echo "WHEEL_NAME=${WHEEL_NAME}" >> $GITHUB_ENV - name: Detect the current version @@ -49,7 +56,7 @@ jobs: echo "release_version=${version}" >> $GITHUB_OUTPUT - name: Create release artifact run: | - tar -czf ${{ github.workspace }}/.github/rules_req_compile.tar.gz --exclude=".git" --exclude=".github" --exclude="scripts" --exclude="dist" --exclude="build" -C ${{ github.workspace }} . + tar -czf ${{ github.workspace }}/.github/rules_req_compile.tar.gz --exclude=".git" --exclude=".github" --exclude="scripts" --exclude="dist" --exclude="build" --exclude="bazel-*" -C ${{ github.workspace }} . sha256="$(shasum --algorithm 256 ${{ github.workspace }}/.github/rules_req_compile.tar.gz | awk '{ print $1 }')" integrity="sha256-$(echo -n "$sha256" | xxd -r -p | base64)" echo "ARCHIVE_SHA256=${sha256}" >> $GITHUB_ENV @@ -87,10 +94,16 @@ jobs: asset_name: ${{ env.WHEEL_NAME }} asset_path: ${{ github.workspace }}/dist/${{ env.WHEEL_NAME }} asset_content_type: application/gzip - - name: Publish distribution to PyPI - uses: pypa/gh-action-pypi-publish@master - with: - password: ${{ secrets.PYPI_API_TOKEN }} + - name: Publish the wheel to PyPI + run: bazel run //req_compile:req_compile.publish + env: + TWINE_USERNAME: __token__ + TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} + - name: Publish the source distribution to PyPI + run: python -m twine upload dist/*.tar.gz + env: + TWINE_USERNAME: __token__ + TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} bcr-publish: needs: [release] diff --git a/.gitignore b/.gitignore index 9bd16e72..4a9c439c 100644 --- a/.gitignore +++ b/.gitignore @@ -14,7 +14,6 @@ dist bazel-* user.bazelrc /.github/ci.bazelrc -/private/examples/multiplatform_py_test/bazel-* # Ignore the module lock for now, since the sdist repo rules incorrectly record the calling # platform's Python intepreter as the _only_ interprete in the lock. diff --git a/3rdparty/bazel-requirements.in b/3rdparty/bazel-requirements.in index 63168d5d..22dfa542 100644 --- a/3rdparty/bazel-requirements.in +++ b/3rdparty/bazel-requirements.in @@ -2,3 +2,10 @@ -r ../requirements.in -r ../test-requirements.in + +# The `py_mypy_toolchain` rejects anything older, as pre-2.0 releases re-check +# every dependency of every target instead of using the cached results. +mypy >= 2.0 + +# Required by the `py_wheel_publisher` toolchain used to publish `req-compile`. +twine diff --git a/3rdparty/requirements.linux_aarch64.txt b/3rdparty/requirements.linux_aarch64.txt index e69320a9..da0d0d37 100644 --- a/3rdparty/requirements.linux_aarch64.txt +++ b/3rdparty/requirements.linux_aarch64.txt @@ -1,7 +1,7 @@ ################################################################################ ## AUTOGENERATED: This file is autogenerated by req-compile. ## -## Python: 3.11.11 +## Python: 3.11.14 ## Platform: Linux ## ## To regenerate this file, use the following command: @@ -16,10 +16,18 @@ appdirs==1.4.4 \ --hash=sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128 # via _main/3rdparty/bazel-requirements.in # https://files.pythonhosted.org/packages/3b/00/2344469e2084fb287c2e0b57b72910309874c3245463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl#sha256=a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128 +ast_serialize==0.11.2 \ + --hash=sha256:b17869f4ba261a5fa468a753328a548f4dbaf74b4eadae9e28aff66df7f1425b + # via mypy (<1.0.0,>=0.6.0) + # https://files.pythonhosted.org/packages/d2/1b/8a69ab68f4c1603819f0481d756abdd8caf27cec7f1d77caa71007ebe997/ast_serialize-0.11.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#sha256=b17869f4ba261a5fa468a753328a548f4dbaf74b4eadae9e28aff66df7f1425b astroid==3.3.9 \ --hash=sha256:d05bfd0acba96a7bd43e222828b7d9bc1e138aaeb0649707908d3702a9831248 # via pylint (<=3.4.0.dev0,>=3.3.8) # https://files.pythonhosted.org/packages/de/80/c749efbd8eef5ea77c7d6f1956e8fbfb51963b7f93ef79647afd4d9886e3/astroid-3.3.9-py3-none-any.whl#sha256=d05bfd0acba96a7bd43e222828b7d9bc1e138aaeb0649707908d3702a9831248 +backports.tarfile==1.2.0 \ + --hash=sha256:77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34 + # via jaraco.context + # https://files.pythonhosted.org/packages/b9/fa/123043af240e49752f1c4bd24da5053b6bd00cad78c2be53c0d1e8b975bc/backports.tarfile-1.2.0-py3-none-any.whl#sha256=77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34 black==25.1.0 \ --hash=sha256:95e8176dae143ba9097f351d174fdaf0ccd29efb414b362ae3fd72bf0f710717 # via _main/3rdparty/bazel-requirements.in @@ -28,6 +36,10 @@ certifi==2025.1.31 \ --hash=sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe # via requests (>=2017.4.17) # https://files.pythonhosted.org/packages/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl#sha256=ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe +cffi==2.1.1 \ + --hash=sha256:3311ed60d36f83378794e1009ac6258bafbf81f7888b4caa7b35a521e3f95813 + # via cryptography (>=2.0.0) + # https://files.pythonhosted.org/packages/ad/66/c19feabb28485b6e0bbaaafa90837a1ef5d302e90f2178bd33f17a49879b/cffi-2.1.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl#sha256=3311ed60d36f83378794e1009ac6258bafbf81f7888b4caa7b35a521e3f95813 charset-normalizer==3.4.1 \ --hash=sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1 # via requests (<4,>=2) @@ -36,14 +48,30 @@ click==8.1.8 \ --hash=sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2 # via black (>=8.0.0) # https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl#sha256=63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2 +cryptography==50.0.1 \ + --hash=sha256:e2ca8fd1b6b4b82a1c4cb02841d0837e3c12336c2e24b520ab8ab3b969733d8f + # via SecretStorage (>=2.0) + # https://files.pythonhosted.org/packages/39/3b/e96c1ef71edef71057c7e3c3d982ce8fda554e0c52d0cc19c18845cde3eb/cryptography-50.0.1-cp311-abi3-manylinux_2_34_aarch64.whl#sha256=e2ca8fd1b6b4b82a1c4cb02841d0837e3c12336c2e24b520ab8ab3b969733d8f dill==0.3.9 \ --hash=sha256:468dff3b89520b474c0397703366b7b95eebe6303f108adf9b19da1f702be87a # via pylint (>=0.3.6) # https://files.pythonhosted.org/packages/46/d1/e73b6ad76f0b1fb7f23c35c6d95dbc506a9c8804f43dda8cb5b0fa6331fd/dill-0.3.9-py3-none-any.whl#sha256=468dff3b89520b474c0397703366b7b95eebe6303f108adf9b19da1f702be87a +docutils==0.23 \ + --hash=sha256:25d013af9bf23bc1c7b2b093dff4208166c53a94786c9e447808335ef1185fea + # via readme_renderer (>=0.21.2) + # https://files.pythonhosted.org/packages/32/91/30151a39f7570f448ed84529390628a651d7f27c87d73c9b887f8189695e/docutils-0.23-py3-none-any.whl#sha256=25d013af9bf23bc1c7b2b093dff4208166c53a94786c9e447808335ef1185fea +id==1.6.1 \ + --hash=sha256:f5ec41ed2629a508f5d0988eda142e190c9c6da971100612c4de9ad9f9b237ca + # via twine + # https://files.pythonhosted.org/packages/42/77/de194443bf38daed9452139e960c632b0ef9f9a5dd9ce605fdf18ca9f1b1/id-1.6.1-py3-none-any.whl#sha256=f5ec41ed2629a508f5d0988eda142e190c9c6da971100612c4de9ad9f9b237ca idna==3.10 \ --hash=sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3 # via requests (<4,>=2.5) # https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl#sha256=946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3 +importlib_metadata==9.0.1 \ + --hash=sha256:bba5600596a7e21f3eef53281cf28d6a5195634d2f2b78ff9501a3272c6eaab0 + # via keyring (>=4.11.4) + # https://files.pythonhosted.org/packages/b3/55/ecca97ae19075f1fac62def77731e7f535e6c1fb8f92ff08160c5e6dade8/importlib_metadata-9.0.1-py3-none-any.whl#sha256=bba5600596a7e21f3eef53281cf28d6a5195634d2f2b78ff9501a3272c6eaab0 iniconfig==2.1.0 \ --hash=sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760 # via pytest @@ -54,35 +82,82 @@ isort==6.0.1 \ # _main/3rdparty/bazel-requirements.in # pylint (!=5.13,<7,>=4.2.5) # https://files.pythonhosted.org/packages/c1/11/114d0a5f4dabbdcedc1125dee0888514c3c3b16d3e9facad87ed96fad97c/isort-6.0.1-py3-none-any.whl#sha256=2dc5d7f65c9678d94c88dfc29161a320eec67328bc97aad576874cb4be1e9615 +jaraco.classes==3.4.0 \ + --hash=sha256:f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790 + # via keyring + # https://files.pythonhosted.org/packages/7f/66/b15ce62552d84bbfcec9a4873ab79d993a1dd4edb922cbfccae192bd5b5f/jaraco.classes-3.4.0-py3-none-any.whl#sha256=f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790 +jaraco.context==6.1.2 \ + --hash=sha256:bf8150b79a2d5d91ae48629d8b427a8f7ba0e1097dd6202a9059f29a36379535 + # via keyring + # https://files.pythonhosted.org/packages/f2/58/bc8954bda5fcda97bd7c19be11b85f91973d67a706ed4a3aec33e7de22db/jaraco_context-6.1.2-py3-none-any.whl#sha256=bf8150b79a2d5d91ae48629d8b427a8f7ba0e1097dd6202a9059f29a36379535 +jaraco.functools==4.6.0 \ + --hash=sha256:99e3dc0060c5cbe8fcd1cdb36258e2a65ca40f1566b2033b12abb1bb44dd3c30 + # via keyring + # https://files.pythonhosted.org/packages/02/36/ecc85bc96c273dc8a11273ed4782272975e6338d4a3e9228621175edf0e3/jaraco_functools-4.6.0-py3-none-any.whl#sha256=99e3dc0060c5cbe8fcd1cdb36258e2a65ca40f1566b2033b12abb1bb44dd3c30 +jeepney==0.9.0 \ + --hash=sha256:97e5714520c16fc0a45695e5365a2e11b81ea79bba796e26f9f1d178cb182683 + # via + # keyring (>=0.4.2) + # SecretStorage (>=0.6) + # https://files.pythonhosted.org/packages/b2/a3/e137168c9c44d18eff0376253da9f1e9234d0239e0ee230d2fee6cea8e55/jeepney-0.9.0-py3-none-any.whl#sha256=97e5714520c16fc0a45695e5365a2e11b81ea79bba796e26f9f1d178cb182683 +keyring==25.7.0 \ + --hash=sha256:be4a0b195f149690c166e850609a477c532ddbfbaed96a404d4e43f8d5e2689f + # via twine (>=21.2.0) + # https://files.pythonhosted.org/packages/81/db/e655086b7f3a705df045bf0933bdd9c2f79bb3c97bfef1384598bb79a217/keyring-25.7.0-py3-none-any.whl#sha256=be4a0b195f149690c166e850609a477c532ddbfbaed96a404d4e43f8d5e2689f +librt==0.15.0 \ + --hash=sha256:814ff83a25b5fce8b9c80c4dd803153fb5c5599fc74db9e022466938368957ef + # via mypy (>=0.13.0) + # https://files.pythonhosted.org/packages/51/87/a162bc5a66a35599dc619ecb215145f4de7d68e886b479b6d12593139f7c/librt-0.15.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl#sha256=814ff83a25b5fce8b9c80c4dd803153fb5c5599fc74db9e022466938368957ef +markdown-it-py==4.2.0 \ + --hash=sha256:9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a + # via rich (>=2.2.0) + # https://files.pythonhosted.org/packages/b3/81/4da04ced5a082363ecfa159c010d200ecbd959ae410c10c0264a38cac0f5/markdown_it_py-4.2.0-py3-none-any.whl#sha256=9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a mccabe==0.7.0 \ --hash=sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e # via pylint (<0.8,>=0.6) # https://files.pythonhosted.org/packages/27/1a/1f68f9ba0c207934b35b86a8ca3aad8395a3d6dd7921c0686e23853ff5a9/mccabe-0.7.0-py2.py3-none-any.whl#sha256=6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e -mypy==1.15.0 \ - --hash=sha256:973500e0774b85d9689715feeffcc980193086551110fd678ebe1f4342fb7c5e - # via _main/3rdparty/bazel-requirements.in - # https://files.pythonhosted.org/packages/05/05/a10f9479681e5da09ef2f9426f650d7b550d4bafbef683b69aad1ba87457/mypy-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl#sha256=973500e0774b85d9689715feeffcc980193086551110fd678ebe1f4342fb7c5e +mdurl==0.1.2 \ + --hash=sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 + # via markdown-it-py (~=0.1) + # https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl#sha256=84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 +more-itertools==11.1.0 \ + --hash=sha256:4b65538ae22f6fed0ce4874efd317463a7489796a0939fa66824dd542125a192 + # via + # jaraco.classes + # jaraco.functools + # https://files.pythonhosted.org/packages/e8/3d/1087453384dbde46a8c7f9356eead2c58be8a7bf156bca40243377c85715/more_itertools-11.1.0-py3-none-any.whl#sha256=4b65538ae22f6fed0ce4874efd317463a7489796a0939fa66824dd542125a192 +mypy==2.3.1 \ + --hash=sha256:f5d716048611e85ca9eefb2e1baa5d73ede389b5820ded260ea27c757d667af8 + # via _main/3rdparty/bazel-requirements.in (>=2.0) + # https://files.pythonhosted.org/packages/53/84/e3cf72f90dce5960871c82551c8fba6da05fc1018f79be41c047bd126bdd/mypy-2.3.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl#sha256=f5d716048611e85ca9eefb2e1baa5d73ede389b5820ded260ea27c757d667af8 mypy-extensions==1.0.0 \ --hash=sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d # via # black (>=0.4.3) # mypy (>=1.0.0) # https://files.pythonhosted.org/packages/2a/e2/5d3f6ada4297caebe1a2add3b126fe800c96f56dbe5d1988a2cbe0b267aa/mypy_extensions-1.0.0-py3-none-any.whl#sha256=4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d +nh3==0.3.7 \ + --hash=sha256:f266d3f1b3647449923a8e406524632220dd5d8b647078dfe45b885d33d10479 + # via readme_renderer (>=0.2.14) + # https://files.pythonhosted.org/packages/07/42/a687e7091928806e514f89fa2666f25ec9bfe0a902fc4402b25e51ce408b/nh3-0.3.7-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#sha256=f266d3f1b3647449923a8e406524632220dd5d8b647078dfe45b885d33d10479 overrides==7.7.0 \ --hash=sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49 # via _main/3rdparty/bazel-requirements.in # https://files.pythonhosted.org/packages/2c/ab/fc8290c6a4c722e5514d80f62b2dc4c4df1a68a41d1364e625c35990fcf3/overrides-7.7.0-py3-none-any.whl#sha256=c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49 -packaging==24.2 \ - --hash=sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759 +packaging==26.3 \ + --hash=sha256:d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c # via # _main/3rdparty/bazel-requirements.in # black (>=22.0) # pytest - # https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl#sha256=09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759 -pathspec==0.12.1 \ - --hash=sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08 - # via black (>=0.9.0) - # https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl#sha256=a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08 + # twine (>=26.1) + # https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl#sha256=d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c +pathspec==1.1.1 \ + --hash=sha256:a00ce642f577bf7f473932318056212bc4f8bfdf53128c78bbd5af0b9b20b189 + # via + # black (>=0.9.0) + # mypy (>=1.0.0) + # https://files.pythonhosted.org/packages/f1/d9/7fb5aa316bc299258e68c73ba3bddbc499654a07f151cba08f6153988714/pathspec-1.1.1-py3-none-any.whl#sha256=a00ce642f577bf7f473932318056212bc4f8bfdf53128c78bbd5af0b9b20b189 platformdirs==4.3.7 \ --hash=sha256:a03875334331946f13c549dbd8f4bac7a13a50a895a0eb1e8c6a8ace80d40a94 # via @@ -93,6 +168,16 @@ pluggy==1.5.0 \ --hash=sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669 # via pytest (<2,>=1.5) # https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl#sha256=44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669 +pycparser==3.0 \ + --hash=sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992 + # via cffi + # https://files.pythonhosted.org/packages/0c/c3/44f3fbbfa403ea2a7c779186dc20772604442dde72947e7d01069cbe98e3/pycparser-3.0-py3-none-any.whl#sha256=b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992 +Pygments==2.21.0 \ + --hash=sha256:2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377137d9 + # via + # readme_renderer (>=2.5.1) + # rich (<3.0.0,>=2.13.0) + # https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl#sha256=2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377137d9 pylint==3.3.6 \ --hash=sha256:8b7c2d3e86ae3f94fb27703d521dd0b9b6b378775991f504d7c3a6275aa0a6a6 # via _main/3rdparty/bazel-requirements.in @@ -111,16 +196,38 @@ PyYAML==6.0.2 \ --hash=sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c # via responses # https://files.pythonhosted.org/packages/ad/0c/c804f5f922a9a6563bab712d8dcc70251e8af811fce4524d57c2c0fd49a4/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl#sha256=5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c +readme_renderer==46.0 \ + --hash=sha256:d0dae1f74bb273b534770cb4cccb6bb78735540afdb03c2146f4e19dcd412560 + # via twine (>=35.0) + # https://files.pythonhosted.org/packages/4b/72/ac5ca81fe9121fcaa9d828d21017cba00a16a98e4ea5fb60c878f93dda4f/readme_renderer-46.0-py3-none-any.whl#sha256=d0dae1f74bb273b534770cb4cccb6bb78735540afdb03c2146f4e19dcd412560 requests==2.32.3 \ --hash=sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6 # via - # _main/3rdparty/bazel-requirements.in ([security]) + # _main/3rdparty/bazel-requirements.in + # requests-toolbelt (<3.0.0,>=2.0.1) # responses (<3.0,>=2.30.0) + # twine (>=2.20) # https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl#sha256=70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6 +requests-toolbelt==1.0.0 \ + --hash=sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06 + # via twine (!=0.9.0,>=0.8.0) + # https://files.pythonhosted.org/packages/3f/51/d4db610ef29373b879047326cbf6fa98b6c1969d6f6dc423279de2b1be2c/requests_toolbelt-1.0.0-py2.py3-none-any.whl#sha256=cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06 responses==0.25.7 \ --hash=sha256:92ca17416c90fe6b35921f52179bff29332076bb32694c0df02dcac2c6bc043c # via _main/3rdparty/bazel-requirements.in # https://files.pythonhosted.org/packages/e4/fc/1d20b64fa90e81e4fa0a34c9b0240a6cfb1326b7e06d18a5432a9917c316/responses-0.25.7-py3-none-any.whl#sha256=92ca17416c90fe6b35921f52179bff29332076bb32694c0df02dcac2c6bc043c +rfc3986==2.0.0 \ + --hash=sha256:50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd + # via twine (>=1.4.0) + # https://files.pythonhosted.org/packages/ff/9a/9afaade874b2fa6c752c36f1548f718b5b83af81ed9b76628329dab81c1b/rfc3986-2.0.0-py2.py3-none-any.whl#sha256=50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd +rich==15.0.0 \ + --hash=sha256:33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb + # via twine (>=14.3.3) + # https://files.pythonhosted.org/packages/82/3b/64d4899d73f91ba49a8c18a8ff3f0ea8f1c1d75481760df8c68ef5235bf5/rich-15.0.0-py3-none-any.whl#sha256=33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb +SecretStorage==3.5.0 \ + --hash=sha256:0ce65888c0725fcb2c5bc0fdb8e5438eece02c523557ea40ce0703c266248137 + # via keyring (>=3.2) + # https://files.pythonhosted.org/packages/b7/46/f5af3402b579fd5e11573ce652019a67074317e18c1935cc0b4ba9b35552/secretstorage-3.5.0-py3-none-any.whl#sha256=0ce65888c0725fcb2c5bc0fdb8e5438eece02c523557ea40ce0703c266248137 setuptools==78.1.0 \ --hash=sha256:3e386e96793c8702ae83d17b853fb93d3e09ef82ec62722e61da5cd22376dcd8 # via @@ -139,6 +246,10 @@ tomlkit==0.13.2 \ --hash=sha256:7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde # via pylint (>=0.10.1) # https://files.pythonhosted.org/packages/f9/b6/a447b5e4ec71e13871be01ba81f5dfc9d0af7e473da256ff46bc0e24026f/tomlkit-0.13.2-py3-none-any.whl#sha256=7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde +twine==7.0.0 \ + --hash=sha256:b854164df26db268af05f49aa5c0344b10e27a494343ff05b1e0bad3b135f5a7 + # via _main/3rdparty/bazel-requirements.in + # https://files.pythonhosted.org/packages/96/08/ddcdc06225eaad6de0e48e1002b06d919dbde20582d0662c7af51308e5d6/twine-7.0.0-py3-none-any.whl#sha256=b854164df26db268af05f49aa5c0344b10e27a494343ff05b1e0bad3b135f5a7 types-appdirs==1.4.3.5 \ --hash=sha256:337c750e423c40911d389359b4edabe5bbc2cdd5cd0bd0518b71d2839646273b # via _main/3rdparty/bazel-requirements.in @@ -157,18 +268,22 @@ types-toml==0.10.8.20240310 \ # https://files.pythonhosted.org/packages/da/a2/d32ab58c0b216912638b140ab2170ee4b8644067c293b170e19fba340ccc/types_toml-0.10.8.20240310-py3-none-any.whl#sha256=627b47775d25fa29977d9c70dc0cbab3f314f32c8d8d0c012f2ef5de7aaec05d typing_extensions==4.13.0 \ --hash=sha256:c8dd92cc0d6425a97c18fbb9d1954e5ff92c1ca881a309c45f06ebc0b79058e5 - # via - # _main/3rdparty/bazel-requirements.in - # mypy (>=4.6.0) + # via mypy (>=4.6.0) # https://files.pythonhosted.org/packages/e0/86/39b65d676ec5732de17b7e3c476e45bb80ec64eb50737a8dce1a4178aba1/typing_extensions-4.13.0-py3-none-any.whl#sha256=c8dd92cc0d6425a97c18fbb9d1954e5ff92c1ca881a309c45f06ebc0b79058e5 urllib3==2.3.0 \ --hash=sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df # via + # id (<3,>=2) # requests (<3,>=1.21.1) # responses (<3.0,>=1.25.10) + # twine (>=1.26.0) # types-requests (>=2) # https://files.pythonhosted.org/packages/c8/19/4ec628951a74043532ca2cf5d97b7b14863931476d117c471e8e2b1eb39f/urllib3-2.3.0-py3-none-any.whl#sha256=1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df wheel==0.45.1 \ --hash=sha256:708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248 # via _main/3rdparty/bazel-requirements.in # https://files.pythonhosted.org/packages/0b/2c/87f3254fd8ffd29e4c02732eee68a83a1d3c346ae39bc6822dcbcb697f2b/wheel-0.45.1-py3-none-any.whl#sha256=708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248 +zipp==4.1.0 \ + --hash=sha256:25ad4e16390cd314347dd8f1de67a2ac538ae658ed4ab9db16029c07c188e97f + # via importlib_metadata (>=3.20) + # https://files.pythonhosted.org/packages/3a/13/547360d81e6d88d58492968ffda9f9542854f11310ee556fef14260cc886/zipp-4.1.0-py3-none-any.whl#sha256=25ad4e16390cd314347dd8f1de67a2ac538ae658ed4ab9db16029c07c188e97f diff --git a/3rdparty/requirements.linux_x86_64.txt b/3rdparty/requirements.linux_x86_64.txt index d5c85eeb..a0cb427a 100644 --- a/3rdparty/requirements.linux_x86_64.txt +++ b/3rdparty/requirements.linux_x86_64.txt @@ -1,7 +1,7 @@ ################################################################################ ## AUTOGENERATED: This file is autogenerated by req-compile. ## -## Python: 3.11.11 +## Python: 3.11.14 ## Platform: Linux ## ## To regenerate this file, use the following command: @@ -16,10 +16,18 @@ appdirs==1.4.4 \ --hash=sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128 # via _main/3rdparty/bazel-requirements.in # https://files.pythonhosted.org/packages/3b/00/2344469e2084fb287c2e0b57b72910309874c3245463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl#sha256=a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128 +ast_serialize==0.11.2 \ + --hash=sha256:a7004ba572f09be34342ccb98dcd4bad5707d3d81adc8cb4c3f685d2a2c51bbc + # via mypy (<1.0.0,>=0.6.0) + # https://files.pythonhosted.org/packages/04/6f/4c992cd7841ba589fefb14ddc9aff2f6db7f2a615d4074f9ad04115b5ce0/ast_serialize-0.11.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=a7004ba572f09be34342ccb98dcd4bad5707d3d81adc8cb4c3f685d2a2c51bbc astroid==3.3.9 \ --hash=sha256:d05bfd0acba96a7bd43e222828b7d9bc1e138aaeb0649707908d3702a9831248 # via pylint (<=3.4.0.dev0,>=3.3.8) # https://files.pythonhosted.org/packages/de/80/c749efbd8eef5ea77c7d6f1956e8fbfb51963b7f93ef79647afd4d9886e3/astroid-3.3.9-py3-none-any.whl#sha256=d05bfd0acba96a7bd43e222828b7d9bc1e138aaeb0649707908d3702a9831248 +backports.tarfile==1.2.0 \ + --hash=sha256:77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34 + # via jaraco.context + # https://files.pythonhosted.org/packages/b9/fa/123043af240e49752f1c4bd24da5053b6bd00cad78c2be53c0d1e8b975bc/backports.tarfile-1.2.0-py3-none-any.whl#sha256=77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34 black==25.1.0 \ --hash=sha256:bce2e264d59c91e52d8000d507eb20a9aca4a778731a08cfff7e5ac4a4bb7096 # via _main/3rdparty/bazel-requirements.in @@ -28,6 +36,10 @@ certifi==2025.1.31 \ --hash=sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe # via requests (>=2017.4.17) # https://files.pythonhosted.org/packages/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl#sha256=ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe +cffi==2.1.1 \ + --hash=sha256:34e261f78cb6ceaaa36f42f2613f4380d94d9c759a9c73c769ee6e0247364632 + # via cryptography (>=2.0.0) + # https://files.pythonhosted.org/packages/f7/a4/4399daaf8f7dfee9d7c3327fdb0426ee041cc63edc358b93911ceb2bfc7a/cffi-2.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl#sha256=34e261f78cb6ceaaa36f42f2613f4380d94d9c759a9c73c769ee6e0247364632 charset-normalizer==3.4.1 \ --hash=sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00 # via requests (<4,>=2) @@ -36,14 +48,30 @@ click==8.1.8 \ --hash=sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2 # via black (>=8.0.0) # https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl#sha256=63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2 +cryptography==50.0.1 \ + --hash=sha256:51afcfceb15597cf2635068e4ac9a56b2abde622edde17f37d85fd7b5306497a + # via SecretStorage (>=2.0) + # https://files.pythonhosted.org/packages/85/66/6ccca4722987ddedaa7fc9c3f4708af7431f5535666c174350830888c6b7/cryptography-50.0.1-cp311-abi3-manylinux_2_34_x86_64.whl#sha256=51afcfceb15597cf2635068e4ac9a56b2abde622edde17f37d85fd7b5306497a dill==0.3.9 \ --hash=sha256:468dff3b89520b474c0397703366b7b95eebe6303f108adf9b19da1f702be87a # via pylint (>=0.3.6) # https://files.pythonhosted.org/packages/46/d1/e73b6ad76f0b1fb7f23c35c6d95dbc506a9c8804f43dda8cb5b0fa6331fd/dill-0.3.9-py3-none-any.whl#sha256=468dff3b89520b474c0397703366b7b95eebe6303f108adf9b19da1f702be87a +docutils==0.23 \ + --hash=sha256:25d013af9bf23bc1c7b2b093dff4208166c53a94786c9e447808335ef1185fea + # via readme_renderer (>=0.21.2) + # https://files.pythonhosted.org/packages/32/91/30151a39f7570f448ed84529390628a651d7f27c87d73c9b887f8189695e/docutils-0.23-py3-none-any.whl#sha256=25d013af9bf23bc1c7b2b093dff4208166c53a94786c9e447808335ef1185fea +id==1.6.1 \ + --hash=sha256:f5ec41ed2629a508f5d0988eda142e190c9c6da971100612c4de9ad9f9b237ca + # via twine + # https://files.pythonhosted.org/packages/42/77/de194443bf38daed9452139e960c632b0ef9f9a5dd9ce605fdf18ca9f1b1/id-1.6.1-py3-none-any.whl#sha256=f5ec41ed2629a508f5d0988eda142e190c9c6da971100612c4de9ad9f9b237ca idna==3.10 \ --hash=sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3 # via requests (<4,>=2.5) # https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl#sha256=946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3 +importlib_metadata==9.0.1 \ + --hash=sha256:bba5600596a7e21f3eef53281cf28d6a5195634d2f2b78ff9501a3272c6eaab0 + # via keyring (>=4.11.4) + # https://files.pythonhosted.org/packages/b3/55/ecca97ae19075f1fac62def77731e7f535e6c1fb8f92ff08160c5e6dade8/importlib_metadata-9.0.1-py3-none-any.whl#sha256=bba5600596a7e21f3eef53281cf28d6a5195634d2f2b78ff9501a3272c6eaab0 iniconfig==2.1.0 \ --hash=sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760 # via pytest @@ -54,35 +82,82 @@ isort==6.0.1 \ # _main/3rdparty/bazel-requirements.in # pylint (!=5.13,<7,>=4.2.5) # https://files.pythonhosted.org/packages/c1/11/114d0a5f4dabbdcedc1125dee0888514c3c3b16d3e9facad87ed96fad97c/isort-6.0.1-py3-none-any.whl#sha256=2dc5d7f65c9678d94c88dfc29161a320eec67328bc97aad576874cb4be1e9615 +jaraco.classes==3.4.0 \ + --hash=sha256:f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790 + # via keyring + # https://files.pythonhosted.org/packages/7f/66/b15ce62552d84bbfcec9a4873ab79d993a1dd4edb922cbfccae192bd5b5f/jaraco.classes-3.4.0-py3-none-any.whl#sha256=f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790 +jaraco.context==6.1.2 \ + --hash=sha256:bf8150b79a2d5d91ae48629d8b427a8f7ba0e1097dd6202a9059f29a36379535 + # via keyring + # https://files.pythonhosted.org/packages/f2/58/bc8954bda5fcda97bd7c19be11b85f91973d67a706ed4a3aec33e7de22db/jaraco_context-6.1.2-py3-none-any.whl#sha256=bf8150b79a2d5d91ae48629d8b427a8f7ba0e1097dd6202a9059f29a36379535 +jaraco.functools==4.6.0 \ + --hash=sha256:99e3dc0060c5cbe8fcd1cdb36258e2a65ca40f1566b2033b12abb1bb44dd3c30 + # via keyring + # https://files.pythonhosted.org/packages/02/36/ecc85bc96c273dc8a11273ed4782272975e6338d4a3e9228621175edf0e3/jaraco_functools-4.6.0-py3-none-any.whl#sha256=99e3dc0060c5cbe8fcd1cdb36258e2a65ca40f1566b2033b12abb1bb44dd3c30 +jeepney==0.9.0 \ + --hash=sha256:97e5714520c16fc0a45695e5365a2e11b81ea79bba796e26f9f1d178cb182683 + # via + # keyring (>=0.4.2) + # SecretStorage (>=0.6) + # https://files.pythonhosted.org/packages/b2/a3/e137168c9c44d18eff0376253da9f1e9234d0239e0ee230d2fee6cea8e55/jeepney-0.9.0-py3-none-any.whl#sha256=97e5714520c16fc0a45695e5365a2e11b81ea79bba796e26f9f1d178cb182683 +keyring==25.7.0 \ + --hash=sha256:be4a0b195f149690c166e850609a477c532ddbfbaed96a404d4e43f8d5e2689f + # via twine (>=21.2.0) + # https://files.pythonhosted.org/packages/81/db/e655086b7f3a705df045bf0933bdd9c2f79bb3c97bfef1384598bb79a217/keyring-25.7.0-py3-none-any.whl#sha256=be4a0b195f149690c166e850609a477c532ddbfbaed96a404d4e43f8d5e2689f +librt==0.15.0 \ + --hash=sha256:f779070399f991400fc451719e0ea388eb7de313388bada2c127a35de05f798a + # via mypy (>=0.13.0) + # https://files.pythonhosted.org/packages/0f/e1/7a65eb5dedb1f00aebd948cdd8e17add48bf066cab3514e9daf84ab45a6c/librt-0.15.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl#sha256=f779070399f991400fc451719e0ea388eb7de313388bada2c127a35de05f798a +markdown-it-py==4.2.0 \ + --hash=sha256:9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a + # via rich (>=2.2.0) + # https://files.pythonhosted.org/packages/b3/81/4da04ced5a082363ecfa159c010d200ecbd959ae410c10c0264a38cac0f5/markdown_it_py-4.2.0-py3-none-any.whl#sha256=9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a mccabe==0.7.0 \ --hash=sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e # via pylint (<0.8,>=0.6) # https://files.pythonhosted.org/packages/27/1a/1f68f9ba0c207934b35b86a8ca3aad8395a3d6dd7921c0686e23853ff5a9/mccabe-0.7.0-py2.py3-none-any.whl#sha256=6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e -mypy==1.15.0 \ - --hash=sha256:5a95fb17c13e29d2d5195869262f8125dfdb5c134dc8d9a9d0aecf7525b10c2c - # via _main/3rdparty/bazel-requirements.in - # https://files.pythonhosted.org/packages/e9/9a/1f7d18b30edd57441a6411fcbc0c6869448d1a4bacbaee60656ac0fc29c8/mypy-1.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl#sha256=5a95fb17c13e29d2d5195869262f8125dfdb5c134dc8d9a9d0aecf7525b10c2c +mdurl==0.1.2 \ + --hash=sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 + # via markdown-it-py (~=0.1) + # https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl#sha256=84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 +more-itertools==11.1.0 \ + --hash=sha256:4b65538ae22f6fed0ce4874efd317463a7489796a0939fa66824dd542125a192 + # via + # jaraco.classes + # jaraco.functools + # https://files.pythonhosted.org/packages/e8/3d/1087453384dbde46a8c7f9356eead2c58be8a7bf156bca40243377c85715/more_itertools-11.1.0-py3-none-any.whl#sha256=4b65538ae22f6fed0ce4874efd317463a7489796a0939fa66824dd542125a192 +mypy==2.3.1 \ + --hash=sha256:b091a455111214cb5c9d54a57b9618e9a49f9fe2a42e4e1ac86e9d104ed96ce8 + # via _main/3rdparty/bazel-requirements.in (>=2.0) + # https://files.pythonhosted.org/packages/4a/ff/6b97d58aa0f79a5ab9b472db1f6d6df1b11a51d74d0c08ab3760d3a613ba/mypy-2.3.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl#sha256=b091a455111214cb5c9d54a57b9618e9a49f9fe2a42e4e1ac86e9d104ed96ce8 mypy-extensions==1.0.0 \ --hash=sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d # via # black (>=0.4.3) # mypy (>=1.0.0) # https://files.pythonhosted.org/packages/2a/e2/5d3f6ada4297caebe1a2add3b126fe800c96f56dbe5d1988a2cbe0b267aa/mypy_extensions-1.0.0-py3-none-any.whl#sha256=4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d +nh3==0.3.7 \ + --hash=sha256:70f5ac8626e899a4bab0ef74ca2f5bd602f49c7b739e6e5026b4afc6d63dac42 + # via readme_renderer (>=0.2.14) + # https://files.pythonhosted.org/packages/a6/ed/c5510c615dce55b6fcc364aa1838142f938beed64f5e4927490dfcaf4405/nh3-0.3.7-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=70f5ac8626e899a4bab0ef74ca2f5bd602f49c7b739e6e5026b4afc6d63dac42 overrides==7.7.0 \ --hash=sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49 # via _main/3rdparty/bazel-requirements.in # https://files.pythonhosted.org/packages/2c/ab/fc8290c6a4c722e5514d80f62b2dc4c4df1a68a41d1364e625c35990fcf3/overrides-7.7.0-py3-none-any.whl#sha256=c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49 -packaging==24.2 \ - --hash=sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759 +packaging==26.3 \ + --hash=sha256:d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c # via # _main/3rdparty/bazel-requirements.in # black (>=22.0) # pytest - # https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl#sha256=09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759 -pathspec==0.12.1 \ - --hash=sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08 - # via black (>=0.9.0) - # https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl#sha256=a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08 + # twine (>=26.1) + # https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl#sha256=d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c +pathspec==1.1.1 \ + --hash=sha256:a00ce642f577bf7f473932318056212bc4f8bfdf53128c78bbd5af0b9b20b189 + # via + # black (>=0.9.0) + # mypy (>=1.0.0) + # https://files.pythonhosted.org/packages/f1/d9/7fb5aa316bc299258e68c73ba3bddbc499654a07f151cba08f6153988714/pathspec-1.1.1-py3-none-any.whl#sha256=a00ce642f577bf7f473932318056212bc4f8bfdf53128c78bbd5af0b9b20b189 platformdirs==4.3.7 \ --hash=sha256:a03875334331946f13c549dbd8f4bac7a13a50a895a0eb1e8c6a8ace80d40a94 # via @@ -93,6 +168,16 @@ pluggy==1.5.0 \ --hash=sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669 # via pytest (<2,>=1.5) # https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl#sha256=44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669 +pycparser==3.0 \ + --hash=sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992 + # via cffi + # https://files.pythonhosted.org/packages/0c/c3/44f3fbbfa403ea2a7c779186dc20772604442dde72947e7d01069cbe98e3/pycparser-3.0-py3-none-any.whl#sha256=b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992 +Pygments==2.21.0 \ + --hash=sha256:2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377137d9 + # via + # readme_renderer (>=2.5.1) + # rich (<3.0.0,>=2.13.0) + # https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl#sha256=2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377137d9 pylint==3.3.6 \ --hash=sha256:8b7c2d3e86ae3f94fb27703d521dd0b9b6b378775991f504d7c3a6275aa0a6a6 # via _main/3rdparty/bazel-requirements.in @@ -111,16 +196,38 @@ PyYAML==6.0.2 \ --hash=sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85 # via responses # https://files.pythonhosted.org/packages/75/e4/2c27590dfc9992f73aabbeb9241ae20220bd9452df27483b6e56d3975cc5/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85 +readme_renderer==46.0 \ + --hash=sha256:d0dae1f74bb273b534770cb4cccb6bb78735540afdb03c2146f4e19dcd412560 + # via twine (>=35.0) + # https://files.pythonhosted.org/packages/4b/72/ac5ca81fe9121fcaa9d828d21017cba00a16a98e4ea5fb60c878f93dda4f/readme_renderer-46.0-py3-none-any.whl#sha256=d0dae1f74bb273b534770cb4cccb6bb78735540afdb03c2146f4e19dcd412560 requests==2.32.3 \ --hash=sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6 # via - # _main/3rdparty/bazel-requirements.in ([security]) + # _main/3rdparty/bazel-requirements.in + # requests-toolbelt (<3.0.0,>=2.0.1) # responses (<3.0,>=2.30.0) + # twine (>=2.20) # https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl#sha256=70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6 +requests-toolbelt==1.0.0 \ + --hash=sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06 + # via twine (!=0.9.0,>=0.8.0) + # https://files.pythonhosted.org/packages/3f/51/d4db610ef29373b879047326cbf6fa98b6c1969d6f6dc423279de2b1be2c/requests_toolbelt-1.0.0-py2.py3-none-any.whl#sha256=cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06 responses==0.25.7 \ --hash=sha256:92ca17416c90fe6b35921f52179bff29332076bb32694c0df02dcac2c6bc043c # via _main/3rdparty/bazel-requirements.in # https://files.pythonhosted.org/packages/e4/fc/1d20b64fa90e81e4fa0a34c9b0240a6cfb1326b7e06d18a5432a9917c316/responses-0.25.7-py3-none-any.whl#sha256=92ca17416c90fe6b35921f52179bff29332076bb32694c0df02dcac2c6bc043c +rfc3986==2.0.0 \ + --hash=sha256:50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd + # via twine (>=1.4.0) + # https://files.pythonhosted.org/packages/ff/9a/9afaade874b2fa6c752c36f1548f718b5b83af81ed9b76628329dab81c1b/rfc3986-2.0.0-py2.py3-none-any.whl#sha256=50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd +rich==15.0.0 \ + --hash=sha256:33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb + # via twine (>=14.3.3) + # https://files.pythonhosted.org/packages/82/3b/64d4899d73f91ba49a8c18a8ff3f0ea8f1c1d75481760df8c68ef5235bf5/rich-15.0.0-py3-none-any.whl#sha256=33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb +SecretStorage==3.5.0 \ + --hash=sha256:0ce65888c0725fcb2c5bc0fdb8e5438eece02c523557ea40ce0703c266248137 + # via keyring (>=3.2) + # https://files.pythonhosted.org/packages/b7/46/f5af3402b579fd5e11573ce652019a67074317e18c1935cc0b4ba9b35552/secretstorage-3.5.0-py3-none-any.whl#sha256=0ce65888c0725fcb2c5bc0fdb8e5438eece02c523557ea40ce0703c266248137 setuptools==78.1.0 \ --hash=sha256:3e386e96793c8702ae83d17b853fb93d3e09ef82ec62722e61da5cd22376dcd8 # via @@ -139,6 +246,10 @@ tomlkit==0.13.2 \ --hash=sha256:7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde # via pylint (>=0.10.1) # https://files.pythonhosted.org/packages/f9/b6/a447b5e4ec71e13871be01ba81f5dfc9d0af7e473da256ff46bc0e24026f/tomlkit-0.13.2-py3-none-any.whl#sha256=7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde +twine==7.0.0 \ + --hash=sha256:b854164df26db268af05f49aa5c0344b10e27a494343ff05b1e0bad3b135f5a7 + # via _main/3rdparty/bazel-requirements.in + # https://files.pythonhosted.org/packages/96/08/ddcdc06225eaad6de0e48e1002b06d919dbde20582d0662c7af51308e5d6/twine-7.0.0-py3-none-any.whl#sha256=b854164df26db268af05f49aa5c0344b10e27a494343ff05b1e0bad3b135f5a7 types-appdirs==1.4.3.5 \ --hash=sha256:337c750e423c40911d389359b4edabe5bbc2cdd5cd0bd0518b71d2839646273b # via _main/3rdparty/bazel-requirements.in @@ -157,18 +268,22 @@ types-toml==0.10.8.20240310 \ # https://files.pythonhosted.org/packages/da/a2/d32ab58c0b216912638b140ab2170ee4b8644067c293b170e19fba340ccc/types_toml-0.10.8.20240310-py3-none-any.whl#sha256=627b47775d25fa29977d9c70dc0cbab3f314f32c8d8d0c012f2ef5de7aaec05d typing_extensions==4.13.0 \ --hash=sha256:c8dd92cc0d6425a97c18fbb9d1954e5ff92c1ca881a309c45f06ebc0b79058e5 - # via - # _main/3rdparty/bazel-requirements.in - # mypy (>=4.6.0) + # via mypy (>=4.6.0) # https://files.pythonhosted.org/packages/e0/86/39b65d676ec5732de17b7e3c476e45bb80ec64eb50737a8dce1a4178aba1/typing_extensions-4.13.0-py3-none-any.whl#sha256=c8dd92cc0d6425a97c18fbb9d1954e5ff92c1ca881a309c45f06ebc0b79058e5 urllib3==2.3.0 \ --hash=sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df # via + # id (<3,>=2) # requests (<3,>=1.21.1) # responses (<3.0,>=1.25.10) + # twine (>=1.26.0) # types-requests (>=2) # https://files.pythonhosted.org/packages/c8/19/4ec628951a74043532ca2cf5d97b7b14863931476d117c471e8e2b1eb39f/urllib3-2.3.0-py3-none-any.whl#sha256=1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df wheel==0.45.1 \ --hash=sha256:708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248 # via _main/3rdparty/bazel-requirements.in # https://files.pythonhosted.org/packages/0b/2c/87f3254fd8ffd29e4c02732eee68a83a1d3c346ae39bc6822dcbcb697f2b/wheel-0.45.1-py3-none-any.whl#sha256=708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248 +zipp==4.1.0 \ + --hash=sha256:25ad4e16390cd314347dd8f1de67a2ac538ae658ed4ab9db16029c07c188e97f + # via importlib_metadata (>=3.20) + # https://files.pythonhosted.org/packages/3a/13/547360d81e6d88d58492968ffda9f9542854f11310ee556fef14260cc886/zipp-4.1.0-py3-none-any.whl#sha256=25ad4e16390cd314347dd8f1de67a2ac538ae658ed4ab9db16029c07c188e97f diff --git a/3rdparty/requirements.macos_aarch64.txt b/3rdparty/requirements.macos_aarch64.txt index 24ba0b76..ecabaa41 100644 --- a/3rdparty/requirements.macos_aarch64.txt +++ b/3rdparty/requirements.macos_aarch64.txt @@ -1,7 +1,7 @@ ################################################################################ ## AUTOGENERATED: This file is autogenerated by req-compile. ## -## Python: 3.11.11 +## Python: 3.11.14 ## Platform: Darwin ## ## To regenerate this file, use the following command: @@ -16,10 +16,18 @@ appdirs==1.4.4 \ --hash=sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128 # via _main/3rdparty/bazel-requirements.in # https://files.pythonhosted.org/packages/3b/00/2344469e2084fb287c2e0b57b72910309874c3245463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl#sha256=a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128 +ast_serialize==0.11.2 \ + --hash=sha256:1844ed9a487fb3de7325c52ddb33f2918b66b65cd54d3f8d83d23785ffe99fa4 + # via mypy (<1.0.0,>=0.6.0) + # https://files.pythonhosted.org/packages/9a/7e/8f2ab68bddbe58a66fbbaad87beeae3e7d7edddb17263d1fc423936cf34d/ast_serialize-0.11.2-cp39-abi3-macosx_11_0_arm64.whl#sha256=1844ed9a487fb3de7325c52ddb33f2918b66b65cd54d3f8d83d23785ffe99fa4 astroid==3.3.9 \ --hash=sha256:d05bfd0acba96a7bd43e222828b7d9bc1e138aaeb0649707908d3702a9831248 # via pylint (<=3.4.0.dev0,>=3.3.8) # https://files.pythonhosted.org/packages/de/80/c749efbd8eef5ea77c7d6f1956e8fbfb51963b7f93ef79647afd4d9886e3/astroid-3.3.9-py3-none-any.whl#sha256=d05bfd0acba96a7bd43e222828b7d9bc1e138aaeb0649707908d3702a9831248 +backports.tarfile==1.2.0 \ + --hash=sha256:77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34 + # via jaraco.context + # https://files.pythonhosted.org/packages/b9/fa/123043af240e49752f1c4bd24da5053b6bd00cad78c2be53c0d1e8b975bc/backports.tarfile-1.2.0-py3-none-any.whl#sha256=77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34 black==25.1.0 \ --hash=sha256:96c1c7cd856bba8e20094e36e0f948718dc688dba4a9d78c3adde52b9e6c2299 # via _main/3rdparty/bazel-requirements.in @@ -40,10 +48,22 @@ dill==0.3.9 \ --hash=sha256:468dff3b89520b474c0397703366b7b95eebe6303f108adf9b19da1f702be87a # via pylint (>=0.3.6) # https://files.pythonhosted.org/packages/46/d1/e73b6ad76f0b1fb7f23c35c6d95dbc506a9c8804f43dda8cb5b0fa6331fd/dill-0.3.9-py3-none-any.whl#sha256=468dff3b89520b474c0397703366b7b95eebe6303f108adf9b19da1f702be87a +docutils==0.23 \ + --hash=sha256:25d013af9bf23bc1c7b2b093dff4208166c53a94786c9e447808335ef1185fea + # via readme_renderer (>=0.21.2) + # https://files.pythonhosted.org/packages/32/91/30151a39f7570f448ed84529390628a651d7f27c87d73c9b887f8189695e/docutils-0.23-py3-none-any.whl#sha256=25d013af9bf23bc1c7b2b093dff4208166c53a94786c9e447808335ef1185fea +id==1.6.1 \ + --hash=sha256:f5ec41ed2629a508f5d0988eda142e190c9c6da971100612c4de9ad9f9b237ca + # via twine + # https://files.pythonhosted.org/packages/42/77/de194443bf38daed9452139e960c632b0ef9f9a5dd9ce605fdf18ca9f1b1/id-1.6.1-py3-none-any.whl#sha256=f5ec41ed2629a508f5d0988eda142e190c9c6da971100612c4de9ad9f9b237ca idna==3.10 \ --hash=sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3 # via requests (<4,>=2.5) # https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl#sha256=946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3 +importlib_metadata==9.0.1 \ + --hash=sha256:bba5600596a7e21f3eef53281cf28d6a5195634d2f2b78ff9501a3272c6eaab0 + # via keyring (>=4.11.4) + # https://files.pythonhosted.org/packages/b3/55/ecca97ae19075f1fac62def77731e7f535e6c1fb8f92ff08160c5e6dade8/importlib_metadata-9.0.1-py3-none-any.whl#sha256=bba5600596a7e21f3eef53281cf28d6a5195634d2f2b78ff9501a3272c6eaab0 iniconfig==2.1.0 \ --hash=sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760 # via pytest @@ -54,35 +74,76 @@ isort==6.0.1 \ # _main/3rdparty/bazel-requirements.in # pylint (!=5.13,<7,>=4.2.5) # https://files.pythonhosted.org/packages/c1/11/114d0a5f4dabbdcedc1125dee0888514c3c3b16d3e9facad87ed96fad97c/isort-6.0.1-py3-none-any.whl#sha256=2dc5d7f65c9678d94c88dfc29161a320eec67328bc97aad576874cb4be1e9615 +jaraco.classes==3.4.0 \ + --hash=sha256:f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790 + # via keyring + # https://files.pythonhosted.org/packages/7f/66/b15ce62552d84bbfcec9a4873ab79d993a1dd4edb922cbfccae192bd5b5f/jaraco.classes-3.4.0-py3-none-any.whl#sha256=f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790 +jaraco.context==6.1.2 \ + --hash=sha256:bf8150b79a2d5d91ae48629d8b427a8f7ba0e1097dd6202a9059f29a36379535 + # via keyring + # https://files.pythonhosted.org/packages/f2/58/bc8954bda5fcda97bd7c19be11b85f91973d67a706ed4a3aec33e7de22db/jaraco_context-6.1.2-py3-none-any.whl#sha256=bf8150b79a2d5d91ae48629d8b427a8f7ba0e1097dd6202a9059f29a36379535 +jaraco.functools==4.6.0 \ + --hash=sha256:99e3dc0060c5cbe8fcd1cdb36258e2a65ca40f1566b2033b12abb1bb44dd3c30 + # via keyring + # https://files.pythonhosted.org/packages/02/36/ecc85bc96c273dc8a11273ed4782272975e6338d4a3e9228621175edf0e3/jaraco_functools-4.6.0-py3-none-any.whl#sha256=99e3dc0060c5cbe8fcd1cdb36258e2a65ca40f1566b2033b12abb1bb44dd3c30 +keyring==25.7.0 \ + --hash=sha256:be4a0b195f149690c166e850609a477c532ddbfbaed96a404d4e43f8d5e2689f + # via twine (>=21.2.0) + # https://files.pythonhosted.org/packages/81/db/e655086b7f3a705df045bf0933bdd9c2f79bb3c97bfef1384598bb79a217/keyring-25.7.0-py3-none-any.whl#sha256=be4a0b195f149690c166e850609a477c532ddbfbaed96a404d4e43f8d5e2689f +librt==0.15.0 \ + --hash=sha256:c70bc1b602cf59917e8f0c7a2cbc8bcc6fbc14d5486136b00707a79619121d63 + # via mypy (>=0.13.0) + # https://files.pythonhosted.org/packages/e7/1d/8e150b7fc449a1f33c8a760965cc1f43b14fc1577d9d0b50ab2701420e74/librt-0.15.0-cp311-cp311-macosx_11_0_arm64.whl#sha256=c70bc1b602cf59917e8f0c7a2cbc8bcc6fbc14d5486136b00707a79619121d63 +markdown-it-py==4.2.0 \ + --hash=sha256:9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a + # via rich (>=2.2.0) + # https://files.pythonhosted.org/packages/b3/81/4da04ced5a082363ecfa159c010d200ecbd959ae410c10c0264a38cac0f5/markdown_it_py-4.2.0-py3-none-any.whl#sha256=9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a mccabe==0.7.0 \ --hash=sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e # via pylint (<0.8,>=0.6) # https://files.pythonhosted.org/packages/27/1a/1f68f9ba0c207934b35b86a8ca3aad8395a3d6dd7921c0686e23853ff5a9/mccabe-0.7.0-py2.py3-none-any.whl#sha256=6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e -mypy==1.15.0 \ - --hash=sha256:2ee2d57e01a7c35de00f4634ba1bbf015185b219e4dc5909e281016df43f5ee5 - # via _main/3rdparty/bazel-requirements.in - # https://files.pythonhosted.org/packages/e2/90/8dcf506ca1a09b0d17555cc00cd69aee402c203911410136cd716559efe7/mypy-1.15.0-cp311-cp311-macosx_11_0_arm64.whl#sha256=2ee2d57e01a7c35de00f4634ba1bbf015185b219e4dc5909e281016df43f5ee5 +mdurl==0.1.2 \ + --hash=sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 + # via markdown-it-py (~=0.1) + # https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl#sha256=84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 +more-itertools==11.1.0 \ + --hash=sha256:4b65538ae22f6fed0ce4874efd317463a7489796a0939fa66824dd542125a192 + # via + # jaraco.classes + # jaraco.functools + # https://files.pythonhosted.org/packages/e8/3d/1087453384dbde46a8c7f9356eead2c58be8a7bf156bca40243377c85715/more_itertools-11.1.0-py3-none-any.whl#sha256=4b65538ae22f6fed0ce4874efd317463a7489796a0939fa66824dd542125a192 +mypy==2.3.1 \ + --hash=sha256:94f04929f1c44c35fb0061e912087edaf504acede963a4a7d00680bd089d8531 + # via _main/3rdparty/bazel-requirements.in (>=2.0) + # https://files.pythonhosted.org/packages/a4/be/c624d4241484f37dc62839e177ab607a9b8b3e96f0866544ca99e8e41d51/mypy-2.3.1-cp311-cp311-macosx_11_0_arm64.whl#sha256=94f04929f1c44c35fb0061e912087edaf504acede963a4a7d00680bd089d8531 mypy-extensions==1.0.0 \ --hash=sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d # via # black (>=0.4.3) # mypy (>=1.0.0) # https://files.pythonhosted.org/packages/2a/e2/5d3f6ada4297caebe1a2add3b126fe800c96f56dbe5d1988a2cbe0b267aa/mypy_extensions-1.0.0-py3-none-any.whl#sha256=4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d +nh3==0.3.7 \ + --hash=sha256:6c3aa50eb26e9228238271db9f983cbc3b006dfbfeca2d4dc34c33ddc6ac5ea5 + # via readme_renderer (>=0.2.14) + # https://files.pythonhosted.org/packages/94/0d/c257754bf57f829f307aa226bbe136d3a1356b5a0d08324c7b6bd2a8aacd/nh3-0.3.7-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl#sha256=6c3aa50eb26e9228238271db9f983cbc3b006dfbfeca2d4dc34c33ddc6ac5ea5 overrides==7.7.0 \ --hash=sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49 # via _main/3rdparty/bazel-requirements.in # https://files.pythonhosted.org/packages/2c/ab/fc8290c6a4c722e5514d80f62b2dc4c4df1a68a41d1364e625c35990fcf3/overrides-7.7.0-py3-none-any.whl#sha256=c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49 -packaging==24.2 \ - --hash=sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759 +packaging==26.3 \ + --hash=sha256:d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c # via # _main/3rdparty/bazel-requirements.in # black (>=22.0) # pytest - # https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl#sha256=09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759 -pathspec==0.12.1 \ - --hash=sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08 - # via black (>=0.9.0) - # https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl#sha256=a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08 + # twine (>=26.1) + # https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl#sha256=d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c +pathspec==1.1.1 \ + --hash=sha256:a00ce642f577bf7f473932318056212bc4f8bfdf53128c78bbd5af0b9b20b189 + # via + # black (>=0.9.0) + # mypy (>=1.0.0) + # https://files.pythonhosted.org/packages/f1/d9/7fb5aa316bc299258e68c73ba3bddbc499654a07f151cba08f6153988714/pathspec-1.1.1-py3-none-any.whl#sha256=a00ce642f577bf7f473932318056212bc4f8bfdf53128c78bbd5af0b9b20b189 platformdirs==4.3.7 \ --hash=sha256:a03875334331946f13c549dbd8f4bac7a13a50a895a0eb1e8c6a8ace80d40a94 # via @@ -93,6 +154,12 @@ pluggy==1.5.0 \ --hash=sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669 # via pytest (<2,>=1.5) # https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl#sha256=44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669 +Pygments==2.21.0 \ + --hash=sha256:2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377137d9 + # via + # readme_renderer (>=2.5.1) + # rich (<3.0.0,>=2.13.0) + # https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl#sha256=2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377137d9 pylint==3.3.6 \ --hash=sha256:8b7c2d3e86ae3f94fb27703d521dd0b9b6b378775991f504d7c3a6275aa0a6a6 # via _main/3rdparty/bazel-requirements.in @@ -111,16 +178,34 @@ PyYAML==6.0.2 \ --hash=sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee # via responses # https://files.pythonhosted.org/packages/8b/62/b9faa998fd185f65c1371643678e4d58254add437edb764a08c5a98fb986/PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl#sha256=1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee +readme_renderer==46.0 \ + --hash=sha256:d0dae1f74bb273b534770cb4cccb6bb78735540afdb03c2146f4e19dcd412560 + # via twine (>=35.0) + # https://files.pythonhosted.org/packages/4b/72/ac5ca81fe9121fcaa9d828d21017cba00a16a98e4ea5fb60c878f93dda4f/readme_renderer-46.0-py3-none-any.whl#sha256=d0dae1f74bb273b534770cb4cccb6bb78735540afdb03c2146f4e19dcd412560 requests==2.32.3 \ --hash=sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6 # via - # _main/3rdparty/bazel-requirements.in ([security]) + # _main/3rdparty/bazel-requirements.in + # requests-toolbelt (<3.0.0,>=2.0.1) # responses (<3.0,>=2.30.0) + # twine (>=2.20) # https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl#sha256=70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6 +requests-toolbelt==1.0.0 \ + --hash=sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06 + # via twine (!=0.9.0,>=0.8.0) + # https://files.pythonhosted.org/packages/3f/51/d4db610ef29373b879047326cbf6fa98b6c1969d6f6dc423279de2b1be2c/requests_toolbelt-1.0.0-py2.py3-none-any.whl#sha256=cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06 responses==0.25.7 \ --hash=sha256:92ca17416c90fe6b35921f52179bff29332076bb32694c0df02dcac2c6bc043c # via _main/3rdparty/bazel-requirements.in # https://files.pythonhosted.org/packages/e4/fc/1d20b64fa90e81e4fa0a34c9b0240a6cfb1326b7e06d18a5432a9917c316/responses-0.25.7-py3-none-any.whl#sha256=92ca17416c90fe6b35921f52179bff29332076bb32694c0df02dcac2c6bc043c +rfc3986==2.0.0 \ + --hash=sha256:50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd + # via twine (>=1.4.0) + # https://files.pythonhosted.org/packages/ff/9a/9afaade874b2fa6c752c36f1548f718b5b83af81ed9b76628329dab81c1b/rfc3986-2.0.0-py2.py3-none-any.whl#sha256=50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd +rich==15.0.0 \ + --hash=sha256:33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb + # via twine (>=14.3.3) + # https://files.pythonhosted.org/packages/82/3b/64d4899d73f91ba49a8c18a8ff3f0ea8f1c1d75481760df8c68ef5235bf5/rich-15.0.0-py3-none-any.whl#sha256=33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb setuptools==78.1.0 \ --hash=sha256:3e386e96793c8702ae83d17b853fb93d3e09ef82ec62722e61da5cd22376dcd8 # via @@ -139,6 +224,10 @@ tomlkit==0.13.2 \ --hash=sha256:7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde # via pylint (>=0.10.1) # https://files.pythonhosted.org/packages/f9/b6/a447b5e4ec71e13871be01ba81f5dfc9d0af7e473da256ff46bc0e24026f/tomlkit-0.13.2-py3-none-any.whl#sha256=7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde +twine==7.0.0 \ + --hash=sha256:b854164df26db268af05f49aa5c0344b10e27a494343ff05b1e0bad3b135f5a7 + # via _main/3rdparty/bazel-requirements.in + # https://files.pythonhosted.org/packages/96/08/ddcdc06225eaad6de0e48e1002b06d919dbde20582d0662c7af51308e5d6/twine-7.0.0-py3-none-any.whl#sha256=b854164df26db268af05f49aa5c0344b10e27a494343ff05b1e0bad3b135f5a7 types-appdirs==1.4.3.5 \ --hash=sha256:337c750e423c40911d389359b4edabe5bbc2cdd5cd0bd0518b71d2839646273b # via _main/3rdparty/bazel-requirements.in @@ -157,18 +246,22 @@ types-toml==0.10.8.20240310 \ # https://files.pythonhosted.org/packages/da/a2/d32ab58c0b216912638b140ab2170ee4b8644067c293b170e19fba340ccc/types_toml-0.10.8.20240310-py3-none-any.whl#sha256=627b47775d25fa29977d9c70dc0cbab3f314f32c8d8d0c012f2ef5de7aaec05d typing_extensions==4.13.0 \ --hash=sha256:c8dd92cc0d6425a97c18fbb9d1954e5ff92c1ca881a309c45f06ebc0b79058e5 - # via - # _main/3rdparty/bazel-requirements.in - # mypy (>=4.6.0) + # via mypy (>=4.6.0) # https://files.pythonhosted.org/packages/e0/86/39b65d676ec5732de17b7e3c476e45bb80ec64eb50737a8dce1a4178aba1/typing_extensions-4.13.0-py3-none-any.whl#sha256=c8dd92cc0d6425a97c18fbb9d1954e5ff92c1ca881a309c45f06ebc0b79058e5 urllib3==2.3.0 \ --hash=sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df # via + # id (<3,>=2) # requests (<3,>=1.21.1) # responses (<3.0,>=1.25.10) + # twine (>=1.26.0) # types-requests (>=2) # https://files.pythonhosted.org/packages/c8/19/4ec628951a74043532ca2cf5d97b7b14863931476d117c471e8e2b1eb39f/urllib3-2.3.0-py3-none-any.whl#sha256=1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df wheel==0.45.1 \ --hash=sha256:708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248 # via _main/3rdparty/bazel-requirements.in # https://files.pythonhosted.org/packages/0b/2c/87f3254fd8ffd29e4c02732eee68a83a1d3c346ae39bc6822dcbcb697f2b/wheel-0.45.1-py3-none-any.whl#sha256=708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248 +zipp==4.1.0 \ + --hash=sha256:25ad4e16390cd314347dd8f1de67a2ac538ae658ed4ab9db16029c07c188e97f + # via importlib_metadata (>=3.20) + # https://files.pythonhosted.org/packages/3a/13/547360d81e6d88d58492968ffda9f9542854f11310ee556fef14260cc886/zipp-4.1.0-py3-none-any.whl#sha256=25ad4e16390cd314347dd8f1de67a2ac538ae658ed4ab9db16029c07c188e97f diff --git a/3rdparty/requirements.macos_x86_64.txt b/3rdparty/requirements.macos_x86_64.txt index d5ad9ca3..6814e89d 100644 --- a/3rdparty/requirements.macos_x86_64.txt +++ b/3rdparty/requirements.macos_x86_64.txt @@ -1,7 +1,7 @@ ################################################################################ ## AUTOGENERATED: This file is autogenerated by req-compile. ## -## Python: 3.11.11 +## Python: 3.11.14 ## Platform: Darwin ## ## To regenerate this file, use the following command: @@ -16,10 +16,18 @@ appdirs==1.4.4 \ --hash=sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128 # via _main/3rdparty/bazel-requirements.in # https://files.pythonhosted.org/packages/3b/00/2344469e2084fb287c2e0b57b72910309874c3245463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl#sha256=a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128 +ast_serialize==0.11.2 \ + --hash=sha256:daadf1c3e0224621607ffe16f1379e4bd372271ed2e1db8a67878f0bab3ef7e4 + # via mypy (<1.0.0,>=0.6.0) + # https://files.pythonhosted.org/packages/b1/54/f67120006fc73a55b6d057d4662d061fbb4eceafce3047c76ca8b382eb11/ast_serialize-0.11.2-cp39-abi3-macosx_10_12_x86_64.whl#sha256=daadf1c3e0224621607ffe16f1379e4bd372271ed2e1db8a67878f0bab3ef7e4 astroid==3.3.9 \ --hash=sha256:d05bfd0acba96a7bd43e222828b7d9bc1e138aaeb0649707908d3702a9831248 # via pylint (<=3.4.0.dev0,>=3.3.8) # https://files.pythonhosted.org/packages/de/80/c749efbd8eef5ea77c7d6f1956e8fbfb51963b7f93ef79647afd4d9886e3/astroid-3.3.9-py3-none-any.whl#sha256=d05bfd0acba96a7bd43e222828b7d9bc1e138aaeb0649707908d3702a9831248 +backports.tarfile==1.2.0 \ + --hash=sha256:77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34 + # via jaraco.context + # https://files.pythonhosted.org/packages/b9/fa/123043af240e49752f1c4bd24da5053b6bd00cad78c2be53c0d1e8b975bc/backports.tarfile-1.2.0-py3-none-any.whl#sha256=77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34 black==25.1.0 \ --hash=sha256:a39337598244de4bae26475f77dda852ea00a93bd4c728e09eacd827ec929df0 # via _main/3rdparty/bazel-requirements.in @@ -40,10 +48,22 @@ dill==0.3.9 \ --hash=sha256:468dff3b89520b474c0397703366b7b95eebe6303f108adf9b19da1f702be87a # via pylint (>=0.3.6) # https://files.pythonhosted.org/packages/46/d1/e73b6ad76f0b1fb7f23c35c6d95dbc506a9c8804f43dda8cb5b0fa6331fd/dill-0.3.9-py3-none-any.whl#sha256=468dff3b89520b474c0397703366b7b95eebe6303f108adf9b19da1f702be87a +docutils==0.23 \ + --hash=sha256:25d013af9bf23bc1c7b2b093dff4208166c53a94786c9e447808335ef1185fea + # via readme_renderer (>=0.21.2) + # https://files.pythonhosted.org/packages/32/91/30151a39f7570f448ed84529390628a651d7f27c87d73c9b887f8189695e/docutils-0.23-py3-none-any.whl#sha256=25d013af9bf23bc1c7b2b093dff4208166c53a94786c9e447808335ef1185fea +id==1.6.1 \ + --hash=sha256:f5ec41ed2629a508f5d0988eda142e190c9c6da971100612c4de9ad9f9b237ca + # via twine + # https://files.pythonhosted.org/packages/42/77/de194443bf38daed9452139e960c632b0ef9f9a5dd9ce605fdf18ca9f1b1/id-1.6.1-py3-none-any.whl#sha256=f5ec41ed2629a508f5d0988eda142e190c9c6da971100612c4de9ad9f9b237ca idna==3.10 \ --hash=sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3 # via requests (<4,>=2.5) # https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl#sha256=946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3 +importlib_metadata==9.0.1 \ + --hash=sha256:bba5600596a7e21f3eef53281cf28d6a5195634d2f2b78ff9501a3272c6eaab0 + # via keyring (>=4.11.4) + # https://files.pythonhosted.org/packages/b3/55/ecca97ae19075f1fac62def77731e7f535e6c1fb8f92ff08160c5e6dade8/importlib_metadata-9.0.1-py3-none-any.whl#sha256=bba5600596a7e21f3eef53281cf28d6a5195634d2f2b78ff9501a3272c6eaab0 iniconfig==2.1.0 \ --hash=sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760 # via pytest @@ -54,35 +74,76 @@ isort==6.0.1 \ # _main/3rdparty/bazel-requirements.in # pylint (!=5.13,<7,>=4.2.5) # https://files.pythonhosted.org/packages/c1/11/114d0a5f4dabbdcedc1125dee0888514c3c3b16d3e9facad87ed96fad97c/isort-6.0.1-py3-none-any.whl#sha256=2dc5d7f65c9678d94c88dfc29161a320eec67328bc97aad576874cb4be1e9615 +jaraco.classes==3.4.0 \ + --hash=sha256:f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790 + # via keyring + # https://files.pythonhosted.org/packages/7f/66/b15ce62552d84bbfcec9a4873ab79d993a1dd4edb922cbfccae192bd5b5f/jaraco.classes-3.4.0-py3-none-any.whl#sha256=f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790 +jaraco.context==6.1.2 \ + --hash=sha256:bf8150b79a2d5d91ae48629d8b427a8f7ba0e1097dd6202a9059f29a36379535 + # via keyring + # https://files.pythonhosted.org/packages/f2/58/bc8954bda5fcda97bd7c19be11b85f91973d67a706ed4a3aec33e7de22db/jaraco_context-6.1.2-py3-none-any.whl#sha256=bf8150b79a2d5d91ae48629d8b427a8f7ba0e1097dd6202a9059f29a36379535 +jaraco.functools==4.6.0 \ + --hash=sha256:99e3dc0060c5cbe8fcd1cdb36258e2a65ca40f1566b2033b12abb1bb44dd3c30 + # via keyring + # https://files.pythonhosted.org/packages/02/36/ecc85bc96c273dc8a11273ed4782272975e6338d4a3e9228621175edf0e3/jaraco_functools-4.6.0-py3-none-any.whl#sha256=99e3dc0060c5cbe8fcd1cdb36258e2a65ca40f1566b2033b12abb1bb44dd3c30 +keyring==25.7.0 \ + --hash=sha256:be4a0b195f149690c166e850609a477c532ddbfbaed96a404d4e43f8d5e2689f + # via twine (>=21.2.0) + # https://files.pythonhosted.org/packages/81/db/e655086b7f3a705df045bf0933bdd9c2f79bb3c97bfef1384598bb79a217/keyring-25.7.0-py3-none-any.whl#sha256=be4a0b195f149690c166e850609a477c532ddbfbaed96a404d4e43f8d5e2689f +librt==0.15.0 \ + --hash=sha256:823b92cf3c18ecd08afc70c42473888b41b6e8ef5046f3b82c05c154a2fa3d22 + # via mypy (>=0.13.0) + # https://files.pythonhosted.org/packages/59/52/06790ced2ac7117f890c21bda43c39c958ec82aa665c0718e821d33ff939/librt-0.15.0-cp311-cp311-macosx_10_9_x86_64.whl#sha256=823b92cf3c18ecd08afc70c42473888b41b6e8ef5046f3b82c05c154a2fa3d22 +markdown-it-py==4.2.0 \ + --hash=sha256:9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a + # via rich (>=2.2.0) + # https://files.pythonhosted.org/packages/b3/81/4da04ced5a082363ecfa159c010d200ecbd959ae410c10c0264a38cac0f5/markdown_it_py-4.2.0-py3-none-any.whl#sha256=9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a mccabe==0.7.0 \ --hash=sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e # via pylint (<0.8,>=0.6) # https://files.pythonhosted.org/packages/27/1a/1f68f9ba0c207934b35b86a8ca3aad8395a3d6dd7921c0686e23853ff5a9/mccabe-0.7.0-py2.py3-none-any.whl#sha256=6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e -mypy==1.15.0 \ - --hash=sha256:2922d42e16d6de288022e5ca321cd0618b238cfc5570e0263e5ba0a77dbef56f - # via _main/3rdparty/bazel-requirements.in - # https://files.pythonhosted.org/packages/03/bc/f6339726c627bd7ca1ce0fa56c9ae2d0144604a319e0e339bdadafbbb599/mypy-1.15.0-cp311-cp311-macosx_10_9_x86_64.whl#sha256=2922d42e16d6de288022e5ca321cd0618b238cfc5570e0263e5ba0a77dbef56f +mdurl==0.1.2 \ + --hash=sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 + # via markdown-it-py (~=0.1) + # https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl#sha256=84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 +more-itertools==11.1.0 \ + --hash=sha256:4b65538ae22f6fed0ce4874efd317463a7489796a0939fa66824dd542125a192 + # via + # jaraco.classes + # jaraco.functools + # https://files.pythonhosted.org/packages/e8/3d/1087453384dbde46a8c7f9356eead2c58be8a7bf156bca40243377c85715/more_itertools-11.1.0-py3-none-any.whl#sha256=4b65538ae22f6fed0ce4874efd317463a7489796a0939fa66824dd542125a192 +mypy==2.3.1 \ + --hash=sha256:6ed5c7e3419083268e5c9258bd1c1ef91af44a9e89374dbcaf37b775716e72eb + # via _main/3rdparty/bazel-requirements.in (>=2.0) + # https://files.pythonhosted.org/packages/8e/41/9675c7a1e78edecfba0b79e587a52594c56e189368261dc7b3a7fffb9527/mypy-2.3.1-py3-none-any.whl#sha256=6ed5c7e3419083268e5c9258bd1c1ef91af44a9e89374dbcaf37b775716e72eb mypy-extensions==1.0.0 \ --hash=sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d # via # black (>=0.4.3) # mypy (>=1.0.0) # https://files.pythonhosted.org/packages/2a/e2/5d3f6ada4297caebe1a2add3b126fe800c96f56dbe5d1988a2cbe0b267aa/mypy_extensions-1.0.0-py3-none-any.whl#sha256=4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d +nh3==0.3.7 \ + --hash=sha256:6c3aa50eb26e9228238271db9f983cbc3b006dfbfeca2d4dc34c33ddc6ac5ea5 + # via readme_renderer (>=0.2.14) + # https://files.pythonhosted.org/packages/94/0d/c257754bf57f829f307aa226bbe136d3a1356b5a0d08324c7b6bd2a8aacd/nh3-0.3.7-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl#sha256=6c3aa50eb26e9228238271db9f983cbc3b006dfbfeca2d4dc34c33ddc6ac5ea5 overrides==7.7.0 \ --hash=sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49 # via _main/3rdparty/bazel-requirements.in # https://files.pythonhosted.org/packages/2c/ab/fc8290c6a4c722e5514d80f62b2dc4c4df1a68a41d1364e625c35990fcf3/overrides-7.7.0-py3-none-any.whl#sha256=c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49 -packaging==24.2 \ - --hash=sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759 +packaging==26.3 \ + --hash=sha256:d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c # via # _main/3rdparty/bazel-requirements.in # black (>=22.0) # pytest - # https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl#sha256=09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759 -pathspec==0.12.1 \ - --hash=sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08 - # via black (>=0.9.0) - # https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl#sha256=a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08 + # twine (>=26.1) + # https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl#sha256=d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c +pathspec==1.1.1 \ + --hash=sha256:a00ce642f577bf7f473932318056212bc4f8bfdf53128c78bbd5af0b9b20b189 + # via + # black (>=0.9.0) + # mypy (>=1.0.0) + # https://files.pythonhosted.org/packages/f1/d9/7fb5aa316bc299258e68c73ba3bddbc499654a07f151cba08f6153988714/pathspec-1.1.1-py3-none-any.whl#sha256=a00ce642f577bf7f473932318056212bc4f8bfdf53128c78bbd5af0b9b20b189 platformdirs==4.3.7 \ --hash=sha256:a03875334331946f13c549dbd8f4bac7a13a50a895a0eb1e8c6a8ace80d40a94 # via @@ -93,6 +154,12 @@ pluggy==1.5.0 \ --hash=sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669 # via pytest (<2,>=1.5) # https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl#sha256=44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669 +Pygments==2.21.0 \ + --hash=sha256:2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377137d9 + # via + # readme_renderer (>=2.5.1) + # rich (<3.0.0,>=2.13.0) + # https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl#sha256=2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377137d9 pylint==3.3.6 \ --hash=sha256:8b7c2d3e86ae3f94fb27703d521dd0b9b6b378775991f504d7c3a6275aa0a6a6 # via _main/3rdparty/bazel-requirements.in @@ -111,16 +178,34 @@ PyYAML==6.0.2 \ --hash=sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774 # via responses # https://files.pythonhosted.org/packages/f8/aa/7af4e81f7acba21a4c6be026da38fd2b872ca46226673c89a758ebdc4fd2/PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl#sha256=cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774 +readme_renderer==46.0 \ + --hash=sha256:d0dae1f74bb273b534770cb4cccb6bb78735540afdb03c2146f4e19dcd412560 + # via twine (>=35.0) + # https://files.pythonhosted.org/packages/4b/72/ac5ca81fe9121fcaa9d828d21017cba00a16a98e4ea5fb60c878f93dda4f/readme_renderer-46.0-py3-none-any.whl#sha256=d0dae1f74bb273b534770cb4cccb6bb78735540afdb03c2146f4e19dcd412560 requests==2.32.3 \ --hash=sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6 # via - # _main/3rdparty/bazel-requirements.in ([security]) + # _main/3rdparty/bazel-requirements.in + # requests-toolbelt (<3.0.0,>=2.0.1) # responses (<3.0,>=2.30.0) + # twine (>=2.20) # https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl#sha256=70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6 +requests-toolbelt==1.0.0 \ + --hash=sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06 + # via twine (!=0.9.0,>=0.8.0) + # https://files.pythonhosted.org/packages/3f/51/d4db610ef29373b879047326cbf6fa98b6c1969d6f6dc423279de2b1be2c/requests_toolbelt-1.0.0-py2.py3-none-any.whl#sha256=cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06 responses==0.25.7 \ --hash=sha256:92ca17416c90fe6b35921f52179bff29332076bb32694c0df02dcac2c6bc043c # via _main/3rdparty/bazel-requirements.in # https://files.pythonhosted.org/packages/e4/fc/1d20b64fa90e81e4fa0a34c9b0240a6cfb1326b7e06d18a5432a9917c316/responses-0.25.7-py3-none-any.whl#sha256=92ca17416c90fe6b35921f52179bff29332076bb32694c0df02dcac2c6bc043c +rfc3986==2.0.0 \ + --hash=sha256:50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd + # via twine (>=1.4.0) + # https://files.pythonhosted.org/packages/ff/9a/9afaade874b2fa6c752c36f1548f718b5b83af81ed9b76628329dab81c1b/rfc3986-2.0.0-py2.py3-none-any.whl#sha256=50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd +rich==15.0.0 \ + --hash=sha256:33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb + # via twine (>=14.3.3) + # https://files.pythonhosted.org/packages/82/3b/64d4899d73f91ba49a8c18a8ff3f0ea8f1c1d75481760df8c68ef5235bf5/rich-15.0.0-py3-none-any.whl#sha256=33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb setuptools==78.1.0 \ --hash=sha256:3e386e96793c8702ae83d17b853fb93d3e09ef82ec62722e61da5cd22376dcd8 # via @@ -139,6 +224,10 @@ tomlkit==0.13.2 \ --hash=sha256:7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde # via pylint (>=0.10.1) # https://files.pythonhosted.org/packages/f9/b6/a447b5e4ec71e13871be01ba81f5dfc9d0af7e473da256ff46bc0e24026f/tomlkit-0.13.2-py3-none-any.whl#sha256=7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde +twine==7.0.0 \ + --hash=sha256:b854164df26db268af05f49aa5c0344b10e27a494343ff05b1e0bad3b135f5a7 + # via _main/3rdparty/bazel-requirements.in + # https://files.pythonhosted.org/packages/96/08/ddcdc06225eaad6de0e48e1002b06d919dbde20582d0662c7af51308e5d6/twine-7.0.0-py3-none-any.whl#sha256=b854164df26db268af05f49aa5c0344b10e27a494343ff05b1e0bad3b135f5a7 types-appdirs==1.4.3.5 \ --hash=sha256:337c750e423c40911d389359b4edabe5bbc2cdd5cd0bd0518b71d2839646273b # via _main/3rdparty/bazel-requirements.in @@ -157,18 +246,22 @@ types-toml==0.10.8.20240310 \ # https://files.pythonhosted.org/packages/da/a2/d32ab58c0b216912638b140ab2170ee4b8644067c293b170e19fba340ccc/types_toml-0.10.8.20240310-py3-none-any.whl#sha256=627b47775d25fa29977d9c70dc0cbab3f314f32c8d8d0c012f2ef5de7aaec05d typing_extensions==4.13.0 \ --hash=sha256:c8dd92cc0d6425a97c18fbb9d1954e5ff92c1ca881a309c45f06ebc0b79058e5 - # via - # _main/3rdparty/bazel-requirements.in - # mypy (>=4.6.0) + # via mypy (>=4.6.0) # https://files.pythonhosted.org/packages/e0/86/39b65d676ec5732de17b7e3c476e45bb80ec64eb50737a8dce1a4178aba1/typing_extensions-4.13.0-py3-none-any.whl#sha256=c8dd92cc0d6425a97c18fbb9d1954e5ff92c1ca881a309c45f06ebc0b79058e5 urllib3==2.3.0 \ --hash=sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df # via + # id (<3,>=2) # requests (<3,>=1.21.1) # responses (<3.0,>=1.25.10) + # twine (>=1.26.0) # types-requests (>=2) # https://files.pythonhosted.org/packages/c8/19/4ec628951a74043532ca2cf5d97b7b14863931476d117c471e8e2b1eb39f/urllib3-2.3.0-py3-none-any.whl#sha256=1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df wheel==0.45.1 \ --hash=sha256:708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248 # via _main/3rdparty/bazel-requirements.in # https://files.pythonhosted.org/packages/0b/2c/87f3254fd8ffd29e4c02732eee68a83a1d3c346ae39bc6822dcbcb697f2b/wheel-0.45.1-py3-none-any.whl#sha256=708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248 +zipp==4.1.0 \ + --hash=sha256:25ad4e16390cd314347dd8f1de67a2ac538ae658ed4ab9db16029c07c188e97f + # via importlib_metadata (>=3.20) + # https://files.pythonhosted.org/packages/3a/13/547360d81e6d88d58492968ffda9f9542854f11310ee556fef14260cc886/zipp-4.1.0-py3-none-any.whl#sha256=25ad4e16390cd314347dd8f1de67a2ac538ae658ed4ab9db16029c07c188e97f diff --git a/3rdparty/requirements.windows_x86_64.txt b/3rdparty/requirements.windows_x86_64.txt index 9b9e35d6..abc2ceae 100644 --- a/3rdparty/requirements.windows_x86_64.txt +++ b/3rdparty/requirements.windows_x86_64.txt @@ -1,7 +1,7 @@ ################################################################################ ## AUTOGENERATED: This file is autogenerated by req-compile. ## -## Python: 3.11.11 +## Python: 3.11.14 ## Platform: Windows ## ## To regenerate this file, use the following command: @@ -16,10 +16,18 @@ appdirs==1.4.4 \ --hash=sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128 # via _main/3rdparty/bazel-requirements.in # https://files.pythonhosted.org/packages/3b/00/2344469e2084fb287c2e0b57b72910309874c3245463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl#sha256=a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128 +ast_serialize==0.11.2 \ + --hash=sha256:b9065dd23131a23b41f5bab3bf4e9b3c350a3fe8e36e8200eded9b729fcea484 + # via mypy (<1.0.0,>=0.6.0) + # https://files.pythonhosted.org/packages/23/bf/b419c3205ce1143ba7c69baef4f0ba43c14d8712113bf34f9e0d27d609be/ast_serialize-0.11.2-cp39-abi3-win_amd64.whl#sha256=b9065dd23131a23b41f5bab3bf4e9b3c350a3fe8e36e8200eded9b729fcea484 astroid==3.3.9 \ --hash=sha256:d05bfd0acba96a7bd43e222828b7d9bc1e138aaeb0649707908d3702a9831248 # via pylint (<=3.4.0.dev0,>=3.3.8) # https://files.pythonhosted.org/packages/de/80/c749efbd8eef5ea77c7d6f1956e8fbfb51963b7f93ef79647afd4d9886e3/astroid-3.3.9-py3-none-any.whl#sha256=d05bfd0acba96a7bd43e222828b7d9bc1e138aaeb0649707908d3702a9831248 +backports.tarfile==1.2.0 \ + --hash=sha256:77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34 + # via jaraco.context + # https://files.pythonhosted.org/packages/b9/fa/123043af240e49752f1c4bd24da5053b6bd00cad78c2be53c0d1e8b975bc/backports.tarfile-1.2.0-py3-none-any.whl#sha256=77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34 black==25.1.0 \ --hash=sha256:172b1dbff09f86ce6f4eb8edf9dede08b1fce58ba194c87d7a4f1a5aa2f5b3c2 # via _main/3rdparty/bazel-requirements.in @@ -47,10 +55,22 @@ dill==0.3.9 \ --hash=sha256:468dff3b89520b474c0397703366b7b95eebe6303f108adf9b19da1f702be87a # via pylint (>=0.3.6) # https://files.pythonhosted.org/packages/46/d1/e73b6ad76f0b1fb7f23c35c6d95dbc506a9c8804f43dda8cb5b0fa6331fd/dill-0.3.9-py3-none-any.whl#sha256=468dff3b89520b474c0397703366b7b95eebe6303f108adf9b19da1f702be87a +docutils==0.23 \ + --hash=sha256:25d013af9bf23bc1c7b2b093dff4208166c53a94786c9e447808335ef1185fea + # via readme_renderer (>=0.21.2) + # https://files.pythonhosted.org/packages/32/91/30151a39f7570f448ed84529390628a651d7f27c87d73c9b887f8189695e/docutils-0.23-py3-none-any.whl#sha256=25d013af9bf23bc1c7b2b093dff4208166c53a94786c9e447808335ef1185fea +id==1.6.1 \ + --hash=sha256:f5ec41ed2629a508f5d0988eda142e190c9c6da971100612c4de9ad9f9b237ca + # via twine + # https://files.pythonhosted.org/packages/42/77/de194443bf38daed9452139e960c632b0ef9f9a5dd9ce605fdf18ca9f1b1/id-1.6.1-py3-none-any.whl#sha256=f5ec41ed2629a508f5d0988eda142e190c9c6da971100612c4de9ad9f9b237ca idna==3.10 \ --hash=sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3 # via requests (<4,>=2.5) # https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl#sha256=946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3 +importlib_metadata==9.0.1 \ + --hash=sha256:bba5600596a7e21f3eef53281cf28d6a5195634d2f2b78ff9501a3272c6eaab0 + # via keyring (>=4.11.4) + # https://files.pythonhosted.org/packages/b3/55/ecca97ae19075f1fac62def77731e7f535e6c1fb8f92ff08160c5e6dade8/importlib_metadata-9.0.1-py3-none-any.whl#sha256=bba5600596a7e21f3eef53281cf28d6a5195634d2f2b78ff9501a3272c6eaab0 iniconfig==2.1.0 \ --hash=sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760 # via pytest @@ -61,35 +81,76 @@ isort==6.0.1 \ # _main/3rdparty/bazel-requirements.in # pylint (!=5.13,<7,>=4.2.5) # https://files.pythonhosted.org/packages/c1/11/114d0a5f4dabbdcedc1125dee0888514c3c3b16d3e9facad87ed96fad97c/isort-6.0.1-py3-none-any.whl#sha256=2dc5d7f65c9678d94c88dfc29161a320eec67328bc97aad576874cb4be1e9615 +jaraco.classes==3.4.0 \ + --hash=sha256:f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790 + # via keyring + # https://files.pythonhosted.org/packages/7f/66/b15ce62552d84bbfcec9a4873ab79d993a1dd4edb922cbfccae192bd5b5f/jaraco.classes-3.4.0-py3-none-any.whl#sha256=f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790 +jaraco.context==6.1.2 \ + --hash=sha256:bf8150b79a2d5d91ae48629d8b427a8f7ba0e1097dd6202a9059f29a36379535 + # via keyring + # https://files.pythonhosted.org/packages/f2/58/bc8954bda5fcda97bd7c19be11b85f91973d67a706ed4a3aec33e7de22db/jaraco_context-6.1.2-py3-none-any.whl#sha256=bf8150b79a2d5d91ae48629d8b427a8f7ba0e1097dd6202a9059f29a36379535 +jaraco.functools==4.6.0 \ + --hash=sha256:99e3dc0060c5cbe8fcd1cdb36258e2a65ca40f1566b2033b12abb1bb44dd3c30 + # via keyring + # https://files.pythonhosted.org/packages/02/36/ecc85bc96c273dc8a11273ed4782272975e6338d4a3e9228621175edf0e3/jaraco_functools-4.6.0-py3-none-any.whl#sha256=99e3dc0060c5cbe8fcd1cdb36258e2a65ca40f1566b2033b12abb1bb44dd3c30 +keyring==25.7.0 \ + --hash=sha256:be4a0b195f149690c166e850609a477c532ddbfbaed96a404d4e43f8d5e2689f + # via twine (>=21.2.0) + # https://files.pythonhosted.org/packages/81/db/e655086b7f3a705df045bf0933bdd9c2f79bb3c97bfef1384598bb79a217/keyring-25.7.0-py3-none-any.whl#sha256=be4a0b195f149690c166e850609a477c532ddbfbaed96a404d4e43f8d5e2689f +librt==0.15.0 \ + --hash=sha256:f75720477ee05d509a310e856cacc8d909adc182f7b91193c207bcc26d7ee6db + # via mypy (>=0.13.0) + # https://files.pythonhosted.org/packages/96/28/7e2313a3ffbf0b4de7ba3da58a09e488507b4bd1ea2b5e69378354a23415/librt-0.15.0-cp311-cp311-win_amd64.whl#sha256=f75720477ee05d509a310e856cacc8d909adc182f7b91193c207bcc26d7ee6db +markdown-it-py==4.2.0 \ + --hash=sha256:9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a + # via rich (>=2.2.0) + # https://files.pythonhosted.org/packages/b3/81/4da04ced5a082363ecfa159c010d200ecbd959ae410c10c0264a38cac0f5/markdown_it_py-4.2.0-py3-none-any.whl#sha256=9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a mccabe==0.7.0 \ --hash=sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e # via pylint (<0.8,>=0.6) # https://files.pythonhosted.org/packages/27/1a/1f68f9ba0c207934b35b86a8ca3aad8395a3d6dd7921c0686e23853ff5a9/mccabe-0.7.0-py2.py3-none-any.whl#sha256=6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e -mypy==1.15.0 \ - --hash=sha256:c9817fa23833ff189db061e6d2eff49b2f3b6ed9856b4a0a73046e41932d744f - # via _main/3rdparty/bazel-requirements.in - # https://files.pythonhosted.org/packages/96/39/11b57431a1f686c1aed54bf794870efe0f6aeca11aca281a0bd87a5ad42c/mypy-1.15.0-cp311-cp311-win_amd64.whl#sha256=c9817fa23833ff189db061e6d2eff49b2f3b6ed9856b4a0a73046e41932d744f +mdurl==0.1.2 \ + --hash=sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 + # via markdown-it-py (~=0.1) + # https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl#sha256=84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 +more-itertools==11.1.0 \ + --hash=sha256:4b65538ae22f6fed0ce4874efd317463a7489796a0939fa66824dd542125a192 + # via + # jaraco.classes + # jaraco.functools + # https://files.pythonhosted.org/packages/e8/3d/1087453384dbde46a8c7f9356eead2c58be8a7bf156bca40243377c85715/more_itertools-11.1.0-py3-none-any.whl#sha256=4b65538ae22f6fed0ce4874efd317463a7489796a0939fa66824dd542125a192 +mypy==2.3.1 \ + --hash=sha256:52eaf3a155f35cf80b40220288c861eb45f14a2340c1f6cbfbdb0feff32879d1 + # via _main/3rdparty/bazel-requirements.in (>=2.0) + # https://files.pythonhosted.org/packages/5f/10/91dcdc6f8d43fc08e6a06ab1f9732f3abaaf835ac1b2e67b9dff56910855/mypy-2.3.1-cp311-cp311-win_amd64.whl#sha256=52eaf3a155f35cf80b40220288c861eb45f14a2340c1f6cbfbdb0feff32879d1 mypy-extensions==1.0.0 \ --hash=sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d # via # black (>=0.4.3) # mypy (>=1.0.0) # https://files.pythonhosted.org/packages/2a/e2/5d3f6ada4297caebe1a2add3b126fe800c96f56dbe5d1988a2cbe0b267aa/mypy_extensions-1.0.0-py3-none-any.whl#sha256=4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d +nh3==0.3.7 \ + --hash=sha256:618e3059caf41ccdf5dcccb3fa9df4cf6e4efe23d1382a8bbfca272a8a4f8bfc + # via readme_renderer (>=0.2.14) + # https://files.pythonhosted.org/packages/b4/b9/34433ccb1f0fe6968dabbb7d4bf5721c6221878ef07832748c06655a6a80/nh3-0.3.7-cp38-abi3-win_amd64.whl#sha256=618e3059caf41ccdf5dcccb3fa9df4cf6e4efe23d1382a8bbfca272a8a4f8bfc overrides==7.7.0 \ --hash=sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49 # via _main/3rdparty/bazel-requirements.in # https://files.pythonhosted.org/packages/2c/ab/fc8290c6a4c722e5514d80f62b2dc4c4df1a68a41d1364e625c35990fcf3/overrides-7.7.0-py3-none-any.whl#sha256=c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49 -packaging==24.2 \ - --hash=sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759 +packaging==26.3 \ + --hash=sha256:d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c # via # _main/3rdparty/bazel-requirements.in # black (>=22.0) # pytest - # https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl#sha256=09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759 -pathspec==0.12.1 \ - --hash=sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08 - # via black (>=0.9.0) - # https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl#sha256=a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08 + # twine (>=26.1) + # https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl#sha256=d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c +pathspec==1.1.1 \ + --hash=sha256:a00ce642f577bf7f473932318056212bc4f8bfdf53128c78bbd5af0b9b20b189 + # via + # black (>=0.9.0) + # mypy (>=1.0.0) + # https://files.pythonhosted.org/packages/f1/d9/7fb5aa316bc299258e68c73ba3bddbc499654a07f151cba08f6153988714/pathspec-1.1.1-py3-none-any.whl#sha256=a00ce642f577bf7f473932318056212bc4f8bfdf53128c78bbd5af0b9b20b189 platformdirs==4.3.7 \ --hash=sha256:a03875334331946f13c549dbd8f4bac7a13a50a895a0eb1e8c6a8ace80d40a94 # via @@ -100,6 +161,12 @@ pluggy==1.5.0 \ --hash=sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669 # via pytest (<2,>=1.5) # https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl#sha256=44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669 +Pygments==2.21.0 \ + --hash=sha256:2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377137d9 + # via + # readme_renderer (>=2.5.1) + # rich (<3.0.0,>=2.13.0) + # https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl#sha256=2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377137d9 pylint==3.3.6 \ --hash=sha256:8b7c2d3e86ae3f94fb27703d521dd0b9b6b378775991f504d7c3a6275aa0a6a6 # via _main/3rdparty/bazel-requirements.in @@ -114,20 +181,42 @@ pytest-mock==3.14.0 \ --hash=sha256:0b72c38033392a5f4621342fe11e9219ac11ec9d375f8e2a0c164539e0d70f6f # via _main/3rdparty/bazel-requirements.in # https://files.pythonhosted.org/packages/f2/3b/b26f90f74e2986a82df6e7ac7e319b8ea7ccece1caec9f8ab6104dc70603/pytest_mock-3.14.0-py3-none-any.whl#sha256=0b72c38033392a5f4621342fe11e9219ac11ec9d375f8e2a0c164539e0d70f6f +pywin32-ctypes==0.2.3 \ + --hash=sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8 + # via keyring (>=0.2.0) + # https://files.pythonhosted.org/packages/de/3d/8161f7711c017e01ac9f008dfddd9410dff3674334c233bde66e7ba65bbf/pywin32_ctypes-0.2.3-py3-none-any.whl#sha256=8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8 PyYAML==6.0.2 \ --hash=sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44 # via responses # https://files.pythonhosted.org/packages/ed/23/8da0bbe2ab9dcdd11f4f4557ccaf95c10b9811b13ecced089d43ce59c3c8/PyYAML-6.0.2-cp311-cp311-win_amd64.whl#sha256=e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44 +readme_renderer==46.0 \ + --hash=sha256:d0dae1f74bb273b534770cb4cccb6bb78735540afdb03c2146f4e19dcd412560 + # via twine (>=35.0) + # https://files.pythonhosted.org/packages/4b/72/ac5ca81fe9121fcaa9d828d21017cba00a16a98e4ea5fb60c878f93dda4f/readme_renderer-46.0-py3-none-any.whl#sha256=d0dae1f74bb273b534770cb4cccb6bb78735540afdb03c2146f4e19dcd412560 requests==2.32.3 \ --hash=sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6 # via - # _main/3rdparty/bazel-requirements.in ([security]) + # _main/3rdparty/bazel-requirements.in + # requests-toolbelt (<3.0.0,>=2.0.1) # responses (<3.0,>=2.30.0) + # twine (>=2.20) # https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl#sha256=70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6 +requests-toolbelt==1.0.0 \ + --hash=sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06 + # via twine (!=0.9.0,>=0.8.0) + # https://files.pythonhosted.org/packages/3f/51/d4db610ef29373b879047326cbf6fa98b6c1969d6f6dc423279de2b1be2c/requests_toolbelt-1.0.0-py2.py3-none-any.whl#sha256=cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06 responses==0.25.7 \ --hash=sha256:92ca17416c90fe6b35921f52179bff29332076bb32694c0df02dcac2c6bc043c # via _main/3rdparty/bazel-requirements.in # https://files.pythonhosted.org/packages/e4/fc/1d20b64fa90e81e4fa0a34c9b0240a6cfb1326b7e06d18a5432a9917c316/responses-0.25.7-py3-none-any.whl#sha256=92ca17416c90fe6b35921f52179bff29332076bb32694c0df02dcac2c6bc043c +rfc3986==2.0.0 \ + --hash=sha256:50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd + # via twine (>=1.4.0) + # https://files.pythonhosted.org/packages/ff/9a/9afaade874b2fa6c752c36f1548f718b5b83af81ed9b76628329dab81c1b/rfc3986-2.0.0-py2.py3-none-any.whl#sha256=50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd +rich==15.0.0 \ + --hash=sha256:33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb + # via twine (>=14.3.3) + # https://files.pythonhosted.org/packages/82/3b/64d4899d73f91ba49a8c18a8ff3f0ea8f1c1d75481760df8c68ef5235bf5/rich-15.0.0-py3-none-any.whl#sha256=33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb setuptools==78.1.0 \ --hash=sha256:3e386e96793c8702ae83d17b853fb93d3e09ef82ec62722e61da5cd22376dcd8 # via @@ -146,6 +235,10 @@ tomlkit==0.13.2 \ --hash=sha256:7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde # via pylint (>=0.10.1) # https://files.pythonhosted.org/packages/f9/b6/a447b5e4ec71e13871be01ba81f5dfc9d0af7e473da256ff46bc0e24026f/tomlkit-0.13.2-py3-none-any.whl#sha256=7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde +twine==7.0.0 \ + --hash=sha256:b854164df26db268af05f49aa5c0344b10e27a494343ff05b1e0bad3b135f5a7 + # via _main/3rdparty/bazel-requirements.in + # https://files.pythonhosted.org/packages/96/08/ddcdc06225eaad6de0e48e1002b06d919dbde20582d0662c7af51308e5d6/twine-7.0.0-py3-none-any.whl#sha256=b854164df26db268af05f49aa5c0344b10e27a494343ff05b1e0bad3b135f5a7 types-appdirs==1.4.3.5 \ --hash=sha256:337c750e423c40911d389359b4edabe5bbc2cdd5cd0bd0518b71d2839646273b # via _main/3rdparty/bazel-requirements.in @@ -164,18 +257,22 @@ types-toml==0.10.8.20240310 \ # https://files.pythonhosted.org/packages/da/a2/d32ab58c0b216912638b140ab2170ee4b8644067c293b170e19fba340ccc/types_toml-0.10.8.20240310-py3-none-any.whl#sha256=627b47775d25fa29977d9c70dc0cbab3f314f32c8d8d0c012f2ef5de7aaec05d typing_extensions==4.13.0 \ --hash=sha256:c8dd92cc0d6425a97c18fbb9d1954e5ff92c1ca881a309c45f06ebc0b79058e5 - # via - # _main/3rdparty/bazel-requirements.in - # mypy (>=4.6.0) + # via mypy (>=4.6.0) # https://files.pythonhosted.org/packages/e0/86/39b65d676ec5732de17b7e3c476e45bb80ec64eb50737a8dce1a4178aba1/typing_extensions-4.13.0-py3-none-any.whl#sha256=c8dd92cc0d6425a97c18fbb9d1954e5ff92c1ca881a309c45f06ebc0b79058e5 urllib3==2.3.0 \ --hash=sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df # via + # id (<3,>=2) # requests (<3,>=1.21.1) # responses (<3.0,>=1.25.10) + # twine (>=1.26.0) # types-requests (>=2) # https://files.pythonhosted.org/packages/c8/19/4ec628951a74043532ca2cf5d97b7b14863931476d117c471e8e2b1eb39f/urllib3-2.3.0-py3-none-any.whl#sha256=1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df wheel==0.45.1 \ --hash=sha256:708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248 # via _main/3rdparty/bazel-requirements.in # https://files.pythonhosted.org/packages/0b/2c/87f3254fd8ffd29e4c02732eee68a83a1d3c346ae39bc6822dcbcb697f2b/wheel-0.45.1-py3-none-any.whl#sha256=708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248 +zipp==4.1.0 \ + --hash=sha256:25ad4e16390cd314347dd8f1de67a2ac538ae658ed4ab9db16029c07c188e97f + # via importlib_metadata (>=3.20) + # https://files.pythonhosted.org/packages/3a/13/547360d81e6d88d58492968ffda9f9542854f11310ee556fef14260cc886/zipp-4.1.0-py3-none-any.whl#sha256=25ad4e16390cd314347dd8f1de67a2ac538ae658ed4ab9db16029c07c188e97f diff --git a/BUILD.bazel b/BUILD.bazel index ac56eeb2..1c1bef67 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -1,8 +1,13 @@ load("@bazel_skylib//:bzl_library.bzl", "bzl_library") exports_files([ + "CHANGELOG.rst", + "LICENSE.txt", "MODULE.bazel", + "README.rst", + "pyproject.toml", "requirements.in", + "setup.py", "test-requirements.in", "version.bzl", "defs.bzl", @@ -29,9 +34,9 @@ bzl_library( srcs = ["defs.bzl"], visibility = ["//visibility:public"], deps = [ - "//private:annotation", - "//private:reqs_repo", - "//private:whl_repo", + "//req_compile/private:annotation", + "//req_compile/private:reqs_repo", + "//req_compile/private:whl_repo", ], ) diff --git a/MANIFEST.in b/MANIFEST.in index 8e8c9713..c61aaa48 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,5 +1,10 @@ include *.py -prune tests private .idea requirements.txt +prune tests +prune examples +prune rule_tests +prune req_compile/private +prune .idea +exclude requirements.txt include CHANGELOG.rst include LICENSE.txt include pyproject.toml diff --git a/MODULE.bazel b/MODULE.bazel index f29ce9d0..1e0ca8c6 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -7,10 +7,10 @@ module( bazel_dep(name = "bazel_skylib", version = "1.8.2") bazel_dep(name = "platforms", version = "1.0.0") -bazel_dep(name = "rules_cc", version = "0.2.14") -bazel_dep(name = "rules_python", version = "1.7.0") -bazel_dep(name = "rules_venv", version = "0.17.0") +bazel_dep(name = "rules_cc", version = "0.2.4") +bazel_dep(name = "rules_venv", version = "0.26.0") +bazel_dep(name = "rules_python", version = "1.7.0", dev_dependency = True) bazel_dep(name = "buildozer", version = "8.2.1", dev_dependency = True) bazel_dep(name = "buildifier_prebuilt", version = "8.2.1.2", dev_dependency = True) @@ -46,7 +46,7 @@ requirements.parse( ) use_repo(requirements, "req_compile_deps") -sdist_deps = use_extension("//private:sdist.bzl", "sdist_deps") +sdist_deps = use_extension("//req_compile/private:sdist.bzl", "sdist_deps") use_repo( sdist_deps, "req_compile_sdist_compiler__pip", @@ -54,168 +54,17 @@ use_repo( "req_compile_sdist_compiler__wheel", ) -dev_requirements = use_extension("//extensions:python.bzl", "requirements", dev_dependency = True) -dev_requirements.parse( - name = "req_compile_test_sdist", - # Required to compile sdists - interpreter_linux_aarch64 = "@python_3_11_x86_64-unknown-linux-gnu//:python", - interpreter_linux_x86_64 = "@python_3_11_x86_64-unknown-linux-gnu//:python", - interpreter_macos_aarch64 = "@python_3_11_aarch64-apple-darwin//:python", - interpreter_macos_x86_64 = "@python_3_11_x86_64-apple-darwin//:python", - interpreter_windows = "@python_3_11_x86_64-pc-windows-msvc//:python", - requirements_lock = "//private/tests/sdist:requirements.txt", -) -use_repo(dev_requirements, "req_compile_test_sdist", "req_compile_test_sdist__pyspark") - -dev_requirements.parse( - name = "req_compile_test_simple", - requirements_lock = "//private/tests/simple:requirements.txt", -) -use_repo(dev_requirements, "req_compile_test_simple") - -dev_requirements.parse( - name = "req_compile_test_platlib", - requirements_locks = { - "//private/tests/platlib:requirements.linux.txt": "@platforms//os:linux", - "//private/tests/platlib:requirements.macos.txt": "@platforms//os:macos", - "//private/tests/platlib:requirements.windows.txt": "@platforms//os:windows", - }, -) -use_repo(dev_requirements, "req_compile_test_platlib") - -dev_requirements.parse( - name = "req_compile_test_transitive_ins", - requirements_lock = "//private/tests/transitive_ins:requirements.txt", -) -use_repo(dev_requirements, "req_compile_test_transitive_ins") - -dev_requirements.parse( - name = "req_compile_test_pip_parse_compat_single_plat", - requirements_lock = "//private/tests/pip_parse_compat:requirements.txt", -) -use_repo(dev_requirements, "req_compile_test_pip_parse_compat_single_plat") - -dev_requirements.parse( - name = "req_compile_test_pip_parse_compat_multi_plat", - requirements_locks = { - "//private/tests/pip_parse_compat:requirements.linux.txt": "@platforms//os:linux", - "//private/tests/pip_parse_compat:requirements.macos.txt": "@platforms//os:macos", - "//private/tests/pip_parse_compat:requirements.windows.txt": "@platforms//os:windows", - }, -) -use_repo(dev_requirements, "req_compile_test_pip_parse_compat_multi_plat") - -dev_requirements.parse( - name = "req_compile_test_annotations", - requirements_locks = { - "//private/tests/annotations:requirements.linux.txt": "@platforms//os:linux", - "//private/tests/annotations:requirements.macos.txt": "@platforms//os:macos", - "//private/tests/annotations:requirements.windows.txt": "@platforms//os:windows", - }, -) -use_repo( - dev_requirements, - "req_compile_test_annotations", - "req_compile_test_annotations_linux__numpy", - "req_compile_test_annotations_macos__numpy", - "req_compile_test_annotations_windows__numpy", -) - -dev_requirements.package_annotation( - additive_build_file_content = """\ -load("@rules_cc//cc:defs.bzl", "cc_library") -load("@rules_req_compile//:defs.bzl", "py_package_annotation_target") - -_INCLUDE_DIR = "site-packages/numpy/core/include" - -cc_library( - name = "headers", - hdrs = glob(["{}/**/*.h".format(_INCLUDE_DIR)]), - includes = [_INCLUDE_DIR], -) - -py_package_annotation_target( - name = "pkg.headers", - target = ":headers", -) -""", - copy_executables = { - "site-packages/numpy/testing/setup.py": "site-packages/numpy/testing/setup.copy.py", - }, - copy_files = { - "site-packages/numpy-1.26.4.dist-info/entry_points.txt": "site-packages/numpy-1.26.4.dist-info/entry_points.copy.txt", - }, - copy_srcs = { - "site-packages/numpy/conftest.py": "site-packages/numpy/conftest.copy.py", - }, - data = [":pkg.headers"], - package = "numpy", - patches = [ - "//private/tests/annotations:numpy.patch", - ], - deps = [ - # Show that label dependencies can be added. - "@rules_python//python/runfiles", - ], -) - -# Sphinx is known to have a circular dependency. The annotations here solve for that. -dev_requirements.package_annotation( - package = "sphinxcontrib-htmlhelp", - deps = ["-sphinx"], -) -dev_requirements.package_annotation( - package = "sphinxcontrib-applehelp", - deps = ["-sphinx"], -) -dev_requirements.package_annotation( - package = "sphinxcontrib-devhelp", - deps = ["-sphinx"], -) -dev_requirements.package_annotation( - package = "sphinxcontrib-jsmath", - deps = ["-sphinx"], -) -dev_requirements.package_annotation( - package = "sphinxcontrib-qthelp", - deps = ["-sphinx"], -) -dev_requirements.package_annotation( - deps_excludes = ["sphinx"], - package = "sphinxcontrib-serializinghtml", -) - -find_links_test_repository = use_repo_rule("//private/tests/find_links:find_links_test_repo.bzl", "find_links_test_repository") - -find_links_test_repository( - name = "req_compile_find_links_test", - build_file = "//private/tests/find_links:BUILD.find_links.bazel", +# Toolchains backing the `rules_venv` lint, type check, test and wheel rules. +# These are only ever used when building this repository itself. +register_toolchains( + "//tools/toolchains:py_black_toolchain", + "//tools/toolchains:py_isort_toolchain", + "//tools/toolchains:py_mypy_toolchain", + "//tools/toolchains:py_pylint_toolchain", + "//tools/toolchains:py_pytest_toolchain", + "//tools/toolchains:py_wheel_toolchain", dev_dependency = True, - pyspark_wheel_data = "@req_compile_test_sdist__pyspark//:whl.json", - requirements_in = "//private/tests/find_links:requirements.in", - requirements_txt = "//private/tests/find_links:requirements.txt", - # Needs to match `--find-links` in `//private/tests/find_links:requirements.in` - wheeldir = "wheeldir", -) - -# Use a separate extension since the @req_compile_find_links_test is generated by an extension -# that also depend upon //extensions:python.bzl -find_links_requirements = use_extension("//private/tests/find_links:extension.bzl", "requirements", dev_dependency = True) -find_links_requirements.parse( - name = "req_compile_test_find_links", - requirements_lock = "@req_compile_find_links_test//:requirements.txt", -) -use_repo(find_links_requirements, "req_compile_test_find_links") - -dev_requirements.parse( - name = "req_compile_test_cross_platform", - requirements_locks = { - "//private/tests/cross_platform:requirements.linux.txt": "@platforms//os:linux", - "//private/tests/cross_platform:requirements.macos.txt": "@platforms//os:macos", - "//private/tests/cross_platform:requirements.windows.txt": "@platforms//os:windows", - }, ) -use_repo(dev_requirements, "req_compile_test_cross_platform") bazel_dep(name = "rules_go", version = "0.59.0", dev_dependency = True) diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 5b0a7118..00308814 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -136,7 +136,6 @@ "https://bcr.bazel.build/modules/rules_cc/0.1.5/MODULE.bazel": "88dfc9361e8b5ae1008ac38f7cdfd45ad738e4fa676a3ad67d19204f045a1fd8", "https://bcr.bazel.build/modules/rules_cc/0.2.0/MODULE.bazel": "b5c17f90458caae90d2ccd114c81970062946f49f355610ed89bebf954f5783c", "https://bcr.bazel.build/modules/rules_cc/0.2.13/MODULE.bazel": "eecdd666eda6be16a8d9dc15e44b5c75133405e820f620a234acc4b1fdc5aa37", - "https://bcr.bazel.build/modules/rules_cc/0.2.14/MODULE.bazel": "353c99ed148887ee89c54a17d4100ae7e7e436593d104b668476019023b58df8", "https://bcr.bazel.build/modules/rules_cc/0.2.17/MODULE.bazel": "1849602c86cb60da8613d2de887f9566a6d354a6df6d7009f9d04a14402f9a84", "https://bcr.bazel.build/modules/rules_cc/0.2.17/source.json": "3832f45d145354049137c0090df04629d9c2b5493dc5c2bf46f1834040133a07", "https://bcr.bazel.build/modules/rules_cc/0.2.4/MODULE.bazel": "1ff1223dfd24f3ecf8f028446d4a27608aa43c3f41e346d22838a4223980b8cc", @@ -209,8 +208,8 @@ "https://bcr.bazel.build/modules/rules_swift/2.4.0/MODULE.bazel": "1639617eb1ede28d774d967a738b4a68b0accb40650beadb57c21846beab5efd", "https://bcr.bazel.build/modules/rules_swift/3.1.2/MODULE.bazel": "72c8f5cf9d26427cee6c76c8e3853eb46ce6b0412a081b2b6db6e8ad56267400", "https://bcr.bazel.build/modules/rules_swift/3.1.2/source.json": "e85761f3098a6faf40b8187695e3de6d97944e98abd0d8ce579cb2daf6319a66", - "https://bcr.bazel.build/modules/rules_venv/0.17.0/MODULE.bazel": "140e11b1536e7418def5a098bfd31ee72ec17191310be0c71255efc4dc310691", - "https://bcr.bazel.build/modules/rules_venv/0.17.0/source.json": "9cf38be015465360c827e8a65e049a64bceea032f3538a2e0c718c52ba1c4a17", + "https://bcr.bazel.build/modules/rules_venv/0.26.0/MODULE.bazel": "33bbd15fb3bb60ee6acb2a2574d9d0fbd024b6ff4095b3ee992ea7ab789394f8", + "https://bcr.bazel.build/modules/rules_venv/0.26.0/source.json": "f4ecd73e536cf0d6208a1fa85b5df87b372480da8b34fae9c44c3777354d3bd8", "https://bcr.bazel.build/modules/stardoc/0.5.1/MODULE.bazel": "1a05d92974d0c122f5ccf09291442580317cdd859f07a8655f1db9a60374f9f8", "https://bcr.bazel.build/modules/stardoc/0.5.3/MODULE.bazel": "c7f6948dae6999bf0db32c1858ae345f112cacf98f174c7a8bb707e41b974f1c", "https://bcr.bazel.build/modules/stardoc/0.7.0/MODULE.bazel": "05e3d6d30c099b6770e97da986c53bd31844d7f13d41412480ea265ac9e8079c", diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel deleted file mode 100644 index e69de29b..00000000 diff --git a/WORKSPACE.bzlmod b/WORKSPACE.bzlmod deleted file mode 100644 index e69de29b..00000000 diff --git a/defs.bzl b/defs.bzl index e9df187b..4b4897c4 100644 --- a/defs.bzl +++ b/defs.bzl @@ -14,27 +14,36 @@ --- """ +# buildifier: disable=bzl-visibility load( - "//private:annotation.bzl", + "//req_compile/private:annotation.bzl", _py_package_annotation = "py_package_annotation", _py_package_annotation_consumer = "py_package_annotation_consumer", _py_package_annotation_target = "py_package_annotation_target", ) + +# buildifier: disable=bzl-visibility load( - "//private:compiler.bzl", + "//req_compile/private:compiler.bzl", _py_reqs_compiler = "py_reqs_compiler", _py_reqs_solution_test = "py_reqs_solution_test", ) + +# buildifier: disable=bzl-visibility load( - "//private:remote_compiler.bzl", + "//req_compile/private:remote_compiler.bzl", _py_reqs_remote_compiler = "py_reqs_remote_compiler", ) + +# buildifier: disable=bzl-visibility load( - "//private:reqs_repo.bzl", + "//req_compile/private:reqs_repo.bzl", _py_requirements_repository = "py_requirements_repository", ) + +# buildifier: disable=bzl-visibility load( - "//private:whl_repo.bzl", + "//req_compile/private:whl_repo.bzl", _whl_repository = "whl_repository", ) diff --git a/docs/BUILD.bazel b/docs/BUILD.bazel index 2090fc61..b9e0fda8 100644 --- a/docs/BUILD.bazel +++ b/docs/BUILD.bazel @@ -7,9 +7,8 @@ stardoc( tags = ["manual"], deps = [ "//:defs", - "//private:compiler", - "//private:remote_compiler", - "@protobuf//bazel:cc_proto_library_bzl", + "//req_compile/private:compiler", + "//req_compile/private:remote_compiler", "@rules_cc//cc:bzl_srcs", "@rules_cc//cc/common", "@rules_cc//cc/toolchains:toolchain_rules", diff --git a/docs/docs.md b/docs/docs.md index b2f43bbc..89173f14 100755 --- a/docs/docs.md +++ b/docs/docs.md @@ -243,8 +243,9 @@ compiler to the remote system and perform compilation.
 load("@rules_req_compile//:defs.bzl", "py_requirements_repository")
 
-py_requirements_repository(name, annotations, hub_name, interpreter, repo_mapping,
-                           requirements_lock, requirements_locks)
+py_requirements_repository(name, annotations, defs_id_map, hub_name, interpreter,
+                           legacy_root_pkg_aliases, package_aliases, requirements_lock,
+                           requirements_locks)
 
A rule for importing `requirements.txt` dependencies into Bazel. @@ -326,9 +327,11 @@ cross-platform behavior when using `requirements_locks`. | :------------- | :------------- | :------------- | :------------- | :------------- | | name | A unique name for this repository. | Name | required | | | annotations | Optional annotations to apply to packages. For details see [@rules_python//python:pip.bzl%package_annotation](https://github.com/bazelbuild/rules_python/blob/main/docs/pip_repository.md#package_annotation) | Dictionary: String -> String | optional | `{}` | +| defs_id_map | Optional mapping of derived lockfile IDs to defs IDs to use when naming spoke repositories. This is primarily used by the module extension to align overridden hubs with the root module's spoke naming. | Dictionary: String -> String | optional | `{}` | | hub_name | Name of the hub repository to generate. Do not use directly. | String | optional | `""` | | interpreter | The label of a python interpreter to use for compiling source distributions (sdists). If this is not provided then the provided lock file must represent binary-only dependencies. Note that should this interpreter be needed (a sdist was found in `requirements_lock` or `requirements_locks`), the dependencies generated may not be byte-for-byte reproducible and users may experience unexpected cache invalidation or unexpected cross-platform behavior. | Label | optional | `None` | -| repo_mapping | In `WORKSPACE` context only: a dictionary from local repository name to global repository name. This allows controls over workspace dependency resolution for dependencies of this repository.

For example, an entry `"@foo": "@bar"` declares that, for any time this repository depends on `@foo` (such as a dependency on `@foo//some:target`, it should actually resolve that dependency within globally-declared `@bar` (`@bar//some:target`).

This attribute is _not_ supported in `MODULE.bazel` context (when invoking a repository rule inside a module extension's implementation function). | Dictionary: String -> String | optional | | +| legacy_root_pkg_aliases | If True, creates aliases in the root BUILD.bazel file pointing to the package targets in their subpackages. This provides backward compatibility for code that references packages at the root (e.g., `@repo//:package_name`). | Boolean | optional | `False` | +| package_aliases | Packages to override with a local `py_library`. | Dictionary: Label -> String | optional | `{}` | | requirements_lock | A fully resolved 'requirements.txt' pip requirement file containing the transitive set of your dependencies. This file _must_ be produced by [req-compile](https://pypi.org/project/req-compile/) and include hashes and urls in the solution. This attribute is mutually exclusive with `requirements_locks`. | Label | optional | `None` | | requirements_locks | A map of fully resolved 'requirements.txt' pip requirement file containing the transitive set of your dependencies to labels of Bazel [platforms](https://bazel.build/extending/platforms). These requirements files __must__ be produced by [req-compile](https://pypi.org/project/req-compile/) and include hashes and urls in the solution. Each lock file provided will create a dependency tree matching `{name}_{id}__{package}` where `id` is the name of the lock file with `[".", "-"]` characters are replaced by `"_"` and the name `requirements` will be stripped. This means each `requirements_locks` entry will need to be somewhat uniquely named. This attribute is mutually exclusive with `requirements_lock`. | Dictionary: Label -> String | optional | `{}` | @@ -340,8 +343,8 @@ cross-platform behavior when using `requirements_locks`.
 load("@rules_req_compile//:defs.bzl", "whl_repository")
 
-whl_repository(name, deps, annotations, constraint, interpreter, package, patches, repo_mapping,
-               sdist_deps_repos, sha256, spoke_prefix, urls, version, whl)
+whl_repository(name, deps, annotations, constraint, hub_name, interpreter, package, patches,
+               sdist_deps_repos, sha256, urls, version, whl)
 
A repository rule for extracting a python [wheel](https://peps.python.org/pep-0491/) and defining a `py_library`. @@ -357,13 +360,12 @@ This repository is expected to be generated by [py_requirements_repository](#py_ | deps | A list of python package names that the current package depends on. | List of strings | required | | | annotations | See [py_requirements_repository.annotation](#py_requirements_repository.annotation) | String | optional | `"{}"` | | constraint | An optional constraint to assign to `target_compatible_with` where all other configurations will be invalid. | String | optional | `""` | +| hub_name | The name of the [py_requirements_repository](#py_requirements_repository). | String | required | | | interpreter | Optional Python interpreter binary to use for building sdists. | Label | optional | `None` | | package | The name of the python package the wheel represents. | String | required | | | patches | Patches to apply to the installed wheel. | List of labels | optional | `[]` | -| repo_mapping | In `WORKSPACE` context only: a dictionary from local repository name to global repository name. This allows controls over workspace dependency resolution for dependencies of this repository.

For example, an entry `"@foo": "@bar"` declares that, for any time this repository depends on `@foo` (such as a dependency on `@foo//some:target`, it should actually resolve that dependency within globally-declared `@bar` (`@bar//some:target`).

This attribute is _not_ supported in `MODULE.bazel` context (when invoking a repository rule inside a module extension's implementation function). | Dictionary: String -> String | optional | | | sdist_deps_repos | INTERNAL: DO NOT USE. Default dependencies for building source distributions. | List of labels | optional | `["@req_compile_sdist_compiler__pip//:pkg", "@req_compile_sdist_compiler__setuptools//:pkg", "@req_compile_sdist_compiler__wheel//:pkg"]` | | sha256 | The expected SHA-256 of the file downloaded. | String | optional | `""` | -| spoke_prefix | The name of the [py_requirements_repository](#py_requirements_repository) plus a friendly platform suffix. | String | required | | | urls | A list of URLs to the python wheel. | List of strings | optional | `[]` | | version | The version of the python package. | String | required | | | whl | The label to a wheel. | Label | optional | `None` | diff --git a/private/tests/annotations/BUILD.bazel b/examples/annotations/BUILD.bazel similarity index 72% rename from private/tests/annotations/BUILD.bazel rename to examples/annotations/BUILD.bazel index d5c025e9..16f5dad0 100644 --- a/private/tests/annotations/BUILD.bazel +++ b/examples/annotations/BUILD.bazel @@ -1,8 +1,7 @@ -load("@bazel_skylib//:bzl_library.bzl", "bzl_library") -load("@req_compile_test_annotations//:defs.bzl", "requirement", "requirements") +load("@pip_deps//:defs.bzl", "requirement", "requirements") load("@rules_cc//cc:defs.bzl", "cc_test") -load("@rules_python//python:defs.bzl", "py_test") -load("//:defs.bzl", "py_package_annotation_consumer", "py_reqs_compiler", "py_reqs_solution_test") +load("@rules_req_compile//:defs.bzl", "py_package_annotation_consumer", "py_reqs_compiler", "py_reqs_solution_test") +load("@rules_venv//python:defs.bzl", "py_test") py_reqs_compiler( name = "requirements.linux.update", @@ -44,7 +43,7 @@ py_test( name = "annotations", srcs = ["annotations.py"], deps = [ - "@rules_python//python/runfiles", + "@rules_venv//python/runfiles", ] + requirements([ "numpy", "sphinx", @@ -63,13 +62,3 @@ cc_test( srcs = ["numpy_consumer_test.cc"], deps = [":numpy_headers"], ) - -bzl_library( - name = "annotations_test_deps", - srcs = ["annotations_test_deps.bzl"], - visibility = ["//:__subpackages__"], - deps = [ - "//:defs", - "@bazel_tools//tools/build_defs/repo:utils.bzl", - ], -) diff --git a/examples/annotations/MODULE.bazel b/examples/annotations/MODULE.bazel new file mode 100644 index 00000000..49668e19 --- /dev/null +++ b/examples/annotations/MODULE.bazel @@ -0,0 +1,96 @@ +"""An example of applying package annotations to downloaded wheels.""" + +module( + name = "req_compile_example_annotations", + version = "0.0.0", +) + +bazel_dep(name = "platforms", version = "1.0.0") +bazel_dep(name = "rules_cc", version = "0.2.4") +bazel_dep(name = "rules_venv", version = "0.26.0") +bazel_dep(name = "rules_req_compile", version = "0.0.0") +local_path_override( + module_name = "rules_req_compile", + path = "../..", +) + +requirements = use_extension("@rules_req_compile//extensions:python.bzl", "requirements") +requirements.parse( + name = "pip_deps", + requirements_locks = { + ":requirements.linux.txt": "@platforms//os:linux", + ":requirements.macos.txt": "@platforms//os:macos", + ":requirements.windows.txt": "@platforms//os:windows", + }, +) +use_repo( + requirements, + "pip_deps", + "pip_deps_linux__numpy", + "pip_deps_macos__numpy", + "pip_deps_windows__numpy", +) + +requirements.package_annotation( + additive_build_file_content = """\ +load("@rules_cc//cc:defs.bzl", "cc_library") +load("@rules_req_compile//:defs.bzl", "py_package_annotation_target") + +_INCLUDE_DIR = "site-packages/numpy/core/include" + +cc_library( + name = "headers", + hdrs = glob(["{}/**/*.h".format(_INCLUDE_DIR)]), + includes = [_INCLUDE_DIR], +) + +py_package_annotation_target( + name = "pkg.headers", + target = ":headers", +) +""", + copy_executables = { + "site-packages/numpy/testing/setup.py": "site-packages/numpy/testing/setup.copy.py", + }, + copy_files = { + "site-packages/numpy-1.26.4.dist-info/entry_points.txt": "site-packages/numpy-1.26.4.dist-info/entry_points.copy.txt", + }, + copy_srcs = { + "site-packages/numpy/conftest.py": "site-packages/numpy/conftest.copy.py", + }, + data = [":pkg.headers"], + package = "numpy", + patches = [ + ":numpy.patch", + ], + deps = [ + # Show that label dependencies can be added. + "@rules_venv//python/runfiles", + ], +) + +# Sphinx is known to have a circular dependency. The annotations here solve for that. +requirements.package_annotation( + package = "sphinxcontrib-htmlhelp", + deps = ["-sphinx"], +) +requirements.package_annotation( + package = "sphinxcontrib-applehelp", + deps = ["-sphinx"], +) +requirements.package_annotation( + package = "sphinxcontrib-devhelp", + deps = ["-sphinx"], +) +requirements.package_annotation( + package = "sphinxcontrib-jsmath", + deps = ["-sphinx"], +) +requirements.package_annotation( + package = "sphinxcontrib-qthelp", + deps = ["-sphinx"], +) +requirements.package_annotation( + deps_excludes = ["sphinx"], + package = "sphinxcontrib-serializinghtml", +) diff --git a/private/tests/annotations/annotations.py b/examples/annotations/annotations.py similarity index 82% rename from private/tests/annotations/annotations.py rename to examples/annotations/annotations.py index 60188247..e8524482 100644 --- a/private/tests/annotations/annotations.py +++ b/examples/annotations/annotations.py @@ -25,9 +25,9 @@ def test_copy_annotations(self) -> None: assert runfiles, "Failed to locate runfiles" expected = [ - "req_compile_test_annotations_{}__numpy/site-packages/numpy/conftest.copy.py", - "req_compile_test_annotations_{}__numpy/site-packages/numpy-1.26.4.dist-info/entry_points.copy.txt", - "req_compile_test_annotations_{}__numpy/site-packages/numpy/testing/setup.copy.py", + "pip_deps_{}__numpy/site-packages/numpy/conftest.copy.py", + "pip_deps_{}__numpy/site-packages/numpy-1.26.4.dist-info/entry_points.copy.txt", + "pip_deps_{}__numpy/site-packages/numpy/testing/setup.copy.py", ] platforms = { diff --git a/private/tests/annotations/numpy.patch b/examples/annotations/numpy.patch similarity index 100% rename from private/tests/annotations/numpy.patch rename to examples/annotations/numpy.patch diff --git a/private/tests/annotations/numpy_consumer_test.cc b/examples/annotations/numpy_consumer_test.cc similarity index 100% rename from private/tests/annotations/numpy_consumer_test.cc rename to examples/annotations/numpy_consumer_test.cc diff --git a/private/tests/annotations/requirements.in b/examples/annotations/requirements.in similarity index 100% rename from private/tests/annotations/requirements.in rename to examples/annotations/requirements.in diff --git a/private/tests/annotations/requirements.linux.txt b/examples/annotations/requirements.linux.txt similarity index 100% rename from private/tests/annotations/requirements.linux.txt rename to examples/annotations/requirements.linux.txt diff --git a/private/tests/annotations/requirements.macos.txt b/examples/annotations/requirements.macos.txt similarity index 100% rename from private/tests/annotations/requirements.macos.txt rename to examples/annotations/requirements.macos.txt diff --git a/private/tests/annotations/requirements.windows.txt b/examples/annotations/requirements.windows.txt similarity index 100% rename from private/tests/annotations/requirements.windows.txt rename to examples/annotations/requirements.windows.txt diff --git a/private/tests/cross_platform/BUILD.bazel b/examples/cross_platform/BUILD.bazel similarity index 82% rename from private/tests/cross_platform/BUILD.bazel rename to examples/cross_platform/BUILD.bazel index ccf28ea0..d803bb8f 100644 --- a/private/tests/cross_platform/BUILD.bazel +++ b/examples/cross_platform/BUILD.bazel @@ -1,8 +1,8 @@ -load("@bazel_skylib//:bzl_library.bzl", "bzl_library") load("@rules_cc//cc:defs.bzl", "cc_toolchain") -load("@rules_python//python:defs.bzl", "py_binary", "py_test") -load("//:defs.bzl", "py_reqs_compiler", "py_reqs_remote_compiler", "py_reqs_solution_test") -load(":cross_platform_test_utils.bzl", "fake_cc_config", "platform_transitioned_output_group") +load("@rules_req_compile//:defs.bzl", "py_reqs_compiler", "py_reqs_remote_compiler", "py_reqs_solution_test") +load("@rules_venv//python:defs.bzl", "py_binary", "py_test") +load("@rules_venv//python/venv:defs.bzl", "py_venv_zipapp") +load(":cross_platform_test_utils.bzl", "fake_cc_config", "platform_transitioned_file") py_reqs_compiler( name = "requirements.linux.update", @@ -123,32 +123,34 @@ py_binary( name = "cross_platform", srcs = ["cross_platform.py"], deps = [ - "@req_compile_test_cross_platform//black", + "@pip_deps//black", ], ) -platform_transitioned_output_group( +py_venv_zipapp( + name = "cross_platform_pyz", + binary = ":cross_platform", +) + +platform_transitioned_file( name = "cross_platform_linux", extra_toolchains = [":fake_cc_toolchain"], - output_group = "python_zip_file", platform = ":linux", - target = ":cross_platform", + target = ":cross_platform_pyz", ) -platform_transitioned_output_group( +platform_transitioned_file( name = "cross_platform_macos", extra_toolchains = [":fake_cc_toolchain"], - output_group = "python_zip_file", platform = ":macos", - target = ":cross_platform", + target = ":cross_platform_pyz", ) -platform_transitioned_output_group( +platform_transitioned_file( name = "cross_platform_windows", extra_toolchains = [":fake_cc_toolchain"], - output_group = "python_zip_file", platform = ":windows", - target = ":cross_platform", + target = ":cross_platform_pyz", ) py_test( @@ -164,12 +166,5 @@ py_test( "PYTHON_ZIP_FILE_MACOS": "$(rlocationpath :cross_platform_macos)", "PYTHON_ZIP_FILE_WINDOWS": "$(rlocationpath :cross_platform_windows)", }, - deps = ["@rules_python//python/runfiles"], -) - -bzl_library( - name = "cross_platform_test_utils", - srcs = ["cross_platform_test_utils.bzl"], - visibility = ["//:__subpackages__"], - deps = ["@rules_cc//cc/common"], + deps = ["@rules_venv//python/runfiles"], ) diff --git a/examples/cross_platform/MODULE.bazel b/examples/cross_platform/MODULE.bazel new file mode 100644 index 00000000..5fdb9bc9 --- /dev/null +++ b/examples/cross_platform/MODULE.bazel @@ -0,0 +1,38 @@ +"""An example of building Python zipapps for platforms other than the host.""" + +module( + name = "req_compile_example_cross_platform", + version = "0.0.0", +) + +bazel_dep(name = "bazel_skylib", version = "1.8.2") +bazel_dep(name = "platforms", version = "1.0.0") +bazel_dep(name = "rules_cc", version = "0.2.4") +bazel_dep(name = "rules_python", version = "1.7.0") +bazel_dep(name = "rules_venv", version = "0.26.0") +bazel_dep(name = "rules_req_compile", version = "0.0.0") +local_path_override( + module_name = "rules_req_compile", + path = "../..", +) + +requirements = use_extension("@rules_req_compile//extensions:python.bzl", "requirements") +requirements.parse( + name = "pip_deps", + requirements_locks = { + ":requirements.linux.txt": "@platforms//os:linux", + ":requirements.macos.txt": "@platforms//os:macos", + ":requirements.windows.txt": "@platforms//os:windows", + }, +) +use_repo(requirements, "pip_deps") + +# Cross-platform builds require hermetic interpreters for each target platform. +python = use_extension("@rules_python//python/extensions:python.bzl", "python") +python.toolchain( + # Working around a rules_python issue with docker + # https://github.com/bazelbuild/rules_python/pull/713 + ignore_root_user_error = True, + is_default = True, + python_version = "3.11", +) diff --git a/private/tests/cross_platform/cross_platform.py b/examples/cross_platform/cross_platform.py similarity index 100% rename from private/tests/cross_platform/cross_platform.py rename to examples/cross_platform/cross_platform.py diff --git a/private/tests/cross_platform/cross_platform_test.py b/examples/cross_platform/cross_platform_test.py similarity index 81% rename from private/tests/cross_platform/cross_platform_test.py rename to examples/cross_platform/cross_platform_test.py index c4171ba5..a809f8db 100644 --- a/private/tests/cross_platform/cross_platform_test.py +++ b/examples/cross_platform/cross_platform_test.py @@ -66,13 +66,13 @@ def test_linux(self) -> None: self.python_zip_file_tester( rlocationpath=os.environ["PYTHON_ZIP_FILE_LINUX"], expected=[ - "runfiles/.*_linux__black/site-packages/black/__init__.py", + ".*_linux__black/site-packages/black/__init__.py", ], illegal_prefixes=( - "runfiles/.*_platform_macos__", - "runfiles/.*_windows__", + ".*_platform_macos__", + ".*_windows__", # This is a windows only dependency. - "runfiles/.*_linux__colorama", + ".*_linux__colorama", ), ) @@ -80,13 +80,13 @@ def test_macos(self) -> None: self.python_zip_file_tester( rlocationpath=os.environ["PYTHON_ZIP_FILE_MACOS"], expected=[ - "runfiles/.*_macos__black/site-packages/black/__init__.py", + ".*_macos__black/site-packages/black/__init__.py", ], illegal_prefixes=( - "runfiles/.*_linux__", - "runfiles/.*_windows__", + ".*_linux__", + ".*_windows__", # This is a windows only dependency. - "runfiles/.*_macos__colorama", + ".*_macos__colorama", ), ) @@ -94,12 +94,12 @@ def test_windows(self) -> None: self.python_zip_file_tester( rlocationpath=os.environ["PYTHON_ZIP_FILE_WINDOWS"], expected=[ - "runfiles/.*_windows__black/site-packages/black/__init__.py", - "runfiles/.*_windows__colorama/site-packages/colorama/__init__.py", + ".*_windows__black/site-packages/black/__init__.py", + ".*_windows__colorama/site-packages/colorama/__init__.py", ], illegal_prefixes=( - "runfiles/.*_linux__", - "runfiles/.*_macos__", + ".*_linux__", + ".*_macos__", ), ) diff --git a/private/tests/cross_platform/cross_platform_test_utils.bzl b/examples/cross_platform/cross_platform_test_utils.bzl similarity index 75% rename from private/tests/cross_platform/cross_platform_test_utils.bzl rename to examples/cross_platform/cross_platform_test_utils.bzl index d0a98563..873fe1cf 100644 --- a/private/tests/cross_platform/cross_platform_test_utils.bzl +++ b/examples/cross_platform/cross_platform_test_utils.bzl @@ -20,27 +20,27 @@ _platform_transition = transition( ], ) -def _platform_transitioned_output_group_impl(ctx): +def _platform_transitioned_file_impl(ctx): target = ctx.attr.target - outputs = getattr(target[OutputGroupInfo], ctx.attr.output_group) - if not outputs: - fail("Could not find output group '{}' in '{}'".format(ctx.attr.output_group, target.label)) + files = target[DefaultInfo].files.to_list() + if len(files) != 1: + fail("Expected exactly 1 file in DefaultInfo of '{}', got {}".format(target.label, len(files))) - zip_file = outputs.to_list()[0] + src_file = files[0] - link = ctx.actions.declare_file("{}.{}".format(ctx.label.name, zip_file.extension).rstrip(".")) + link = ctx.actions.declare_file("{}.{}".format(ctx.label.name, src_file.extension).rstrip(".")) ctx.actions.symlink( output = link, - target_file = zip_file, + target_file = src_file, ) return [DefaultInfo( files = depset([link]), )] -platform_transitioned_output_group = rule( - doc = "A rule for accessing files in a target's `OutputGroupInfo` through a transition.", - implementation = _platform_transitioned_output_group_impl, +platform_transitioned_file = rule( + doc = "A rule for accessing the single file produced by a target through a platform transition.", + implementation = _platform_transitioned_file_impl, cfg = _platform_transition, attrs = { "extra_toolchains": attr.label_list( @@ -49,10 +49,6 @@ platform_transitioned_output_group = rule( "apply in the transition." ), ), - "output_group": attr.string( - doc = "The `OutputGroupInfo` field to access.", - mandatory = True, - ), "platform": attr.label( doc = "The label to a [Bazel platform](https://bazel.build/extending/platforms)", ), diff --git a/private/tests/cross_platform/requirements.in b/examples/cross_platform/requirements.in similarity index 100% rename from private/tests/cross_platform/requirements.in rename to examples/cross_platform/requirements.in diff --git a/private/tests/cross_platform/requirements.linux.txt b/examples/cross_platform/requirements.linux.txt similarity index 100% rename from private/tests/cross_platform/requirements.linux.txt rename to examples/cross_platform/requirements.linux.txt diff --git a/private/tests/cross_platform/requirements.macos.txt b/examples/cross_platform/requirements.macos.txt similarity index 100% rename from private/tests/cross_platform/requirements.macos.txt rename to examples/cross_platform/requirements.macos.txt diff --git a/private/tests/cross_platform/requirements.windows.txt b/examples/cross_platform/requirements.windows.txt similarity index 100% rename from private/tests/cross_platform/requirements.windows.txt rename to examples/cross_platform/requirements.windows.txt diff --git a/examples/find_links/BUILD.bazel b/examples/find_links/BUILD.bazel new file mode 100644 index 00000000..9e9e3149 --- /dev/null +++ b/examples/find_links/BUILD.bazel @@ -0,0 +1,45 @@ +load("@rules_req_compile//:defs.bzl", "py_reqs_compiler", "py_reqs_solution_test") +load("@rules_venv//python:defs.bzl", "py_binary", "py_test") + +exports_files(["find_links.py"]) + +filegroup( + name = "requirements", + srcs = ["requirements.in"], + data = ["wheeldir/.gitkeep"] + glob( + include = ["wheeldir/*.whl"], + allow_empty = True, + ), +) + +py_binary( + name = "compiler_wrapper", + srcs = ["compiler_wrapper.py"], +) + +py_reqs_compiler( + name = "requirements.update", + custom_compile_command = "bazel run //:compiler_wrapper", + requirements_in = ":requirements", + requirements_txt = "requirements.txt", +) + +py_reqs_solution_test( + name = "requirements_test", + compiler = ":requirements.update", +) + +py_reqs_compiler( + name = "sdist_requirements.update", + allow_sdists = True, + requirements_in = "sdist_requirements.in", + requirements_txt = "sdist_requirements.txt", +) + +py_test( + name = "find_links", + srcs = ["find_links.py"], + deps = [ + "@pip_deps//pyspark", + ], +) diff --git a/private/tests/find_links/BUILD.find_links.bazel b/examples/find_links/BUILD.find_links.bazel similarity index 100% rename from private/tests/find_links/BUILD.find_links.bazel rename to examples/find_links/BUILD.find_links.bazel diff --git a/examples/find_links/MODULE.bazel b/examples/find_links/MODULE.bazel new file mode 100644 index 00000000..d9d5bb07 --- /dev/null +++ b/examples/find_links/MODULE.bazel @@ -0,0 +1,72 @@ +"""An example of resolving requirements from a local `--find-links` directory.""" + +module( + name = "req_compile_example_find_links", + version = "0.0.0", +) + +bazel_dep(name = "bazel_skylib", version = "1.8.2") +bazel_dep(name = "platforms", version = "1.0.0") +bazel_dep(name = "rules_python", version = "1.7.0") +bazel_dep(name = "rules_venv", version = "0.26.0") +bazel_dep(name = "rules_req_compile", version = "0.0.0") +local_path_override( + module_name = "rules_req_compile", + path = "../..", +) + +python = use_extension("@rules_python//python/extensions:python.bzl", "python") +python.toolchain( + # Working around a rules_python issue with docker + # https://github.com/bazelbuild/rules_python/pull/713 + ignore_root_user_error = True, + is_default = True, + python_version = "3.11", +) +use_repo( + python, + "python_3_11_aarch64-apple-darwin", + "python_3_11_aarch64-unknown-linux-gnu", + "python_3_11_x86_64-apple-darwin", + "python_3_11_x86_64-pc-windows-msvc", + "python_3_11_x86_64-unknown-linux-gnu", +) + +# A source distribution is built so the test has a locally produced wheel +# to resolve out of a `--find-links` directory. +sdist_requirements = use_extension("@rules_req_compile//extensions:python.bzl", "requirements") +sdist_requirements.parse( + name = "sdist_deps", + interpreter_linux_aarch64 = "@python_3_11_aarch64-unknown-linux-gnu//:python", + interpreter_linux_x86_64 = "@python_3_11_x86_64-unknown-linux-gnu//:python", + interpreter_macos_aarch64 = "@python_3_11_aarch64-apple-darwin//:python", + interpreter_macos_x86_64 = "@python_3_11_x86_64-apple-darwin//:python", + interpreter_windows = "@python_3_11_x86_64-pc-windows-msvc//:python", + requirements_lock = ":sdist_requirements.txt", +) +use_repo( + sdist_requirements, + "sdist_deps", + "sdist_deps__pyspark", +) + +find_links_test_repository = use_repo_rule("//:find_links_test_repo.bzl", "find_links_test_repository") + +find_links_test_repository( + name = "find_links_test", + build_file = ":BUILD.find_links.bazel", + pyspark_wheel_data = "@sdist_deps__pyspark//:whl.json", + requirements_in = ":requirements.in", + requirements_txt = ":requirements.txt", + # Needs to match `--find-links` in `//:requirements.in` + wheeldir = "wheeldir", +) + +# Use a separate extension since @find_links_test is generated by an extension +# that also depends upon `@rules_req_compile//extensions:python.bzl`. +find_links_requirements = use_extension("//:extension.bzl", "requirements") +find_links_requirements.parse( + name = "pip_deps", + requirements_lock = "@find_links_test//:requirements.txt", +) +use_repo(find_links_requirements, "pip_deps") diff --git a/private/tests/find_links/compiler_wrapper.py b/examples/find_links/compiler_wrapper.py similarity index 86% rename from private/tests/find_links/compiler_wrapper.py rename to examples/find_links/compiler_wrapper.py index c19f4a9f..fa696909 100644 --- a/private/tests/find_links/compiler_wrapper.py +++ b/examples/find_links/compiler_wrapper.py @@ -36,9 +36,9 @@ def main() -> None: "--disable-pip-version-check", "--no-deps", "--wheel-dir", - workspace_dir / "private/tests/find_links/wheeldir", + workspace_dir / "wheeldir", "-r", - workspace_dir / "private/tests/find_links/requirements.in", + workspace_dir / "requirements.in", ], cwd=workspace_dir, check=True, @@ -49,7 +49,7 @@ def main() -> None: [ "bazel", "run", - "//private/tests/find_links:requirements.update", + "//:requirements.update", "--", ] + sys.argv[1:], diff --git a/private/tests/find_links/extension.bzl b/examples/find_links/extension.bzl similarity index 63% rename from private/tests/find_links/extension.bzl rename to examples/find_links/extension.bzl index c9e22142..f297f75c 100644 --- a/private/tests/find_links/extension.bzl +++ b/examples/find_links/extension.bzl @@ -1,6 +1,6 @@ """Re-export the parse extension under a different name so we don't create a cirular dep tree during test.""" -load("//extensions:python.bzl", _requirements = "requirements") +load("@rules_req_compile//extensions:python.bzl", _requirements = "requirements") requirements = _requirements diff --git a/private/tests/find_links/find_links.py b/examples/find_links/find_links.py similarity index 100% rename from private/tests/find_links/find_links.py rename to examples/find_links/find_links.py diff --git a/private/tests/find_links/find_links_test_repo.bzl b/examples/find_links/find_links_test_repo.bzl similarity index 95% rename from private/tests/find_links/find_links_test_repo.bzl rename to examples/find_links/find_links_test_repo.bzl index 112355fa..abf67b04 100644 --- a/private/tests/find_links/find_links_test_repo.bzl +++ b/examples/find_links/find_links_test_repo.bzl @@ -1,6 +1,7 @@ """A repository rule for the req-compile find_links integration test.""" -load("//private:whl_repo.bzl", "load_sdist_data") +# buildifier: disable=bzl-visibility +load("@rules_req_compile//req_compile/private:whl_repo.bzl", "load_sdist_data") def _find_links_test_repository_impl(repository_ctx): repository_ctx.file("WORKSPACE.bazel", """workspace(name = "{}")""".format( diff --git a/private/tests/find_links/requirements.in b/examples/find_links/requirements.in similarity index 100% rename from private/tests/find_links/requirements.in rename to examples/find_links/requirements.in diff --git a/private/tests/find_links/requirements.txt b/examples/find_links/requirements.txt similarity index 100% rename from private/tests/find_links/requirements.txt rename to examples/find_links/requirements.txt diff --git a/private/tests/sdist/requirements.in b/examples/find_links/sdist_requirements.in similarity index 100% rename from private/tests/sdist/requirements.in rename to examples/find_links/sdist_requirements.in diff --git a/examples/find_links/sdist_requirements.txt b/examples/find_links/sdist_requirements.txt new file mode 100644 index 00000000..29afe337 --- /dev/null +++ b/examples/find_links/sdist_requirements.txt @@ -0,0 +1,21 @@ +################################################################################ +## AUTOGENERATED: This file is autogenerated by req-compile. +## +## Python: 3.11.7 +## Platform: Darwin +## +## To regenerate this file, use the following command: +## +## bazel run //:sdist_requirements.update +## +################################################################################ + +py4j==0.10.9.7 \ + --hash=sha256:85defdfd2b2376eb3abf5ca6474b51ab7e0de341c75a02f46dc9b5976f5a5c1b + # via pyspark (==0.10.9.7) + # https://files.pythonhosted.org/packages/10/30/a58b32568f1623aaad7db22aa9eafc4c6c194b429ff35bdc55ca2726da47/py4j-0.10.9.7-py2.py3-none-any.whl#sha256=85defdfd2b2376eb3abf5ca6474b51ab7e0de341c75a02f46dc9b5976f5a5c1b +pyspark==3.5.1 \ + --hash=sha256:dd6569e547365eadc4f887bf57f153e4d582a68c4b490de475d55b9981664910 + # via sdist_requirements.in + # https://files.pythonhosted.org/packages/73/e5/c9eb78cc982dafb7b5834bc5c368fe596216c8b9f7c4b4ffa104c4d2ab8f/pyspark-3.5.1.tar.gz#sha256=dd6569e547365eadc4f887bf57f153e4d582a68c4b490de475d55b9981664910 + diff --git a/private/tests/find_links/wheeldir/.gitkeep b/examples/find_links/wheeldir/.gitkeep similarity index 100% rename from private/tests/find_links/wheeldir/.gitkeep rename to examples/find_links/wheeldir/.gitkeep diff --git a/private/examples/multiplatform_py_test/.bazelrc b/examples/multiplatform_py_test/.bazelrc similarity index 100% rename from private/examples/multiplatform_py_test/.bazelrc rename to examples/multiplatform_py_test/.bazelrc diff --git a/private/examples/multiplatform_py_test/.bazelversion b/examples/multiplatform_py_test/.bazelversion similarity index 100% rename from private/examples/multiplatform_py_test/.bazelversion rename to examples/multiplatform_py_test/.bazelversion diff --git a/private/examples/multiplatform_py_test/BUILD.bazel b/examples/multiplatform_py_test/BUILD.bazel similarity index 94% rename from private/examples/multiplatform_py_test/BUILD.bazel rename to examples/multiplatform_py_test/BUILD.bazel index bf132179..71cf28ba 100644 --- a/private/examples/multiplatform_py_test/BUILD.bazel +++ b/examples/multiplatform_py_test/BUILD.bazel @@ -1,5 +1,5 @@ -load("@rules_python//python:defs.bzl", "py_test") load("@rules_req_compile//:defs.bzl", "py_reqs_compiler") +load("@rules_venv//python:defs.bzl", "py_test") py_test( name = "hello_test", diff --git a/private/examples/multiplatform_py_test/MODULE.bazel b/examples/multiplatform_py_test/MODULE.bazel similarity index 82% rename from private/examples/multiplatform_py_test/MODULE.bazel rename to examples/multiplatform_py_test/MODULE.bazel index c0a672fe..09b5b7e0 100644 --- a/private/examples/multiplatform_py_test/MODULE.bazel +++ b/examples/multiplatform_py_test/MODULE.bazel @@ -3,12 +3,12 @@ module( version = "1.0", ) -bazel_dep(name = "rules_python", version = "1.3.0") -bazel_dep(name = "platforms", version = "0.0.11") +bazel_dep(name = "platforms", version = "1.0.0") +bazel_dep(name = "rules_venv", version = "0.26.0") bazel_dep(name = "rules_req_compile", version = "0.0.0") local_path_override( module_name = "rules_req_compile", - path = "../../..", + path = "../..", ) requirements = use_extension("@rules_req_compile//extensions:python.bzl", "requirements") diff --git a/private/examples/multiplatform_py_test/hello_test.py b/examples/multiplatform_py_test/hello_test.py similarity index 100% rename from private/examples/multiplatform_py_test/hello_test.py rename to examples/multiplatform_py_test/hello_test.py diff --git a/private/examples/multiplatform_py_test/requirements.in b/examples/multiplatform_py_test/requirements.in similarity index 100% rename from private/examples/multiplatform_py_test/requirements.in rename to examples/multiplatform_py_test/requirements.in diff --git a/private/examples/multiplatform_py_test/requirements.linux.txt b/examples/multiplatform_py_test/requirements.linux.txt similarity index 100% rename from private/examples/multiplatform_py_test/requirements.linux.txt rename to examples/multiplatform_py_test/requirements.linux.txt diff --git a/private/examples/multiplatform_py_test/requirements.macos.txt b/examples/multiplatform_py_test/requirements.macos.txt similarity index 100% rename from private/examples/multiplatform_py_test/requirements.macos.txt rename to examples/multiplatform_py_test/requirements.macos.txt diff --git a/private/examples/multiplatform_py_test/requirements.windows.txt b/examples/multiplatform_py_test/requirements.windows.txt similarity index 100% rename from private/examples/multiplatform_py_test/requirements.windows.txt rename to examples/multiplatform_py_test/requirements.windows.txt diff --git a/private/tests/override_module_repos/overridee/BUILD.bazel b/examples/override_module_repos/overridee/BUILD.bazel similarity index 68% rename from private/tests/override_module_repos/overridee/BUILD.bazel rename to examples/override_module_repos/overridee/BUILD.bazel index 70392218..550966d3 100644 --- a/private/tests/override_module_repos/overridee/BUILD.bazel +++ b/examples/override_module_repos/overridee/BUILD.bazel @@ -1,4 +1,4 @@ -load("@rules_python//python:defs.bzl", "py_library") +load("@rules_venv//python:defs.bzl", "py_library") py_library( name = "test", diff --git a/private/tests/override_module_repos/overridee/MODULE.bazel b/examples/override_module_repos/overridee/MODULE.bazel similarity index 82% rename from private/tests/override_module_repos/overridee/MODULE.bazel rename to examples/override_module_repos/overridee/MODULE.bazel index 88595c16..813a9f6d 100644 --- a/private/tests/override_module_repos/overridee/MODULE.bazel +++ b/examples/override_module_repos/overridee/MODULE.bazel @@ -3,11 +3,11 @@ module( version = "1.0", ) -bazel_dep(name = "rules_python", version = "0.34.0") +bazel_dep(name = "rules_venv", version = "0.26.0") bazel_dep(name = "rules_req_compile") local_path_override( module_name = "rules_req_compile", - path = "../../../..", + path = "../../..", ) requirements = use_extension("@rules_req_compile//extensions:python.bzl", "requirements") diff --git a/private/tests/override_module_repos/overridee/requirements.in b/examples/override_module_repos/overridee/requirements.in similarity index 100% rename from private/tests/override_module_repos/overridee/requirements.in rename to examples/override_module_repos/overridee/requirements.in diff --git a/private/tests/override_module_repos/overridee/requirements.txt b/examples/override_module_repos/overridee/requirements.txt similarity index 100% rename from private/tests/override_module_repos/overridee/requirements.txt rename to examples/override_module_repos/overridee/requirements.txt diff --git a/private/tests/override_module_repos/overrider/BUILD.bazel b/examples/override_module_repos/overrider/BUILD.bazel similarity index 67% rename from private/tests/override_module_repos/overrider/BUILD.bazel rename to examples/override_module_repos/overrider/BUILD.bazel index 84f03e5a..b5fc6fec 100644 --- a/private/tests/override_module_repos/overrider/BUILD.bazel +++ b/examples/override_module_repos/overrider/BUILD.bazel @@ -1,4 +1,4 @@ -load("@rules_python//python:defs.bzl", "py_test") +load("@rules_venv//python:defs.bzl", "py_test") py_test( name = "test", diff --git a/private/tests/override_module_repos/overrider/MODULE.bazel b/examples/override_module_repos/overrider/MODULE.bazel similarity index 88% rename from private/tests/override_module_repos/overrider/MODULE.bazel rename to examples/override_module_repos/overrider/MODULE.bazel index f300b8ff..317a7f61 100644 --- a/private/tests/override_module_repos/overrider/MODULE.bazel +++ b/examples/override_module_repos/overrider/MODULE.bazel @@ -3,11 +3,11 @@ module( version = "1.0", ) -bazel_dep(name = "rules_python", version = "1.7.0") +bazel_dep(name = "rules_venv", version = "0.26.0") bazel_dep(name = "rules_req_compile") local_path_override( module_name = "rules_req_compile", - path = "../../../..", + path = "../../..", ) bazel_dep(name = "overridee") diff --git a/private/tests/override_module_repos/overrider/README.md b/examples/override_module_repos/overrider/README.md similarity index 100% rename from private/tests/override_module_repos/overrider/README.md rename to examples/override_module_repos/overrider/README.md diff --git a/private/tests/override_module_repos/overrider/requirements.in b/examples/override_module_repos/overrider/requirements.in similarity index 100% rename from private/tests/override_module_repos/overrider/requirements.in rename to examples/override_module_repos/overrider/requirements.in diff --git a/private/tests/override_module_repos/overrider/requirements.txt b/examples/override_module_repos/overrider/requirements.txt similarity index 100% rename from private/tests/override_module_repos/overrider/requirements.txt rename to examples/override_module_repos/overrider/requirements.txt diff --git a/private/tests/override_module_repos/overrider/test.py b/examples/override_module_repos/overrider/test.py similarity index 100% rename from private/tests/override_module_repos/overrider/test.py rename to examples/override_module_repos/overrider/test.py diff --git a/private/tests/package_aliases/BUILD.bazel b/examples/package_aliases/BUILD.bazel similarity index 81% rename from private/tests/package_aliases/BUILD.bazel rename to examples/package_aliases/BUILD.bazel index 552e30da..299f6cec 100644 --- a/private/tests/package_aliases/BUILD.bazel +++ b/examples/package_aliases/BUILD.bazel @@ -1,5 +1,5 @@ -load("@rules_python//python:py_library.bzl", "py_library") -load("@rules_python//python:py_test.bzl", "py_test") +load("@rules_venv//python:py_library.bzl", "py_library") +load("@rules_venv//python:py_test.bzl", "py_test") py_library( name = "improved_setuptools", diff --git a/private/tests/package_aliases/MODULE.bazel b/examples/package_aliases/MODULE.bazel similarity index 87% rename from private/tests/package_aliases/MODULE.bazel rename to examples/package_aliases/MODULE.bazel index d39a90d5..50bb908d 100644 --- a/private/tests/package_aliases/MODULE.bazel +++ b/examples/package_aliases/MODULE.bazel @@ -3,11 +3,11 @@ module( version = "1.0", ) -bazel_dep(name = "rules_python", version = "1.7.0") +bazel_dep(name = "rules_venv", version = "0.26.0") bazel_dep(name = "rules_req_compile") local_path_override( module_name = "rules_req_compile", - path = "../../..", + path = "../..", ) requirements = use_extension("@rules_req_compile//extensions:python.bzl", "requirements") diff --git a/private/tests/package_aliases/dep_checker.py b/examples/package_aliases/dep_checker.py similarity index 100% rename from private/tests/package_aliases/dep_checker.py rename to examples/package_aliases/dep_checker.py diff --git a/private/tests/package_aliases/requirements.in b/examples/package_aliases/requirements.in similarity index 100% rename from private/tests/package_aliases/requirements.in rename to examples/package_aliases/requirements.in diff --git a/private/tests/package_aliases/requirements.txt b/examples/package_aliases/requirements.txt similarity index 100% rename from private/tests/package_aliases/requirements.txt rename to examples/package_aliases/requirements.txt diff --git a/private/tests/package_aliases/setuptools.py b/examples/package_aliases/setuptools.py similarity index 100% rename from private/tests/package_aliases/setuptools.py rename to examples/package_aliases/setuptools.py diff --git a/private/tests/pip_parse_compat/BUILD.bazel b/examples/pip_parse_compat/BUILD.bazel similarity index 77% rename from private/tests/pip_parse_compat/BUILD.bazel rename to examples/pip_parse_compat/BUILD.bazel index bcd708fe..95d2bcdc 100644 --- a/private/tests/pip_parse_compat/BUILD.bazel +++ b/examples/pip_parse_compat/BUILD.bazel @@ -1,8 +1,8 @@ load("@bazel_skylib//rules:diff_test.bzl", "diff_test") -load("@req_compile_test_pip_parse_compat_multi_plat//:requirements.bzl", multi_plat_requirement = "requirement") -load("@req_compile_test_pip_parse_compat_single_plat//:requirements.bzl", single_plat_requirement = "requirement") -load("@rules_python//python:defs.bzl", "py_binary", "py_test") -load("//:defs.bzl", "py_reqs_compiler", "py_reqs_solution_test") +load("@multi_plat_pip_deps//:requirements.bzl", multi_plat_requirement = "requirement") +load("@rules_req_compile//:defs.bzl", "py_reqs_compiler", "py_reqs_solution_test") +load("@rules_venv//python:defs.bzl", "py_binary", "py_test") +load("@single_plat_pip_deps//:requirements.bzl", single_plat_requirement = "requirement") # gazelle:ignore @@ -13,7 +13,7 @@ py_binary( py_reqs_compiler( name = "requirements.update", - custom_compile_command = "bazel run \"@//private/tests/pip_parse_compat:compiler_wrapper\"", + custom_compile_command = "bazel run \"@//:compiler_wrapper\"", requirements_in = "requirements.in", requirements_txt = "requirements.txt", ) diff --git a/examples/pip_parse_compat/MODULE.bazel b/examples/pip_parse_compat/MODULE.bazel new file mode 100644 index 00000000..2b9123ef --- /dev/null +++ b/examples/pip_parse_compat/MODULE.bazel @@ -0,0 +1,34 @@ +"""An example of using the `rules_python` `pip_parse` compatibility interface.""" + +module( + name = "req_compile_example_pip_parse_compat", + version = "0.0.0", +) + +bazel_dep(name = "bazel_skylib", version = "1.8.2") +bazel_dep(name = "platforms", version = "1.0.0") +bazel_dep(name = "rules_venv", version = "0.26.0") +bazel_dep(name = "rules_req_compile", version = "0.0.0") +local_path_override( + module_name = "rules_req_compile", + path = "../..", +) + +requirements = use_extension("@rules_req_compile//extensions:python.bzl", "requirements") +requirements.parse( + name = "single_plat_pip_deps", + requirements_lock = ":requirements.txt", +) +requirements.parse( + name = "multi_plat_pip_deps", + requirements_locks = { + ":requirements.linux.txt": "@platforms//os:linux", + ":requirements.macos.txt": "@platforms//os:macos", + ":requirements.windows.txt": "@platforms//os:windows", + }, +) +use_repo( + requirements, + "multi_plat_pip_deps", + "single_plat_pip_deps", +) diff --git a/private/tests/pip_parse_compat/compiler_wrapper.py b/examples/pip_parse_compat/compiler_wrapper.py similarity index 88% rename from private/tests/pip_parse_compat/compiler_wrapper.py rename to examples/pip_parse_compat/compiler_wrapper.py index 97a85ca9..54e3c81f 100644 --- a/private/tests/pip_parse_compat/compiler_wrapper.py +++ b/examples/pip_parse_compat/compiler_wrapper.py @@ -32,7 +32,7 @@ def main() -> None: [ "bazel", "run", - "//private/tests/pip_parse_compat:requirements.update", + "//:requirements.update", "--", ] + sys.argv[1:], @@ -41,7 +41,7 @@ def main() -> None: env=environ, ) - output = workspace_dir / "private/tests/pip_parse_compat/requirements.txt" + output = workspace_dir / "requirements.txt" for plat in ("windows", "linux", "macos"): shutil.copy(output, output.parent / f"requirements.{plat}.txt") diff --git a/private/tests/pip_parse_compat/pip_parse_compat.py b/examples/pip_parse_compat/pip_parse_compat.py similarity index 100% rename from private/tests/pip_parse_compat/pip_parse_compat.py rename to examples/pip_parse_compat/pip_parse_compat.py diff --git a/private/tests/pip_parse_compat/requirements.in b/examples/pip_parse_compat/requirements.in similarity index 100% rename from private/tests/pip_parse_compat/requirements.in rename to examples/pip_parse_compat/requirements.in diff --git a/private/tests/pip_parse_compat/requirements.linux.txt b/examples/pip_parse_compat/requirements.linux.txt similarity index 100% rename from private/tests/pip_parse_compat/requirements.linux.txt rename to examples/pip_parse_compat/requirements.linux.txt diff --git a/private/tests/pip_parse_compat/requirements.macos.txt b/examples/pip_parse_compat/requirements.macos.txt similarity index 100% rename from private/tests/pip_parse_compat/requirements.macos.txt rename to examples/pip_parse_compat/requirements.macos.txt diff --git a/private/tests/pip_parse_compat/requirements.txt b/examples/pip_parse_compat/requirements.txt similarity index 100% rename from private/tests/pip_parse_compat/requirements.txt rename to examples/pip_parse_compat/requirements.txt diff --git a/private/tests/pip_parse_compat/requirements.windows.txt b/examples/pip_parse_compat/requirements.windows.txt similarity index 100% rename from private/tests/pip_parse_compat/requirements.windows.txt rename to examples/pip_parse_compat/requirements.windows.txt diff --git a/private/tests/platlib/BUILD.bazel b/examples/platlib/BUILD.bazel similarity index 86% rename from private/tests/platlib/BUILD.bazel rename to examples/platlib/BUILD.bazel index e2ab1555..c68de52d 100644 --- a/private/tests/platlib/BUILD.bazel +++ b/examples/platlib/BUILD.bazel @@ -1,5 +1,5 @@ -load("@rules_python//python:defs.bzl", "py_test") -load("//:defs.bzl", "py_reqs_compiler", "py_reqs_solution_test") +load("@rules_req_compile//:defs.bzl", "py_reqs_compiler", "py_reqs_solution_test") +load("@rules_venv//python:defs.bzl", "py_test") py_reqs_compiler( name = "requirements.linux.update", @@ -41,6 +41,6 @@ py_test( name = "platlib", srcs = ["platlib.py"], deps = [ - "@req_compile_test_platlib//libclang", + "@pip_deps//libclang", ], ) diff --git a/examples/platlib/MODULE.bazel b/examples/platlib/MODULE.bazel new file mode 100644 index 00000000..0b75df80 --- /dev/null +++ b/examples/platlib/MODULE.bazel @@ -0,0 +1,25 @@ +"""An example of consuming platform specific wheels.""" + +module( + name = "req_compile_example_platlib", + version = "0.0.0", +) + +bazel_dep(name = "platforms", version = "1.0.0") +bazel_dep(name = "rules_venv", version = "0.26.0") +bazel_dep(name = "rules_req_compile", version = "0.0.0") +local_path_override( + module_name = "rules_req_compile", + path = "../..", +) + +requirements = use_extension("@rules_req_compile//extensions:python.bzl", "requirements") +requirements.parse( + name = "pip_deps", + requirements_locks = { + ":requirements.linux.txt": "@platforms//os:linux", + ":requirements.macos.txt": "@platforms//os:macos", + ":requirements.windows.txt": "@platforms//os:windows", + }, +) +use_repo(requirements, "pip_deps") diff --git a/private/tests/platlib/platlib.py b/examples/platlib/platlib.py similarity index 100% rename from private/tests/platlib/platlib.py rename to examples/platlib/platlib.py diff --git a/private/tests/platlib/requirements.in b/examples/platlib/requirements.in similarity index 100% rename from private/tests/platlib/requirements.in rename to examples/platlib/requirements.in diff --git a/private/tests/platlib/requirements.linux.txt b/examples/platlib/requirements.linux.txt similarity index 100% rename from private/tests/platlib/requirements.linux.txt rename to examples/platlib/requirements.linux.txt diff --git a/private/tests/platlib/requirements.macos.txt b/examples/platlib/requirements.macos.txt similarity index 100% rename from private/tests/platlib/requirements.macos.txt rename to examples/platlib/requirements.macos.txt diff --git a/private/tests/platlib/requirements.windows.txt b/examples/platlib/requirements.windows.txt similarity index 100% rename from private/tests/platlib/requirements.windows.txt rename to examples/platlib/requirements.windows.txt diff --git a/private/tests/sdist/BUILD.bazel b/examples/sdist/BUILD.bazel similarity index 67% rename from private/tests/sdist/BUILD.bazel rename to examples/sdist/BUILD.bazel index 40bdd282..adb05974 100644 --- a/private/tests/sdist/BUILD.bazel +++ b/examples/sdist/BUILD.bazel @@ -1,5 +1,5 @@ -load("@rules_python//python:defs.bzl", "py_test") -load("//:defs.bzl", "py_reqs_compiler", "py_reqs_solution_test") +load("@rules_req_compile//:defs.bzl", "py_reqs_compiler", "py_reqs_solution_test") +load("@rules_venv//python:defs.bzl", "py_test") py_reqs_compiler( name = "requirements.update", @@ -17,6 +17,6 @@ py_test( name = "sdist", srcs = ["sdist.py"], deps = [ - "@req_compile_test_sdist//pyspark", + "@pip_deps//pyspark", ], ) diff --git a/examples/sdist/MODULE.bazel b/examples/sdist/MODULE.bazel new file mode 100644 index 00000000..3d3c6537 --- /dev/null +++ b/examples/sdist/MODULE.bazel @@ -0,0 +1,45 @@ +"""An example of building a source distribution into a wheel.""" + +module( + name = "req_compile_example_sdist", + version = "0.0.0", +) + +bazel_dep(name = "platforms", version = "1.0.0") +bazel_dep(name = "rules_python", version = "1.7.0") +bazel_dep(name = "rules_venv", version = "0.26.0") +bazel_dep(name = "rules_req_compile", version = "0.0.0") +local_path_override( + module_name = "rules_req_compile", + path = "../..", +) + +python = use_extension("@rules_python//python/extensions:python.bzl", "python") +python.toolchain( + # Working around a rules_python issue with docker + # https://github.com/bazelbuild/rules_python/pull/713 + ignore_root_user_error = True, + is_default = True, + python_version = "3.11", +) +use_repo( + python, + "python_3_11_aarch64-apple-darwin", + "python_3_11_aarch64-unknown-linux-gnu", + "python_3_11_x86_64-apple-darwin", + "python_3_11_x86_64-pc-windows-msvc", + "python_3_11_x86_64-unknown-linux-gnu", +) + +requirements = use_extension("@rules_req_compile//extensions:python.bzl", "requirements") +requirements.parse( + name = "pip_deps", + # Building source distributions requires an interpreter. + interpreter_linux_aarch64 = "@python_3_11_aarch64-unknown-linux-gnu//:python", + interpreter_linux_x86_64 = "@python_3_11_x86_64-unknown-linux-gnu//:python", + interpreter_macos_aarch64 = "@python_3_11_aarch64-apple-darwin//:python", + interpreter_macos_x86_64 = "@python_3_11_x86_64-apple-darwin//:python", + interpreter_windows = "@python_3_11_x86_64-pc-windows-msvc//:python", + requirements_lock = ":requirements.txt", +) +use_repo(requirements, "pip_deps") diff --git a/examples/sdist/requirements.in b/examples/sdist/requirements.in new file mode 100644 index 00000000..e214769a --- /dev/null +++ b/examples/sdist/requirements.in @@ -0,0 +1 @@ +pyspark diff --git a/private/tests/sdist/requirements.txt b/examples/sdist/requirements.txt similarity index 100% rename from private/tests/sdist/requirements.txt rename to examples/sdist/requirements.txt diff --git a/private/tests/sdist/sdist.py b/examples/sdist/sdist.py similarity index 100% rename from private/tests/sdist/sdist.py rename to examples/sdist/sdist.py diff --git a/private/tests/simple/BUILD.bazel b/examples/simple/BUILD.bazel similarity index 66% rename from private/tests/simple/BUILD.bazel rename to examples/simple/BUILD.bazel index 425e1fb8..305f5228 100644 --- a/private/tests/simple/BUILD.bazel +++ b/examples/simple/BUILD.bazel @@ -1,5 +1,5 @@ -load("@rules_python//python:defs.bzl", "py_test") -load("//:defs.bzl", "py_reqs_compiler", "py_reqs_solution_test") +load("@rules_req_compile//:defs.bzl", "py_reqs_compiler", "py_reqs_solution_test") +load("@rules_venv//python:defs.bzl", "py_test") py_reqs_compiler( name = "requirements.update", @@ -16,6 +16,6 @@ py_test( name = "simple", srcs = ["simple.py"], deps = [ - "@req_compile_test_simple//wheel", + "@pip_deps//wheel", ], ) diff --git a/examples/simple/MODULE.bazel b/examples/simple/MODULE.bazel new file mode 100644 index 00000000..879e013a --- /dev/null +++ b/examples/simple/MODULE.bazel @@ -0,0 +1,21 @@ +"""An example of consuming a single platform requirements lock file.""" + +module( + name = "req_compile_example_simple", + version = "0.0.0", +) + +bazel_dep(name = "platforms", version = "1.0.0") +bazel_dep(name = "rules_venv", version = "0.26.0") +bazel_dep(name = "rules_req_compile", version = "0.0.0") +local_path_override( + module_name = "rules_req_compile", + path = "../..", +) + +requirements = use_extension("@rules_req_compile//extensions:python.bzl", "requirements") +requirements.parse( + name = "pip_deps", + requirements_lock = ":requirements.txt", +) +use_repo(requirements, "pip_deps") diff --git a/private/tests/simple/requirements.in b/examples/simple/requirements.in similarity index 100% rename from private/tests/simple/requirements.in rename to examples/simple/requirements.in diff --git a/private/tests/simple/requirements.txt b/examples/simple/requirements.txt similarity index 100% rename from private/tests/simple/requirements.txt rename to examples/simple/requirements.txt diff --git a/private/tests/simple/simple.py b/examples/simple/simple.py similarity index 100% rename from private/tests/simple/simple.py rename to examples/simple/simple.py diff --git a/private/tests/transitive_ins/BUILD.bazel b/examples/transitive_ins/BUILD.bazel similarity index 64% rename from private/tests/transitive_ins/BUILD.bazel rename to examples/transitive_ins/BUILD.bazel index 18eb2d6f..c5ff3ad4 100644 --- a/private/tests/transitive_ins/BUILD.bazel +++ b/examples/transitive_ins/BUILD.bazel @@ -1,5 +1,5 @@ -load("@rules_python//python:defs.bzl", "py_test") -load("//:defs.bzl", "py_reqs_compiler", "py_reqs_solution_test") +load("@rules_req_compile//:defs.bzl", "py_reqs_compiler", "py_reqs_solution_test") +load("@rules_venv//python:defs.bzl", "py_test") filegroup( name = "requirements", @@ -25,8 +25,8 @@ py_test( name = "transitive_ins", srcs = ["transitive_ins.py"], deps = [ - "@req_compile_test_transitive_ins//pyyaml", - "@req_compile_test_transitive_ins//toml", - "@req_compile_test_transitive_ins//tomli", + "@pip_deps//pyyaml", + "@pip_deps//toml", + "@pip_deps//tomli", ], ) diff --git a/examples/transitive_ins/MODULE.bazel b/examples/transitive_ins/MODULE.bazel new file mode 100644 index 00000000..d4bfee0a --- /dev/null +++ b/examples/transitive_ins/MODULE.bazel @@ -0,0 +1,21 @@ +"""An example of a requirements file which references other requirements files.""" + +module( + name = "req_compile_example_transitive_ins", + version = "0.0.0", +) + +bazel_dep(name = "platforms", version = "1.0.0") +bazel_dep(name = "rules_venv", version = "0.26.0") +bazel_dep(name = "rules_req_compile", version = "0.0.0") +local_path_override( + module_name = "rules_req_compile", + path = "../..", +) + +requirements = use_extension("@rules_req_compile//extensions:python.bzl", "requirements") +requirements.parse( + name = "pip_deps", + requirements_lock = ":requirements.txt", +) +use_repo(requirements, "pip_deps") diff --git a/private/tests/transitive_ins/dep_1/requirements_1.in b/examples/transitive_ins/dep_1/requirements_1.in similarity index 100% rename from private/tests/transitive_ins/dep_1/requirements_1.in rename to examples/transitive_ins/dep_1/requirements_1.in diff --git a/private/tests/transitive_ins/dep_2/requirements_2.in b/examples/transitive_ins/dep_2/requirements_2.in similarity index 100% rename from private/tests/transitive_ins/dep_2/requirements_2.in rename to examples/transitive_ins/dep_2/requirements_2.in diff --git a/private/tests/transitive_ins/requirements.in b/examples/transitive_ins/requirements.in similarity index 100% rename from private/tests/transitive_ins/requirements.in rename to examples/transitive_ins/requirements.in diff --git a/private/tests/transitive_ins/requirements.txt b/examples/transitive_ins/requirements.txt similarity index 100% rename from private/tests/transitive_ins/requirements.txt rename to examples/transitive_ins/requirements.txt diff --git a/private/tests/transitive_ins/transitive_ins.py b/examples/transitive_ins/transitive_ins.py similarity index 100% rename from private/tests/transitive_ins/transitive_ins.py rename to examples/transitive_ins/transitive_ins.py diff --git a/extensions/BUILD.bazel b/extensions/BUILD.bazel index 0ffa3fc6..9d881923 100644 --- a/extensions/BUILD.bazel +++ b/extensions/BUILD.bazel @@ -6,6 +6,6 @@ bzl_library( visibility = ["//visibility:public"], deps = [ "//:defs", - "//private:reqs_repo", + "//req_compile/private:reqs_repo", ], ) diff --git a/extensions/python.bzl b/extensions/python.bzl index 95800a02..f767cc79 100644 --- a/extensions/python.bzl +++ b/extensions/python.bzl @@ -4,8 +4,10 @@ load( "//:defs.bzl", package_annotation = "py_package_annotation", ) + +# buildifier: disable=bzl-visibility load( - "//private:reqs_repo.bzl", + "//req_compile/private:reqs_repo.bzl", "create_spoke_repos", "parse_requirements_locks", "py_requirements_repository", diff --git a/private/examples/BUILD.bazel b/private/examples/BUILD.bazel deleted file mode 100644 index e69de29b..00000000 diff --git a/private/examples/multiplatform_py_test/MODULE.bazel.lock b/private/examples/multiplatform_py_test/MODULE.bazel.lock deleted file mode 100644 index e9e76208..00000000 --- a/private/examples/multiplatform_py_test/MODULE.bazel.lock +++ /dev/null @@ -1,291 +0,0 @@ -{ - "lockFileVersion": 11, - "registryFileHashes": { - "https://bcr.bazel.build/bazel_registry.json": "8a28e4aff06ee60aed2a8c281907fb8bcbf3b753c91fb5a5c57da3215d5b3497", - "https://bcr.bazel.build/modules/abseil-cpp/20210324.2/MODULE.bazel": "7cd0312e064fde87c8d1cd79ba06c876bd23630c83466e9500321be55c96ace2", - "https://bcr.bazel.build/modules/abseil-cpp/20211102.0/MODULE.bazel": "70390338f7a5106231d20620712f7cccb659cd0e9d073d1991c038eb9fc57589", - "https://bcr.bazel.build/modules/abseil-cpp/20230125.1/MODULE.bazel": "89047429cb0207707b2dface14ba7f8df85273d484c2572755be4bab7ce9c3a0", - "https://bcr.bazel.build/modules/abseil-cpp/20230802.0.bcr.1/MODULE.bazel": "1c8cec495288dccd14fdae6e3f95f772c1c91857047a098fad772034264cc8cb", - "https://bcr.bazel.build/modules/abseil-cpp/20230802.0/MODULE.bazel": "d253ae36a8bd9ee3c5955384096ccb6baf16a1b1e93e858370da0a3b94f77c16", - "https://bcr.bazel.build/modules/abseil-cpp/20230802.1/MODULE.bazel": "fa92e2eb41a04df73cdabeec37107316f7e5272650f81d6cc096418fe647b915", - "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/MODULE.bazel": "37bcdb4440fbb61df6a1c296ae01b327f19e9bb521f9b8e26ec854b6f97309ed", - "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/source.json": "9be551b8d4e3ef76875c0d744b5d6a504a27e3ae67bc6b28f46415fd2d2957da", - "https://bcr.bazel.build/modules/apple_support/1.5.0/MODULE.bazel": "50341a62efbc483e8a2a6aec30994a58749bd7b885e18dd96aa8c33031e558ef", - "https://bcr.bazel.build/modules/apple_support/1.5.0/source.json": "eb98a7627c0bc486b57f598ad8da50f6625d974c8f723e9ea71bd39f709c9862", - "https://bcr.bazel.build/modules/bazel_features/1.1.1/MODULE.bazel": "27b8c79ef57efe08efccbd9dd6ef70d61b4798320b8d3c134fd571f78963dbcd", - "https://bcr.bazel.build/modules/bazel_features/1.11.0/MODULE.bazel": "f9382337dd5a474c3b7d334c2f83e50b6eaedc284253334cf823044a26de03e8", - "https://bcr.bazel.build/modules/bazel_features/1.15.0/MODULE.bazel": "d38ff6e517149dc509406aca0db3ad1efdd890a85e049585b7234d04238e2a4d", - "https://bcr.bazel.build/modules/bazel_features/1.17.0/MODULE.bazel": "039de32d21b816b47bd42c778e0454217e9c9caac4a3cf8e15c7231ee3ddee4d", - "https://bcr.bazel.build/modules/bazel_features/1.18.0/MODULE.bazel": "1be0ae2557ab3a72a57aeb31b29be347bcdc5d2b1eb1e70f39e3851a7e97041a", - "https://bcr.bazel.build/modules/bazel_features/1.19.0/MODULE.bazel": "59adcdf28230d220f0067b1f435b8537dd033bfff8db21335ef9217919c7fb58", - "https://bcr.bazel.build/modules/bazel_features/1.21.0/MODULE.bazel": "675642261665d8eea09989aa3b8afb5c37627f1be178382c320d1b46afba5e3b", - "https://bcr.bazel.build/modules/bazel_features/1.21.0/source.json": "3e8379efaaef53ce35b7b8ba419df829315a880cb0a030e5bb45c96d6d5ecb5f", - "https://bcr.bazel.build/modules/bazel_features/1.4.1/MODULE.bazel": "e45b6bb2350aff3e442ae1111c555e27eac1d915e77775f6fdc4b351b758b5d7", - "https://bcr.bazel.build/modules/bazel_skylib/1.0.3/MODULE.bazel": "bcb0fd896384802d1ad283b4e4eb4d718eebd8cb820b0a2c3a347fb971afd9d8", - "https://bcr.bazel.build/modules/bazel_skylib/1.1.1/MODULE.bazel": "1add3e7d93ff2e6998f9e118022c84d163917d912f5afafb3058e3d2f1545b5e", - "https://bcr.bazel.build/modules/bazel_skylib/1.2.0/MODULE.bazel": "44fe84260e454ed94ad326352a698422dbe372b21a1ac9f3eab76eb531223686", - "https://bcr.bazel.build/modules/bazel_skylib/1.2.1/MODULE.bazel": "f35baf9da0efe45fa3da1696ae906eea3d615ad41e2e3def4aeb4e8bc0ef9a7a", - "https://bcr.bazel.build/modules/bazel_skylib/1.3.0/MODULE.bazel": "20228b92868bf5cfc41bda7afc8a8ba2a543201851de39d990ec957b513579c5", - "https://bcr.bazel.build/modules/bazel_skylib/1.4.1/MODULE.bazel": "a0dcb779424be33100dcae821e9e27e4f2901d9dfd5333efe5ac6a8d7ab75e1d", - "https://bcr.bazel.build/modules/bazel_skylib/1.4.2/MODULE.bazel": "3bd40978e7a1fac911d5989e6b09d8f64921865a45822d8b09e815eaa726a651", - "https://bcr.bazel.build/modules/bazel_skylib/1.5.0/MODULE.bazel": "32880f5e2945ce6a03d1fbd588e9198c0a959bb42297b2cfaf1685b7bc32e138", - "https://bcr.bazel.build/modules/bazel_skylib/1.6.1/MODULE.bazel": "8fdee2dbaace6c252131c00e1de4b165dc65af02ea278476187765e1a617b917", - "https://bcr.bazel.build/modules/bazel_skylib/1.7.0/MODULE.bazel": "0db596f4563de7938de764cc8deeabec291f55e8ec15299718b93c4423e9796d", - "https://bcr.bazel.build/modules/bazel_skylib/1.7.1/MODULE.bazel": "3120d80c5861aa616222ec015332e5f8d3171e062e3e804a2a0253e1be26e59b", - "https://bcr.bazel.build/modules/bazel_skylib/1.7.1/source.json": "f121b43eeefc7c29efbd51b83d08631e2347297c95aac9764a701f2a6a2bb953", - "https://bcr.bazel.build/modules/buildozer/7.1.2/MODULE.bazel": "2e8dd40ede9c454042645fd8d8d0cd1527966aa5c919de86661e62953cd73d84", - "https://bcr.bazel.build/modules/buildozer/7.1.2/source.json": "c9028a501d2db85793a6996205c8de120944f50a0d570438fcae0457a5f9d1f8", - "https://bcr.bazel.build/modules/google_benchmark/1.8.2/MODULE.bazel": "a70cf1bba851000ba93b58ae2f6d76490a9feb74192e57ab8e8ff13c34ec50cb", - "https://bcr.bazel.build/modules/googletest/1.11.0/MODULE.bazel": "3a83f095183f66345ca86aa13c58b59f9f94a2f81999c093d4eeaa2d262d12f4", - "https://bcr.bazel.build/modules/googletest/1.14.0.bcr.1/MODULE.bazel": "22c31a561553727960057361aa33bf20fb2e98584bc4fec007906e27053f80c6", - "https://bcr.bazel.build/modules/googletest/1.14.0.bcr.1/source.json": "41e9e129f80d8c8bf103a7acc337b76e54fad1214ac0a7084bf24f4cd924b8b4", - "https://bcr.bazel.build/modules/googletest/1.14.0/MODULE.bazel": "cfbcbf3e6eac06ef9d85900f64424708cc08687d1b527f0ef65aa7517af8118f", - "https://bcr.bazel.build/modules/jsoncpp/1.9.5/MODULE.bazel": "31271aedc59e815656f5736f282bb7509a97c7ecb43e927ac1a37966e0578075", - "https://bcr.bazel.build/modules/jsoncpp/1.9.5/source.json": "4108ee5085dd2885a341c7fab149429db457b3169b86eb081fa245eadf69169d", - "https://bcr.bazel.build/modules/libpfm/4.11.0/MODULE.bazel": "45061ff025b301940f1e30d2c16bea596c25b176c8b6b3087e92615adbd52902", - "https://bcr.bazel.build/modules/platforms/0.0.10/MODULE.bazel": "8cb8efaf200bdeb2150d93e162c40f388529a25852b332cec879373771e48ed5", - "https://bcr.bazel.build/modules/platforms/0.0.11/MODULE.bazel": "0daefc49732e227caa8bfa834d65dc52e8cc18a2faf80df25e8caea151a9413f", - "https://bcr.bazel.build/modules/platforms/0.0.11/source.json": "f7e188b79ebedebfe75e9e1d098b8845226c7992b307e28e1496f23112e8fc29", - "https://bcr.bazel.build/modules/platforms/0.0.4/MODULE.bazel": "9b328e31ee156f53f3c416a64f8491f7eb731742655a47c9eec4703a71644aee", - "https://bcr.bazel.build/modules/platforms/0.0.5/MODULE.bazel": "5733b54ea419d5eaf7997054bb55f6a1d0b5ff8aedf0176fef9eea44f3acda37", - "https://bcr.bazel.build/modules/platforms/0.0.6/MODULE.bazel": "ad6eeef431dc52aefd2d77ed20a4b353f8ebf0f4ecdd26a807d2da5aa8cd0615", - "https://bcr.bazel.build/modules/platforms/0.0.7/MODULE.bazel": "72fd4a0ede9ee5c021f6a8dd92b503e089f46c227ba2813ff183b71616034814", - "https://bcr.bazel.build/modules/platforms/0.0.8/MODULE.bazel": "9f142c03e348f6d263719f5074b21ef3adf0b139ee4c5133e2aa35664da9eb2d", - "https://bcr.bazel.build/modules/platforms/0.0.9/MODULE.bazel": "4a87a60c927b56ddd67db50c89acaa62f4ce2a1d2149ccb63ffd871d5ce29ebc", - "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel": "a5a29bb89544f9b97edce05642fac225a808b5b7be74038ea3640fae2f8e66a7", - "https://bcr.bazel.build/modules/protobuf/27.0/MODULE.bazel": "7873b60be88844a0a1d8f80b9d5d20cfbd8495a689b8763e76c6372998d3f64c", - "https://bcr.bazel.build/modules/protobuf/29.0-rc2/MODULE.bazel": "6241d35983510143049943fc0d57937937122baf1b287862f9dc8590fc4c37df", - "https://bcr.bazel.build/modules/protobuf/29.0-rc3/MODULE.bazel": "33c2dfa286578573afc55a7acaea3cada4122b9631007c594bf0729f41c8de92", - "https://bcr.bazel.build/modules/protobuf/29.0-rc3/source.json": "c16a6488fb279ef578da7098e605082d72ed85fc8d843eaae81e7d27d0f4625d", - "https://bcr.bazel.build/modules/protobuf/3.19.0/MODULE.bazel": "6b5fbb433f760a99a22b18b6850ed5784ef0e9928a72668b66e4d7ccd47db9b0", - "https://bcr.bazel.build/modules/protobuf/3.19.6/MODULE.bazel": "9233edc5e1f2ee276a60de3eaa47ac4132302ef9643238f23128fea53ea12858", - "https://bcr.bazel.build/modules/pybind11_bazel/2.11.1/MODULE.bazel": "88af1c246226d87e65be78ed49ecd1e6f5e98648558c14ce99176da041dc378e", - "https://bcr.bazel.build/modules/pybind11_bazel/2.11.1/source.json": "be4789e951dd5301282729fe3d4938995dc4c1a81c2ff150afc9f1b0504c6022", - "https://bcr.bazel.build/modules/re2/2023-09-01/MODULE.bazel": "cb3d511531b16cfc78a225a9e2136007a48cf8a677e4264baeab57fe78a80206", - "https://bcr.bazel.build/modules/re2/2023-09-01/source.json": "e044ce89c2883cd957a2969a43e79f7752f9656f6b20050b62f90ede21ec6eb4", - "https://bcr.bazel.build/modules/rules_android/0.1.1/MODULE.bazel": "48809ab0091b07ad0182defb787c4c5328bd3a278938415c00a7b69b50c4d3a8", - "https://bcr.bazel.build/modules/rules_android/0.1.1/source.json": "e6986b41626ee10bdc864937ffb6d6bf275bb5b9c65120e6137d56e6331f089e", - "https://bcr.bazel.build/modules/rules_cc/0.0.1/MODULE.bazel": "cb2aa0747f84c6c3a78dad4e2049c154f08ab9d166b1273835a8174940365647", - "https://bcr.bazel.build/modules/rules_cc/0.0.10/MODULE.bazel": "ec1705118f7eaedd6e118508d3d26deba2a4e76476ada7e0e3965211be012002", - "https://bcr.bazel.build/modules/rules_cc/0.0.13/MODULE.bazel": "0e8529ed7b323dad0775ff924d2ae5af7640b23553dfcd4d34344c7e7a867191", - "https://bcr.bazel.build/modules/rules_cc/0.0.15/MODULE.bazel": "6704c35f7b4a72502ee81f61bf88706b54f06b3cbe5558ac17e2e14666cd5dcc", - "https://bcr.bazel.build/modules/rules_cc/0.0.16/MODULE.bazel": "7661303b8fc1b4d7f532e54e9d6565771fea666fbdf839e0a86affcd02defe87", - "https://bcr.bazel.build/modules/rules_cc/0.0.2/MODULE.bazel": "6915987c90970493ab97393024c156ea8fb9f3bea953b2f3ec05c34f19b5695c", - "https://bcr.bazel.build/modules/rules_cc/0.0.6/MODULE.bazel": "abf360251023dfe3efcef65ab9d56beefa8394d4176dd29529750e1c57eaa33f", - "https://bcr.bazel.build/modules/rules_cc/0.0.8/MODULE.bazel": "964c85c82cfeb6f3855e6a07054fdb159aced38e99a5eecf7bce9d53990afa3e", - "https://bcr.bazel.build/modules/rules_cc/0.0.9/MODULE.bazel": "836e76439f354b89afe6a911a7adf59a6b2518fafb174483ad78a2a2fde7b1c5", - "https://bcr.bazel.build/modules/rules_cc/0.1.1/MODULE.bazel": "2f0222a6f229f0bf44cd711dc13c858dad98c62d52bd51d8fc3a764a83125513", - "https://bcr.bazel.build/modules/rules_cc/0.1.1/source.json": "d61627377bd7dd1da4652063e368d9366fc9a73920bfa396798ad92172cf645c", - "https://bcr.bazel.build/modules/rules_foreign_cc/0.9.0/MODULE.bazel": "c9e8c682bf75b0e7c704166d79b599f93b72cfca5ad7477df596947891feeef6", - "https://bcr.bazel.build/modules/rules_fuzzing/0.5.2/MODULE.bazel": "40c97d1144356f52905566c55811f13b299453a14ac7769dfba2ac38192337a8", - "https://bcr.bazel.build/modules/rules_fuzzing/0.5.2/source.json": "c8b1e2c717646f1702290959a3302a178fb639d987ab61d548105019f11e527e", - "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74", - "https://bcr.bazel.build/modules/rules_java/5.3.5/MODULE.bazel": "a4ec4f2db570171e3e5eb753276ee4b389bae16b96207e9d3230895c99644b86", - "https://bcr.bazel.build/modules/rules_java/6.5.2/MODULE.bazel": "1d440d262d0e08453fa0c4d8f699ba81609ed0e9a9a0f02cd10b3e7942e61e31", - "https://bcr.bazel.build/modules/rules_java/7.10.0/MODULE.bazel": "530c3beb3067e870561739f1144329a21c851ff771cd752a49e06e3dc9c2e71a", - "https://bcr.bazel.build/modules/rules_java/7.12.2/MODULE.bazel": "579c505165ee757a4280ef83cda0150eea193eed3bef50b1004ba88b99da6de6", - "https://bcr.bazel.build/modules/rules_java/7.2.0/MODULE.bazel": "06c0334c9be61e6cef2c8c84a7800cef502063269a5af25ceb100b192453d4ab", - "https://bcr.bazel.build/modules/rules_java/7.6.1/MODULE.bazel": "2f14b7e8a1aa2f67ae92bc69d1ec0fa8d9f827c4e17ff5e5f02e91caa3b2d0fe", - "https://bcr.bazel.build/modules/rules_java/7.6.5/MODULE.bazel": "481164be5e02e4cab6e77a36927683263be56b7e36fef918b458d7a8a1ebadb1", - "https://bcr.bazel.build/modules/rules_java/8.3.2/MODULE.bazel": "7336d5511ad5af0b8615fdc7477535a2e4e723a357b6713af439fe8cf0195017", - "https://bcr.bazel.build/modules/rules_java/8.5.1/MODULE.bazel": "d8a9e38cc5228881f7055a6079f6f7821a073df3744d441978e7a43e20226939", - "https://bcr.bazel.build/modules/rules_java/8.5.1/source.json": "db1a77d81b059e0f84985db67a22f3f579a529a86b7997605be3d214a0abe38e", - "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel": "a56b85e418c83eb1839819f0b515c431010160383306d13ec21959ac412d2fe7", - "https://bcr.bazel.build/modules/rules_jvm_external/5.1/MODULE.bazel": "33f6f999e03183f7d088c9be518a63467dfd0be94a11d0055fe2d210f89aa909", - "https://bcr.bazel.build/modules/rules_jvm_external/5.2/MODULE.bazel": "d9351ba35217ad0de03816ef3ed63f89d411349353077348a45348b096615036", - "https://bcr.bazel.build/modules/rules_jvm_external/6.3/MODULE.bazel": "c998e060b85f71e00de5ec552019347c8bca255062c990ac02d051bb80a38df0", - "https://bcr.bazel.build/modules/rules_jvm_external/6.3/source.json": "6f5f5a5a4419ae4e37c35a5bb0a6ae657ed40b7abc5a5189111b47fcebe43197", - "https://bcr.bazel.build/modules/rules_kotlin/1.9.6/MODULE.bazel": "d269a01a18ee74d0335450b10f62c9ed81f2321d7958a2934e44272fe82dcef3", - "https://bcr.bazel.build/modules/rules_kotlin/1.9.6/source.json": "2faa4794364282db7c06600b7e5e34867a564ae91bda7cae7c29c64e9466b7d5", - "https://bcr.bazel.build/modules/rules_license/0.0.3/MODULE.bazel": "627e9ab0247f7d1e05736b59dbb1b6871373de5ad31c3011880b4133cafd4bd0", - "https://bcr.bazel.build/modules/rules_license/0.0.7/MODULE.bazel": "088fbeb0b6a419005b89cf93fe62d9517c0a2b8bb56af3244af65ecfe37e7d5d", - "https://bcr.bazel.build/modules/rules_license/1.0.0/MODULE.bazel": "a7fda60eefdf3d8c827262ba499957e4df06f659330bbe6cdbdb975b768bb65c", - "https://bcr.bazel.build/modules/rules_license/1.0.0/source.json": "a52c89e54cc311196e478f8382df91c15f7a2bfdf4c6cd0e2675cc2ff0b56efb", - "https://bcr.bazel.build/modules/rules_pkg/0.7.0/MODULE.bazel": "df99f03fc7934a4737122518bb87e667e62d780b610910f0447665a7e2be62dc", - "https://bcr.bazel.build/modules/rules_pkg/1.0.1/MODULE.bazel": "5b1df97dbc29623bccdf2b0dcd0f5cb08e2f2c9050aab1092fd39a41e82686ff", - "https://bcr.bazel.build/modules/rules_pkg/1.0.1/source.json": "bd82e5d7b9ce2d31e380dd9f50c111d678c3bdaca190cb76b0e1c71b05e1ba8a", - "https://bcr.bazel.build/modules/rules_proto/4.0.0/MODULE.bazel": "a7a7b6ce9bee418c1a760b3d84f83a299ad6952f9903c67f19e4edd964894e06", - "https://bcr.bazel.build/modules/rules_proto/5.3.0-21.7/MODULE.bazel": "e8dff86b0971688790ae75528fe1813f71809b5afd57facb44dad9e8eca631b7", - "https://bcr.bazel.build/modules/rules_proto/6.0.2/MODULE.bazel": "ce916b775a62b90b61888052a416ccdda405212b6aaeb39522f7dc53431a5e73", - "https://bcr.bazel.build/modules/rules_proto/6.0.2/source.json": "17a2e195f56cb28d6bbf763e49973d13890487c6945311ed141e196fb660426d", - "https://bcr.bazel.build/modules/rules_python/0.10.2/MODULE.bazel": "cc82bc96f2997baa545ab3ce73f196d040ffb8756fd2d66125a530031cd90e5f", - "https://bcr.bazel.build/modules/rules_python/0.22.1/MODULE.bazel": "26114f0c0b5e93018c0c066d6673f1a2c3737c7e90af95eff30cfee38d0bbac7", - "https://bcr.bazel.build/modules/rules_python/0.23.1/MODULE.bazel": "49ffccf0511cb8414de28321f5fcf2a31312b47c40cc21577144b7447f2bf300", - "https://bcr.bazel.build/modules/rules_python/0.25.0/MODULE.bazel": "72f1506841c920a1afec76975b35312410eea3aa7b63267436bfb1dd91d2d382", - "https://bcr.bazel.build/modules/rules_python/0.28.0/MODULE.bazel": "cba2573d870babc976664a912539b320cbaa7114cd3e8f053c720171cde331ed", - "https://bcr.bazel.build/modules/rules_python/0.31.0/MODULE.bazel": "93a43dc47ee570e6ec9f5779b2e64c1476a6ce921c48cc9a1678a91dd5f8fd58", - "https://bcr.bazel.build/modules/rules_python/0.4.0/MODULE.bazel": "9208ee05fd48bf09ac60ed269791cf17fb343db56c8226a720fbb1cdf467166c", - "https://bcr.bazel.build/modules/rules_python/1.3.0/MODULE.bazel": "8361d57eafb67c09b75bf4bbe6be360e1b8f4f18118ab48037f2bd50aa2ccb13", - "https://bcr.bazel.build/modules/rules_python/1.3.0/source.json": "25932f917cd279c7baefa6cb1d3fa8750a7a29de522024449b19af6eab51f4a0", - "https://bcr.bazel.build/modules/rules_shell/0.2.0/MODULE.bazel": "fda8a652ab3c7d8fee214de05e7a9916d8b28082234e8d2c0094505c5268ed3c", - "https://bcr.bazel.build/modules/rules_shell/0.4.0/MODULE.bazel": "0f8f11bb3cd11755f0b48c1de0bbcf62b4b34421023aa41a2fc74ef68d9584f0", - "https://bcr.bazel.build/modules/rules_shell/0.4.0/source.json": "1d7fa7f941cd41dc2704ba5b4edc2e2230eea1cc600d80bd2b65838204c50b95", - "https://bcr.bazel.build/modules/rules_venv/0.3.1/MODULE.bazel": "5bd2b5ecc94e9dce5bd4bc924198d22011c07205b022306c3fc988814fef350f", - "https://bcr.bazel.build/modules/rules_venv/0.3.1/source.json": "96e111d7c66220baeb1e6a36de22f1028b76d4b6de501449cbe3c24e2fc62563", - "https://bcr.bazel.build/modules/stardoc/0.5.1/MODULE.bazel": "1a05d92974d0c122f5ccf09291442580317cdd859f07a8655f1db9a60374f9f8", - "https://bcr.bazel.build/modules/stardoc/0.5.3/MODULE.bazel": "c7f6948dae6999bf0db32c1858ae345f112cacf98f174c7a8bb707e41b974f1c", - "https://bcr.bazel.build/modules/stardoc/0.7.0/MODULE.bazel": "05e3d6d30c099b6770e97da986c53bd31844d7f13d41412480ea265ac9e8079c", - "https://bcr.bazel.build/modules/stardoc/0.7.2/MODULE.bazel": "fc152419aa2ea0f51c29583fab1e8c99ddefd5b3778421845606ee628629e0e5", - "https://bcr.bazel.build/modules/stardoc/0.7.2/source.json": "58b029e5e901d6802967754adf0a9056747e8176f017cfe3607c0851f4d42216", - "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "7298990c00040a0e2f121f6c32544bab27d4452f80d9ce51349b1a28f3005c43", - "https://bcr.bazel.build/modules/zlib/1.2.11/MODULE.bazel": "07b389abc85fdbca459b69e2ec656ae5622873af3f845e1c9d80fe179f3effa0", - "https://bcr.bazel.build/modules/zlib/1.2.12/MODULE.bazel": "3b1a8834ada2a883674be8cbd36ede1b6ec481477ada359cd2d3ddc562340b27", - "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.3/MODULE.bazel": "af322bc08976524477c79d1e45e241b6efbeb918c497e8840b8ab116802dda79", - "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.3/source.json": "2be409ac3c7601245958cd4fcdff4288be79ed23bd690b4b951f500d54ee6e7d", - "https://bcr.bazel.build/modules/zlib/1.3.1/MODULE.bazel": "751c9940dcfe869f5f7274e1295422a34623555916eb98c174c1e945594bf198" - }, - "selectedYankedVersions": {}, - "moduleExtensions": { - "@@apple_support~//crosstool:setup.bzl%apple_cc_configure_extension": { - "general": { - "bzlTransitiveDigest": "PjIds3feoYE8SGbbIq2SFTZy3zmxeO2tQevJZNDo7iY=", - "usagesDigest": "+hz7IHWN6A1oVJJWNDB6yZRG+RYhF76wAYItpAeIUIg=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "local_config_apple_cc_toolchains": { - "bzlFile": "@@apple_support~//crosstool:setup.bzl", - "ruleClassName": "_apple_cc_autoconf_toolchains", - "attributes": {} - }, - "local_config_apple_cc": { - "bzlFile": "@@apple_support~//crosstool:setup.bzl", - "ruleClassName": "_apple_cc_autoconf", - "attributes": {} - } - }, - "recordedRepoMappingEntries": [ - [ - "apple_support~", - "bazel_tools", - "bazel_tools" - ] - ] - } - }, - "@@rules_java~//java:rules_java_deps.bzl%compatibility_proxy": { - "general": { - "bzlTransitiveDigest": "KIX40nDfygEWbU+rq3nYpt3tVgTK/iO8PKh5VMBlN7M=", - "usagesDigest": "pwHZ+26iLgQdwvdZeA5wnAjKnNI3y6XO2VbhOTeo5h8=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "compatibility_proxy": { - "bzlFile": "@@rules_java~//java:rules_java_deps.bzl", - "ruleClassName": "_compatibility_proxy_repo_rule", - "attributes": {} - } - }, - "recordedRepoMappingEntries": [ - [ - "rules_java~", - "bazel_tools", - "bazel_tools" - ] - ] - } - }, - "@@rules_kotlin~//src/main/starlark/core/repositories:bzlmod_setup.bzl%rules_kotlin_extensions": { - "general": { - "bzlTransitiveDigest": "fus14IFJ/1LGWWGKPH/U18VnJCoMjfDt1ckahqCnM0A=", - "usagesDigest": "aJF6fLy82rR95Ff5CZPAqxNoFgOMLMN5ImfBS0nhnkg=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "com_github_jetbrains_kotlin_git": { - "bzlFile": "@@rules_kotlin~//src/main/starlark/core/repositories:compiler.bzl", - "ruleClassName": "kotlin_compiler_git_repository", - "attributes": { - "urls": [ - "https://github.com/JetBrains/kotlin/releases/download/v1.9.23/kotlin-compiler-1.9.23.zip" - ], - "sha256": "93137d3aab9afa9b27cb06a824c2324195c6b6f6179d8a8653f440f5bd58be88" - } - }, - "com_github_jetbrains_kotlin": { - "bzlFile": "@@rules_kotlin~//src/main/starlark/core/repositories:compiler.bzl", - "ruleClassName": "kotlin_capabilities_repository", - "attributes": { - "git_repository_name": "com_github_jetbrains_kotlin_git", - "compiler_version": "1.9.23" - } - }, - "com_github_google_ksp": { - "bzlFile": "@@rules_kotlin~//src/main/starlark/core/repositories:ksp.bzl", - "ruleClassName": "ksp_compiler_plugin_repository", - "attributes": { - "urls": [ - "https://github.com/google/ksp/releases/download/1.9.23-1.0.20/artifacts.zip" - ], - "sha256": "ee0618755913ef7fd6511288a232e8fad24838b9af6ea73972a76e81053c8c2d", - "strip_version": "1.9.23-1.0.20" - } - }, - "com_github_pinterest_ktlint": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_file", - "attributes": { - "sha256": "01b2e0ef893383a50dbeb13970fe7fa3be36ca3e83259e01649945b09d736985", - "urls": [ - "https://github.com/pinterest/ktlint/releases/download/1.3.0/ktlint" - ], - "executable": true - } - }, - "rules_android": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "sha256": "cd06d15dd8bb59926e4d65f9003bfc20f9da4b2519985c27e190cddc8b7a7806", - "strip_prefix": "rules_android-0.1.1", - "urls": [ - "https://github.com/bazelbuild/rules_android/archive/v0.1.1.zip" - ] - } - } - }, - "recordedRepoMappingEntries": [ - [ - "rules_kotlin~", - "bazel_tools", - "bazel_tools" - ] - ] - } - }, - "@@rules_python~//python/uv:uv.bzl%uv": { - "general": { - "bzlTransitiveDigest": "Xpqjnjzy6zZ90Es9Wa888ZLHhn7IsNGbph/e6qoxzw8=", - "usagesDigest": "qI5PVlIum/YAnGJg5oXGHzDkMFWt2aNSUZY4G8PBbic=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "uv": { - "bzlFile": "@@rules_python~//python/uv/private:uv_toolchains_repo.bzl", - "ruleClassName": "uv_toolchains_repo", - "attributes": { - "toolchain_type": "'@@rules_python~//python/uv:uv_toolchain_type'", - "toolchain_names": [ - "none" - ], - "toolchain_implementations": { - "none": "'@@rules_python~//python:none'" - }, - "toolchain_compatible_with": { - "none": [ - "@platforms//:incompatible" - ] - }, - "toolchain_target_settings": {} - } - } - }, - "recordedRepoMappingEntries": [] - } - } - } -} diff --git a/private/examples/multiplatform_py_test/WORKSPACE.bazel b/private/examples/multiplatform_py_test/WORKSPACE.bazel deleted file mode 100644 index e69de29b..00000000 diff --git a/private/examples/multiplatform_py_test/WORKSPACE.bzlmod b/private/examples/multiplatform_py_test/WORKSPACE.bzlmod deleted file mode 100644 index ad7d9ac9..00000000 --- a/private/examples/multiplatform_py_test/WORKSPACE.bzlmod +++ /dev/null @@ -1,16 +0,0 @@ -load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") - -http_archive( - name = "io_buildbuddy_buildbuddy_toolchain", - sha256 = "baa9af1b9fcc96d18ac90a4dd68ebd2046c8beb76ed89aea9aabca30959ad30c", - strip_prefix = "buildbuddy-toolchain-287d6042ad151be92de03c83ef48747ba832c4e2", - urls = ["https://github.com/buildbuddy-io/buildbuddy-toolchain/archive/287d6042ad151be92de03c83ef48747ba832c4e2.tar.gz"], -) - -load("@io_buildbuddy_buildbuddy_toolchain//:deps.bzl", "buildbuddy_deps") - -buildbuddy_deps() - -load("@io_buildbuddy_buildbuddy_toolchain//:rules.bzl", "buildbuddy") - -buildbuddy(name = "buildbuddy_toolchain") diff --git a/private/tests/BUILD.bazel b/private/tests/BUILD.bazel deleted file mode 100644 index e69de29b..00000000 diff --git a/private/tests/annotations/annotations_test_deps.bzl b/private/tests/annotations/annotations_test_deps.bzl deleted file mode 100644 index ba08126d..00000000 --- a/private/tests/annotations/annotations_test_deps.bzl +++ /dev/null @@ -1,78 +0,0 @@ -"""Test dependencies for the annotations integration test""" - -load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") -load( - "//:defs.bzl", - "py_requirements_repository", - package_annotation = "py_package_annotation", -) - -_NUMPY_LIBRARY_TARGET = """\ -load("@rules_cc//cc:defs.bzl", "cc_library") -load("@rules_req_compile//:defs.bzl", "py_package_annotation_target") - -_INCLUDE_DIR = "site-packages/numpy/core/include" - -cc_library( - name = "headers", - hdrs = glob(["{}/**/*.h".format(_INCLUDE_DIR)]), - includes = [_INCLUDE_DIR], -) - -py_package_annotation_target( - name = "pkg.headers", - target = ":headers", -) -""" - -def req_compile_test_annotations_deps(): - maybe( - py_requirements_repository, - name = "req_compile_test_annotations", - requirements_locks = { - Label("//private/tests/annotations:requirements.linux.txt"): "@platforms//os:linux", - Label("//private/tests/annotations:requirements.macos.txt"): "@platforms//os:macos", - Label("//private/tests/annotations:requirements.windows.txt"): "@platforms//os:windows", - }, - annotations = { - "numpy": package_annotation( - additive_build_file_content = _NUMPY_LIBRARY_TARGET, - data = [":pkg.headers"], - copy_srcs = { - "site-packages/numpy/conftest.py": "site-packages/numpy/conftest.copy.py", - }, - copy_files = { - "site-packages/numpy-1.26.4.dist-info/entry_points.txt": "site-packages/numpy-1.26.4.dist-info/entry_points.copy.txt", - }, - copy_executables = { - "site-packages/numpy/testing/setup.py": "site-packages/numpy/testing/setup.copy.py", - }, - patches = [ - Label("//private/tests/annotations:numpy.patch"), - ], - deps = [ - # Show that label dependencies can be added. - Label("@rules_python//python/runfiles"), - ], - ), - # Sphinx is known to have a circular dependency. The annotations here solve for that. - "sphinxcontrib-applehelp": package_annotation( - deps = ["-sphinx"], - ), - "sphinxcontrib-devhelp": package_annotation( - deps = ["-sphinx"], - ), - "sphinxcontrib-htmlhelp": package_annotation( - deps = ["-sphinx"], - ), - "sphinxcontrib-jsmath": package_annotation( - deps_excludes = ["sphinx"], - ), - "sphinxcontrib-qthelp": package_annotation( - deps_excludes = ["sphinx"], - ), - "sphinxcontrib-serializinghtml": package_annotation( - deps_excludes = ["sphinx"], - ), - }, - ) diff --git a/private/tests/find_links/BUILD.bazel b/private/tests/find_links/BUILD.bazel deleted file mode 100644 index 92cf708f..00000000 --- a/private/tests/find_links/BUILD.bazel +++ /dev/null @@ -1,54 +0,0 @@ -load("@bazel_skylib//:bzl_library.bzl", "bzl_library") -load("@rules_python//python:defs.bzl", "py_binary", "py_test") -load("//:defs.bzl", "py_reqs_compiler", "py_reqs_solution_test") - -exports_files(["find_links.py"]) - -filegroup( - name = "requirements", - srcs = ["requirements.in"], - data = ["wheeldir/.gitkeep"] + glob( - include = ["wheeldir/*.whl"], - allow_empty = True, - ), -) - -py_binary( - name = "compiler_wrapper", - srcs = ["compiler_wrapper.py"], -) - -py_reqs_compiler( - name = "requirements.update", - custom_compile_command = "bazel run //private/tests/find_links:compiler_wrapper", - requirements_in = ":requirements", - requirements_txt = "requirements.txt", -) - -py_reqs_solution_test( - name = "requirements_test", - compiler = ":requirements.update", -) - -py_test( - name = "find_links", - srcs = ["//private/tests/find_links:find_links.py"], - main = "//private/tests/find_links:find_links.py", - deps = [ - "@req_compile_test_find_links//pyspark", - ], -) - -bzl_library( - name = "extension", - srcs = ["extension.bzl"], - visibility = ["//:__subpackages__"], - deps = ["//extensions:python"], -) - -bzl_library( - name = "find_links_test_repo", - srcs = ["find_links_test_repo.bzl"], - visibility = ["//:__subpackages__"], - deps = ["//private:whl_repo"], -) diff --git a/private/tests/internal_deps/BUILD.bazel b/private/tests/internal_deps/BUILD.bazel deleted file mode 100644 index b5b22121..00000000 --- a/private/tests/internal_deps/BUILD.bazel +++ /dev/null @@ -1,8 +0,0 @@ -load("//private:compiler.bzl", "py_reqs_solution_test") - -py_reqs_solution_test( - name = "sdist_requirements_test", - custom_compile_command = "python3 -m req_compile --multiline --hashes --urls --solution $(rootpath //private:sdist_requirements.txt) $(rootpath //private:sdist_requirements.in)", - requirements_in = "//private:sdist_requirements.in", - requirements_txt = "//private:sdist_requirements.txt", -) diff --git a/private/tests/override_module_repos/overridee/MODULE.bazel.lock b/private/tests/override_module_repos/overridee/MODULE.bazel.lock deleted file mode 100644 index f14ffde8..00000000 --- a/private/tests/override_module_repos/overridee/MODULE.bazel.lock +++ /dev/null @@ -1,3817 +0,0 @@ -{ - "lockFileVersion": 11, - "registryFileHashes": { - "https://bcr.bazel.build/bazel_registry.json": "8a28e4aff06ee60aed2a8c281907fb8bcbf3b753c91fb5a5c57da3215d5b3497", - "https://bcr.bazel.build/modules/abseil-cpp/20210324.2/MODULE.bazel": "7cd0312e064fde87c8d1cd79ba06c876bd23630c83466e9500321be55c96ace2", - "https://bcr.bazel.build/modules/abseil-cpp/20211102.0/MODULE.bazel": "70390338f7a5106231d20620712f7cccb659cd0e9d073d1991c038eb9fc57589", - "https://bcr.bazel.build/modules/abseil-cpp/20230125.1/MODULE.bazel": "89047429cb0207707b2dface14ba7f8df85273d484c2572755be4bab7ce9c3a0", - "https://bcr.bazel.build/modules/abseil-cpp/20230802.0.bcr.1/MODULE.bazel": "1c8cec495288dccd14fdae6e3f95f772c1c91857047a098fad772034264cc8cb", - "https://bcr.bazel.build/modules/abseil-cpp/20230802.0.bcr.1/source.json": "14892cc698e02ffedf4967546e6bedb7245015906888d3465fcf27c90a26da10", - "https://bcr.bazel.build/modules/apple_support/1.5.0/MODULE.bazel": "50341a62efbc483e8a2a6aec30994a58749bd7b885e18dd96aa8c33031e558ef", - "https://bcr.bazel.build/modules/apple_support/1.5.0/source.json": "eb98a7627c0bc486b57f598ad8da50f6625d974c8f723e9ea71bd39f709c9862", - "https://bcr.bazel.build/modules/bazel_features/1.11.0/MODULE.bazel": "f9382337dd5a474c3b7d334c2f83e50b6eaedc284253334cf823044a26de03e8", - "https://bcr.bazel.build/modules/bazel_features/1.11.0/source.json": "c9320aa53cd1c441d24bd6b716da087ad7e4ff0d9742a9884587596edfe53015", - "https://bcr.bazel.build/modules/bazel_features/1.9.1/MODULE.bazel": "8f679097876a9b609ad1f60249c49d68bfab783dd9be012faf9d82547b14815a", - "https://bcr.bazel.build/modules/bazel_skylib/1.0.3/MODULE.bazel": "bcb0fd896384802d1ad283b4e4eb4d718eebd8cb820b0a2c3a347fb971afd9d8", - "https://bcr.bazel.build/modules/bazel_skylib/1.2.0/MODULE.bazel": "44fe84260e454ed94ad326352a698422dbe372b21a1ac9f3eab76eb531223686", - "https://bcr.bazel.build/modules/bazel_skylib/1.2.1/MODULE.bazel": "f35baf9da0efe45fa3da1696ae906eea3d615ad41e2e3def4aeb4e8bc0ef9a7a", - "https://bcr.bazel.build/modules/bazel_skylib/1.3.0/MODULE.bazel": "20228b92868bf5cfc41bda7afc8a8ba2a543201851de39d990ec957b513579c5", - "https://bcr.bazel.build/modules/bazel_skylib/1.4.1/MODULE.bazel": "a0dcb779424be33100dcae821e9e27e4f2901d9dfd5333efe5ac6a8d7ab75e1d", - "https://bcr.bazel.build/modules/bazel_skylib/1.5.0/MODULE.bazel": "32880f5e2945ce6a03d1fbd588e9198c0a959bb42297b2cfaf1685b7bc32e138", - "https://bcr.bazel.build/modules/bazel_skylib/1.6.1/MODULE.bazel": "8fdee2dbaace6c252131c00e1de4b165dc65af02ea278476187765e1a617b917", - "https://bcr.bazel.build/modules/bazel_skylib/1.6.1/source.json": "082ed5f9837901fada8c68c2f3ddc958bb22b6d654f71dd73f3df30d45d4b749", - "https://bcr.bazel.build/modules/buildozer/7.1.2/MODULE.bazel": "2e8dd40ede9c454042645fd8d8d0cd1527966aa5c919de86661e62953cd73d84", - "https://bcr.bazel.build/modules/buildozer/7.1.2/source.json": "c9028a501d2db85793a6996205c8de120944f50a0d570438fcae0457a5f9d1f8", - "https://bcr.bazel.build/modules/googletest/1.11.0/MODULE.bazel": "3a83f095183f66345ca86aa13c58b59f9f94a2f81999c093d4eeaa2d262d12f4", - "https://bcr.bazel.build/modules/googletest/1.14.0/MODULE.bazel": "cfbcbf3e6eac06ef9d85900f64424708cc08687d1b527f0ef65aa7517af8118f", - "https://bcr.bazel.build/modules/googletest/1.14.0/source.json": "2478949479000fdd7de9a3d0107ba2c85bb5f961c3ecb1aa448f52549ce310b5", - "https://bcr.bazel.build/modules/platforms/0.0.4/MODULE.bazel": "9b328e31ee156f53f3c416a64f8491f7eb731742655a47c9eec4703a71644aee", - "https://bcr.bazel.build/modules/platforms/0.0.5/MODULE.bazel": "5733b54ea419d5eaf7997054bb55f6a1d0b5ff8aedf0176fef9eea44f3acda37", - "https://bcr.bazel.build/modules/platforms/0.0.6/MODULE.bazel": "ad6eeef431dc52aefd2d77ed20a4b353f8ebf0f4ecdd26a807d2da5aa8cd0615", - "https://bcr.bazel.build/modules/platforms/0.0.7/MODULE.bazel": "72fd4a0ede9ee5c021f6a8dd92b503e089f46c227ba2813ff183b71616034814", - "https://bcr.bazel.build/modules/platforms/0.0.8/MODULE.bazel": "9f142c03e348f6d263719f5074b21ef3adf0b139ee4c5133e2aa35664da9eb2d", - "https://bcr.bazel.build/modules/platforms/0.0.9/MODULE.bazel": "4a87a60c927b56ddd67db50c89acaa62f4ce2a1d2149ccb63ffd871d5ce29ebc", - "https://bcr.bazel.build/modules/platforms/0.0.9/source.json": "cd74d854bf16a9e002fb2ca7b1a421f4403cda29f824a765acd3a8c56f8d43e6", - "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel": "a5a29bb89544f9b97edce05642fac225a808b5b7be74038ea3640fae2f8e66a7", - "https://bcr.bazel.build/modules/protobuf/23.1/MODULE.bazel": "88b393b3eb4101d18129e5db51847cd40a5517a53e81216144a8c32dfeeca52a", - "https://bcr.bazel.build/modules/protobuf/24.4/MODULE.bazel": "7bc7ce5f2abf36b3b7b7c8218d3acdebb9426aeb35c2257c96445756f970eb12", - "https://bcr.bazel.build/modules/protobuf/24.4/source.json": "ace4b8c65d4cfe64efe544f09fc5e5df77faf3a67fbb29c5341e0d755d9b15d6", - "https://bcr.bazel.build/modules/protobuf/3.19.0/MODULE.bazel": "6b5fbb433f760a99a22b18b6850ed5784ef0e9928a72668b66e4d7ccd47db9b0", - "https://bcr.bazel.build/modules/protobuf/3.19.6/MODULE.bazel": "9233edc5e1f2ee276a60de3eaa47ac4132302ef9643238f23128fea53ea12858", - "https://bcr.bazel.build/modules/rules_cc/0.0.1/MODULE.bazel": "cb2aa0747f84c6c3a78dad4e2049c154f08ab9d166b1273835a8174940365647", - "https://bcr.bazel.build/modules/rules_cc/0.0.2/MODULE.bazel": "6915987c90970493ab97393024c156ea8fb9f3bea953b2f3ec05c34f19b5695c", - "https://bcr.bazel.build/modules/rules_cc/0.0.6/MODULE.bazel": "abf360251023dfe3efcef65ab9d56beefa8394d4176dd29529750e1c57eaa33f", - "https://bcr.bazel.build/modules/rules_cc/0.0.8/MODULE.bazel": "964c85c82cfeb6f3855e6a07054fdb159aced38e99a5eecf7bce9d53990afa3e", - "https://bcr.bazel.build/modules/rules_cc/0.0.9/MODULE.bazel": "836e76439f354b89afe6a911a7adf59a6b2518fafb174483ad78a2a2fde7b1c5", - "https://bcr.bazel.build/modules/rules_cc/0.0.9/source.json": "1f1ba6fea244b616de4a554a0f4983c91a9301640c8fe0dd1d410254115c8430", - "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74", - "https://bcr.bazel.build/modules/rules_java/7.1.0/MODULE.bazel": "30d9135a2b6561c761bd67bd4990da591e6bdc128790ce3e7afd6a3558b2fb64", - "https://bcr.bazel.build/modules/rules_java/7.6.5/MODULE.bazel": "481164be5e02e4cab6e77a36927683263be56b7e36fef918b458d7a8a1ebadb1", - "https://bcr.bazel.build/modules/rules_java/7.6.5/source.json": "a805b889531d1690e3c72a7a7e47a870d00323186a9904b36af83aa3d053ee8d", - "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel": "a56b85e418c83eb1839819f0b515c431010160383306d13ec21959ac412d2fe7", - "https://bcr.bazel.build/modules/rules_jvm_external/5.1/MODULE.bazel": "33f6f999e03183f7d088c9be518a63467dfd0be94a11d0055fe2d210f89aa909", - "https://bcr.bazel.build/modules/rules_jvm_external/5.1/source.json": "5abb45cc9beb27b77aec6a65a11855ef2b55d95dfdc358e9f312b78ae0ba32d5", - "https://bcr.bazel.build/modules/rules_license/0.0.3/MODULE.bazel": "627e9ab0247f7d1e05736b59dbb1b6871373de5ad31c3011880b4133cafd4bd0", - "https://bcr.bazel.build/modules/rules_license/0.0.7/MODULE.bazel": "088fbeb0b6a419005b89cf93fe62d9517c0a2b8bb56af3244af65ecfe37e7d5d", - "https://bcr.bazel.build/modules/rules_license/0.0.7/source.json": "355cc5737a0f294e560d52b1b7a6492d4fff2caf0bef1a315df5a298fca2d34a", - "https://bcr.bazel.build/modules/rules_pkg/0.7.0/MODULE.bazel": "df99f03fc7934a4737122518bb87e667e62d780b610910f0447665a7e2be62dc", - "https://bcr.bazel.build/modules/rules_pkg/0.7.0/source.json": "c2557066e0c0342223ba592510ad3d812d4963b9024831f7f66fd0584dd8c66c", - "https://bcr.bazel.build/modules/rules_proto/4.0.0/MODULE.bazel": "a7a7b6ce9bee418c1a760b3d84f83a299ad6952f9903c67f19e4edd964894e06", - "https://bcr.bazel.build/modules/rules_proto/5.3.0-21.7/MODULE.bazel": "e8dff86b0971688790ae75528fe1813f71809b5afd57facb44dad9e8eca631b7", - "https://bcr.bazel.build/modules/rules_proto/6.0.0-rc1/MODULE.bazel": "1e5b502e2e1a9e825eef74476a5a1ee524a92297085015a052510b09a1a09483", - "https://bcr.bazel.build/modules/rules_proto/6.0.0-rc1/source.json": "8d8448e71706df7450ced227ca6b3812407ff5e2ccad74a43a9fbe79c84e34e0", - "https://bcr.bazel.build/modules/rules_python/0.10.2/MODULE.bazel": "cc82bc96f2997baa545ab3ce73f196d040ffb8756fd2d66125a530031cd90e5f", - "https://bcr.bazel.build/modules/rules_python/0.22.1/MODULE.bazel": "26114f0c0b5e93018c0c066d6673f1a2c3737c7e90af95eff30cfee38d0bbac7", - "https://bcr.bazel.build/modules/rules_python/0.34.0/MODULE.bazel": "1d623d026e075b78c9fde483a889cda7996f5da4f36dffb24c246ab30f06513a", - "https://bcr.bazel.build/modules/rules_python/0.34.0/source.json": "113116e287eec64a7d005a9db44865d810499fdc4f621e352aff58214f5ea2d8", - "https://bcr.bazel.build/modules/rules_python/0.4.0/MODULE.bazel": "9208ee05fd48bf09ac60ed269791cf17fb343db56c8226a720fbb1cdf467166c", - "https://bcr.bazel.build/modules/stardoc/0.5.1/MODULE.bazel": "1a05d92974d0c122f5ccf09291442580317cdd859f07a8655f1db9a60374f9f8", - "https://bcr.bazel.build/modules/stardoc/0.5.3/MODULE.bazel": "c7f6948dae6999bf0db32c1858ae345f112cacf98f174c7a8bb707e41b974f1c", - "https://bcr.bazel.build/modules/stardoc/0.5.3/source.json": "cd53fe968dc8cd98197c052db3db6d82562960c87b61e7a90ee96f8e4e0dda97", - "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "7298990c00040a0e2f121f6c32544bab27d4452f80d9ce51349b1a28f3005c43", - "https://bcr.bazel.build/modules/upb/0.0.0-20230516-61a97ef/MODULE.bazel": "c0df5e35ad55e264160417fd0875932ee3c9dda63d9fccace35ac62f45e1b6f9", - "https://bcr.bazel.build/modules/upb/0.0.0-20230516-61a97ef/source.json": "b2150404947339e8b947c6b16baa39fa75657f4ddec5e37272c7b11c7ab533bc", - "https://bcr.bazel.build/modules/zlib/1.2.11/MODULE.bazel": "07b389abc85fdbca459b69e2ec656ae5622873af3f845e1c9d80fe179f3effa0", - "https://bcr.bazel.build/modules/zlib/1.2.12/MODULE.bazel": "3b1a8834ada2a883674be8cbd36ede1b6ec481477ada359cd2d3ddc562340b27", - "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.3/MODULE.bazel": "af322bc08976524477c79d1e45e241b6efbeb918c497e8840b8ab116802dda79", - "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.3/source.json": "2be409ac3c7601245958cd4fcdff4288be79ed23bd690b4b951f500d54ee6e7d" - }, - "selectedYankedVersions": {}, - "moduleExtensions": { - "@@apple_support~//crosstool:setup.bzl%apple_cc_configure_extension": { - "general": { - "bzlTransitiveDigest": "PjIds3feoYE8SGbbIq2SFTZy3zmxeO2tQevJZNDo7iY=", - "usagesDigest": "aLmqbvowmHkkBPve05yyDNGN7oh7QE9kBADr3QIZTZs=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "local_config_apple_cc": { - "bzlFile": "@@apple_support~//crosstool:setup.bzl", - "ruleClassName": "_apple_cc_autoconf", - "attributes": {} - }, - "local_config_apple_cc_toolchains": { - "bzlFile": "@@apple_support~//crosstool:setup.bzl", - "ruleClassName": "_apple_cc_autoconf_toolchains", - "attributes": {} - } - }, - "recordedRepoMappingEntries": [ - [ - "apple_support~", - "bazel_tools", - "bazel_tools" - ] - ] - } - }, - "@@platforms//host:extension.bzl%host_platform": { - "general": { - "bzlTransitiveDigest": "xelQcPZH8+tmuOHVjL9vDxMnnQNMlwj0SlvgoqBkm4U=", - "usagesDigest": "meSzxn3DUCcYEhq4HQwExWkWtU4EjriRBQLsZN+Q0SU=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "host_platform": { - "bzlFile": "@@platforms//host:extension.bzl", - "ruleClassName": "host_platform_repo", - "attributes": {} - } - }, - "recordedRepoMappingEntries": [] - } - }, - "@@rules_req_compile~//extensions:python.bzl%requirements": { - "general": { - "bzlTransitiveDigest": "x6LvKaikdURYrL4bUqCpEMLOol6YrjGgk+hhTbiVJXc=", - "usagesDigest": "py3Aj2uh7Npj1721ppKnXOY4y2wEQOANlAQSlB63p0o=", - "recordedFileInputs": { - "@@rules_req_compile~//3rdparty/requirements.macos.311.txt": "d3304956639cf483bf525b8b724c1aac95b72917463f04f64439e4a6a6abe776", - "@@rules_req_compile~//3rdparty/requirements.linux.311.txt": "f4dda9ac9b4cea873d263fdd858c80562331eda192b431d9a43f63ceea596491", - "@@//requirements.txt": "9ac6d44ffd7bf193e3c5bfddc6bff37e8221c873222094a35852b37c1bf42463", - "@@rules_req_compile~//3rdparty/requirements.windows.311.txt": "4735c4a0fa4447fa168001785f858fbf2689ed72da59036fb707ea119c1002d1" - }, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "req_compile_deps_windows_311__types_appdirs": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "types_appdirs", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "337c750e423c40911d389359b4edabe5bbc2cdd5cd0bd0518b71d2839646273b", - "urls": [ - "https://files.pythonhosted.org/packages/cf/07/41f5b9b11f11855eb67760ed680330e0ce9136a44b51c24dd52edb1c4eb1/types_appdirs-1.4.3.5-py3-none-any.whl#sha256=337c750e423c40911d389359b4edabe5bbc2cdd5cd0bd0518b71d2839646273b" - ], - "version": "1.4.3.5" - } - }, - "req_compile_deps_linux_311__wheel": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "wheel", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81", - "urls": [ - "https://files.pythonhosted.org/packages/7d/cd/d7460c9a869b16c3dd4e1e403cce337df165368c71d6af229a74699622ce/wheel-0.43.0-py3-none-any.whl#sha256=55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81" - ], - "version": "0.43.0" - } - }, - "requirements_overrider_macos_311__mypy_extensions": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "mypy_extensions", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d", - "urls": [ - "https://files.pythonhosted.org/packages/2a/e2/5d3f6ada4297caebe1a2add3b126fe800c96f56dbe5d1988a2cbe0b267aa/mypy_extensions-1.0.0-py3-none-any.whl#sha256=4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d" - ], - "version": "1.0.0" - } - }, - "requirements_overrider_linux_311__dill": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "dill", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7", - "urls": [ - "https://files.pythonhosted.org/packages/c9/7a/cef76fd8438a42f96db64ddaa85280485a9c395e7df3db8158cfec1eee34/dill-0.3.8-py3-none-any.whl#sha256=c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7" - ], - "version": "0.3.8" - } - }, - "requirements_overrider_macos_311__tomlkit": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "tomlkit", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "5cd82d48a3dd89dee1f9d64420aa20ae65cfbd00668d6f094d7578a78efbb77b", - "urls": [ - "https://files.pythonhosted.org/packages/07/fa/c96545d741f2fd47f565e4e06bfef0962add790cb9c2289d900102b55eca/tomlkit-0.12.4-py3-none-any.whl#sha256=5cd82d48a3dd89dee1f9d64420aa20ae65cfbd00668d6f094d7578a78efbb77b" - ], - "version": "0.12.4" - } - }, - "req_compile_deps_linux_311__appdirs": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "appdirs", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128", - "urls": [ - "https://files.pythonhosted.org/packages/3b/00/2344469e2084fb287c2e0b57b72910309874c3245463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl#sha256=a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128" - ], - "version": "1.4.4" - } - }, - "req_compile_deps_linux_311__pytest_mock": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [ - "pytest" - ], - "package": "pytest_mock", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "0b72c38033392a5f4621342fe11e9219ac11ec9d375f8e2a0c164539e0d70f6f", - "urls": [ - "https://files.pythonhosted.org/packages/f2/3b/b26f90f74e2986a82df6e7ac7e319b8ea7ccece1caec9f8ab6104dc70603/pytest_mock-3.14.0-py3-none-any.whl#sha256=0b72c38033392a5f4621342fe11e9219ac11ec9d375f8e2a0c164539e0d70f6f" - ], - "version": "3.14.0" - } - }, - "req_compile_deps_macos_311__types_requests": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [ - "urllib3" - ], - "package": "types_requests", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "47872893d65a38e282ee9f277a4ee50d1b28bd592040df7d1fdaffdf3779937d", - "urls": [ - "https://files.pythonhosted.org/packages/05/22/21c7918c9bb842faa92fd26108e9f669c3dee9b6b239e8f45dd5f673e6cf/types_requests-2.31.0.20240311-py3-none-any.whl#sha256=47872893d65a38e282ee9f277a4ee50d1b28bd592040df7d1fdaffdf3779937d" - ], - "version": "2.31.0.20240311" - } - }, - "requirements_overrider_windows_311__pluggy": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "pluggy", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "7db9f7b503d67d1c5b95f59773ebb58a8c1c288129a88665838012cfb07b8981", - "urls": [ - "https://files.pythonhosted.org/packages/a5/5b/0cc789b59e8cc1bf288b38111d002d8c5917123194d45b29dcdac64723cc/pluggy-1.4.0-py3-none-any.whl#sha256=7db9f7b503d67d1c5b95f59773ebb58a8c1c288129a88665838012cfb07b8981" - ], - "version": "1.4.0" - } - }, - "req_compile_deps_linux_311__pathspec": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "pathspec", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", - "urls": [ - "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl#sha256=a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08" - ], - "version": "0.12.1" - } - }, - "requirements_overrider_windows_311__pytest_mock": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [ - "pytest" - ], - "package": "pytest_mock", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "0b72c38033392a5f4621342fe11e9219ac11ec9d375f8e2a0c164539e0d70f6f", - "urls": [ - "https://files.pythonhosted.org/packages/f2/3b/b26f90f74e2986a82df6e7ac7e319b8ea7ccece1caec9f8ab6104dc70603/pytest_mock-3.14.0-py3-none-any.whl#sha256=0b72c38033392a5f4621342fe11e9219ac11ec9d375f8e2a0c164539e0d70f6f" - ], - "version": "3.14.0" - } - }, - "req_compile_deps_windows_311__mypy_extensions": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "mypy_extensions", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d", - "urls": [ - "https://files.pythonhosted.org/packages/2a/e2/5d3f6ada4297caebe1a2add3b126fe800c96f56dbe5d1988a2cbe0b267aa/mypy_extensions-1.0.0-py3-none-any.whl#sha256=4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d" - ], - "version": "1.0.0" - } - }, - "requirements_overrider_macos_311__pylint": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [ - "astroid", - "dill", - "isort", - "mccabe", - "platformdirs", - "tomlkit" - ], - "package": "pylint", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "507a5b60953874766d8a366e8e8c7af63e058b26345cfcb5f91f89d987fd6b74", - "urls": [ - "https://files.pythonhosted.org/packages/4d/2b/dfcf298607c73c3af47d5a699c3bd84ba580f1b8642a53ba2a53eead7c49/pylint-3.1.0-py3-none-any.whl#sha256=507a5b60953874766d8a366e8e8c7af63e058b26345cfcb5f91f89d987fd6b74" - ], - "version": "3.1.0" - } - }, - "req_compile_deps_windows_311__wheel": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "wheel", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81", - "urls": [ - "https://files.pythonhosted.org/packages/7d/cd/d7460c9a869b16c3dd4e1e403cce337df165368c71d6af229a74699622ce/wheel-0.43.0-py3-none-any.whl#sha256=55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81" - ], - "version": "0.43.0" - } - }, - "req_compile_deps_linux_311__mypy_extensions": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "mypy_extensions", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d", - "urls": [ - "https://files.pythonhosted.org/packages/2a/e2/5d3f6ada4297caebe1a2add3b126fe800c96f56dbe5d1988a2cbe0b267aa/mypy_extensions-1.0.0-py3-none-any.whl#sha256=4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d" - ], - "version": "1.0.0" - } - }, - "req_compile_deps_macos_311__overrides": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "overrides", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49", - "urls": [ - "https://files.pythonhosted.org/packages/2c/ab/fc8290c6a4c722e5514d80f62b2dc4c4df1a68a41d1364e625c35990fcf3/overrides-7.7.0-py3-none-any.whl#sha256=c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49" - ], - "version": "7.7.0" - } - }, - "req_compile_deps_linux_311__certifi": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "certifi", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1", - "urls": [ - "https://files.pythonhosted.org/packages/ba/06/a07f096c664aeb9f01624f858c3add0a4e913d6c96257acb4fce61e7de14/certifi-2024.2.2-py3-none-any.whl#sha256=dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1" - ], - "version": "2024.2.2" - } - }, - "req_compile_deps_linux_311__urllib3": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "urllib3", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d", - "urls": [ - "https://files.pythonhosted.org/packages/a2/73/a68704750a7679d0b6d3ad7aa8d4da8e14e151ae82e6fee774e6e0d05ec8/urllib3-2.2.1-py3-none-any.whl#sha256=450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d" - ], - "version": "2.2.1" - } - }, - "requirements_overrider_linux_311__pluggy": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "pluggy", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "7db9f7b503d67d1c5b95f59773ebb58a8c1c288129a88665838012cfb07b8981", - "urls": [ - "https://files.pythonhosted.org/packages/a5/5b/0cc789b59e8cc1bf288b38111d002d8c5917123194d45b29dcdac64723cc/pluggy-1.4.0-py3-none-any.whl#sha256=7db9f7b503d67d1c5b95f59773ebb58a8c1c288129a88665838012cfb07b8981" - ], - "version": "1.4.0" - } - }, - "req_compile_deps_macos_311__responses": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [ - "pyyaml", - "requests", - "urllib3" - ], - "package": "responses", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "2f0b9c2b6437db4b528619a77e5d565e4ec2a9532162ac1a131a83529db7be1a", - "urls": [ - "https://files.pythonhosted.org/packages/30/0b/bff1e6a5b646e6ff770deb6a292a96bd844ea13fb523ccbd9209fc4b90b8/responses-0.25.0-py3-none-any.whl#sha256=2f0b9c2b6437db4b528619a77e5d565e4ec2a9532162ac1a131a83529db7be1a" - ], - "version": "0.25.0" - } - }, - "req_compile_deps_linux_311__idna": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "idna", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f", - "urls": [ - "https://files.pythonhosted.org/packages/c2/e7/a82b05cf63a603df6e68d59ae6a68bf5064484a0718ea5033660af4b54a9/idna-3.6-py3-none-any.whl#sha256=c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f" - ], - "version": "3.6" - } - }, - "req_compile_deps_windows_311__overrides": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "overrides", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49", - "urls": [ - "https://files.pythonhosted.org/packages/2c/ab/fc8290c6a4c722e5514d80f62b2dc4c4df1a68a41d1364e625c35990fcf3/overrides-7.7.0-py3-none-any.whl#sha256=c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49" - ], - "version": "7.7.0" - } - }, - "requirements_overrider_linux_311__mypy": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [ - "mypy_extensions", - "typing_extensions" - ], - "package": "mypy", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "2418488264eb41f69cc64a69a745fad4a8f86649af4b1041a4c64ee61fc61129", - "urls": [ - "https://files.pythonhosted.org/packages/a1/81/97e8539d6cdcfb3a8ae7eb1438c6983a9fc434ef9664572bfa7fd285cab9/mypy-1.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=2418488264eb41f69cc64a69a745fad4a8f86649af4b1041a4c64ee61fc61129" - ], - "version": "1.9.0" - } - }, - "req_compile_deps_windows_311__black": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [ - "click", - "mypy_extensions", - "packaging", - "pathspec", - "platformdirs" - ], - "package": "black", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "bf21b7b230718a5f08bd32d5e4f1db7fc8788345c8aea1d155fc17852b3410f5", - "urls": [ - "https://files.pythonhosted.org/packages/8f/b0/4bef40c808cc615187db983b75bacdca1c110a229d41ba9887549fac529c/black-24.3.0-cp311-cp311-win_amd64.whl#sha256=bf21b7b230718a5f08bd32d5e4f1db7fc8788345c8aea1d155fc17852b3410f5" - ], - "version": "24.3.0" - } - }, - "requirements_overrider_linux_311__six": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "six", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254", - "urls": [ - "https://files.pythonhosted.org/packages/d9/5a/e7c31adbe875f2abbb91bd84cf2dc52d792b5a01506781dbcf25c91daf11/six-1.16.0-py2.py3-none-any.whl#sha256=8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" - ], - "version": "1.16.0" - } - }, - "req_compile_deps_windows_311__toml": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "toml", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", - "urls": [ - "https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl#sha256=806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b" - ], - "version": "0.10.2" - } - }, - "requirements_overrider_windows_311__toml": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "toml", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", - "urls": [ - "https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl#sha256=806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b" - ], - "version": "0.10.2" - } - }, - "req_compile_deps_windows_311__colorama": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "colorama", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", - "urls": [ - "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl#sha256=4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6" - ], - "version": "0.4.6" - } - }, - "req_compile_deps_linux_311__black": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [ - "click", - "mypy_extensions", - "packaging", - "pathspec", - "platformdirs" - ], - "package": "black", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "65c02e4ea2ae09d16314d30912a58ada9a5c4fdfedf9512d23326128ac08ac3d", - "urls": [ - "https://files.pythonhosted.org/packages/6b/59/498885b279e890f656ea4300a2671c964acb6d97994ea626479c2e5501b4/black-24.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=65c02e4ea2ae09d16314d30912a58ada9a5c4fdfedf9512d23326128ac08ac3d" - ], - "version": "24.3.0" - } - }, - "req_compile_deps_windows_311__pylint": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [ - "astroid", - "colorama", - "dill", - "isort", - "mccabe", - "platformdirs", - "tomlkit" - ], - "package": "pylint", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "507a5b60953874766d8a366e8e8c7af63e058b26345cfcb5f91f89d987fd6b74", - "urls": [ - "https://files.pythonhosted.org/packages/4d/2b/dfcf298607c73c3af47d5a699c3bd84ba580f1b8642a53ba2a53eead7c49/pylint-3.1.0-py3-none-any.whl#sha256=507a5b60953874766d8a366e8e8c7af63e058b26345cfcb5f91f89d987fd6b74" - ], - "version": "3.1.0" - } - }, - "requirements_overrider_windows_311__click": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [ - "colorama" - ], - "package": "click", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28", - "urls": [ - "https://files.pythonhosted.org/packages/00/2e/d53fa4befbf2cfa713304affc7ca780ce4fc1fd8710527771b58311a3229/click-8.1.7-py3-none-any.whl#sha256=ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28" - ], - "version": "8.1.7" - } - }, - "req_compile_deps_linux_311__pytest": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [ - "iniconfig", - "packaging", - "pluggy" - ], - "package": "pytest", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "2a8386cfc11fa9d2c50ee7b2a57e7d898ef90470a7a34c4b949ff59662bb78b7", - "urls": [ - "https://files.pythonhosted.org/packages/4d/7e/c79cecfdb6aa85c6c2e3cf63afc56d0f165f24f5c66c03c695c4d9b84756/pytest-8.1.1-py3-none-any.whl#sha256=2a8386cfc11fa9d2c50ee7b2a57e7d898ef90470a7a34c4b949ff59662bb78b7" - ], - "version": "8.1.1" - } - }, - "req_compile_deps_linux_311__mccabe": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "mccabe", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e", - "urls": [ - "https://files.pythonhosted.org/packages/27/1a/1f68f9ba0c207934b35b86a8ca3aad8395a3d6dd7921c0686e23853ff5a9/mccabe-0.7.0-py2.py3-none-any.whl#sha256=6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e" - ], - "version": "0.7.0" - } - }, - "requirements_overrider_macos_311__astroid": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "astroid", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "951798f922990137ac090c53af473db7ab4e70c770e6d7fae0cec59f74411819", - "urls": [ - "https://files.pythonhosted.org/packages/ed/1c/ee18acf9070f77253954b7d71b4c0cf8f5969fb23067d8f1a8793573ba00/astroid-3.1.0-py3-none-any.whl#sha256=951798f922990137ac090c53af473db7ab4e70c770e6d7fae0cec59f74411819" - ], - "version": "3.1.0" - } - }, - "req_compile_deps_macos_311__pytest": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [ - "iniconfig", - "packaging", - "pluggy" - ], - "package": "pytest", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "2a8386cfc11fa9d2c50ee7b2a57e7d898ef90470a7a34c4b949ff59662bb78b7", - "urls": [ - "https://files.pythonhosted.org/packages/4d/7e/c79cecfdb6aa85c6c2e3cf63afc56d0f165f24f5c66c03c695c4d9b84756/pytest-8.1.1-py3-none-any.whl#sha256=2a8386cfc11fa9d2c50ee7b2a57e7d898ef90470a7a34c4b949ff59662bb78b7" - ], - "version": "8.1.1" - } - }, - "requirements_overrider_windows_311__pylint": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [ - "astroid", - "colorama", - "dill", - "isort", - "mccabe", - "platformdirs", - "tomlkit" - ], - "package": "pylint", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "507a5b60953874766d8a366e8e8c7af63e058b26345cfcb5f91f89d987fd6b74", - "urls": [ - "https://files.pythonhosted.org/packages/4d/2b/dfcf298607c73c3af47d5a699c3bd84ba580f1b8642a53ba2a53eead7c49/pylint-3.1.0-py3-none-any.whl#sha256=507a5b60953874766d8a366e8e8c7af63e058b26345cfcb5f91f89d987fd6b74" - ], - "version": "3.1.0" - } - }, - "req_compile_deps_windows_311__pytest_mock": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [ - "pytest" - ], - "package": "pytest_mock", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "0b72c38033392a5f4621342fe11e9219ac11ec9d375f8e2a0c164539e0d70f6f", - "urls": [ - "https://files.pythonhosted.org/packages/f2/3b/b26f90f74e2986a82df6e7ac7e319b8ea7ccece1caec9f8ab6104dc70603/pytest_mock-3.14.0-py3-none-any.whl#sha256=0b72c38033392a5f4621342fe11e9219ac11ec9d375f8e2a0c164539e0d70f6f" - ], - "version": "3.14.0" - } - }, - "req_compile_deps_macos_311__mccabe": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "mccabe", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e", - "urls": [ - "https://files.pythonhosted.org/packages/27/1a/1f68f9ba0c207934b35b86a8ca3aad8395a3d6dd7921c0686e23853ff5a9/mccabe-0.7.0-py2.py3-none-any.whl#sha256=6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e" - ], - "version": "0.7.0" - } - }, - "req_compile_deps_linux_311__packaging": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "packaging", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5", - "urls": [ - "https://files.pythonhosted.org/packages/49/df/1fceb2f8900f8639e278b056416d49134fb8d84c5942ffaa01ad34782422/packaging-24.0-py3-none-any.whl#sha256=2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5" - ], - "version": "24.0" - } - }, - "requirements_overrider_linux_311__platformdirs": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "platformdirs", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068", - "urls": [ - "https://files.pythonhosted.org/packages/55/72/4898c44ee9ea6f43396fbc23d9bfaf3d06e01b83698bdf2e4c919deceb7c/platformdirs-4.2.0-py3-none-any.whl#sha256=0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068" - ], - "version": "4.2.0" - } - }, - "req_compile_deps_linux_311__pluggy": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "pluggy", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "7db9f7b503d67d1c5b95f59773ebb58a8c1c288129a88665838012cfb07b8981", - "urls": [ - "https://files.pythonhosted.org/packages/a5/5b/0cc789b59e8cc1bf288b38111d002d8c5917123194d45b29dcdac64723cc/pluggy-1.4.0-py3-none-any.whl#sha256=7db9f7b503d67d1c5b95f59773ebb58a8c1c288129a88665838012cfb07b8981" - ], - "version": "1.4.0" - } - }, - "req_compile_deps_linux_311__types_appdirs": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "types_appdirs", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "337c750e423c40911d389359b4edabe5bbc2cdd5cd0bd0518b71d2839646273b", - "urls": [ - "https://files.pythonhosted.org/packages/cf/07/41f5b9b11f11855eb67760ed680330e0ce9136a44b51c24dd52edb1c4eb1/types_appdirs-1.4.3.5-py3-none-any.whl#sha256=337c750e423c40911d389359b4edabe5bbc2cdd5cd0bd0518b71d2839646273b" - ], - "version": "1.4.3.5" - } - }, - "req_compile_deps_macos_311__pyyaml": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "pyyaml", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab", - "urls": [ - "https://files.pythonhosted.org/packages/28/09/55f715ddbf95a054b764b547f617e22f1d5e45d83905660e9a088078fe67/PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl#sha256=f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab" - ], - "version": "6.0.1" - } - }, - "requirements_overrider_windows_311__types_setuptools": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "types_setuptools", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "cf91ff7c87ab7bf0625c3f0d4d90427c9da68561f3b0feab77977aaf0bbf7531", - "urls": [ - "https://files.pythonhosted.org/packages/1f/22/904934a3344fa5f332ecab887003f3f033c1272432a4af877007b75b0bd3/types_setuptools-69.2.0.20240317-py3-none-any.whl#sha256=cf91ff7c87ab7bf0625c3f0d4d90427c9da68561f3b0feab77977aaf0bbf7531" - ], - "version": "69.2.0.20240317" - } - }, - "requirements_overrider_linux_311__pathspec": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "pathspec", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", - "urls": [ - "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl#sha256=a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08" - ], - "version": "0.12.1" - } - }, - "requirements_overrider_linux_311__pylint": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [ - "astroid", - "dill", - "isort", - "mccabe", - "platformdirs", - "tomlkit" - ], - "package": "pylint", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "507a5b60953874766d8a366e8e8c7af63e058b26345cfcb5f91f89d987fd6b74", - "urls": [ - "https://files.pythonhosted.org/packages/4d/2b/dfcf298607c73c3af47d5a699c3bd84ba580f1b8642a53ba2a53eead7c49/pylint-3.1.0-py3-none-any.whl#sha256=507a5b60953874766d8a366e8e8c7af63e058b26345cfcb5f91f89d987fd6b74" - ], - "version": "3.1.0" - } - }, - "req_compile_deps_macos_311__pluggy": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "pluggy", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "7db9f7b503d67d1c5b95f59773ebb58a8c1c288129a88665838012cfb07b8981", - "urls": [ - "https://files.pythonhosted.org/packages/a5/5b/0cc789b59e8cc1bf288b38111d002d8c5917123194d45b29dcdac64723cc/pluggy-1.4.0-py3-none-any.whl#sha256=7db9f7b503d67d1c5b95f59773ebb58a8c1c288129a88665838012cfb07b8981" - ], - "version": "1.4.0" - } - }, - "requirements_overrider_macos_311__overrides": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "overrides", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49", - "urls": [ - "https://files.pythonhosted.org/packages/2c/ab/fc8290c6a4c722e5514d80f62b2dc4c4df1a68a41d1364e625c35990fcf3/overrides-7.7.0-py3-none-any.whl#sha256=c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49" - ], - "version": "7.7.0" - } - }, - "requirements_overrider_linux_311__types_requests": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [ - "urllib3" - ], - "package": "types_requests", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "47872893d65a38e282ee9f277a4ee50d1b28bd592040df7d1fdaffdf3779937d", - "urls": [ - "https://files.pythonhosted.org/packages/05/22/21c7918c9bb842faa92fd26108e9f669c3dee9b6b239e8f45dd5f673e6cf/types_requests-2.31.0.20240311-py3-none-any.whl#sha256=47872893d65a38e282ee9f277a4ee50d1b28bd592040df7d1fdaffdf3779937d" - ], - "version": "2.31.0.20240311" - } - }, - "requirements_overrider_linux_311__wheel": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "wheel", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81", - "urls": [ - "https://files.pythonhosted.org/packages/7d/cd/d7460c9a869b16c3dd4e1e403cce337df165368c71d6af229a74699622ce/wheel-0.43.0-py3-none-any.whl#sha256=55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81" - ], - "version": "0.43.0" - } - }, - "req_compile_deps_windows_311__urllib3": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "urllib3", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d", - "urls": [ - "https://files.pythonhosted.org/packages/a2/73/a68704750a7679d0b6d3ad7aa8d4da8e14e151ae82e6fee774e6e0d05ec8/urllib3-2.2.1-py3-none-any.whl#sha256=450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d" - ], - "version": "2.2.1" - } - }, - "req_compile_deps_windows_311__certifi": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "certifi", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1", - "urls": [ - "https://files.pythonhosted.org/packages/ba/06/a07f096c664aeb9f01624f858c3add0a4e913d6c96257acb4fce61e7de14/certifi-2024.2.2-py3-none-any.whl#sha256=dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1" - ], - "version": "2024.2.2" - } - }, - "requirements_overrider_linux_311__tomlkit": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "tomlkit", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "5cd82d48a3dd89dee1f9d64420aa20ae65cfbd00668d6f094d7578a78efbb77b", - "urls": [ - "https://files.pythonhosted.org/packages/07/fa/c96545d741f2fd47f565e4e06bfef0962add790cb9c2289d900102b55eca/tomlkit-0.12.4-py3-none-any.whl#sha256=5cd82d48a3dd89dee1f9d64420aa20ae65cfbd00668d6f094d7578a78efbb77b" - ], - "version": "0.12.4" - } - }, - "requirements_overrider_windows_311__mccabe": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "mccabe", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e", - "urls": [ - "https://files.pythonhosted.org/packages/27/1a/1f68f9ba0c207934b35b86a8ca3aad8395a3d6dd7921c0686e23853ff5a9/mccabe-0.7.0-py2.py3-none-any.whl#sha256=6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e" - ], - "version": "0.7.0" - } - }, - "req_compile_deps_macos_311__toml": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "toml", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", - "urls": [ - "https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl#sha256=806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b" - ], - "version": "0.10.2" - } - }, - "requirements_overrider_macos_311__responses": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [ - "pyyaml", - "requests", - "urllib3" - ], - "package": "responses", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "2f0b9c2b6437db4b528619a77e5d565e4ec2a9532162ac1a131a83529db7be1a", - "urls": [ - "https://files.pythonhosted.org/packages/30/0b/bff1e6a5b646e6ff770deb6a292a96bd844ea13fb523ccbd9209fc4b90b8/responses-0.25.0-py3-none-any.whl#sha256=2f0b9c2b6437db4b528619a77e5d565e4ec2a9532162ac1a131a83529db7be1a" - ], - "version": "0.25.0" - } - }, - "requirements_overrider_macos_311__six": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "six", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254", - "urls": [ - "https://files.pythonhosted.org/packages/d9/5a/e7c31adbe875f2abbb91bd84cf2dc52d792b5a01506781dbcf25c91daf11/six-1.16.0-py2.py3-none-any.whl#sha256=8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" - ], - "version": "1.16.0" - } - }, - "req_compile_deps_linux_311__pyyaml": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "pyyaml", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673", - "urls": [ - "https://files.pythonhosted.org/packages/7b/5e/efd033ab7199a0b2044dab3b9f7a4f6670e6a52c089de572e928d2873b06/PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673" - ], - "version": "6.0.1" - } - }, - "requirements_overrider_macos_311__idna": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "idna", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f", - "urls": [ - "https://files.pythonhosted.org/packages/c2/e7/a82b05cf63a603df6e68d59ae6a68bf5064484a0718ea5033660af4b54a9/idna-3.6-py3-none-any.whl#sha256=c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f" - ], - "version": "3.6" - } - }, - "requirements_overrider_windows_311__typing_extensions": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "typing_extensions", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", - "urls": [ - "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl#sha256=69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475" - ], - "version": "4.10.0" - } - }, - "requirements_overrider_macos_311__pytest": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [ - "iniconfig", - "packaging", - "pluggy" - ], - "package": "pytest", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "2a8386cfc11fa9d2c50ee7b2a57e7d898ef90470a7a34c4b949ff59662bb78b7", - "urls": [ - "https://files.pythonhosted.org/packages/4d/7e/c79cecfdb6aa85c6c2e3cf63afc56d0f165f24f5c66c03c695c4d9b84756/pytest-8.1.1-py3-none-any.whl#sha256=2a8386cfc11fa9d2c50ee7b2a57e7d898ef90470a7a34c4b949ff59662bb78b7" - ], - "version": "8.1.1" - } - }, - "req_compile_deps_macos_311__six": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "six", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254", - "urls": [ - "https://files.pythonhosted.org/packages/d9/5a/e7c31adbe875f2abbb91bd84cf2dc52d792b5a01506781dbcf25c91daf11/six-1.16.0-py2.py3-none-any.whl#sha256=8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" - ], - "version": "1.16.0" - } - }, - "requirements_overrider_linux_311__toml": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "toml", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", - "urls": [ - "https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl#sha256=806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b" - ], - "version": "0.10.2" - } - }, - "requirements_overrider_macos_311__types_requests": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [ - "urllib3" - ], - "package": "types_requests", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "47872893d65a38e282ee9f277a4ee50d1b28bd592040df7d1fdaffdf3779937d", - "urls": [ - "https://files.pythonhosted.org/packages/05/22/21c7918c9bb842faa92fd26108e9f669c3dee9b6b239e8f45dd5f673e6cf/types_requests-2.31.0.20240311-py3-none-any.whl#sha256=47872893d65a38e282ee9f277a4ee50d1b28bd592040df7d1fdaffdf3779937d" - ], - "version": "2.31.0.20240311" - } - }, - "requirements_overrider_macos_311__types_setuptools": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "types_setuptools", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "cf91ff7c87ab7bf0625c3f0d4d90427c9da68561f3b0feab77977aaf0bbf7531", - "urls": [ - "https://files.pythonhosted.org/packages/1f/22/904934a3344fa5f332ecab887003f3f033c1272432a4af877007b75b0bd3/types_setuptools-69.2.0.20240317-py3-none-any.whl#sha256=cf91ff7c87ab7bf0625c3f0d4d90427c9da68561f3b0feab77977aaf0bbf7531" - ], - "version": "69.2.0.20240317" - } - }, - "requirements_overrider_linux_311__overrides": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "overrides", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49", - "urls": [ - "https://files.pythonhosted.org/packages/2c/ab/fc8290c6a4c722e5514d80f62b2dc4c4df1a68a41d1364e625c35990fcf3/overrides-7.7.0-py3-none-any.whl#sha256=c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49" - ], - "version": "7.7.0" - } - }, - "req_compile_deps": { - "bzlFile": "@@rules_req_compile~//private:reqs_repo.bzl", - "ruleClassName": "py_requirements_repository", - "attributes": { - "hub_name": "req_compile_deps", - "requirements_locks": { - "@@rules_req_compile~//3rdparty:requirements.linux.311.txt": "@platforms//os:linux", - "@@rules_req_compile~//3rdparty:requirements.macos.311.txt": "@platforms//os:macos", - "@@rules_req_compile~//3rdparty:requirements.windows.311.txt": "@platforms//os:windows" - } - } - }, - "requirements_overrider_windows_311__platformdirs": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "platformdirs", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068", - "urls": [ - "https://files.pythonhosted.org/packages/55/72/4898c44ee9ea6f43396fbc23d9bfaf3d06e01b83698bdf2e4c919deceb7c/platformdirs-4.2.0-py3-none-any.whl#sha256=0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068" - ], - "version": "4.2.0" - } - }, - "req_compile_deps_windows_311__requests": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [ - "certifi", - "charset_normalizer", - "idna", - "urllib3" - ], - "package": "requests", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f", - "urls": [ - "https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl#sha256=58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f" - ], - "version": "2.31.0" - } - }, - "req_compile_deps_linux_311__dill": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "dill", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7", - "urls": [ - "https://files.pythonhosted.org/packages/c9/7a/cef76fd8438a42f96db64ddaa85280485a9c395e7df3db8158cfec1eee34/dill-0.3.8-py3-none-any.whl#sha256=c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7" - ], - "version": "0.3.8" - } - }, - "requirements_overrider_macos_311__charset_normalizer": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "charset_normalizer", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e", - "urls": [ - "https://files.pythonhosted.org/packages/dd/51/68b61b90b24ca35495956b718f35a9756ef7d3dd4b3c1508056fa98d1a1b/charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl#sha256=549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e" - ], - "version": "3.3.2" - } - }, - "pip_deps": { - "bzlFile": "@@rules_req_compile~//private:reqs_repo.bzl", - "ruleClassName": "py_requirements_repository", - "attributes": { - "hub_name": "pip_deps", - "requirements_lock": "@@//:requirements.txt", - "requirements_locks": {} - } - }, - "req_compile_deps_macos_311__setuptools": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "setuptools", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "c21c49fb1042386df081cb5d86759792ab89efca84cf114889191cd09aacc80c", - "urls": [ - "https://files.pythonhosted.org/packages/92/e1/1c8bb3420105e70bdf357d57dd5567202b4ef8d27f810e98bb962d950834/setuptools-69.2.0-py3-none-any.whl#sha256=c21c49fb1042386df081cb5d86759792ab89efca84cf114889191cd09aacc80c" - ], - "version": "69.2.0" - } - }, - "req_compile_deps_windows_311__dill": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "dill", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7", - "urls": [ - "https://files.pythonhosted.org/packages/c9/7a/cef76fd8438a42f96db64ddaa85280485a9c395e7df3db8158cfec1eee34/dill-0.3.8-py3-none-any.whl#sha256=c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7" - ], - "version": "0.3.8" - } - }, - "requirements_overrider_linux_311__pyyaml": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "pyyaml", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673", - "urls": [ - "https://files.pythonhosted.org/packages/7b/5e/efd033ab7199a0b2044dab3b9f7a4f6670e6a52c089de572e928d2873b06/PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673" - ], - "version": "6.0.1" - } - }, - "req_compile_deps_linux_311__mypy": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [ - "mypy_extensions", - "typing_extensions" - ], - "package": "mypy", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "2418488264eb41f69cc64a69a745fad4a8f86649af4b1041a4c64ee61fc61129", - "urls": [ - "https://files.pythonhosted.org/packages/a1/81/97e8539d6cdcfb3a8ae7eb1438c6983a9fc434ef9664572bfa7fd285cab9/mypy-1.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=2418488264eb41f69cc64a69a745fad4a8f86649af4b1041a4c64ee61fc61129" - ], - "version": "1.9.0" - } - }, - "req_compile_deps_macos_311__astroid": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "astroid", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "951798f922990137ac090c53af473db7ab4e70c770e6d7fae0cec59f74411819", - "urls": [ - "https://files.pythonhosted.org/packages/ed/1c/ee18acf9070f77253954b7d71b4c0cf8f5969fb23067d8f1a8793573ba00/astroid-3.1.0-py3-none-any.whl#sha256=951798f922990137ac090c53af473db7ab4e70c770e6d7fae0cec59f74411819" - ], - "version": "3.1.0" - } - }, - "requirements_overrider_windows_311__urllib3": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "urllib3", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d", - "urls": [ - "https://files.pythonhosted.org/packages/a2/73/a68704750a7679d0b6d3ad7aa8d4da8e14e151ae82e6fee774e6e0d05ec8/urllib3-2.2.1-py3-none-any.whl#sha256=450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d" - ], - "version": "2.2.1" - } - }, - "requirements_overrider_windows_311__mypy": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [ - "mypy_extensions", - "typing_extensions" - ], - "package": "mypy", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "85ca5fcc24f0b4aeedc1d02f93707bccc04733f21d41c88334c5482219b1ccb3", - "urls": [ - "https://files.pythonhosted.org/packages/59/56/a33d610a9cf692669690a89b54a6a920fd7c7ebcca00da2c36c9d975de8e/mypy-1.9.0-cp311-cp311-win_amd64.whl#sha256=85ca5fcc24f0b4aeedc1d02f93707bccc04733f21d41c88334c5482219b1ccb3" - ], - "version": "1.9.0" - } - }, - "req_compile_deps_windows_311__click": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [ - "colorama" - ], - "package": "click", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28", - "urls": [ - "https://files.pythonhosted.org/packages/00/2e/d53fa4befbf2cfa713304affc7ca780ce4fc1fd8710527771b58311a3229/click-8.1.7-py3-none-any.whl#sha256=ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28" - ], - "version": "8.1.7" - } - }, - "requirements_overrider_linux_311__mypy_extensions": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "mypy_extensions", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d", - "urls": [ - "https://files.pythonhosted.org/packages/2a/e2/5d3f6ada4297caebe1a2add3b126fe800c96f56dbe5d1988a2cbe0b267aa/mypy_extensions-1.0.0-py3-none-any.whl#sha256=4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d" - ], - "version": "1.0.0" - } - }, - "requirements_overrider_windows_311__pyyaml": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "pyyaml", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34", - "urls": [ - "https://files.pythonhosted.org/packages/b3/34/65bb4b2d7908044963ebf614fe0fdb080773fc7030d7e39c8d3eddcd4257/PyYAML-6.0.1-cp311-cp311-win_amd64.whl#sha256=bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34" - ], - "version": "6.0.1" - } - }, - "req_compile_deps_windows_311__charset_normalizer": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "charset_normalizer", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77", - "urls": [ - "https://files.pythonhosted.org/packages/57/ec/80c8d48ac8b1741d5b963797b7c0c869335619e13d4744ca2f67fc11c6fc/charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl#sha256=663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77" - ], - "version": "3.3.2" - } - }, - "requirements_overrider_windows_311__dill": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "dill", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7", - "urls": [ - "https://files.pythonhosted.org/packages/c9/7a/cef76fd8438a42f96db64ddaa85280485a9c395e7df3db8158cfec1eee34/dill-0.3.8-py3-none-any.whl#sha256=c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7" - ], - "version": "0.3.8" - } - }, - "req_compile_deps_macos_311__types_appdirs": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "types_appdirs", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "337c750e423c40911d389359b4edabe5bbc2cdd5cd0bd0518b71d2839646273b", - "urls": [ - "https://files.pythonhosted.org/packages/cf/07/41f5b9b11f11855eb67760ed680330e0ce9136a44b51c24dd52edb1c4eb1/types_appdirs-1.4.3.5-py3-none-any.whl#sha256=337c750e423c40911d389359b4edabe5bbc2cdd5cd0bd0518b71d2839646273b" - ], - "version": "1.4.3.5" - } - }, - "requirements_overrider_windows_311__pytest": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [ - "colorama", - "iniconfig", - "packaging", - "pluggy" - ], - "package": "pytest", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "2a8386cfc11fa9d2c50ee7b2a57e7d898ef90470a7a34c4b949ff59662bb78b7", - "urls": [ - "https://files.pythonhosted.org/packages/4d/7e/c79cecfdb6aa85c6c2e3cf63afc56d0f165f24f5c66c03c695c4d9b84756/pytest-8.1.1-py3-none-any.whl#sha256=2a8386cfc11fa9d2c50ee7b2a57e7d898ef90470a7a34c4b949ff59662bb78b7" - ], - "version": "8.1.1" - } - }, - "requirements_overrider_windows_311__overrides": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "overrides", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49", - "urls": [ - "https://files.pythonhosted.org/packages/2c/ab/fc8290c6a4c722e5514d80f62b2dc4c4df1a68a41d1364e625c35990fcf3/overrides-7.7.0-py3-none-any.whl#sha256=c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49" - ], - "version": "7.7.0" - } - }, - "requirements_overrider_windows_311__certifi": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "certifi", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1", - "urls": [ - "https://files.pythonhosted.org/packages/ba/06/a07f096c664aeb9f01624f858c3add0a4e913d6c96257acb4fce61e7de14/certifi-2024.2.2-py3-none-any.whl#sha256=dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1" - ], - "version": "2024.2.2" - } - }, - "req_compile_deps_macos_311__black": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [ - "click", - "mypy_extensions", - "packaging", - "pathspec", - "platformdirs" - ], - "package": "black", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "aadf7a02d947936ee418777e0247ea114f78aff0d0959461057cae8a04f20597", - "urls": [ - "https://files.pythonhosted.org/packages/46/5f/30398c5056cb72f883b32b6520ad00042a9d0454b693f70509867db03a80/black-24.3.0-cp311-cp311-macosx_11_0_arm64.whl#sha256=aadf7a02d947936ee418777e0247ea114f78aff0d0959461057cae8a04f20597" - ], - "version": "24.3.0" - } - }, - "req_compile_deps_macos_311__certifi": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "certifi", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1", - "urls": [ - "https://files.pythonhosted.org/packages/ba/06/a07f096c664aeb9f01624f858c3add0a4e913d6c96257acb4fce61e7de14/certifi-2024.2.2-py3-none-any.whl#sha256=dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1" - ], - "version": "2024.2.2" - } - }, - "requirements_overrider_windows_311__appdirs": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "appdirs", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128", - "urls": [ - "https://files.pythonhosted.org/packages/3b/00/2344469e2084fb287c2e0b57b72910309874c3245463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl#sha256=a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128" - ], - "version": "1.4.4" - } - }, - "req_compile_deps_linux_311__iniconfig": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "iniconfig", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", - "urls": [ - "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl#sha256=b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374" - ], - "version": "2.0.0" - } - }, - "req_compile_deps_macos_311__pylint": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [ - "astroid", - "dill", - "isort", - "mccabe", - "platformdirs", - "tomlkit" - ], - "package": "pylint", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "507a5b60953874766d8a366e8e8c7af63e058b26345cfcb5f91f89d987fd6b74", - "urls": [ - "https://files.pythonhosted.org/packages/4d/2b/dfcf298607c73c3af47d5a699c3bd84ba580f1b8642a53ba2a53eead7c49/pylint-3.1.0-py3-none-any.whl#sha256=507a5b60953874766d8a366e8e8c7af63e058b26345cfcb5f91f89d987fd6b74" - ], - "version": "3.1.0" - } - }, - "requirements_overrider_windows_311__responses": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [ - "pyyaml", - "requests", - "urllib3" - ], - "package": "responses", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "2f0b9c2b6437db4b528619a77e5d565e4ec2a9532162ac1a131a83529db7be1a", - "urls": [ - "https://files.pythonhosted.org/packages/30/0b/bff1e6a5b646e6ff770deb6a292a96bd844ea13fb523ccbd9209fc4b90b8/responses-0.25.0-py3-none-any.whl#sha256=2f0b9c2b6437db4b528619a77e5d565e4ec2a9532162ac1a131a83529db7be1a" - ], - "version": "0.25.0" - } - }, - "requirements_overrider_macos_311__requests": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [ - "certifi", - "charset_normalizer", - "idna", - "urllib3" - ], - "package": "requests", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f", - "urls": [ - "https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl#sha256=58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f" - ], - "version": "2.31.0" - } - }, - "req_compile_deps_macos_311__appdirs": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "appdirs", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128", - "urls": [ - "https://files.pythonhosted.org/packages/3b/00/2344469e2084fb287c2e0b57b72910309874c3245463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl#sha256=a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128" - ], - "version": "1.4.4" - } - }, - "requirements_overrider_linux_311__types_toml": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "types_toml", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "627b47775d25fa29977d9c70dc0cbab3f314f32c8d8d0c012f2ef5de7aaec05d", - "urls": [ - "https://files.pythonhosted.org/packages/da/a2/d32ab58c0b216912638b140ab2170ee4b8644067c293b170e19fba340ccc/types_toml-0.10.8.20240310-py3-none-any.whl#sha256=627b47775d25fa29977d9c70dc0cbab3f314f32c8d8d0c012f2ef5de7aaec05d" - ], - "version": "0.10.8.20240310" - } - }, - "req_compile_deps_linux_311__pylint": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [ - "astroid", - "dill", - "isort", - "mccabe", - "platformdirs", - "tomlkit" - ], - "package": "pylint", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "507a5b60953874766d8a366e8e8c7af63e058b26345cfcb5f91f89d987fd6b74", - "urls": [ - "https://files.pythonhosted.org/packages/4d/2b/dfcf298607c73c3af47d5a699c3bd84ba580f1b8642a53ba2a53eead7c49/pylint-3.1.0-py3-none-any.whl#sha256=507a5b60953874766d8a366e8e8c7af63e058b26345cfcb5f91f89d987fd6b74" - ], - "version": "3.1.0" - } - }, - "req_compile_deps_macos_311__iniconfig": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "iniconfig", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", - "urls": [ - "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl#sha256=b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374" - ], - "version": "2.0.0" - } - }, - "req_compile_deps_macos_311__urllib3": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "urllib3", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d", - "urls": [ - "https://files.pythonhosted.org/packages/a2/73/a68704750a7679d0b6d3ad7aa8d4da8e14e151ae82e6fee774e6e0d05ec8/urllib3-2.2.1-py3-none-any.whl#sha256=450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d" - ], - "version": "2.2.1" - } - }, - "req_compile_deps_macos_311__isort": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "isort", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6", - "urls": [ - "https://files.pythonhosted.org/packages/d1/b3/8def84f539e7d2289a02f0524b944b15d7c75dab7628bedf1c4f0992029c/isort-5.13.2-py3-none-any.whl#sha256=8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6" - ], - "version": "5.13.2" - } - }, - "requirements_overrider_linux_311__types_appdirs": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "types_appdirs", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "337c750e423c40911d389359b4edabe5bbc2cdd5cd0bd0518b71d2839646273b", - "urls": [ - "https://files.pythonhosted.org/packages/cf/07/41f5b9b11f11855eb67760ed680330e0ce9136a44b51c24dd52edb1c4eb1/types_appdirs-1.4.3.5-py3-none-any.whl#sha256=337c750e423c40911d389359b4edabe5bbc2cdd5cd0bd0518b71d2839646273b" - ], - "version": "1.4.3.5" - } - }, - "requirements_overrider_macos_311__pluggy": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "pluggy", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "7db9f7b503d67d1c5b95f59773ebb58a8c1c288129a88665838012cfb07b8981", - "urls": [ - "https://files.pythonhosted.org/packages/a5/5b/0cc789b59e8cc1bf288b38111d002d8c5917123194d45b29dcdac64723cc/pluggy-1.4.0-py3-none-any.whl#sha256=7db9f7b503d67d1c5b95f59773ebb58a8c1c288129a88665838012cfb07b8981" - ], - "version": "1.4.0" - } - }, - "req_compile_deps_windows_311__mypy": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [ - "mypy_extensions", - "typing_extensions" - ], - "package": "mypy", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "85ca5fcc24f0b4aeedc1d02f93707bccc04733f21d41c88334c5482219b1ccb3", - "urls": [ - "https://files.pythonhosted.org/packages/59/56/a33d610a9cf692669690a89b54a6a920fd7c7ebcca00da2c36c9d975de8e/mypy-1.9.0-cp311-cp311-win_amd64.whl#sha256=85ca5fcc24f0b4aeedc1d02f93707bccc04733f21d41c88334c5482219b1ccb3" - ], - "version": "1.9.0" - } - }, - "requirements_overrider_windows_311__pathspec": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "pathspec", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", - "urls": [ - "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl#sha256=a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08" - ], - "version": "0.12.1" - } - }, - "requirements_overrider_linux_311__pytest": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [ - "iniconfig", - "packaging", - "pluggy" - ], - "package": "pytest", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "2a8386cfc11fa9d2c50ee7b2a57e7d898ef90470a7a34c4b949ff59662bb78b7", - "urls": [ - "https://files.pythonhosted.org/packages/4d/7e/c79cecfdb6aa85c6c2e3cf63afc56d0f165f24f5c66c03c695c4d9b84756/pytest-8.1.1-py3-none-any.whl#sha256=2a8386cfc11fa9d2c50ee7b2a57e7d898ef90470a7a34c4b949ff59662bb78b7" - ], - "version": "8.1.1" - } - }, - "requirements_overrider_linux_311__black": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [ - "click", - "mypy_extensions", - "packaging", - "pathspec", - "platformdirs" - ], - "package": "black", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "65c02e4ea2ae09d16314d30912a58ada9a5c4fdfedf9512d23326128ac08ac3d", - "urls": [ - "https://files.pythonhosted.org/packages/6b/59/498885b279e890f656ea4300a2671c964acb6d97994ea626479c2e5501b4/black-24.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=65c02e4ea2ae09d16314d30912a58ada9a5c4fdfedf9512d23326128ac08ac3d" - ], - "version": "24.3.0" - } - }, - "requirements_overrider_linux_311__isort": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "isort", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6", - "urls": [ - "https://files.pythonhosted.org/packages/d1/b3/8def84f539e7d2289a02f0524b944b15d7c75dab7628bedf1c4f0992029c/isort-5.13.2-py3-none-any.whl#sha256=8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6" - ], - "version": "5.13.2" - } - }, - "requirements_overrider_linux_311__typing_extensions": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "typing_extensions", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", - "urls": [ - "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl#sha256=69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475" - ], - "version": "4.10.0" - } - }, - "requirements_overrider_macos_311__types_appdirs": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "types_appdirs", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "337c750e423c40911d389359b4edabe5bbc2cdd5cd0bd0518b71d2839646273b", - "urls": [ - "https://files.pythonhosted.org/packages/cf/07/41f5b9b11f11855eb67760ed680330e0ce9136a44b51c24dd52edb1c4eb1/types_appdirs-1.4.3.5-py3-none-any.whl#sha256=337c750e423c40911d389359b4edabe5bbc2cdd5cd0bd0518b71d2839646273b" - ], - "version": "1.4.3.5" - } - }, - "requirements_overrider_macos_311__pyyaml": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "pyyaml", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab", - "urls": [ - "https://files.pythonhosted.org/packages/28/09/55f715ddbf95a054b764b547f617e22f1d5e45d83905660e9a088078fe67/PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl#sha256=f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab" - ], - "version": "6.0.1" - } - }, - "requirements_overrider_linux_311__setuptools": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "setuptools", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "c21c49fb1042386df081cb5d86759792ab89efca84cf114889191cd09aacc80c", - "urls": [ - "https://files.pythonhosted.org/packages/92/e1/1c8bb3420105e70bdf357d57dd5567202b4ef8d27f810e98bb962d950834/setuptools-69.2.0-py3-none-any.whl#sha256=c21c49fb1042386df081cb5d86759792ab89efca84cf114889191cd09aacc80c" - ], - "version": "69.2.0" - } - }, - "req_compile_deps_linux_311__typing_extensions": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "typing_extensions", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", - "urls": [ - "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl#sha256=69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475" - ], - "version": "4.10.0" - } - }, - "requirements_overrider_windows_311__wheel": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "wheel", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81", - "urls": [ - "https://files.pythonhosted.org/packages/7d/cd/d7460c9a869b16c3dd4e1e403cce337df165368c71d6af229a74699622ce/wheel-0.43.0-py3-none-any.whl#sha256=55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81" - ], - "version": "0.43.0" - } - }, - "req_compile_deps_windows_311__iniconfig": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "iniconfig", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", - "urls": [ - "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl#sha256=b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374" - ], - "version": "2.0.0" - } - }, - "requirements_overrider": { - "bzlFile": "@@rules_req_compile~//private:reqs_repo.bzl", - "ruleClassName": "py_requirements_repository", - "attributes": { - "hub_name": "requirements_overrider", - "requirements_locks": { - "@@rules_req_compile~//3rdparty:requirements.linux.311.txt": "@platforms//os:linux", - "@@rules_req_compile~//3rdparty:requirements.macos.311.txt": "@platforms//os:macos", - "@@rules_req_compile~//3rdparty:requirements.windows.311.txt": "@platforms//os:windows" - } - } - }, - "requirements_overrider_macos_311__setuptools": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "setuptools", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "c21c49fb1042386df081cb5d86759792ab89efca84cf114889191cd09aacc80c", - "urls": [ - "https://files.pythonhosted.org/packages/92/e1/1c8bb3420105e70bdf357d57dd5567202b4ef8d27f810e98bb962d950834/setuptools-69.2.0-py3-none-any.whl#sha256=c21c49fb1042386df081cb5d86759792ab89efca84cf114889191cd09aacc80c" - ], - "version": "69.2.0" - } - }, - "requirements_overrider_macos_311__mypy": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [ - "mypy_extensions", - "typing_extensions" - ], - "package": "mypy", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "3a3c007ff3ee90f69cf0a15cbcdf0995749569b86b6d2f327af01fd1b8aee9dc", - "urls": [ - "https://files.pythonhosted.org/packages/da/e2/1864612774cf8a445f6d42ce73ce0f1492a37ed2af1c908e989f1ec7d349/mypy-1.9.0-cp311-cp311-macosx_11_0_arm64.whl#sha256=3a3c007ff3ee90f69cf0a15cbcdf0995749569b86b6d2f327af01fd1b8aee9dc" - ], - "version": "1.9.0" - } - }, - "req_compile_deps_windows_311__isort": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "isort", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6", - "urls": [ - "https://files.pythonhosted.org/packages/d1/b3/8def84f539e7d2289a02f0524b944b15d7c75dab7628bedf1c4f0992029c/isort-5.13.2-py3-none-any.whl#sha256=8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6" - ], - "version": "5.13.2" - } - }, - "requirements_overrider_macos_311__urllib3": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "urllib3", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d", - "urls": [ - "https://files.pythonhosted.org/packages/a2/73/a68704750a7679d0b6d3ad7aa8d4da8e14e151ae82e6fee774e6e0d05ec8/urllib3-2.2.1-py3-none-any.whl#sha256=450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d" - ], - "version": "2.2.1" - } - }, - "requirements_overrider_windows_311__requests": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [ - "certifi", - "charset_normalizer", - "idna", - "urllib3" - ], - "package": "requests", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f", - "urls": [ - "https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl#sha256=58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f" - ], - "version": "2.31.0" - } - }, - "req_compile_deps_windows_311__platformdirs": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "platformdirs", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068", - "urls": [ - "https://files.pythonhosted.org/packages/55/72/4898c44ee9ea6f43396fbc23d9bfaf3d06e01b83698bdf2e4c919deceb7c/platformdirs-4.2.0-py3-none-any.whl#sha256=0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068" - ], - "version": "4.2.0" - } - }, - "req_compile_deps_linux_311__charset_normalizer": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "charset_normalizer", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8", - "urls": [ - "https://files.pythonhosted.org/packages/40/26/f35951c45070edc957ba40a5b1db3cf60a9dbb1b350c2d5bef03e01e61de/charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8" - ], - "version": "3.3.2" - } - }, - "req_compile_deps_macos_311__idna": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "idna", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f", - "urls": [ - "https://files.pythonhosted.org/packages/c2/e7/a82b05cf63a603df6e68d59ae6a68bf5064484a0718ea5033660af4b54a9/idna-3.6-py3-none-any.whl#sha256=c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f" - ], - "version": "3.6" - } - }, - "req_compile_deps_windows_311__types_toml": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "types_toml", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "627b47775d25fa29977d9c70dc0cbab3f314f32c8d8d0c012f2ef5de7aaec05d", - "urls": [ - "https://files.pythonhosted.org/packages/da/a2/d32ab58c0b216912638b140ab2170ee4b8644067c293b170e19fba340ccc/types_toml-0.10.8.20240310-py3-none-any.whl#sha256=627b47775d25fa29977d9c70dc0cbab3f314f32c8d8d0c012f2ef5de7aaec05d" - ], - "version": "0.10.8.20240310" - } - }, - "req_compile_deps_macos_311__platformdirs": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "platformdirs", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068", - "urls": [ - "https://files.pythonhosted.org/packages/55/72/4898c44ee9ea6f43396fbc23d9bfaf3d06e01b83698bdf2e4c919deceb7c/platformdirs-4.2.0-py3-none-any.whl#sha256=0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068" - ], - "version": "4.2.0" - } - }, - "req_compile_deps_macos_311__packaging": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "packaging", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5", - "urls": [ - "https://files.pythonhosted.org/packages/49/df/1fceb2f8900f8639e278b056416d49134fb8d84c5942ffaa01ad34782422/packaging-24.0-py3-none-any.whl#sha256=2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5" - ], - "version": "24.0" - } - }, - "req_compile_deps_linux_311__isort": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "isort", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6", - "urls": [ - "https://files.pythonhosted.org/packages/d1/b3/8def84f539e7d2289a02f0524b944b15d7c75dab7628bedf1c4f0992029c/isort-5.13.2-py3-none-any.whl#sha256=8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6" - ], - "version": "5.13.2" - } - }, - "req_compile_deps_macos_311__typing_extensions": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "typing_extensions", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", - "urls": [ - "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl#sha256=69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475" - ], - "version": "4.10.0" - } - }, - "requirements_overrider_windows_311__astroid": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "astroid", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "951798f922990137ac090c53af473db7ab4e70c770e6d7fae0cec59f74411819", - "urls": [ - "https://files.pythonhosted.org/packages/ed/1c/ee18acf9070f77253954b7d71b4c0cf8f5969fb23067d8f1a8793573ba00/astroid-3.1.0-py3-none-any.whl#sha256=951798f922990137ac090c53af473db7ab4e70c770e6d7fae0cec59f74411819" - ], - "version": "3.1.0" - } - }, - "req_compile_deps_linux_311__tomlkit": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "tomlkit", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "5cd82d48a3dd89dee1f9d64420aa20ae65cfbd00668d6f094d7578a78efbb77b", - "urls": [ - "https://files.pythonhosted.org/packages/07/fa/c96545d741f2fd47f565e4e06bfef0962add790cb9c2289d900102b55eca/tomlkit-0.12.4-py3-none-any.whl#sha256=5cd82d48a3dd89dee1f9d64420aa20ae65cfbd00668d6f094d7578a78efbb77b" - ], - "version": "0.12.4" - } - }, - "requirements_overrider_linux_311__appdirs": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "appdirs", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128", - "urls": [ - "https://files.pythonhosted.org/packages/3b/00/2344469e2084fb287c2e0b57b72910309874c3245463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl#sha256=a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128" - ], - "version": "1.4.4" - } - }, - "requirements_overrider_macos_311__types_toml": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "types_toml", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "627b47775d25fa29977d9c70dc0cbab3f314f32c8d8d0c012f2ef5de7aaec05d", - "urls": [ - "https://files.pythonhosted.org/packages/da/a2/d32ab58c0b216912638b140ab2170ee4b8644067c293b170e19fba340ccc/types_toml-0.10.8.20240310-py3-none-any.whl#sha256=627b47775d25fa29977d9c70dc0cbab3f314f32c8d8d0c012f2ef5de7aaec05d" - ], - "version": "0.10.8.20240310" - } - }, - "req_compile_deps_linux_311__types_requests": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [ - "urllib3" - ], - "package": "types_requests", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "47872893d65a38e282ee9f277a4ee50d1b28bd592040df7d1fdaffdf3779937d", - "urls": [ - "https://files.pythonhosted.org/packages/05/22/21c7918c9bb842faa92fd26108e9f669c3dee9b6b239e8f45dd5f673e6cf/types_requests-2.31.0.20240311-py3-none-any.whl#sha256=47872893d65a38e282ee9f277a4ee50d1b28bd592040df7d1fdaffdf3779937d" - ], - "version": "2.31.0.20240311" - } - }, - "requirements_overrider_linux_311__requests": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [ - "certifi", - "charset_normalizer", - "idna", - "urllib3" - ], - "package": "requests", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f", - "urls": [ - "https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl#sha256=58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f" - ], - "version": "2.31.0" - } - }, - "requirements_overrider_macos_311__dill": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "dill", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7", - "urls": [ - "https://files.pythonhosted.org/packages/c9/7a/cef76fd8438a42f96db64ddaa85280485a9c395e7df3db8158cfec1eee34/dill-0.3.8-py3-none-any.whl#sha256=c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7" - ], - "version": "0.3.8" - } - }, - "req_compile_deps_linux_311__astroid": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "astroid", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "951798f922990137ac090c53af473db7ab4e70c770e6d7fae0cec59f74411819", - "urls": [ - "https://files.pythonhosted.org/packages/ed/1c/ee18acf9070f77253954b7d71b4c0cf8f5969fb23067d8f1a8793573ba00/astroid-3.1.0-py3-none-any.whl#sha256=951798f922990137ac090c53af473db7ab4e70c770e6d7fae0cec59f74411819" - ], - "version": "3.1.0" - } - }, - "req_compile_deps_windows_311__mccabe": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "mccabe", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e", - "urls": [ - "https://files.pythonhosted.org/packages/27/1a/1f68f9ba0c207934b35b86a8ca3aad8395a3d6dd7921c0686e23853ff5a9/mccabe-0.7.0-py2.py3-none-any.whl#sha256=6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e" - ], - "version": "0.7.0" - } - }, - "req_compile_deps_windows_311__pathspec": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "pathspec", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", - "urls": [ - "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl#sha256=a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08" - ], - "version": "0.12.1" - } - }, - "req_compile_deps_windows_311__idna": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "idna", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f", - "urls": [ - "https://files.pythonhosted.org/packages/c2/e7/a82b05cf63a603df6e68d59ae6a68bf5064484a0718ea5033660af4b54a9/idna-3.6-py3-none-any.whl#sha256=c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f" - ], - "version": "3.6" - } - }, - "req_compile_deps_windows_311__types_requests": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [ - "urllib3" - ], - "package": "types_requests", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "06abf6a68f5c4f2a62f6bb006672dfb26ed50ccbfddb281e1ee6f09a65707d5d", - "urls": [ - "https://files.pythonhosted.org/packages/6d/05/f9ccc1e7c1760367686834637ca41f2c13cb865c5c3e0505d18c9110cd9b/types_requests-2.31.0.20240403-py3-none-any.whl#sha256=06abf6a68f5c4f2a62f6bb006672dfb26ed50ccbfddb281e1ee6f09a65707d5d" - ], - "version": "2.31.0.20240403" - } - }, - "requirements_overrider_macos_311__platformdirs": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "platformdirs", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068", - "urls": [ - "https://files.pythonhosted.org/packages/55/72/4898c44ee9ea6f43396fbc23d9bfaf3d06e01b83698bdf2e4c919deceb7c/platformdirs-4.2.0-py3-none-any.whl#sha256=0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068" - ], - "version": "4.2.0" - } - }, - "requirements_overrider_macos_311__typing_extensions": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "typing_extensions", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", - "urls": [ - "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl#sha256=69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475" - ], - "version": "4.10.0" - } - }, - "requirements_overrider_linux_311__click": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "click", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28", - "urls": [ - "https://files.pythonhosted.org/packages/00/2e/d53fa4befbf2cfa713304affc7ca780ce4fc1fd8710527771b58311a3229/click-8.1.7-py3-none-any.whl#sha256=ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28" - ], - "version": "8.1.7" - } - }, - "requirements_overrider_macos_311__iniconfig": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "iniconfig", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", - "urls": [ - "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl#sha256=b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374" - ], - "version": "2.0.0" - } - }, - "requirements_overrider_linux_311__types_setuptools": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "types_setuptools", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "cf91ff7c87ab7bf0625c3f0d4d90427c9da68561f3b0feab77977aaf0bbf7531", - "urls": [ - "https://files.pythonhosted.org/packages/1f/22/904934a3344fa5f332ecab887003f3f033c1272432a4af877007b75b0bd3/types_setuptools-69.2.0.20240317-py3-none-any.whl#sha256=cf91ff7c87ab7bf0625c3f0d4d90427c9da68561f3b0feab77977aaf0bbf7531" - ], - "version": "69.2.0.20240317" - } - }, - "requirements_overrider_macos_311__click": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "click", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28", - "urls": [ - "https://files.pythonhosted.org/packages/00/2e/d53fa4befbf2cfa713304affc7ca780ce4fc1fd8710527771b58311a3229/click-8.1.7-py3-none-any.whl#sha256=ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28" - ], - "version": "8.1.7" - } - }, - "req_compile_deps_windows_311__six": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "six", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254", - "urls": [ - "https://files.pythonhosted.org/packages/d9/5a/e7c31adbe875f2abbb91bd84cf2dc52d792b5a01506781dbcf25c91daf11/six-1.16.0-py2.py3-none-any.whl#sha256=8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" - ], - "version": "1.16.0" - } - }, - "requirements_overrider_linux_311__responses": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [ - "pyyaml", - "requests", - "urllib3" - ], - "package": "responses", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "2f0b9c2b6437db4b528619a77e5d565e4ec2a9532162ac1a131a83529db7be1a", - "urls": [ - "https://files.pythonhosted.org/packages/30/0b/bff1e6a5b646e6ff770deb6a292a96bd844ea13fb523ccbd9209fc4b90b8/responses-0.25.0-py3-none-any.whl#sha256=2f0b9c2b6437db4b528619a77e5d565e4ec2a9532162ac1a131a83529db7be1a" - ], - "version": "0.25.0" - } - }, - "requirements_overrider_windows_311__six": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "six", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254", - "urls": [ - "https://files.pythonhosted.org/packages/d9/5a/e7c31adbe875f2abbb91bd84cf2dc52d792b5a01506781dbcf25c91daf11/six-1.16.0-py2.py3-none-any.whl#sha256=8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" - ], - "version": "1.16.0" - } - }, - "req_compile_deps_macos_311__click": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "click", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28", - "urls": [ - "https://files.pythonhosted.org/packages/00/2e/d53fa4befbf2cfa713304affc7ca780ce4fc1fd8710527771b58311a3229/click-8.1.7-py3-none-any.whl#sha256=ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28" - ], - "version": "8.1.7" - } - }, - "requirements_overrider_linux_311__charset_normalizer": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "charset_normalizer", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8", - "urls": [ - "https://files.pythonhosted.org/packages/40/26/f35951c45070edc957ba40a5b1db3cf60a9dbb1b350c2d5bef03e01e61de/charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8" - ], - "version": "3.3.2" - } - }, - "requirements_overrider_macos_311__appdirs": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "appdirs", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128", - "urls": [ - "https://files.pythonhosted.org/packages/3b/00/2344469e2084fb287c2e0b57b72910309874c3245463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl#sha256=a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128" - ], - "version": "1.4.4" - } - }, - "requirements_overrider_windows_311__setuptools": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "setuptools", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "c21c49fb1042386df081cb5d86759792ab89efca84cf114889191cd09aacc80c", - "urls": [ - "https://files.pythonhosted.org/packages/92/e1/1c8bb3420105e70bdf357d57dd5567202b4ef8d27f810e98bb962d950834/setuptools-69.2.0-py3-none-any.whl#sha256=c21c49fb1042386df081cb5d86759792ab89efca84cf114889191cd09aacc80c" - ], - "version": "69.2.0" - } - }, - "requirements_overrider_linux_311__certifi": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "certifi", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1", - "urls": [ - "https://files.pythonhosted.org/packages/ba/06/a07f096c664aeb9f01624f858c3add0a4e913d6c96257acb4fce61e7de14/certifi-2024.2.2-py3-none-any.whl#sha256=dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1" - ], - "version": "2024.2.2" - } - }, - "requirements_overrider_linux_311__urllib3": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "urllib3", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d", - "urls": [ - "https://files.pythonhosted.org/packages/a2/73/a68704750a7679d0b6d3ad7aa8d4da8e14e151ae82e6fee774e6e0d05ec8/urllib3-2.2.1-py3-none-any.whl#sha256=450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d" - ], - "version": "2.2.1" - } - }, - "req_compile_deps_windows_311__typing_extensions": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "typing_extensions", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", - "urls": [ - "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl#sha256=69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475" - ], - "version": "4.10.0" - } - }, - "req_compile_deps_macos_311__types_toml": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "types_toml", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "627b47775d25fa29977d9c70dc0cbab3f314f32c8d8d0c012f2ef5de7aaec05d", - "urls": [ - "https://files.pythonhosted.org/packages/da/a2/d32ab58c0b216912638b140ab2170ee4b8644067c293b170e19fba340ccc/types_toml-0.10.8.20240310-py3-none-any.whl#sha256=627b47775d25fa29977d9c70dc0cbab3f314f32c8d8d0c012f2ef5de7aaec05d" - ], - "version": "0.10.8.20240310" - } - }, - "req_compile_deps_linux_311__types_toml": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "types_toml", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "627b47775d25fa29977d9c70dc0cbab3f314f32c8d8d0c012f2ef5de7aaec05d", - "urls": [ - "https://files.pythonhosted.org/packages/da/a2/d32ab58c0b216912638b140ab2170ee4b8644067c293b170e19fba340ccc/types_toml-0.10.8.20240310-py3-none-any.whl#sha256=627b47775d25fa29977d9c70dc0cbab3f314f32c8d8d0c012f2ef5de7aaec05d" - ], - "version": "0.10.8.20240310" - } - }, - "req_compile_deps_macos_311__pathspec": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "pathspec", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", - "urls": [ - "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl#sha256=a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08" - ], - "version": "0.12.1" - } - }, - "requirements_overrider_macos_311__mccabe": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "mccabe", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e", - "urls": [ - "https://files.pythonhosted.org/packages/27/1a/1f68f9ba0c207934b35b86a8ca3aad8395a3d6dd7921c0686e23853ff5a9/mccabe-0.7.0-py2.py3-none-any.whl#sha256=6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e" - ], - "version": "0.7.0" - } - }, - "req_compile_deps_macos_311__mypy_extensions": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "mypy_extensions", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d", - "urls": [ - "https://files.pythonhosted.org/packages/2a/e2/5d3f6ada4297caebe1a2add3b126fe800c96f56dbe5d1988a2cbe0b267aa/mypy_extensions-1.0.0-py3-none-any.whl#sha256=4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d" - ], - "version": "1.0.0" - } - }, - "req_compile_deps_linux_311__six": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "six", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254", - "urls": [ - "https://files.pythonhosted.org/packages/d9/5a/e7c31adbe875f2abbb91bd84cf2dc52d792b5a01506781dbcf25c91daf11/six-1.16.0-py2.py3-none-any.whl#sha256=8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" - ], - "version": "1.16.0" - } - }, - "req_compile_deps_macos_311__pytest_mock": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [ - "pytest" - ], - "package": "pytest_mock", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "0b72c38033392a5f4621342fe11e9219ac11ec9d375f8e2a0c164539e0d70f6f", - "urls": [ - "https://files.pythonhosted.org/packages/f2/3b/b26f90f74e2986a82df6e7ac7e319b8ea7ccece1caec9f8ab6104dc70603/pytest_mock-3.14.0-py3-none-any.whl#sha256=0b72c38033392a5f4621342fe11e9219ac11ec9d375f8e2a0c164539e0d70f6f" - ], - "version": "3.14.0" - } - }, - "req_compile_deps_linux_311__requests": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [ - "certifi", - "charset_normalizer", - "idna", - "urllib3" - ], - "package": "requests", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f", - "urls": [ - "https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl#sha256=58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f" - ], - "version": "2.31.0" - } - }, - "req_compile_deps_macos_311__types_setuptools": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "types_setuptools", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "cf91ff7c87ab7bf0625c3f0d4d90427c9da68561f3b0feab77977aaf0bbf7531", - "urls": [ - "https://files.pythonhosted.org/packages/1f/22/904934a3344fa5f332ecab887003f3f033c1272432a4af877007b75b0bd3/types_setuptools-69.2.0.20240317-py3-none-any.whl#sha256=cf91ff7c87ab7bf0625c3f0d4d90427c9da68561f3b0feab77977aaf0bbf7531" - ], - "version": "69.2.0.20240317" - } - }, - "req_compile_deps_linux_311__setuptools": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "setuptools", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "c21c49fb1042386df081cb5d86759792ab89efca84cf114889191cd09aacc80c", - "urls": [ - "https://files.pythonhosted.org/packages/92/e1/1c8bb3420105e70bdf357d57dd5567202b4ef8d27f810e98bb962d950834/setuptools-69.2.0-py3-none-any.whl#sha256=c21c49fb1042386df081cb5d86759792ab89efca84cf114889191cd09aacc80c" - ], - "version": "69.2.0" - } - }, - "req_compile_deps_windows_311__responses": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [ - "pyyaml", - "requests", - "urllib3" - ], - "package": "responses", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "2f0b9c2b6437db4b528619a77e5d565e4ec2a9532162ac1a131a83529db7be1a", - "urls": [ - "https://files.pythonhosted.org/packages/30/0b/bff1e6a5b646e6ff770deb6a292a96bd844ea13fb523ccbd9209fc4b90b8/responses-0.25.0-py3-none-any.whl#sha256=2f0b9c2b6437db4b528619a77e5d565e4ec2a9532162ac1a131a83529db7be1a" - ], - "version": "0.25.0" - } - }, - "req_compile_deps_macos_311__wheel": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "wheel", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81", - "urls": [ - "https://files.pythonhosted.org/packages/7d/cd/d7460c9a869b16c3dd4e1e403cce337df165368c71d6af229a74699622ce/wheel-0.43.0-py3-none-any.whl#sha256=55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81" - ], - "version": "0.43.0" - } - }, - "req_compile_deps_windows_311__tomlkit": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "tomlkit", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "5cd82d48a3dd89dee1f9d64420aa20ae65cfbd00668d6f094d7578a78efbb77b", - "urls": [ - "https://files.pythonhosted.org/packages/07/fa/c96545d741f2fd47f565e4e06bfef0962add790cb9c2289d900102b55eca/tomlkit-0.12.4-py3-none-any.whl#sha256=5cd82d48a3dd89dee1f9d64420aa20ae65cfbd00668d6f094d7578a78efbb77b" - ], - "version": "0.12.4" - } - }, - "req_compile_deps_linux_311__overrides": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "overrides", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49", - "urls": [ - "https://files.pythonhosted.org/packages/2c/ab/fc8290c6a4c722e5514d80f62b2dc4c4df1a68a41d1364e625c35990fcf3/overrides-7.7.0-py3-none-any.whl#sha256=c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49" - ], - "version": "7.7.0" - } - }, - "requirements_overrider_windows_311__types_appdirs": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "types_appdirs", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "337c750e423c40911d389359b4edabe5bbc2cdd5cd0bd0518b71d2839646273b", - "urls": [ - "https://files.pythonhosted.org/packages/cf/07/41f5b9b11f11855eb67760ed680330e0ce9136a44b51c24dd52edb1c4eb1/types_appdirs-1.4.3.5-py3-none-any.whl#sha256=337c750e423c40911d389359b4edabe5bbc2cdd5cd0bd0518b71d2839646273b" - ], - "version": "1.4.3.5" - } - }, - "requirements_overrider_windows_311__mypy_extensions": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "mypy_extensions", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d", - "urls": [ - "https://files.pythonhosted.org/packages/2a/e2/5d3f6ada4297caebe1a2add3b126fe800c96f56dbe5d1988a2cbe0b267aa/mypy_extensions-1.0.0-py3-none-any.whl#sha256=4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d" - ], - "version": "1.0.0" - } - }, - "requirements_overrider_macos_311__toml": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "toml", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", - "urls": [ - "https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl#sha256=806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b" - ], - "version": "0.10.2" - } - }, - "pip_deps__platformdirs": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "", - "deps": [], - "package": "platformdirs", - "spoke_prefix": "pip_deps", - "sha256": "2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee", - "urls": [ - "https://files.pythonhosted.org/packages/68/13/2aa1f0e1364feb2c9ef45302f387ac0bd81484e9c9a4c5688a322fbdfd08/platformdirs-4.2.2-py3-none-any.whl#sha256=2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee" - ], - "version": "4.2.2" - } - }, - "req_compile_deps_macos_311__dill": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "dill", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7", - "urls": [ - "https://files.pythonhosted.org/packages/c9/7a/cef76fd8438a42f96db64ddaa85280485a9c395e7df3db8158cfec1eee34/dill-0.3.8-py3-none-any.whl#sha256=c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7" - ], - "version": "0.3.8" - } - }, - "req_compile_deps_macos_311__requests": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [ - "certifi", - "charset_normalizer", - "idna", - "urllib3" - ], - "package": "requests", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f", - "urls": [ - "https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl#sha256=58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f" - ], - "version": "2.31.0" - } - }, - "req_compile_deps_windows_311__pluggy": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "pluggy", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "7db9f7b503d67d1c5b95f59773ebb58a8c1c288129a88665838012cfb07b8981", - "urls": [ - "https://files.pythonhosted.org/packages/a5/5b/0cc789b59e8cc1bf288b38111d002d8c5917123194d45b29dcdac64723cc/pluggy-1.4.0-py3-none-any.whl#sha256=7db9f7b503d67d1c5b95f59773ebb58a8c1c288129a88665838012cfb07b8981" - ], - "version": "1.4.0" - } - }, - "requirements_overrider_macos_311__wheel": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "wheel", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81", - "urls": [ - "https://files.pythonhosted.org/packages/7d/cd/d7460c9a869b16c3dd4e1e403cce337df165368c71d6af229a74699622ce/wheel-0.43.0-py3-none-any.whl#sha256=55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81" - ], - "version": "0.43.0" - } - }, - "req_compile_deps_linux_311__platformdirs": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "platformdirs", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068", - "urls": [ - "https://files.pythonhosted.org/packages/55/72/4898c44ee9ea6f43396fbc23d9bfaf3d06e01b83698bdf2e4c919deceb7c/platformdirs-4.2.0-py3-none-any.whl#sha256=0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068" - ], - "version": "4.2.0" - } - }, - "req_compile_deps_macos_311__mypy": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [ - "mypy_extensions", - "typing_extensions" - ], - "package": "mypy", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "3a3c007ff3ee90f69cf0a15cbcdf0995749569b86b6d2f327af01fd1b8aee9dc", - "urls": [ - "https://files.pythonhosted.org/packages/da/e2/1864612774cf8a445f6d42ce73ce0f1492a37ed2af1c908e989f1ec7d349/mypy-1.9.0-cp311-cp311-macosx_11_0_arm64.whl#sha256=3a3c007ff3ee90f69cf0a15cbcdf0995749569b86b6d2f327af01fd1b8aee9dc" - ], - "version": "1.9.0" - } - }, - "requirements_overrider_windows_311__packaging": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "packaging", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5", - "urls": [ - "https://files.pythonhosted.org/packages/49/df/1fceb2f8900f8639e278b056416d49134fb8d84c5942ffaa01ad34782422/packaging-24.0-py3-none-any.whl#sha256=2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5" - ], - "version": "24.0" - } - }, - "req_compile_deps_windows_311__appdirs": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "appdirs", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128", - "urls": [ - "https://files.pythonhosted.org/packages/3b/00/2344469e2084fb287c2e0b57b72910309874c3245463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl#sha256=a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128" - ], - "version": "1.4.4" - } - }, - "req_compile_deps_windows_311__packaging": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "packaging", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5", - "urls": [ - "https://files.pythonhosted.org/packages/49/df/1fceb2f8900f8639e278b056416d49134fb8d84c5942ffaa01ad34782422/packaging-24.0-py3-none-any.whl#sha256=2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5" - ], - "version": "24.0" - } - }, - "requirements_overrider_linux_311__iniconfig": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "iniconfig", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", - "urls": [ - "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl#sha256=b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374" - ], - "version": "2.0.0" - } - }, - "req_compile_deps_linux_311__types_setuptools": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "types_setuptools", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "cf91ff7c87ab7bf0625c3f0d4d90427c9da68561f3b0feab77977aaf0bbf7531", - "urls": [ - "https://files.pythonhosted.org/packages/1f/22/904934a3344fa5f332ecab887003f3f033c1272432a4af877007b75b0bd3/types_setuptools-69.2.0.20240317-py3-none-any.whl#sha256=cf91ff7c87ab7bf0625c3f0d4d90427c9da68561f3b0feab77977aaf0bbf7531" - ], - "version": "69.2.0.20240317" - } - }, - "requirements_overrider_windows_311__tomlkit": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "tomlkit", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "5cd82d48a3dd89dee1f9d64420aa20ae65cfbd00668d6f094d7578a78efbb77b", - "urls": [ - "https://files.pythonhosted.org/packages/07/fa/c96545d741f2fd47f565e4e06bfef0962add790cb9c2289d900102b55eca/tomlkit-0.12.4-py3-none-any.whl#sha256=5cd82d48a3dd89dee1f9d64420aa20ae65cfbd00668d6f094d7578a78efbb77b" - ], - "version": "0.12.4" - } - }, - "requirements_overrider_linux_311__mccabe": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "mccabe", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e", - "urls": [ - "https://files.pythonhosted.org/packages/27/1a/1f68f9ba0c207934b35b86a8ca3aad8395a3d6dd7921c0686e23853ff5a9/mccabe-0.7.0-py2.py3-none-any.whl#sha256=6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e" - ], - "version": "0.7.0" - } - }, - "requirements_overrider_macos_311__isort": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "isort", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6", - "urls": [ - "https://files.pythonhosted.org/packages/d1/b3/8def84f539e7d2289a02f0524b944b15d7c75dab7628bedf1c4f0992029c/isort-5.13.2-py3-none-any.whl#sha256=8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6" - ], - "version": "5.13.2" - } - }, - "requirements_overrider_macos_311__pathspec": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "pathspec", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", - "urls": [ - "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl#sha256=a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08" - ], - "version": "0.12.1" - } - }, - "requirements_overrider_windows_311__types_requests": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [ - "urllib3" - ], - "package": "types_requests", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "06abf6a68f5c4f2a62f6bb006672dfb26ed50ccbfddb281e1ee6f09a65707d5d", - "urls": [ - "https://files.pythonhosted.org/packages/6d/05/f9ccc1e7c1760367686834637ca41f2c13cb865c5c3e0505d18c9110cd9b/types_requests-2.31.0.20240403-py3-none-any.whl#sha256=06abf6a68f5c4f2a62f6bb006672dfb26ed50ccbfddb281e1ee6f09a65707d5d" - ], - "version": "2.31.0.20240403" - } - }, - "requirements_overrider_windows_311__colorama": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "colorama", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", - "urls": [ - "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl#sha256=4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6" - ], - "version": "0.4.6" - } - }, - "req_compile_deps_windows_311__setuptools": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "setuptools", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "c21c49fb1042386df081cb5d86759792ab89efca84cf114889191cd09aacc80c", - "urls": [ - "https://files.pythonhosted.org/packages/92/e1/1c8bb3420105e70bdf357d57dd5567202b4ef8d27f810e98bb962d950834/setuptools-69.2.0-py3-none-any.whl#sha256=c21c49fb1042386df081cb5d86759792ab89efca84cf114889191cd09aacc80c" - ], - "version": "69.2.0" - } - }, - "requirements_overrider_linux_311__idna": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "idna", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f", - "urls": [ - "https://files.pythonhosted.org/packages/c2/e7/a82b05cf63a603df6e68d59ae6a68bf5064484a0718ea5033660af4b54a9/idna-3.6-py3-none-any.whl#sha256=c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f" - ], - "version": "3.6" - } - }, - "requirements_overrider_windows_311__charset_normalizer": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "charset_normalizer", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77", - "urls": [ - "https://files.pythonhosted.org/packages/57/ec/80c8d48ac8b1741d5b963797b7c0c869335619e13d4744ca2f67fc11c6fc/charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl#sha256=663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77" - ], - "version": "3.3.2" - } - }, - "requirements_overrider_linux_311__packaging": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "packaging", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5", - "urls": [ - "https://files.pythonhosted.org/packages/49/df/1fceb2f8900f8639e278b056416d49134fb8d84c5942ffaa01ad34782422/packaging-24.0-py3-none-any.whl#sha256=2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5" - ], - "version": "24.0" - } - }, - "req_compile_deps_linux_311__responses": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [ - "pyyaml", - "requests", - "urllib3" - ], - "package": "responses", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "2f0b9c2b6437db4b528619a77e5d565e4ec2a9532162ac1a131a83529db7be1a", - "urls": [ - "https://files.pythonhosted.org/packages/30/0b/bff1e6a5b646e6ff770deb6a292a96bd844ea13fb523ccbd9209fc4b90b8/responses-0.25.0-py3-none-any.whl#sha256=2f0b9c2b6437db4b528619a77e5d565e4ec2a9532162ac1a131a83529db7be1a" - ], - "version": "0.25.0" - } - }, - "requirements_overrider_linux_311__pytest_mock": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [ - "pytest" - ], - "package": "pytest_mock", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "0b72c38033392a5f4621342fe11e9219ac11ec9d375f8e2a0c164539e0d70f6f", - "urls": [ - "https://files.pythonhosted.org/packages/f2/3b/b26f90f74e2986a82df6e7ac7e319b8ea7ccece1caec9f8ab6104dc70603/pytest_mock-3.14.0-py3-none-any.whl#sha256=0b72c38033392a5f4621342fe11e9219ac11ec9d375f8e2a0c164539e0d70f6f" - ], - "version": "3.14.0" - } - }, - "requirements_overrider_macos_311__black": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [ - "click", - "mypy_extensions", - "packaging", - "pathspec", - "platformdirs" - ], - "package": "black", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "aadf7a02d947936ee418777e0247ea114f78aff0d0959461057cae8a04f20597", - "urls": [ - "https://files.pythonhosted.org/packages/46/5f/30398c5056cb72f883b32b6520ad00042a9d0454b693f70509867db03a80/black-24.3.0-cp311-cp311-macosx_11_0_arm64.whl#sha256=aadf7a02d947936ee418777e0247ea114f78aff0d0959461057cae8a04f20597" - ], - "version": "24.3.0" - } - }, - "requirements_overrider_windows_311__iniconfig": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "iniconfig", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", - "urls": [ - "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl#sha256=b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374" - ], - "version": "2.0.0" - } - }, - "requirements_overrider_windows_311__black": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [ - "click", - "mypy_extensions", - "packaging", - "pathspec", - "platformdirs" - ], - "package": "black", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "bf21b7b230718a5f08bd32d5e4f1db7fc8788345c8aea1d155fc17852b3410f5", - "urls": [ - "https://files.pythonhosted.org/packages/8f/b0/4bef40c808cc615187db983b75bacdca1c110a229d41ba9887549fac529c/black-24.3.0-cp311-cp311-win_amd64.whl#sha256=bf21b7b230718a5f08bd32d5e4f1db7fc8788345c8aea1d155fc17852b3410f5" - ], - "version": "24.3.0" - } - }, - "req_compile_deps_windows_311__astroid": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "astroid", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "951798f922990137ac090c53af473db7ab4e70c770e6d7fae0cec59f74411819", - "urls": [ - "https://files.pythonhosted.org/packages/ed/1c/ee18acf9070f77253954b7d71b4c0cf8f5969fb23067d8f1a8793573ba00/astroid-3.1.0-py3-none-any.whl#sha256=951798f922990137ac090c53af473db7ab4e70c770e6d7fae0cec59f74411819" - ], - "version": "3.1.0" - } - }, - "req_compile_deps_macos_311__charset_normalizer": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "charset_normalizer", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e", - "urls": [ - "https://files.pythonhosted.org/packages/dd/51/68b61b90b24ca35495956b718f35a9756ef7d3dd4b3c1508056fa98d1a1b/charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl#sha256=549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e" - ], - "version": "3.3.2" - } - }, - "requirements_overrider_macos_311__packaging": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "packaging", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5", - "urls": [ - "https://files.pythonhosted.org/packages/49/df/1fceb2f8900f8639e278b056416d49134fb8d84c5942ffaa01ad34782422/packaging-24.0-py3-none-any.whl#sha256=2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5" - ], - "version": "24.0" - } - }, - "requirements_overrider_macos_311__pytest_mock": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [ - "pytest" - ], - "package": "pytest_mock", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "0b72c38033392a5f4621342fe11e9219ac11ec9d375f8e2a0c164539e0d70f6f", - "urls": [ - "https://files.pythonhosted.org/packages/f2/3b/b26f90f74e2986a82df6e7ac7e319b8ea7ccece1caec9f8ab6104dc70603/pytest_mock-3.14.0-py3-none-any.whl#sha256=0b72c38033392a5f4621342fe11e9219ac11ec9d375f8e2a0c164539e0d70f6f" - ], - "version": "3.14.0" - } - }, - "req_compile_deps_linux_311__click": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "click", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28", - "urls": [ - "https://files.pythonhosted.org/packages/00/2e/d53fa4befbf2cfa713304affc7ca780ce4fc1fd8710527771b58311a3229/click-8.1.7-py3-none-any.whl#sha256=ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28" - ], - "version": "8.1.7" - } - }, - "req_compile_deps_macos_311__tomlkit": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "tomlkit", - "spoke_prefix": "req_compile_deps_macos_311", - "sha256": "5cd82d48a3dd89dee1f9d64420aa20ae65cfbd00668d6f094d7578a78efbb77b", - "urls": [ - "https://files.pythonhosted.org/packages/07/fa/c96545d741f2fd47f565e4e06bfef0962add790cb9c2289d900102b55eca/tomlkit-0.12.4-py3-none-any.whl#sha256=5cd82d48a3dd89dee1f9d64420aa20ae65cfbd00668d6f094d7578a78efbb77b" - ], - "version": "0.12.4" - } - }, - "req_compile_deps_windows_311__pyyaml": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "pyyaml", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34", - "urls": [ - "https://files.pythonhosted.org/packages/b3/34/65bb4b2d7908044963ebf614fe0fdb080773fc7030d7e39c8d3eddcd4257/PyYAML-6.0.1-cp311-cp311-win_amd64.whl#sha256=bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34" - ], - "version": "6.0.1" - } - }, - "req_compile_deps_linux_311__toml": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "toml", - "spoke_prefix": "req_compile_deps_linux_311", - "sha256": "806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", - "urls": [ - "https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl#sha256=806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b" - ], - "version": "0.10.2" - } - }, - "requirements_overrider_macos_311__certifi": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:macos'", - "deps": [], - "package": "certifi", - "spoke_prefix": "requirements_overrider_macos_311", - "sha256": "dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1", - "urls": [ - "https://files.pythonhosted.org/packages/ba/06/a07f096c664aeb9f01624f858c3add0a4e913d6c96257acb4fce61e7de14/certifi-2024.2.2-py3-none-any.whl#sha256=dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1" - ], - "version": "2024.2.2" - } - }, - "requirements_overrider_windows_311__isort": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "isort", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6", - "urls": [ - "https://files.pythonhosted.org/packages/d1/b3/8def84f539e7d2289a02f0524b944b15d7c75dab7628bedf1c4f0992029c/isort-5.13.2-py3-none-any.whl#sha256=8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6" - ], - "version": "5.13.2" - } - }, - "req_compile_deps_windows_311__pytest": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [ - "colorama", - "iniconfig", - "packaging", - "pluggy" - ], - "package": "pytest", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "2a8386cfc11fa9d2c50ee7b2a57e7d898ef90470a7a34c4b949ff59662bb78b7", - "urls": [ - "https://files.pythonhosted.org/packages/4d/7e/c79cecfdb6aa85c6c2e3cf63afc56d0f165f24f5c66c03c695c4d9b84756/pytest-8.1.1-py3-none-any.whl#sha256=2a8386cfc11fa9d2c50ee7b2a57e7d898ef90470a7a34c4b949ff59662bb78b7" - ], - "version": "8.1.1" - } - }, - "requirements_overrider_linux_311__astroid": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:linux'", - "deps": [], - "package": "astroid", - "spoke_prefix": "requirements_overrider_linux_311", - "sha256": "951798f922990137ac090c53af473db7ab4e70c770e6d7fae0cec59f74411819", - "urls": [ - "https://files.pythonhosted.org/packages/ed/1c/ee18acf9070f77253954b7d71b4c0cf8f5969fb23067d8f1a8793573ba00/astroid-3.1.0-py3-none-any.whl#sha256=951798f922990137ac090c53af473db7ab4e70c770e6d7fae0cec59f74411819" - ], - "version": "3.1.0" - } - }, - "requirements_overrider_windows_311__types_toml": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "types_toml", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "627b47775d25fa29977d9c70dc0cbab3f314f32c8d8d0c012f2ef5de7aaec05d", - "urls": [ - "https://files.pythonhosted.org/packages/da/a2/d32ab58c0b216912638b140ab2170ee4b8644067c293b170e19fba340ccc/types_toml-0.10.8.20240310-py3-none-any.whl#sha256=627b47775d25fa29977d9c70dc0cbab3f314f32c8d8d0c012f2ef5de7aaec05d" - ], - "version": "0.10.8.20240310" - } - }, - "req_compile_deps_windows_311__types_setuptools": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "types_setuptools", - "spoke_prefix": "req_compile_deps_windows_311", - "sha256": "cf91ff7c87ab7bf0625c3f0d4d90427c9da68561f3b0feab77977aaf0bbf7531", - "urls": [ - "https://files.pythonhosted.org/packages/1f/22/904934a3344fa5f332ecab887003f3f033c1272432a4af877007b75b0bd3/types_setuptools-69.2.0.20240317-py3-none-any.whl#sha256=cf91ff7c87ab7bf0625c3f0d4d90427c9da68561f3b0feab77977aaf0bbf7531" - ], - "version": "69.2.0.20240317" - } - }, - "requirements_overrider_windows_311__idna": { - "bzlFile": "@@rules_req_compile~//private:whl_repo.bzl", - "ruleClassName": "whl_repository", - "attributes": { - "annotations": "{}", - "constraint": "'@@platforms//os:windows'", - "deps": [], - "package": "idna", - "spoke_prefix": "requirements_overrider_windows_311", - "sha256": "c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f", - "urls": [ - "https://files.pythonhosted.org/packages/c2/e7/a82b05cf63a603df6e68d59ae6a68bf5064484a0718ea5033660af4b54a9/idna-3.6-py3-none-any.whl#sha256=c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f" - ], - "version": "3.6" - } - } - }, - "recordedRepoMappingEntries": [ - [ - "rules_cc~", - "bazel_tools", - "bazel_tools" - ], - [ - "rules_req_compile~", - "bazel_tools", - "bazel_tools" - ], - [ - "rules_req_compile~", - "platforms", - "platforms" - ], - [ - "rules_req_compile~", - "req_compile_sdist_compiler", - "req_compile_sdist_compiler" - ], - [ - "rules_req_compile~", - "rules_cc", - "rules_cc~" - ] - ] - } - } - } -} diff --git a/private/tests/override_module_repos/overrider/MODULE.bazel.lock b/private/tests/override_module_repos/overrider/MODULE.bazel.lock deleted file mode 100644 index e8d66f59..00000000 --- a/private/tests/override_module_repos/overrider/MODULE.bazel.lock +++ /dev/null @@ -1,246 +0,0 @@ -{ - "lockFileVersion": 16, - "registryFileHashes": { - "https://bcr.bazel.build/bazel_registry.json": "8a28e4aff06ee60aed2a8c281907fb8bcbf3b753c91fb5a5c57da3215d5b3497", - "https://bcr.bazel.build/modules/abseil-cpp/20210324.2/MODULE.bazel": "7cd0312e064fde87c8d1cd79ba06c876bd23630c83466e9500321be55c96ace2", - "https://bcr.bazel.build/modules/abseil-cpp/20211102.0/MODULE.bazel": "70390338f7a5106231d20620712f7cccb659cd0e9d073d1991c038eb9fc57589", - "https://bcr.bazel.build/modules/abseil-cpp/20230125.1/MODULE.bazel": "89047429cb0207707b2dface14ba7f8df85273d484c2572755be4bab7ce9c3a0", - "https://bcr.bazel.build/modules/abseil-cpp/20230802.0.bcr.1/MODULE.bazel": "1c8cec495288dccd14fdae6e3f95f772c1c91857047a098fad772034264cc8cb", - "https://bcr.bazel.build/modules/abseil-cpp/20230802.0/MODULE.bazel": "d253ae36a8bd9ee3c5955384096ccb6baf16a1b1e93e858370da0a3b94f77c16", - "https://bcr.bazel.build/modules/abseil-cpp/20230802.1/MODULE.bazel": "fa92e2eb41a04df73cdabeec37107316f7e5272650f81d6cc096418fe647b915", - "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/MODULE.bazel": "37bcdb4440fbb61df6a1c296ae01b327f19e9bb521f9b8e26ec854b6f97309ed", - "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/source.json": "9be551b8d4e3ef76875c0d744b5d6a504a27e3ae67bc6b28f46415fd2d2957da", - "https://bcr.bazel.build/modules/bazel_features/1.1.1/MODULE.bazel": "27b8c79ef57efe08efccbd9dd6ef70d61b4798320b8d3c134fd571f78963dbcd", - "https://bcr.bazel.build/modules/bazel_features/1.11.0/MODULE.bazel": "f9382337dd5a474c3b7d334c2f83e50b6eaedc284253334cf823044a26de03e8", - "https://bcr.bazel.build/modules/bazel_features/1.15.0/MODULE.bazel": "d38ff6e517149dc509406aca0db3ad1efdd890a85e049585b7234d04238e2a4d", - "https://bcr.bazel.build/modules/bazel_features/1.17.0/MODULE.bazel": "039de32d21b816b47bd42c778e0454217e9c9caac4a3cf8e15c7231ee3ddee4d", - "https://bcr.bazel.build/modules/bazel_features/1.18.0/MODULE.bazel": "1be0ae2557ab3a72a57aeb31b29be347bcdc5d2b1eb1e70f39e3851a7e97041a", - "https://bcr.bazel.build/modules/bazel_features/1.19.0/MODULE.bazel": "59adcdf28230d220f0067b1f435b8537dd033bfff8db21335ef9217919c7fb58", - "https://bcr.bazel.build/modules/bazel_features/1.21.0/MODULE.bazel": "675642261665d8eea09989aa3b8afb5c37627f1be178382c320d1b46afba5e3b", - "https://bcr.bazel.build/modules/bazel_features/1.21.0/source.json": "3e8379efaaef53ce35b7b8ba419df829315a880cb0a030e5bb45c96d6d5ecb5f", - "https://bcr.bazel.build/modules/bazel_features/1.4.1/MODULE.bazel": "e45b6bb2350aff3e442ae1111c555e27eac1d915e77775f6fdc4b351b758b5d7", - "https://bcr.bazel.build/modules/bazel_features/1.9.1/MODULE.bazel": "8f679097876a9b609ad1f60249c49d68bfab783dd9be012faf9d82547b14815a", - "https://bcr.bazel.build/modules/bazel_skylib/1.0.3/MODULE.bazel": "bcb0fd896384802d1ad283b4e4eb4d718eebd8cb820b0a2c3a347fb971afd9d8", - "https://bcr.bazel.build/modules/bazel_skylib/1.1.1/MODULE.bazel": "1add3e7d93ff2e6998f9e118022c84d163917d912f5afafb3058e3d2f1545b5e", - "https://bcr.bazel.build/modules/bazel_skylib/1.2.0/MODULE.bazel": "44fe84260e454ed94ad326352a698422dbe372b21a1ac9f3eab76eb531223686", - "https://bcr.bazel.build/modules/bazel_skylib/1.2.1/MODULE.bazel": "f35baf9da0efe45fa3da1696ae906eea3d615ad41e2e3def4aeb4e8bc0ef9a7a", - "https://bcr.bazel.build/modules/bazel_skylib/1.3.0/MODULE.bazel": "20228b92868bf5cfc41bda7afc8a8ba2a543201851de39d990ec957b513579c5", - "https://bcr.bazel.build/modules/bazel_skylib/1.4.1/MODULE.bazel": "a0dcb779424be33100dcae821e9e27e4f2901d9dfd5333efe5ac6a8d7ab75e1d", - "https://bcr.bazel.build/modules/bazel_skylib/1.4.2/MODULE.bazel": "3bd40978e7a1fac911d5989e6b09d8f64921865a45822d8b09e815eaa726a651", - "https://bcr.bazel.build/modules/bazel_skylib/1.5.0/MODULE.bazel": "32880f5e2945ce6a03d1fbd588e9198c0a959bb42297b2cfaf1685b7bc32e138", - "https://bcr.bazel.build/modules/bazel_skylib/1.6.1/MODULE.bazel": "8fdee2dbaace6c252131c00e1de4b165dc65af02ea278476187765e1a617b917", - "https://bcr.bazel.build/modules/bazel_skylib/1.7.0/MODULE.bazel": "0db596f4563de7938de764cc8deeabec291f55e8ec15299718b93c4423e9796d", - "https://bcr.bazel.build/modules/bazel_skylib/1.7.1/MODULE.bazel": "3120d80c5861aa616222ec015332e5f8d3171e062e3e804a2a0253e1be26e59b", - "https://bcr.bazel.build/modules/bazel_skylib/1.7.1/source.json": "f121b43eeefc7c29efbd51b83d08631e2347297c95aac9764a701f2a6a2bb953", - "https://bcr.bazel.build/modules/buildozer/7.1.2/MODULE.bazel": "2e8dd40ede9c454042645fd8d8d0cd1527966aa5c919de86661e62953cd73d84", - "https://bcr.bazel.build/modules/buildozer/7.1.2/source.json": "c9028a501d2db85793a6996205c8de120944f50a0d570438fcae0457a5f9d1f8", - "https://bcr.bazel.build/modules/google_benchmark/1.8.2/MODULE.bazel": "a70cf1bba851000ba93b58ae2f6d76490a9feb74192e57ab8e8ff13c34ec50cb", - "https://bcr.bazel.build/modules/googletest/1.11.0/MODULE.bazel": "3a83f095183f66345ca86aa13c58b59f9f94a2f81999c093d4eeaa2d262d12f4", - "https://bcr.bazel.build/modules/googletest/1.14.0.bcr.1/MODULE.bazel": "22c31a561553727960057361aa33bf20fb2e98584bc4fec007906e27053f80c6", - "https://bcr.bazel.build/modules/googletest/1.14.0.bcr.1/source.json": "41e9e129f80d8c8bf103a7acc337b76e54fad1214ac0a7084bf24f4cd924b8b4", - "https://bcr.bazel.build/modules/googletest/1.14.0/MODULE.bazel": "cfbcbf3e6eac06ef9d85900f64424708cc08687d1b527f0ef65aa7517af8118f", - "https://bcr.bazel.build/modules/jsoncpp/1.9.5/MODULE.bazel": "31271aedc59e815656f5736f282bb7509a97c7ecb43e927ac1a37966e0578075", - "https://bcr.bazel.build/modules/jsoncpp/1.9.5/source.json": "4108ee5085dd2885a341c7fab149429db457b3169b86eb081fa245eadf69169d", - "https://bcr.bazel.build/modules/libpfm/4.11.0/MODULE.bazel": "45061ff025b301940f1e30d2c16bea596c25b176c8b6b3087e92615adbd52902", - "https://bcr.bazel.build/modules/platforms/0.0.10/MODULE.bazel": "8cb8efaf200bdeb2150d93e162c40f388529a25852b332cec879373771e48ed5", - "https://bcr.bazel.build/modules/platforms/0.0.10/source.json": "f22828ff4cf021a6b577f1bf6341cb9dcd7965092a439f64fc1bb3b7a5ae4bd5", - "https://bcr.bazel.build/modules/platforms/0.0.4/MODULE.bazel": "9b328e31ee156f53f3c416a64f8491f7eb731742655a47c9eec4703a71644aee", - "https://bcr.bazel.build/modules/platforms/0.0.5/MODULE.bazel": "5733b54ea419d5eaf7997054bb55f6a1d0b5ff8aedf0176fef9eea44f3acda37", - "https://bcr.bazel.build/modules/platforms/0.0.6/MODULE.bazel": "ad6eeef431dc52aefd2d77ed20a4b353f8ebf0f4ecdd26a807d2da5aa8cd0615", - "https://bcr.bazel.build/modules/platforms/0.0.7/MODULE.bazel": "72fd4a0ede9ee5c021f6a8dd92b503e089f46c227ba2813ff183b71616034814", - "https://bcr.bazel.build/modules/platforms/0.0.8/MODULE.bazel": "9f142c03e348f6d263719f5074b21ef3adf0b139ee4c5133e2aa35664da9eb2d", - "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel": "a5a29bb89544f9b97edce05642fac225a808b5b7be74038ea3640fae2f8e66a7", - "https://bcr.bazel.build/modules/protobuf/23.1/MODULE.bazel": "88b393b3eb4101d18129e5db51847cd40a5517a53e81216144a8c32dfeeca52a", - "https://bcr.bazel.build/modules/protobuf/24.4/MODULE.bazel": "7bc7ce5f2abf36b3b7b7c8218d3acdebb9426aeb35c2257c96445756f970eb12", - "https://bcr.bazel.build/modules/protobuf/27.0/MODULE.bazel": "7873b60be88844a0a1d8f80b9d5d20cfbd8495a689b8763e76c6372998d3f64c", - "https://bcr.bazel.build/modules/protobuf/27.1/MODULE.bazel": "703a7b614728bb06647f965264967a8ef1c39e09e8f167b3ca0bb1fd80449c0d", - "https://bcr.bazel.build/modules/protobuf/29.0-rc2/MODULE.bazel": "6241d35983510143049943fc0d57937937122baf1b287862f9dc8590fc4c37df", - "https://bcr.bazel.build/modules/protobuf/29.0/MODULE.bazel": "319dc8bf4c679ff87e71b1ccfb5a6e90a6dbc4693501d471f48662ac46d04e4e", - "https://bcr.bazel.build/modules/protobuf/29.0/source.json": "b857f93c796750eef95f0d61ee378f3420d00ee1dd38627b27193aa482f4f981", - "https://bcr.bazel.build/modules/protobuf/3.19.0/MODULE.bazel": "6b5fbb433f760a99a22b18b6850ed5784ef0e9928a72668b66e4d7ccd47db9b0", - "https://bcr.bazel.build/modules/pybind11_bazel/2.11.1/MODULE.bazel": "88af1c246226d87e65be78ed49ecd1e6f5e98648558c14ce99176da041dc378e", - "https://bcr.bazel.build/modules/pybind11_bazel/2.11.1/source.json": "be4789e951dd5301282729fe3d4938995dc4c1a81c2ff150afc9f1b0504c6022", - "https://bcr.bazel.build/modules/re2/2023-09-01/MODULE.bazel": "cb3d511531b16cfc78a225a9e2136007a48cf8a677e4264baeab57fe78a80206", - "https://bcr.bazel.build/modules/re2/2023-09-01/source.json": "e044ce89c2883cd957a2969a43e79f7752f9656f6b20050b62f90ede21ec6eb4", - "https://bcr.bazel.build/modules/rules_android/0.1.1/MODULE.bazel": "48809ab0091b07ad0182defb787c4c5328bd3a278938415c00a7b69b50c4d3a8", - "https://bcr.bazel.build/modules/rules_android/0.1.1/source.json": "e6986b41626ee10bdc864937ffb6d6bf275bb5b9c65120e6137d56e6331f089e", - "https://bcr.bazel.build/modules/rules_cc/0.0.1/MODULE.bazel": "cb2aa0747f84c6c3a78dad4e2049c154f08ab9d166b1273835a8174940365647", - "https://bcr.bazel.build/modules/rules_cc/0.0.10/MODULE.bazel": "ec1705118f7eaedd6e118508d3d26deba2a4e76476ada7e0e3965211be012002", - "https://bcr.bazel.build/modules/rules_cc/0.0.13/MODULE.bazel": "0e8529ed7b323dad0775ff924d2ae5af7640b23553dfcd4d34344c7e7a867191", - "https://bcr.bazel.build/modules/rules_cc/0.0.14/MODULE.bazel": "5e343a3aac88b8d7af3b1b6d2093b55c347b8eefc2e7d1442f7a02dc8fea48ac", - "https://bcr.bazel.build/modules/rules_cc/0.0.15/MODULE.bazel": "6704c35f7b4a72502ee81f61bf88706b54f06b3cbe5558ac17e2e14666cd5dcc", - "https://bcr.bazel.build/modules/rules_cc/0.0.16/MODULE.bazel": "7661303b8fc1b4d7f532e54e9d6565771fea666fbdf839e0a86affcd02defe87", - "https://bcr.bazel.build/modules/rules_cc/0.0.16/source.json": "227e83737046aa4f50015da48e98e0d8ab42fd0ec74d8d653b6cc9f9a357f200", - "https://bcr.bazel.build/modules/rules_cc/0.0.2/MODULE.bazel": "6915987c90970493ab97393024c156ea8fb9f3bea953b2f3ec05c34f19b5695c", - "https://bcr.bazel.build/modules/rules_cc/0.0.6/MODULE.bazel": "abf360251023dfe3efcef65ab9d56beefa8394d4176dd29529750e1c57eaa33f", - "https://bcr.bazel.build/modules/rules_cc/0.0.8/MODULE.bazel": "964c85c82cfeb6f3855e6a07054fdb159aced38e99a5eecf7bce9d53990afa3e", - "https://bcr.bazel.build/modules/rules_cc/0.0.9/MODULE.bazel": "836e76439f354b89afe6a911a7adf59a6b2518fafb174483ad78a2a2fde7b1c5", - "https://bcr.bazel.build/modules/rules_foreign_cc/0.9.0/MODULE.bazel": "c9e8c682bf75b0e7c704166d79b599f93b72cfca5ad7477df596947891feeef6", - "https://bcr.bazel.build/modules/rules_fuzzing/0.5.2/MODULE.bazel": "40c97d1144356f52905566c55811f13b299453a14ac7769dfba2ac38192337a8", - "https://bcr.bazel.build/modules/rules_fuzzing/0.5.2/source.json": "c8b1e2c717646f1702290959a3302a178fb639d987ab61d548105019f11e527e", - "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74", - "https://bcr.bazel.build/modules/rules_java/5.3.5/MODULE.bazel": "a4ec4f2db570171e3e5eb753276ee4b389bae16b96207e9d3230895c99644b86", - "https://bcr.bazel.build/modules/rules_java/6.0.0/MODULE.bazel": "8a43b7df601a7ec1af61d79345c17b31ea1fedc6711fd4abfd013ea612978e39", - "https://bcr.bazel.build/modules/rules_java/6.4.0/MODULE.bazel": "e986a9fe25aeaa84ac17ca093ef13a4637f6107375f64667a15999f77db6c8f6", - "https://bcr.bazel.build/modules/rules_java/6.5.2/MODULE.bazel": "1d440d262d0e08453fa0c4d8f699ba81609ed0e9a9a0f02cd10b3e7942e61e31", - "https://bcr.bazel.build/modules/rules_java/7.1.0/MODULE.bazel": "30d9135a2b6561c761bd67bd4990da591e6bdc128790ce3e7afd6a3558b2fb64", - "https://bcr.bazel.build/modules/rules_java/7.10.0/MODULE.bazel": "530c3beb3067e870561739f1144329a21c851ff771cd752a49e06e3dc9c2e71a", - "https://bcr.bazel.build/modules/rules_java/7.12.2/MODULE.bazel": "579c505165ee757a4280ef83cda0150eea193eed3bef50b1004ba88b99da6de6", - "https://bcr.bazel.build/modules/rules_java/7.2.0/MODULE.bazel": "06c0334c9be61e6cef2c8c84a7800cef502063269a5af25ceb100b192453d4ab", - "https://bcr.bazel.build/modules/rules_java/7.3.2/MODULE.bazel": "50dece891cfdf1741ea230d001aa9c14398062f2b7c066470accace78e412bc2", - "https://bcr.bazel.build/modules/rules_java/7.6.1/MODULE.bazel": "2f14b7e8a1aa2f67ae92bc69d1ec0fa8d9f827c4e17ff5e5f02e91caa3b2d0fe", - "https://bcr.bazel.build/modules/rules_java/8.6.1/MODULE.bazel": "f4808e2ab5b0197f094cabce9f4b006a27766beb6a9975931da07099560ca9c2", - "https://bcr.bazel.build/modules/rules_java/8.6.1/source.json": "f18d9ad3c4c54945bf422ad584fa6c5ca5b3116ff55a5b1bc77e5c1210be5960", - "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel": "a56b85e418c83eb1839819f0b515c431010160383306d13ec21959ac412d2fe7", - "https://bcr.bazel.build/modules/rules_jvm_external/5.1/MODULE.bazel": "33f6f999e03183f7d088c9be518a63467dfd0be94a11d0055fe2d210f89aa909", - "https://bcr.bazel.build/modules/rules_jvm_external/5.2/MODULE.bazel": "d9351ba35217ad0de03816ef3ed63f89d411349353077348a45348b096615036", - "https://bcr.bazel.build/modules/rules_jvm_external/5.3/MODULE.bazel": "bf93870767689637164657731849fb887ad086739bd5d360d90007a581d5527d", - "https://bcr.bazel.build/modules/rules_jvm_external/6.1/MODULE.bazel": "75b5fec090dbd46cf9b7d8ea08cf84a0472d92ba3585b476f44c326eda8059c4", - "https://bcr.bazel.build/modules/rules_jvm_external/6.3/MODULE.bazel": "c998e060b85f71e00de5ec552019347c8bca255062c990ac02d051bb80a38df0", - "https://bcr.bazel.build/modules/rules_jvm_external/6.3/source.json": "6f5f5a5a4419ae4e37c35a5bb0a6ae657ed40b7abc5a5189111b47fcebe43197", - "https://bcr.bazel.build/modules/rules_kotlin/1.9.0/MODULE.bazel": "ef85697305025e5a61f395d4eaede272a5393cee479ace6686dba707de804d59", - "https://bcr.bazel.build/modules/rules_kotlin/1.9.6/MODULE.bazel": "d269a01a18ee74d0335450b10f62c9ed81f2321d7958a2934e44272fe82dcef3", - "https://bcr.bazel.build/modules/rules_kotlin/1.9.6/source.json": "2faa4794364282db7c06600b7e5e34867a564ae91bda7cae7c29c64e9466b7d5", - "https://bcr.bazel.build/modules/rules_license/0.0.3/MODULE.bazel": "627e9ab0247f7d1e05736b59dbb1b6871373de5ad31c3011880b4133cafd4bd0", - "https://bcr.bazel.build/modules/rules_license/0.0.7/MODULE.bazel": "088fbeb0b6a419005b89cf93fe62d9517c0a2b8bb56af3244af65ecfe37e7d5d", - "https://bcr.bazel.build/modules/rules_license/1.0.0/MODULE.bazel": "a7fda60eefdf3d8c827262ba499957e4df06f659330bbe6cdbdb975b768bb65c", - "https://bcr.bazel.build/modules/rules_license/1.0.0/source.json": "a52c89e54cc311196e478f8382df91c15f7a2bfdf4c6cd0e2675cc2ff0b56efb", - "https://bcr.bazel.build/modules/rules_pkg/0.7.0/MODULE.bazel": "df99f03fc7934a4737122518bb87e667e62d780b610910f0447665a7e2be62dc", - "https://bcr.bazel.build/modules/rules_pkg/1.0.1/MODULE.bazel": "5b1df97dbc29623bccdf2b0dcd0f5cb08e2f2c9050aab1092fd39a41e82686ff", - "https://bcr.bazel.build/modules/rules_pkg/1.0.1/source.json": "bd82e5d7b9ce2d31e380dd9f50c111d678c3bdaca190cb76b0e1c71b05e1ba8a", - "https://bcr.bazel.build/modules/rules_proto/4.0.0/MODULE.bazel": "a7a7b6ce9bee418c1a760b3d84f83a299ad6952f9903c67f19e4edd964894e06", - "https://bcr.bazel.build/modules/rules_proto/5.3.0-21.7/MODULE.bazel": "e8dff86b0971688790ae75528fe1813f71809b5afd57facb44dad9e8eca631b7", - "https://bcr.bazel.build/modules/rules_proto/6.0.0-rc1/MODULE.bazel": "1e5b502e2e1a9e825eef74476a5a1ee524a92297085015a052510b09a1a09483", - "https://bcr.bazel.build/modules/rules_proto/6.0.2/MODULE.bazel": "ce916b775a62b90b61888052a416ccdda405212b6aaeb39522f7dc53431a5e73", - "https://bcr.bazel.build/modules/rules_proto/7.0.2/MODULE.bazel": "bf81793bd6d2ad89a37a40693e56c61b0ee30f7a7fdbaf3eabbf5f39de47dea2", - "https://bcr.bazel.build/modules/rules_proto/7.0.2/source.json": "1e5e7260ae32ef4f2b52fd1d0de8d03b606a44c91b694d2f1afb1d3b28a48ce1", - "https://bcr.bazel.build/modules/rules_python/0.10.2/MODULE.bazel": "cc82bc96f2997baa545ab3ce73f196d040ffb8756fd2d66125a530031cd90e5f", - "https://bcr.bazel.build/modules/rules_python/0.23.1/MODULE.bazel": "49ffccf0511cb8414de28321f5fcf2a31312b47c40cc21577144b7447f2bf300", - "https://bcr.bazel.build/modules/rules_python/0.25.0/MODULE.bazel": "72f1506841c920a1afec76975b35312410eea3aa7b63267436bfb1dd91d2d382", - "https://bcr.bazel.build/modules/rules_python/0.28.0/MODULE.bazel": "cba2573d870babc976664a912539b320cbaa7114cd3e8f053c720171cde331ed", - "https://bcr.bazel.build/modules/rules_python/0.31.0/MODULE.bazel": "93a43dc47ee570e6ec9f5779b2e64c1476a6ce921c48cc9a1678a91dd5f8fd58", - "https://bcr.bazel.build/modules/rules_python/0.34.0/MODULE.bazel": "1d623d026e075b78c9fde483a889cda7996f5da4f36dffb24c246ab30f06513a", - "https://bcr.bazel.build/modules/rules_python/0.4.0/MODULE.bazel": "9208ee05fd48bf09ac60ed269791cf17fb343db56c8226a720fbb1cdf467166c", - "https://bcr.bazel.build/modules/rules_python/0.40.0/MODULE.bazel": "9d1a3cd88ed7d8e39583d9ffe56ae8a244f67783ae89b60caafc9f5cf318ada7", - "https://bcr.bazel.build/modules/rules_python/0.40.0/source.json": "939d4bd2e3110f27bfb360292986bb79fd8dcefb874358ccd6cdaa7bda029320", - "https://bcr.bazel.build/modules/rules_shell/0.2.0/MODULE.bazel": "fda8a652ab3c7d8fee214de05e7a9916d8b28082234e8d2c0094505c5268ed3c", - "https://bcr.bazel.build/modules/rules_shell/0.2.0/source.json": "7f27af3c28037d9701487c4744b5448d26537cc66cdef0d8df7ae85411f8de95", - "https://bcr.bazel.build/modules/stardoc/0.5.1/MODULE.bazel": "1a05d92974d0c122f5ccf09291442580317cdd859f07a8655f1db9a60374f9f8", - "https://bcr.bazel.build/modules/stardoc/0.5.3/MODULE.bazel": "c7f6948dae6999bf0db32c1858ae345f112cacf98f174c7a8bb707e41b974f1c", - "https://bcr.bazel.build/modules/stardoc/0.5.6/MODULE.bazel": "c43dabc564990eeab55e25ed61c07a1aadafe9ece96a4efabb3f8bf9063b71ef", - "https://bcr.bazel.build/modules/stardoc/0.7.0/MODULE.bazel": "05e3d6d30c099b6770e97da986c53bd31844d7f13d41412480ea265ac9e8079c", - "https://bcr.bazel.build/modules/stardoc/0.7.1/MODULE.bazel": "3548faea4ee5dda5580f9af150e79d0f6aea934fc60c1cc50f4efdd9420759e7", - "https://bcr.bazel.build/modules/stardoc/0.7.1/source.json": "b6500ffcd7b48cd72c29bb67bcac781e12701cc0d6d55d266a652583cfcdab01", - "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "7298990c00040a0e2f121f6c32544bab27d4452f80d9ce51349b1a28f3005c43", - "https://bcr.bazel.build/modules/upb/0.0.0-20230516-61a97ef/MODULE.bazel": "c0df5e35ad55e264160417fd0875932ee3c9dda63d9fccace35ac62f45e1b6f9", - "https://bcr.bazel.build/modules/zlib/1.2.11/MODULE.bazel": "07b389abc85fdbca459b69e2ec656ae5622873af3f845e1c9d80fe179f3effa0", - "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.3/MODULE.bazel": "af322bc08976524477c79d1e45e241b6efbeb918c497e8840b8ab116802dda79", - "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.3/source.json": "2be409ac3c7601245958cd4fcdff4288be79ed23bd690b4b951f500d54ee6e7d", - "https://bcr.bazel.build/modules/zlib/1.3.1/MODULE.bazel": "751c9940dcfe869f5f7274e1295422a34623555916eb98c174c1e945594bf198" - }, - "selectedYankedVersions": {}, - "moduleExtensions": { - "@@platforms//host:extension.bzl%host_platform": { - "general": { - "bzlTransitiveDigest": "xelQcPZH8+tmuOHVjL9vDxMnnQNMlwj0SlvgoqBkm4U=", - "usagesDigest": "SeQiIN/f8/Qt9vYQk7qcXp4I4wJeEC0RnQDiaaJ4tb8=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "host_platform": { - "repoRuleId": "@@platforms//host:extension.bzl%host_platform_repo", - "attributes": {} - } - }, - "recordedRepoMappingEntries": [] - } - }, - "@@rules_java+//java:rules_java_deps.bzl%compatibility_proxy": { - "general": { - "bzlTransitiveDigest": "84xJEZ1jnXXwo8BXMprvBm++rRt4jsTu9liBxz0ivps=", - "usagesDigest": "jTQDdLDxsS43zuRmg1faAjIEPWdLAbDAowI1pInQSoo=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "compatibility_proxy": { - "repoRuleId": "@@rules_java+//java:rules_java_deps.bzl%_compatibility_proxy_repo_rule", - "attributes": {} - } - }, - "recordedRepoMappingEntries": [ - [ - "rules_java+", - "bazel_tools", - "bazel_tools" - ] - ] - } - }, - "@@rules_kotlin+//src/main/starlark/core/repositories:bzlmod_setup.bzl%rules_kotlin_extensions": { - "general": { - "bzlTransitiveDigest": "sFhcgPbDQehmbD1EOXzX4H1q/CD5df8zwG4kp4jbvr8=", - "usagesDigest": "QI2z8ZUR+mqtbwsf2fLqYdJAkPOHdOV+tF2yVAUgRzw=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "com_github_jetbrains_kotlin_git": { - "repoRuleId": "@@rules_kotlin+//src/main/starlark/core/repositories:compiler.bzl%kotlin_compiler_git_repository", - "attributes": { - "urls": [ - "https://github.com/JetBrains/kotlin/releases/download/v1.9.23/kotlin-compiler-1.9.23.zip" - ], - "sha256": "93137d3aab9afa9b27cb06a824c2324195c6b6f6179d8a8653f440f5bd58be88" - } - }, - "com_github_jetbrains_kotlin": { - "repoRuleId": "@@rules_kotlin+//src/main/starlark/core/repositories:compiler.bzl%kotlin_capabilities_repository", - "attributes": { - "git_repository_name": "com_github_jetbrains_kotlin_git", - "compiler_version": "1.9.23" - } - }, - "com_github_google_ksp": { - "repoRuleId": "@@rules_kotlin+//src/main/starlark/core/repositories:ksp.bzl%ksp_compiler_plugin_repository", - "attributes": { - "urls": [ - "https://github.com/google/ksp/releases/download/1.9.23-1.0.20/artifacts.zip" - ], - "sha256": "ee0618755913ef7fd6511288a232e8fad24838b9af6ea73972a76e81053c8c2d", - "strip_version": "1.9.23-1.0.20" - } - }, - "com_github_pinterest_ktlint": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_file", - "attributes": { - "sha256": "01b2e0ef893383a50dbeb13970fe7fa3be36ca3e83259e01649945b09d736985", - "urls": [ - "https://github.com/pinterest/ktlint/releases/download/1.3.0/ktlint" - ], - "executable": true - } - }, - "rules_android": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", - "attributes": { - "sha256": "cd06d15dd8bb59926e4d65f9003bfc20f9da4b2519985c27e190cddc8b7a7806", - "strip_prefix": "rules_android-0.1.1", - "urls": [ - "https://github.com/bazelbuild/rules_android/archive/v0.1.1.zip" - ] - } - } - }, - "recordedRepoMappingEntries": [ - [ - "rules_kotlin+", - "bazel_tools", - "bazel_tools" - ] - ] - } - } - } -} diff --git a/private/tests/pip_parse_compat/pip_parse_compat_test_deps.bzl b/private/tests/pip_parse_compat/pip_parse_compat_test_deps.bzl deleted file mode 100644 index 8b7e5e81..00000000 --- a/private/tests/pip_parse_compat/pip_parse_compat_test_deps.bzl +++ /dev/null @@ -1,21 +0,0 @@ -"""Test dependencies for `pip_parse` compatibility tests""" - -load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") -load("//:defs.bzl", "py_requirements_repository") - -def pip_parse_compat_test_deps(): - maybe( - py_requirements_repository, - name = "req_compile_test_pip_parse_compat_single_plat", - requirements_lock = Label("//private/tests/pip_parse_compat:requirements.txt"), - ) - - maybe( - py_requirements_repository, - name = "req_compile_test_pip_parse_compat_multi_plat", - requirements_locks = { - Label("//private/tests/pip_parse_compat:requirements.linux.txt"): "@platforms//os:linux", - Label("//private/tests/pip_parse_compat:requirements.macos.txt"): "@platforms//os:macos", - Label("//private/tests/pip_parse_compat:requirements.windows.txt"): "@platforms//os:windows", - }, - ) diff --git a/private/tests/pip_parse_compat/pip_parse_compat_test_deps_install.bzl b/private/tests/pip_parse_compat/pip_parse_compat_test_deps_install.bzl deleted file mode 100644 index 36b00820..00000000 --- a/private/tests/pip_parse_compat/pip_parse_compat_test_deps_install.bzl +++ /dev/null @@ -1,14 +0,0 @@ -"""Test dependencies for `pip_parse` compatibility tests""" - -load( - "@req_compile_test_pip_parse_compat_multi_plat//:requirements.bzl", - pip_parse_compat_multi_plat_repositories = "install_deps", -) -load( - "@req_compile_test_pip_parse_compat_single_plat//:requirements.bzl", - pip_parse_compat_single_plat_repositories = "install_deps", -) - -def pip_parse_compat_test_deps_install(): - pip_parse_compat_multi_plat_repositories() - pip_parse_compat_single_plat_repositories() diff --git a/pyproject.toml b/pyproject.toml index 394f96c5..ebf8fa7f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,8 +2,13 @@ requires = ["setuptools", "wheel"] build-backend = "setuptools.build_meta" +[tool.isort] +profile = "black" + [tool.mypy] -namespace_packages = false +# `req_compile.private` deliberately has no `__init__.py` so that `setup.py`'s +# `find_packages` leaves the Bazel rule helpers out of the distribution. +namespace_packages = true [tool.pylint.main] max-line-length = 120 @@ -21,6 +26,3 @@ disable = [ "consider-using-f-string", "useless-import-alias", # Conflict with ruff check. ] - -[tool.isort] -profile = "black" diff --git a/req_compile/BUILD.bazel b/req_compile/BUILD.bazel index 99f61748..6cd77470 100644 --- a/req_compile/BUILD.bazel +++ b/req_compile/BUILD.bazel @@ -1,13 +1,63 @@ -load("@rules_python//python:defs.bzl", "py_binary") +load("@bazel_skylib//rules:run_binary.bzl", "run_binary") +load("@rules_venv//python/venv:defs.bzl", "py_venv_binary") +load("@rules_venv//python/wheel:defs.bzl", "py_wheel_library") +load("//:version.bzl", "VERSION") -py_binary( +run_binary( + name = "long_description", + srcs = [ + "//:CHANGELOG.rst", + "//:README.rst", + ], + outs = ["long_description.rst"], + args = [ + "--output", + "$(execpath long_description.rst)", + "--input", + "$(execpath //:CHANGELOG.rst)", + "--input", + "$(execpath //:README.rst)", + ], + tool = "//tools/concat", +) + +py_wheel_library( name = "req_compile", srcs = glob(["**/*.py"]), - data = [ - "py.typed", + author = "Spencer Putt", + author_email = "sputt@alumni.iu.edu", + classifiers = [ + "Programming Language :: Python", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", + "Operating System :: OS Independent", + "Environment :: Console", + "Topic :: Software Development", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", ], - imports = [".."], - main = "__main__.py", + constraints_file = "//:requirements.in", + data = ["py.typed"], + description_content_type = "text/x-rst", + description_file = ":long_description", + distribution = "req-compile", + # `py_wheel_library` has no `entry_points` parameter so the console scripts + # are provided directly as a `.dist-info` file. The license is shipped the + # same way, matching what `setup.cfg` had setuptools do. + extra_distinfo_files = { + "//:LICENSE.txt": "LICENSE.txt", + ":entry_points.txt": "entry_points.txt", + }, + homepage = "https://github.com/periareon/req-compile", + license = "MIT License", + python_requires = ">=3.9", + repository_url = "https://upload.pypi.org/legacy/", + summary = "Python requirements compiler", + version = VERSION, visibility = ["//visibility:public"], deps = [ "@req_compile_deps//appdirs", @@ -19,3 +69,11 @@ py_binary( "@req_compile_deps//wheel", ], ) + +py_venv_binary( + name = "req_compile_bin", + srcs = ["__main__.py"], + main = "__main__.py", + visibility = ["//visibility:public"], + deps = [":req_compile"], +) diff --git a/req_compile/entry_points.txt b/req_compile/entry_points.txt new file mode 100644 index 00000000..68723d3a --- /dev/null +++ b/req_compile/entry_points.txt @@ -0,0 +1,3 @@ +[console_scripts] +req-compile = req_compile.cmdline:compile_main +req-candidates = req_compile.candidates:candidates_main diff --git a/private/BUILD.bazel b/req_compile/private/BUILD.bazel similarity index 86% rename from private/BUILD.bazel rename to req_compile/private/BUILD.bazel index d47502c6..b940bfe7 100644 --- a/private/BUILD.bazel +++ b/req_compile/private/BUILD.bazel @@ -1,5 +1,5 @@ load("@bazel_skylib//:bzl_library.bzl", "bzl_library") -load("@rules_python//python:defs.bzl", "py_binary") +load("@rules_venv//python:defs.bzl", "py_binary", "py_library") exports_files( [ @@ -15,13 +15,13 @@ py_binary( name = "remote_compiler_bin", srcs = ["remote_compiler.py"], main = "remote_compiler.py", - deps = ["@rules_python//python/runfiles"], + deps = ["@rules_venv//python/runfiles"], ) py_binary( name = "remote_orchestrator", srcs = ["remote_orchestrator.py"], - deps = ["@rules_python//python/runfiles"], + deps = ["@rules_venv//python/runfiles"], ) py_binary( @@ -30,15 +30,21 @@ py_binary( visibility = ["//visibility:public"], ) +py_library( + name = "compiler_lib", + srcs = ["compiler.py"], + deps = [ + "//req_compile", + "@rules_venv//python/runfiles", + ], +) + py_binary( name = "compiler_bin", srcs = ["compiler.py"], main = "compiler.py", visibility = ["//visibility:public"], - deps = [ - "//req_compile", - "@rules_python//python/runfiles", - ], + deps = [":compiler_lib"], ) py_binary( @@ -46,8 +52,8 @@ py_binary( srcs = ["solution_tester.py"], visibility = ["//visibility:public"], deps = [ - ":compiler_bin", - "@rules_python//python/runfiles", + ":compiler_lib", + "@rules_venv//python/runfiles", ], ) @@ -87,26 +93,26 @@ bzl_library( ) bzl_library( - name = "annotation_utils", - srcs = ["annotation_utils.bzl"], + name = "remote_compiler", + srcs = ["remote_compiler.bzl"], visibility = ["//:__subpackages__"], + deps = [ + ":compiler", + ":transition", + "@rules_venv//python/venv:bzl_lib", + ], ) bzl_library( - name = "compiler", - srcs = ["compiler.bzl"], + name = "annotation_utils", + srcs = ["annotation_utils.bzl"], visibility = ["//:__subpackages__"], ) bzl_library( - name = "remote_compiler", - srcs = ["remote_compiler.bzl"], + name = "compiler", + srcs = ["compiler.bzl"], visibility = ["//:__subpackages__"], - deps = [ - ":compiler", - ":transition", - "@rules_venv//python/venv:bzl_lib", - ], ) bzl_library( diff --git a/private/annotation.bzl b/req_compile/private/annotation.bzl similarity index 100% rename from private/annotation.bzl rename to req_compile/private/annotation.bzl diff --git a/private/annotation_utils.bzl b/req_compile/private/annotation_utils.bzl similarity index 100% rename from private/annotation_utils.bzl rename to req_compile/private/annotation_utils.bzl diff --git a/private/compiler.bzl b/req_compile/private/compiler.bzl similarity index 90% rename from private/compiler.bzl rename to req_compile/private/compiler.bzl index c12d9af1..aea819a7 100644 --- a/private/compiler.bzl +++ b/req_compile/private/compiler.bzl @@ -48,7 +48,9 @@ def _symlink_py_executable(ctx, target): Tuple[File, Runfiles]: The executable output and associated runfiles. """ executable = target[DefaultInfo].files_to_run.executable - is_windows = executable.basename.endswith(".exe") + + # `rules_venv` entrypoints are `.bat` scripts on Windows and `.sh` scripts elsewhere. + is_windows = executable.basename.endswith(".bat") link = ctx.actions.declare_file("{}.{}".format(ctx.label.name, executable.basename)) # Unfortunately on Windows, the use of `ctx.actions.symlink` leads to build failures @@ -76,32 +78,6 @@ def _symlink_py_executable(ctx, target): runfiles = ctx.runfiles() runfiles = runfiles.merge(target[DefaultInfo].default_runfiles) - # Windows will require the zipapp provided by py_binary targets - if is_windows and hasattr(target[OutputGroupInfo], "python_zip_file"): - _, _, zipapp_name = link.path.rpartition("/") - zipapp = ctx.actions.declare_file(zipapp_name.replace(".exe", ".zip"), sibling = link) - - # This output group is expected to only contain 1 file - python_zip_file = target[OutputGroupInfo].python_zip_file.to_list()[0] - if is_windows: - args = ctx.actions.args() - args.add(python_zip_file) - args.add(zipapp) - ctx.actions.run( - executable = ctx.executable._copier, - mnemonic = "CopyFile", - arguments = [args], - inputs = [python_zip_file], - outputs = [zipapp], - ) - else: - ctx.actions.symlink( - output = zipapp, - target_file = python_zip_file, - is_executable = True, - ) - runfiles = runfiles.merge(ctx.runfiles(files = [zipapp])) - return link, runfiles def _py_reqs_compiler_impl(ctx): @@ -227,12 +203,12 @@ bazel run //:requirements.update -- --upgrade "_compiler": attr.label( cfg = _compilation_mode_opt_transition, executable = True, - default = Label("//private:compiler_bin"), + default = Label("//req_compile/private:compiler_bin"), ), "_copier": attr.label( cfg = "exec", executable = True, - default = Label("//private:copier"), + default = Label("//req_compile/private:copier"), ), }, executable = True, @@ -379,12 +355,12 @@ py_reqs_solution_test( "_copier": attr.label( cfg = "exec", executable = True, - default = Label("//private:copier"), + default = Label("//req_compile/private:copier"), ), "_tester": attr.label( cfg = "target", executable = True, - default = Label("//private:solution_tester"), + default = Label("//req_compile/private:solution_tester"), ), }, test = True, diff --git a/private/compiler.py b/req_compile/private/compiler.py similarity index 100% rename from private/compiler.py rename to req_compile/private/compiler.py diff --git a/private/copier.py b/req_compile/private/copier.py similarity index 100% rename from private/copier.py rename to req_compile/private/copier.py diff --git a/private/remote_compiler.bzl b/req_compile/private/remote_compiler.bzl similarity index 90% rename from private/remote_compiler.bzl rename to req_compile/private/remote_compiler.bzl index 084d5f22..1eb4faa5 100644 --- a/private/remote_compiler.bzl +++ b/req_compile/private/remote_compiler.bzl @@ -1,7 +1,7 @@ """Utilities for compiling requirements on a remote machine""" load("@rules_venv//python/venv:defs.bzl", "py_venv_binary", "py_venv_zipapp") -load("//private:compiler.bzl", "PyReqsCompilerInfo") +load("//req_compile/private:compiler.bzl", "PyReqsCompilerInfo") load(":transition.bzl", "platform_transitioned_file") def _req_compile_output_file_impl(ctx): @@ -75,8 +75,8 @@ def py_reqs_remote_compiler(name, compiler, platform = None, **kwargs): py_venv_binary( name = name + "_bin", - srcs = [Label("//private:remote_compiler.py")], - main = Label("//private:remote_compiler.py"), + srcs = [Label("//req_compile/private:remote_compiler.py")], + main = Label("//req_compile/private:remote_compiler.py"), data = [ compiler, name + "_args_file", @@ -87,7 +87,7 @@ def py_reqs_remote_compiler(name, compiler, platform = None, **kwargs): "PY_REQ_COMPILER_ARGS_FILE": "$(rlocationpath {})".format(name + "_args_file"), "PY_REQ_COMPILER_SOLUTION_FILE": "$(rlocationpath {})".format(name + "_solution_file"), }, - deps = ["@rules_python//python/runfiles"], + deps = ["@rules_venv//python/runfiles"], ) # Create a zipapp for the desired platform. @@ -111,8 +111,8 @@ def py_reqs_remote_compiler(name, compiler, platform = None, **kwargs): # Define a binary that will run the tool. py_venv_binary( name = name, - srcs = [Label("//private:remote_orchestrator.py")], - main = Label("//private:remote_orchestrator.py"), + srcs = [Label("//req_compile/private:remote_orchestrator.py")], + main = Label("//req_compile/private:remote_orchestrator.py"), deps = [Label("@rules_venv//python/runfiles")], tags = tags, data = [zipapp], diff --git a/private/remote_compiler.py b/req_compile/private/remote_compiler.py similarity index 100% rename from private/remote_compiler.py rename to req_compile/private/remote_compiler.py diff --git a/private/remote_orchestrator.py b/req_compile/private/remote_orchestrator.py similarity index 100% rename from private/remote_orchestrator.py rename to req_compile/private/remote_orchestrator.py diff --git a/private/reqs_repo.bzl b/req_compile/private/reqs_repo.bzl similarity index 98% rename from private/reqs_repo.bzl rename to req_compile/private/reqs_repo.bzl index 218b5546..120d1aa8 100644 --- a/private/reqs_repo.bzl +++ b/req_compile/private/reqs_repo.bzl @@ -7,8 +7,8 @@ load(":whl_repo.bzl", "whl_repository") _DEFS_BZL_TEMPLATE = """\ \"\"\"Python constraints.\"\"\" -load("@rules_req_compile//private:utils.bzl", "sanitize_package_name") -load("@rules_req_compile//private:reqs_repo.bzl", "create_spoke_repos") +load("@rules_req_compile//req_compile/private:utils.bzl", "sanitize_package_name") +load("@rules_req_compile//req_compile/private:reqs_repo.bzl", "create_spoke_repos") def whl_repo_name(package): return "{spoke_prefix}__" + sanitize_package_name(package) @@ -105,7 +105,7 @@ def create_spoke_repos(hub_name, spoke_prefix, constraints, interpreter): _RULES_PYTHON_COMPAT = """\ \"\"\"A compatibility file with rules_python\"\"\" -load("@rules_req_compile//private:utils.bzl", "sanitize_package_name") +load("@rules_req_compile//req_compile/private:utils.bzl", "sanitize_package_name") load( ":defs.bzl", "repositories", @@ -412,7 +412,7 @@ load( _INTERFACE_BZL_TEMPLATE = """\ \"\"\"Python constraints\"\"\" -load("@rules_req_compile//private:utils.bzl", "sanitize_package_name") +load("@rules_req_compile//req_compile/private:utils.bzl", "sanitize_package_name") {loads} def whl_repo_name(package): diff --git a/private/sdist.bzl b/req_compile/private/sdist.bzl similarity index 92% rename from private/sdist.bzl rename to req_compile/private/sdist.bzl index e1c3a1a4..e0149cce 100644 --- a/private/sdist.bzl +++ b/req_compile/private/sdist.bzl @@ -4,7 +4,7 @@ load(":reqs_repo.bzl", "create_spoke_repos", "parse_requirements_locks") def _sdist_deps_module_impl(module_ctx): attrs = struct( - requirements_lock = Label("//private:sdist_requirements.txt"), + requirements_lock = Label("//req_compile/private:sdist_requirements.txt"), requirements_locks = None, ) platform_packages = parse_requirements_locks( diff --git a/private/sdist_compiler.py b/req_compile/private/sdist_compiler.py similarity index 100% rename from private/sdist_compiler.py rename to req_compile/private/sdist_compiler.py diff --git a/private/sdist_requirements.in b/req_compile/private/sdist_requirements.in similarity index 100% rename from private/sdist_requirements.in rename to req_compile/private/sdist_requirements.in diff --git a/private/sdist_requirements.txt b/req_compile/private/sdist_requirements.txt similarity index 100% rename from private/sdist_requirements.txt rename to req_compile/private/sdist_requirements.txt diff --git a/private/solution_tester.py b/req_compile/private/solution_tester.py similarity index 92% rename from private/solution_tester.py rename to req_compile/private/solution_tester.py index df336ea8..c349f1cf 100644 --- a/private/solution_tester.py +++ b/req_compile/private/solution_tester.py @@ -7,7 +7,12 @@ from python.runfiles import Runfiles # pylint: disable-next=import-error -from private.compiler import compile_main, init_logging, parse_args, rlocation +from req_compile.private.compiler import ( + compile_main, + init_logging, + parse_args, + rlocation, +) _WARNING = """\ diff --git a/private/transition.bzl b/req_compile/private/transition.bzl similarity index 100% rename from private/transition.bzl rename to req_compile/private/transition.bzl diff --git a/private/utils.bzl b/req_compile/private/utils.bzl similarity index 100% rename from private/utils.bzl rename to req_compile/private/utils.bzl diff --git a/private/whl_repo.bzl b/req_compile/private/whl_repo.bzl similarity index 98% rename from private/whl_repo.bzl rename to req_compile/private/whl_repo.bzl index b34a0f96..d203be75 100644 --- a/private/whl_repo.bzl +++ b/req_compile/private/whl_repo.bzl @@ -15,7 +15,7 @@ SDIST_ATTRS = { ), "_compiler": attr.label( allow_files = True, - default = Label("//private:sdist_compiler.py"), + default = Label("//req_compile/private:sdist_compiler.py"), ), } @@ -115,8 +115,8 @@ if __name__ == "__main__": _BUILD_TEMPLATE = """\ load("@bazel_skylib//rules:copy_file.bzl", "copy_file") -load("@rules_req_compile//private:utils.bzl", "whl_repo_name") -load("@rules_python//python:defs.bzl", "py_library", "py_binary") +load("@rules_req_compile//req_compile/private:utils.bzl", "whl_repo_name") +load("@rules_venv//python:defs.bzl", "py_library", "py_binary") package(default_visibility = ["//visibility:public"]) diff --git a/rule_tests/internal_deps/BUILD.bazel b/rule_tests/internal_deps/BUILD.bazel new file mode 100644 index 00000000..305d9895 --- /dev/null +++ b/rule_tests/internal_deps/BUILD.bazel @@ -0,0 +1,9 @@ +# buildifier: disable=bzl-visibility +load("//req_compile/private:compiler.bzl", "py_reqs_solution_test") + +py_reqs_solution_test( + name = "sdist_requirements_test", + custom_compile_command = "python3 -m req_compile --multiline --hashes --urls --solution $(rootpath //req_compile/private:sdist_requirements.txt) $(rootpath //req_compile/private:sdist_requirements.in)", + requirements_in = "//req_compile/private:sdist_requirements.in", + requirements_txt = "//req_compile/private:sdist_requirements.txt", +) diff --git a/private/tests/unit/BUILD.bazel b/rule_tests/unit/BUILD.bazel similarity index 100% rename from private/tests/unit/BUILD.bazel rename to rule_tests/unit/BUILD.bazel diff --git a/private/tests/unit/parse_lockfile_test_suite.bzl b/rule_tests/unit/parse_lockfile_test_suite.bzl similarity index 99% rename from private/tests/unit/parse_lockfile_test_suite.bzl rename to rule_tests/unit/parse_lockfile_test_suite.bzl index 5486e72a..83a33573 100644 --- a/private/tests/unit/parse_lockfile_test_suite.bzl +++ b/rule_tests/unit/parse_lockfile_test_suite.bzl @@ -1,7 +1,9 @@ """Starlark unit tests for `parse_lockfile`.""" load("@bazel_skylib//lib:unittest.bzl", "asserts", "unittest") -load("//private:reqs_repo.bzl", "parse_lockfile") + +# buildifier: disable=bzl-visibility +load("//req_compile/private:reqs_repo.bzl", "parse_lockfile") def _parse_lockfile_test_impl(ctx): env = unittest.begin(ctx) diff --git a/private/tests/version_test/BUILD.bazel b/rule_tests/version_test/BUILD.bazel similarity index 64% rename from private/tests/version_test/BUILD.bazel rename to rule_tests/version_test/BUILD.bazel index 60e831e6..efbea182 100644 --- a/private/tests/version_test/BUILD.bazel +++ b/rule_tests/version_test/BUILD.bazel @@ -1,4 +1,4 @@ -load("@rules_python//python:defs.bzl", "py_test") +load("@rules_venv//python:defs.bzl", "py_test") py_test( name = "version_test", @@ -8,6 +8,6 @@ py_test( "//:version.bzl", ], deps = [ - "@rules_python//python/runfiles", + "@rules_venv//python/runfiles", ], ) diff --git a/private/tests/version_test/version_test.py b/rule_tests/version_test/version_test.py similarity index 100% rename from private/tests/version_test/version_test.py rename to rule_tests/version_test/version_test.py diff --git a/tests/BUILD.bazel b/tests/BUILD.bazel index e69de29b..3067e713 100644 --- a/tests/BUILD.bazel +++ b/tests/BUILD.bazel @@ -0,0 +1,43 @@ +load("@rules_venv//python/pytest:defs.bzl", "py_pytest_test_suite") + +py_pytest_test_suite( + name = "tests", + size = "small", + srcs = [ + "__init__.py", + "conftest.py", + ], + data = glob( + include = ["**/*"], + exclude = [ + "*.py", + "BUILD.bazel", + ], + ) + [ + # `test_self_source` extracts metadata from this project's own source + # tree, which it locates relative to this directory. + "//:CHANGELOG.rst", + "//:README.rst", + "//:requirements.in", + "//:setup.py", + "//:version.bzl", + ], + # The test sources have never been type checked and mypy cannot resolve + # `pytest` through the cache the aspect builds for it, so every decorator + # reports `Module has no attribute "fixture"`. Linting is unaffected. + tags = ["no-mypy"], + tests = glob( + include = ["test_*.py"], + # `test_integration.py` shells out to `req-compile` from the source + # tree and reaches out to a package index. Neither works under Bazel + # so it remains covered by the pip based test matrix in CI. + exclude = ["test_integration.py"], + ), + deps = [ + "//req_compile", + "@req_compile_deps//pytest", + "@req_compile_deps//pytest_mock", + # Imported by the `extern-importer-1.0` source package fixture. + "@req_compile_deps//six", + ], +) diff --git a/tests/conftest.py b/tests/conftest.py index ee725289..c5736ce5 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -89,7 +89,9 @@ def load_scenario(self, scenario: str, limit_reqs=None) -> None: if limit_reqs is None or req in limit_reqs: self.index_map[entry.split("-")[0].lower()].append(req) - def _build_candidate(self, req: Optional[packaging.requirements.Requirement]) -> Candidate: + def _build_candidate( + self, req: Optional[packaging.requirements.Requirement] + ) -> Candidate: path = _to_path(self.scenario, req) full_name = ( path @@ -102,9 +104,7 @@ def _build_candidate(self, req: Optional[packaging.requirements.Requirement]) -> handle.read() ) - return Candidate( - req.name, path, metadata.version, None, None, "any", None - ) + return Candidate(req.name, path, metadata.version, None, None, "any", None) def get_candidates( self, req: Optional[packaging.requirements.Requirement] @@ -155,7 +155,10 @@ def build_targz(directory): archive_name = os.path.basename(directory) + ".tar.gz" tar_archive = os.path.join(build_dir, archive_name) - with tarfile.open(tar_archive, "w:gz") as tarf: + # `dereference` is required because the test sources may be presented + # as a tree of symlinks (e.g. a Bazel runfiles directory) and the + # archive is expected to contain the file contents, not dangling links. + with tarfile.open(tar_archive, "w:gz", dereference=True) as tarf: tarf.add(directory, arcname=os.path.basename(directory)) files_to_delete.append(tar_archive) diff --git a/tests/test_cmdline.py b/tests/test_cmdline.py index 0bf8b60f..a9d19e04 100644 --- a/tests/test_cmdline.py +++ b/tests/test_cmdline.py @@ -131,6 +131,4 @@ def test_stdin_reqs(mock_stdin): result = _create_input_reqs("-", extra_sources) assert not extra_sources - assert set(result.reqs) == set( - parse_requirements(["pytest", "pytest-mock"]) - ) + assert set(result.reqs) == set(parse_requirements(["pytest", "pytest-mock"])) diff --git a/tests/test_compile.py b/tests/test_compile.py index 125b3dc5..fe989626 100644 --- a/tests/test_compile.py +++ b/tests/test_compile.py @@ -225,11 +225,7 @@ def test_compile_source_user1(local_tree): def test_compile_source_user2(local_tree): results = req_compile.compile.perform_compile( - [ - DistInfo( - "test", None, [Requirement("user-2")], meta=True - ) - ], + [DistInfo("test", None, [Requirement("user-2")], meta=True)], local_tree, ) assert _real_outputs(results) == { @@ -243,11 +239,7 @@ def test_compile_source_user2_recursive_root(): base_dir = os.path.join(os.path.dirname(__file__), "local-tree") repo = SourceRepository(base_dir) results = req_compile.compile.perform_compile( - [ - DistInfo( - "test", None, [Requirement("user-2")], meta=True - ) - ], + [DistInfo("test", None, [Requirement("user-2")], meta=True)], repo, ) assert _real_outputs(results) == { diff --git a/tests/test_dists.py b/tests/test_dists.py index 720444bf..868c62c2 100644 --- a/tests/test_dists.py +++ b/tests/test_dists.py @@ -31,7 +31,9 @@ def test_one_source(): """Verifies one reverse dependency contributes its single version constraint.""" dists = DistributionCollection() dists.add_dist( - DistInfo("aaa", "1.2.0", list(req_compile.utils.parse_requirements(["bbb<1.0"]))), + DistInfo( + "aaa", "1.2.0", list(req_compile.utils.parse_requirements(["bbb<1.0"])) + ), None, Requirement("aaa"), ) @@ -43,43 +45,49 @@ def test_two_sources(): """Verifies constraints from two sources are merged on the shared dependency.""" dists = DistributionCollection() dists.add_dist( - DistInfo("aaa", "1.2.0", list(req_compile.utils.parse_requirements(["bbb<1.0"]))), + DistInfo( + "aaa", "1.2.0", list(req_compile.utils.parse_requirements(["bbb<1.0"])) + ), None, Requirement("aaa"), ) dists.add_dist( - DistInfo("ccc", "1.0.0", list(req_compile.utils.parse_requirements(["bbb>0.5"]))), + DistInfo( + "ccc", "1.0.0", list(req_compile.utils.parse_requirements(["bbb>0.5"])) + ), None, Requirement("ccc"), ) - assert dists["bbb"].build_constraints() == Requirement( - "bbb>0.5,<1.0" - ) + assert dists["bbb"].build_constraints() == Requirement("bbb>0.5,<1.0") def test_two_sources_same(): """Verifies duplicate constraints from multiple sources are de-duplicated.""" dists = DistributionCollection() dists.add_dist( - DistInfo("aaa", "1.2.0", list(req_compile.utils.parse_requirements(["bbb<1.0"]))), + DistInfo( + "aaa", "1.2.0", list(req_compile.utils.parse_requirements(["bbb<1.0"])) + ), None, Requirement("aaa"), ) dists.add_dist( - DistInfo("ccc", "1.0.0", list(req_compile.utils.parse_requirements(["bbb<1.0"]))), + DistInfo( + "ccc", "1.0.0", list(req_compile.utils.parse_requirements(["bbb<1.0"])) + ), None, Requirement("ccc"), ) - assert dists["bbb"].build_constraints() == Requirement( - "bbb<1.0" - ) + assert dists["bbb"].build_constraints() == Requirement("bbb<1.0") def test_add_remove_dist(): """Verifies removing a node also removes its orphaned transitive dependency.""" dists = DistributionCollection() node = dists.add_dist( - DistInfo("aaa", "1.2.0", list(req_compile.utils.parse_requirements(["bbb<1.0"]))), + DistInfo( + "aaa", "1.2.0", list(req_compile.utils.parse_requirements(["bbb<1.0"])) + ), None, Requirement("aaa"), ) @@ -133,7 +141,9 @@ def test_metadata_violated() -> None: def test_metadata_violated_removes_transitive(): """Verifies metadata invalidation removes transitive nodes with no remaining parents.""" dists = DistributionCollection() - metadata_a = DistInfo("a", "1.0.0", reqs=list(req_compile.utils.parse_requirements(["b"]))) + metadata_a = DistInfo( + "a", "1.0.0", reqs=list(req_compile.utils.parse_requirements(["b"])) + ) dists.add_dist(metadata_a, None, None) dists.add_dist(metadata_a, None, Requirement("a>1.0")) @@ -160,21 +170,22 @@ def test_repo_with_extra(): """Verifies explanations include extra-triggered and regular dependency reasons.""" dists = DistributionCollection() root = DistInfo( - "root", "1.0", list(req_compile.utils.parse_requirements(["a[test]"])), meta=True + "root", + "1.0", + list(req_compile.utils.parse_requirements(["a[test]"])), + meta=True, ) metadata_a = DistInfo( - "a", "1.0.0", list(req_compile.utils.parse_requirements(['b ; extra=="test"', "c"])) + "a", + "1.0.0", + list(req_compile.utils.parse_requirements(['b ; extra=="test"', "c"])), ) metadata_b = DistInfo("b", "2.0.0", []) metadata_c = DistInfo("c", "2.0.0", []) root = dists.add_dist(root, None, None) - root_a = dists.add_dist( - metadata_a, None, Requirement("a[test]") - ) - dists.add_dist( - metadata_b, root_a, Requirement('b ; extra=="test"') - ) + root_a = dists.add_dist(metadata_a, None, Requirement("a[test]")) + dists.add_dist(metadata_b, root_a, Requirement('b ; extra=="test"')) dists.add_dist(metadata_c, root_a, Requirement("a")) results = [ @@ -192,10 +203,15 @@ def test_regular_and_extra_constraints(): """Verifies regular and extra constraints are both applied to the same dependency.""" dists = DistributionCollection() root = DistInfo( - "root", "1.0", list(req_compile.utils.parse_requirements(["a[test]"])), meta=True + "root", + "1.0", + list(req_compile.utils.parse_requirements(["a[test]"])), + meta=True, ) metadata_a = DistInfo( - "a", "1.0.0", list(req_compile.utils.parse_requirements(['b>3 ; extra=="test"', "b>2"])) + "a", + "1.0.0", + list(req_compile.utils.parse_requirements(['b>3 ; extra=="test"', "b>2"])), ) dists.add_dist(root, None, None) @@ -210,7 +226,9 @@ def test_regular_and_extra_constraints(): def test_circular_self_dep() -> None: """Verifies a self-dependency is treated as a valid solved cycle.""" dists = DistributionCollection() - metadata_a = DistInfo("a", "1.0.0", reqs=list(req_compile.utils.parse_requirements(["a"]))) + metadata_a = DistInfo( + "a", "1.0.0", reqs=list(req_compile.utils.parse_requirements(["a"])) + ) dists.add_dist(metadata_a, None, None) @@ -221,7 +239,9 @@ def test_circular_self_dep() -> None: def test_circular_self_invalidate() -> None: """Verifies a self-cycle is invalidated when a conflicting requirement is added.""" dists = DistributionCollection() - metadata_a = DistInfo("a", "1.0.0", reqs=list(req_compile.utils.parse_requirements(["a"]))) + metadata_a = DistInfo( + "a", "1.0.0", reqs=list(req_compile.utils.parse_requirements(["a"])) + ) dists.add_dist(metadata_a, None, None) dists.add_dist(metadata_a, None, Requirement("a>1.0")) @@ -235,11 +255,17 @@ def test_circular_self_invalidate() -> None: def test_big_circular_invalidate() -> None: """Verifies a two-node cycle invalidates and can be restored after constraints change.""" dists = DistributionCollection() - metadata_a = DistInfo("a", "1.0.0", reqs=list(req_compile.utils.parse_requirements(["b"]))) - metadata_b = DistInfo("b", "1.0.0", reqs=list(req_compile.utils.parse_requirements(["a"]))) + metadata_a = DistInfo( + "a", "1.0.0", reqs=list(req_compile.utils.parse_requirements(["b"])) + ) + metadata_b = DistInfo( + "b", "1.0.0", reqs=list(req_compile.utils.parse_requirements(["a"])) + ) meta = dists.add_dist( - DistInfo("-", None, list(req_compile.utils.parse_requirements(["a", "b"])), meta=True), + DistInfo( + "-", None, list(req_compile.utils.parse_requirements(["a", "b"])), meta=True + ), None, None, ) @@ -270,7 +296,9 @@ def test_base_plugin_circular_completed() -> None: reqs=list(req_compile.utils.parse_requirements(["root-c", "root-a", "root-b"])), ) metadata_root_a = DistInfo( - "root-a", "1.0.0", reqs=list(req_compile.utils.parse_requirements(["root", "dep-a"])) + "root-a", + "1.0.0", + reqs=list(req_compile.utils.parse_requirements(["root", "dep-a"])), ) metadata_dep_a = DistInfo("dep-a", "1.0.0", reqs=[]) metadata_root_b = DistInfo( @@ -284,7 +312,9 @@ def test_base_plugin_circular_completed() -> None: ) metadata_dep_c = DistInfo("dep-c", "1.0.0", reqs=[]) metadata_common = DistInfo( - "common", "1.0.0", reqs=list(req_compile.utils.parse_requirements(["root", "dep-a"])) + "common", + "1.0.0", + reqs=list(req_compile.utils.parse_requirements(["root", "dep-a"])), ) root_node = dists.add_dist(metadata_root, None, Requirement("root")) @@ -318,6 +348,7 @@ def test_base_plugin_circular_completed() -> None: @pytest.fixture def result_graph() -> Any: """Builds a small helper for constructing dependency graphs incrementally in tests.""" + class _ResultGraph: results = DistributionCollection() previous = None @@ -350,6 +381,7 @@ def complete(self): return _ResultGraph() + # pylint: disable=redefined-outer-name def test_simple_cycle(result_graph): """Verifies cycle detection and completeness for a two-node mutual dependency.""" @@ -431,7 +463,9 @@ def test_root_not_cycle(result_graph) -> None: def test_get_cycle_deep_acyclic_graph_no_recursion_error() -> None: """Verifies cycle detection handles deep acyclic chains without recursion issues.""" - nodes = [DependencyNode(f"n{i}", DistInfo(f"n{i}", "1.0.0", [])) for i in range(2000)] + nodes = [ + DependencyNode(f"n{i}", DistInfo(f"n{i}", "1.0.0", [])) for i in range(2000) + ] for idx in range(len(nodes) - 1): nodes[idx].add_reason(nodes[idx + 1], None) diff --git a/tests/test_extractor.py b/tests/test_extractor.py index a6c12f5d..dc8b883b 100644 --- a/tests/test_extractor.py +++ b/tests/test_extractor.py @@ -117,6 +117,7 @@ def test_pathlib_open_with_encoding(monkeypatch, mock_targz, tmp_path): with contextlib.closing(archive): with temp_cwd(root): monkeypatch.setattr(io, "open", archive.open) + # Python 3.10 does not use io.open under the hood. def _path_open(self, *args, **kwargs): return archive.open(self, *args, **kwargs) diff --git a/tests/test_merge_requirements.py b/tests/test_merge_requirements.py index 4c5b48a2..954ce27c 100644 --- a/tests/test_merge_requirements.py +++ b/tests/test_merge_requirements.py @@ -42,9 +42,7 @@ def test_combine_extra_with_extra(): req1 = Requirement("fuzzywuzzy[slowdown]") req2 = Requirement("fuzzywuzzy[speedup]") - assert merge_requirements(req1, req2) == Requirement( - "fuzzywuzzy[slowdown,speedup]" - ) + assert merge_requirements(req1, req2) == Requirement("fuzzywuzzy[slowdown,speedup]") def test_combine_extras_sorted(): diff --git a/tests/test_metadata.py b/tests/test_metadata.py index d4101e57..c905a858 100644 --- a/tests/test_metadata.py +++ b/tests/test_metadata.py @@ -7,14 +7,13 @@ import pytest from packaging.version import Version -from req_compile.utils import parse_requirement, parse_requirements - import req_compile.filename import req_compile.metadata import req_compile.metadata.dist_info import req_compile.metadata.extractor import req_compile.metadata.metadata import req_compile.metadata.source +from req_compile.utils import parse_requirement, parse_requirements def test_a_with_no_extra(metadata_provider): @@ -57,7 +56,7 @@ def test_parse_flat_metadata_bizarre_extra(): def test_parse_flat_metadata_complex_marker( - mock_py_version: Callable[[str], None] + mock_py_version: Callable[[str], None], ) -> None: mock_py_version("3.7.12") @@ -74,9 +73,7 @@ def test_a_with_extra(metadata_provider): info = metadata_provider("normal/a-1.0.0.METADATA") assert info.name == "a" assert info.version == Version("0.1.0") - assert list(info.requires("x1")) == [ - parse_requirement("b (>1); extra == 'x1'") - ] + assert list(info.requires("x1")) == [parse_requirement("b (>1); extra == 'x1'")] def test_a_with_wrong_extra(metadata_provider): @@ -164,7 +161,10 @@ def test_compound(mock_targz): ["file-input-1.0", "file-input", "1.0", None], ["capital-s-1.0", "capital-s", "1.0", []], ["dirsep-1.0", "dirsep", "1.0", []], - ["version-writer-1.2", "version-writer", "1.2", []], + # `setup.py` here cannot be parsed statically, so the name comes from the + # egg-info fallback. Modern setuptools reports the declared name verbatim + # rather than replacing underscores with dashes. + ["version-writer-1.2", "version_writer", "1.2", []], ["tinyrpc-1.0.4", "tinyrpc", "1.0.4", ["six"]], ["spec-loading-1.0", "spec-loading", "1.0", ["et_xmlfile", "jdcal"]], ] diff --git a/tests/test_repositories.py b/tests/test_repositories.py index 6e096e0b..fd362534 100644 --- a/tests/test_repositories.py +++ b/tests/test_repositories.py @@ -2,7 +2,6 @@ import sys import pytest -from req_compile.utils import parse_version from req_compile.repos.repository import ( Candidate, @@ -12,6 +11,7 @@ _wheel_filename_to_candidate, sort_candidates, ) +from req_compile.utils import parse_version @pytest.mark.parametrize( @@ -69,9 +69,7 @@ def test_sort_non_semver(): candidates = [] for ver in candidate_vers: candidates.append( - Candidate( - "pytz", None, parse_version(ver), None, None, "any", None - ) + Candidate("pytz", None, parse_version(ver), None, None, "any", None) ) reference = list(candidates) diff --git a/tests/test_versions.py b/tests/test_versions.py index 0636144d..e669d32b 100644 --- a/tests/test_versions.py +++ b/tests/test_versions.py @@ -5,7 +5,6 @@ from req_compile.versions import _offset_minor_version, is_possible - @pytest.mark.parametrize( "version, offset, result", [ diff --git a/tools/concat/BUILD.bazel b/tools/concat/BUILD.bazel new file mode 100644 index 00000000..8723ebe5 --- /dev/null +++ b/tools/concat/BUILD.bazel @@ -0,0 +1,8 @@ +load("@rules_venv//python/venv:defs.bzl", "py_venv_binary") + +py_venv_binary( + name = "concat", + srcs = ["concat.py"], + main = "concat.py", + visibility = ["//visibility:public"], +) diff --git a/tools/concat/concat.py b/tools/concat/concat.py new file mode 100644 index 00000000..5bd4dec9 --- /dev/null +++ b/tools/concat/concat.py @@ -0,0 +1,47 @@ +"""Concatenate text files into a single output file. + +Used to assemble the long description of the `req-compile` wheel from the +changelog and readme without relying on platform specific shell commands. +""" + +import argparse +from pathlib import Path + + +def parse_args() -> argparse.Namespace: + """Parse command line arguments.""" + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument( + "--input", + dest="inputs", + action="append", + required=True, + type=Path, + help="A file to append to the output. May be passed multiple times.", + ) + parser.add_argument( + "--output", + required=True, + type=Path, + help="The path of the concatenated output file.", + ) + parser.add_argument( + "--separator", + default="\n", + help="Text to insert between each input file.", + ) + return parser.parse_args() + + +def main() -> None: + """The main entrypoint.""" + args = parse_args() + + contents = [path.read_text(encoding="utf-8") for path in args.inputs] + + args.output.parent.mkdir(parents=True, exist_ok=True) + args.output.write_text(args.separator.join(contents), encoding="utf-8") + + +if __name__ == "__main__": + main() diff --git a/tools/toolchains/BUILD.bazel b/tools/toolchains/BUILD.bazel new file mode 100644 index 00000000..91d5834c --- /dev/null +++ b/tools/toolchains/BUILD.bazel @@ -0,0 +1,93 @@ +load("@rules_venv//python:defs.bzl", "py_library") +load("@rules_venv//python/black:defs.bzl", "py_black_toolchain") +load("@rules_venv//python/isort:defs.bzl", "py_isort_toolchain") +load("@rules_venv//python/mypy:defs.bzl", "py_mypy_toolchain") +load("@rules_venv//python/pylint:defs.bzl", "py_pylint_toolchain") +load("@rules_venv//python/pytest:defs.bzl", "py_pytest_toolchain") +load("@rules_venv//python/wheel:defs.bzl", "py_wheel_toolchain") + +py_black_toolchain( + name = "py_black_toolchain_impl", + black = "@req_compile_deps//black", +) + +toolchain( + name = "py_black_toolchain", + toolchain = ":py_black_toolchain_impl", + toolchain_type = "@rules_venv//python/black:toolchain_type", + visibility = ["//visibility:public"], +) + +py_isort_toolchain( + name = "py_isort_toolchain_impl", + isort = "@req_compile_deps//isort", +) + +toolchain( + name = "py_isort_toolchain", + toolchain = ":py_isort_toolchain_impl", + toolchain_type = "@rules_venv//python/isort:toolchain_type", + visibility = ["//visibility:public"], +) + +# The type stubs are bundled with mypy itself rather than added to the deps of +# the targets that need them. They are not runtime dependencies, so listing +# them on `//req_compile` would put them in the wheel's `Requires-Dist`. +py_library( + name = "mypy_with_stubs", + deps = [ + "@req_compile_deps//mypy", + "@req_compile_deps//types_appdirs", + "@req_compile_deps//types_requests", + "@req_compile_deps//types_setuptools", + "@req_compile_deps//types_toml", + ], +) + +py_mypy_toolchain( + name = "py_mypy_toolchain_impl", + mypy = ":mypy_with_stubs", +) + +toolchain( + name = "py_mypy_toolchain", + toolchain = ":py_mypy_toolchain_impl", + toolchain_type = "@rules_venv//python/mypy:toolchain_type", + visibility = ["//visibility:public"], +) + +py_pylint_toolchain( + name = "py_pylint_toolchain_impl", + pylint = "@req_compile_deps//pylint", +) + +toolchain( + name = "py_pylint_toolchain", + toolchain = ":py_pylint_toolchain_impl", + toolchain_type = "@rules_venv//python/pylint:toolchain_type", + visibility = ["//visibility:public"], +) + +py_pytest_toolchain( + name = "py_pytest_toolchain_impl", + pytest = "@req_compile_deps//pytest", +) + +toolchain( + name = "py_pytest_toolchain", + toolchain = ":py_pytest_toolchain_impl", + toolchain_type = "@rules_venv//python/pytest:toolchain_type", + visibility = ["//visibility:public"], +) + +py_wheel_toolchain( + name = "py_wheel_toolchain_impl", + twine = "@req_compile_deps//twine", +) + +toolchain( + name = "py_wheel_toolchain", + toolchain = ":py_wheel_toolchain_impl", + toolchain_type = "@rules_venv//python/wheel:toolchain_type", + visibility = ["//visibility:public"], +)