diff --git a/.bazelrc b/.bazelrc new file mode 100644 index 0000000..e69de29 diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 7f69011..66ea286 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -2,11 +2,11 @@ name: CI # Controls when the action will run. on: - # Triggers the workflow on push or pull request events but only for the master branch + # Triggers the workflow on push or pull request events but only for the main branch push: - branches: [master] + branches: [main] pull_request: - branches: [master] + branches: [main] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: diff --git a/bazel/BUILD.bazel b/bazel/BUILD.bazel index 3c8b462..3597e8e 100644 --- a/bazel/BUILD.bazel +++ b/bazel/BUILD.bazel @@ -5,7 +5,6 @@ example_test_filegroup( srcs = [ "BUILD.bazel", # "container.bzl", - # "python.bzl", "repositories.bzl", "workspace0.bzl", "workspace1.bzl", diff --git a/bazel/python.bzl b/bazel/python.bzl deleted file mode 100644 index 63756af..0000000 --- a/bazel/python.bzl +++ /dev/null @@ -1,5 +0,0 @@ -load("@rules_python//python:defs.bzl", _py_binary = "py_binary") -load("@//bazel/python:py_oci_image.bzl", _pycross_oci_image = "pycross_oci_image") - -py_binary = _py_binary -pycross_image = _pycross_oci_image diff --git a/bazel/python/BUILD.bazel b/bazel/python/BUILD.bazel deleted file mode 100644 index de289b9..0000000 --- a/bazel/python/BUILD.bazel +++ /dev/null @@ -1,97 +0,0 @@ -load( - "@rules_pycross//pycross:defs.bzl", - "pycross_lock_file", - "pycross_poetry_lock_model", - "pycross_target_environment", -) - -_darwin_x86_64 = [ - "@platforms//os:macos", - "@platforms//cpu:x86_64", -] - -_darwin_arm64 = [ - "@platforms//os:macos", - "@platforms//cpu:arm64", -] - -_linux_x86_64 = [ - "@platforms//os:linux", - "@platforms//cpu:x86_64", -] - -platform( - name = "darwin_x86_64", - constraint_values = _darwin_x86_64, - visibility = ["//visibility:public"], -) - -platform( - name = "darwin_arm64", - constraint_values = _darwin_arm64, - visibility = ["//visibility:public"], -) - -platform( - name = "linux_x86_64", - constraint_values = _linux_x86_64, - visibility = ["//visibility:public"], -) - -pycross_target_environment( - name = "python_darwin_x86_64", - abis = ["cp310"], - platforms = ["macosx_12_0_x86_64"], - python_compatible_with = _darwin_x86_64, - version = "3.10.11", - visibility = ["//visibility:public"], -) - -pycross_target_environment( - name = "python_darwin_arm64", - abis = ["cp310"], - platforms = ["macosx_12_0_arm64"], - python_compatible_with = _darwin_arm64, - version = "3.10.11", - visibility = ["//visibility:public"], -) - -pycross_target_environment( - name = "python_linux_x86_64", - abis = ["cp310"], - platforms = [ - "linux_x86_64", - "manylinux2014_x86_64", - ] + [ - "manylinux_2_%s_x86_64" % str(i) - for i in range(17, 25) - ], - python_compatible_with = _linux_x86_64, - version = "3.10.11", - visibility = ["//visibility:public"], -) - -pycross_poetry_lock_model( - name = "poetry_lock_model", - lock_file = ":poetry.lock", - project_file = ":pyproject.toml", -) - -pycross_lock_file( - name = "poetry_lock", - out = "poetry_lock.bzl", - default_alias_single_version = True, - lock_model_file = ":poetry_lock_model", - package_build_dependencies = { - # "grpclib": [ - # "setuptools", - # "wheel", - # ], - }, - pypi_index = "https://pypi.org", - target_environments = [ - ":python_darwin_x86_64", - ":python_darwin_arm64", - ":python_linux_x86_64", - ], -) diff --git a/bazel/python/pdm/BUILD.bazel b/bazel/python/pdm/BUILD.bazel index a9b5a4f..31f6e60 100644 --- a/bazel/python/pdm/BUILD.bazel +++ b/bazel/python/pdm/BUILD.bazel @@ -1,4 +1,5 @@ -load("@//bazel:python.bzl", "py_binary", "pycross_image") +load("@rules_python//python:defs.bzl", "py_binary") +load("@//rules:oci.bzl", "py_image") py_binary( name = "pdm", @@ -7,7 +8,7 @@ py_binary( deps = ["@pypi_deps_for_pdm//:pdm"], ) -pycross_image( +py_image( name = "image", base = "@distroless_python3_debian12", binary = ":pdm", diff --git a/bazel/python/poetry.py b/bazel/python/poetry.py deleted file mode 100644 index 60cfcf9..0000000 --- a/bazel/python/poetry.py +++ /dev/null @@ -1,9 +0,0 @@ -from __future__ import annotations - -import sys - - -if __name__ == "__main__": - from poetry.console.application import main - - sys.exit(main()) \ No newline at end of file diff --git a/bazel/python/poetry_lock.bzl b/bazel/python/poetry_lock.bzl deleted file mode 100755 index cb5f0ac..0000000 --- a/bazel/python/poetry_lock.bzl +++ /dev/null @@ -1,4483 +0,0 @@ -# This file is generated by rules_pycross. -# It is not intended for manual editing. -"""Pycross-generated dependency targets.""" - -load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") -load("@rules_pycross//pycross:defs.bzl", "pycross_wheel_build", "pycross_wheel_library", "pypi_file") - -PINS = { - "aiobotocore": "aiobotocore@2.0.1", - "aiohttp": "aiohttp@3.9.3", - "aioitertools": "aioitertools@0.11.0", - "aiosignal": "aiosignal@1.3.1", - "anyio": "anyio@4.2.0", - "appnope": "appnope@0.1.3", - "argon2-cffi": "argon2-cffi@23.1.0", - "argon2-cffi-bindings": "argon2-cffi-bindings@21.2.0", - "async-timeout": "async-timeout@4.0.3", - "asyncpg": "asyncpg@0.29.0", - "attrs": "attrs@23.2.0", - "backcall": "backcall@0.2.0", - "botocore": "botocore@1.22.8", - "build": "build@1.0.3", - "cachetools": "cachetools@5.3.2", - "certifi": "certifi@2024.2.2", - "cffi": "cffi@1.16.0", - "charset-normalizer": "charset-normalizer@3.3.2", - "check-manifest": "check-manifest@0.49", - "click": "click@7.1.2", - "colorama": "colorama@0.4.6", - "coloredlogs": "coloredlogs@15.0.1", - "confluent-kafka": "confluent-kafka@1.9.2", - "contourpy": "contourpy@1.1.1", - "cryptography": "cryptography@42.0.2", - "cycler": "cycler@0.12.1", - "db-dtypes": "db-dtypes@1.2.0", - "decorator": "decorator@5.1.1", - "defusedxml": "defusedxml@0.7.1", - "devpi-client": "devpi-client@7.0.2", - "devpi-common": "devpi-common@4.0.3", - "devpi-server": "devpi-server@6.10.0", - "docutils": "docutils@0.20.1", - "exceptiongroup": "exceptiongroup@1.2.0", - "fonttools": "fonttools@4.47.2", - "freezegun": "freezegun@1.4.0", - "frozenlist": "frozenlist@1.4.1", - "fsspec": "fsspec@2021.11.1", - "google-api-core": "google-api-core@2.16.2", - "google-auth": "google-auth@2.27.0", - "google-auth-oauthlib": "google-auth-oauthlib@1.2.0", - "google-cloud-bigquery": "google-cloud-bigquery@3.17.1", - "google-cloud-bigquery-storage": "google-cloud-bigquery-storage@2.24.0", - "google-cloud-core": "google-cloud-core@2.4.1", - "google-crc32c": "google-crc32c@1.5.0", - "google-resumable-media": "google-resumable-media@2.7.0", - "googleapis-common-protos": "googleapis-common-protos@1.62.0", - "grpcio": "grpcio@1.60.1", - "grpcio-status": "grpcio-status@1.60.1", - "grpclib": "grpclib@0.4.7", - "h11": "h11@0.14.0", - "h2": "h2@3.2.0", - "hpack": "hpack@3.0.0", - "httpcore": "httpcore@0.17.3", - "httpx": "httpx@0.24.1", - "humanfriendly": "humanfriendly@10.0", - "hupper": "hupper@1.12.1", - "hyperframe": "hyperframe@5.2.0", - "idna": "idna@3.6", - "importlib-metadata": "importlib-metadata@7.0.1", - "iniconfig": "iniconfig@2.0.0", - "ipython": "ipython@7.34.0", - "itsdangerous": "itsdangerous@2.1.2", - "jaraco-classes": "jaraco-classes@3.3.0", - "jedi": "jedi@0.19.1", - "jeepney": "jeepney@0.8.0", - "jmespath": "jmespath@0.10.0", - "keyring": "keyring@24.3.0", - "kiwisolver": "kiwisolver@1.4.5", - "lazy": "lazy@1.6", - "lightgbm": "lightgbm@4.3.0", - "markdown-it-py": "markdown-it-py@3.0.0", - "matplotlib": "matplotlib@3.7.4", - "matplotlib-inline": "matplotlib-inline@0.1.6", - "mdurl": "mdurl@0.1.2", - "more-itertools": "more-itertools@10.2.0", - "multidict": "multidict@6.0.5", - "nh3": "nh3@0.2.15", - "numpy": "numpy@1.24.4", - "oauthlib": "oauthlib@3.2.2", - "packaging": "packaging@23.2", - "pandas": "pandas@1.5.3", - "pandas-gbq": "pandas-gbq@0.17.9", - "parso": "parso@0.8.3", - "passlib": "passlib@1.7.4", - "pastedeploy": "pastedeploy@3.1.0", - "pexpect": "pexpect@4.9.0", - "pickleshare": "pickleshare@0.7.5", - "pillow": "pillow@10.2.0", - "pkginfo": "pkginfo@1.9.6", - "plaster": "plaster@1.1.2", - "plaster-pastedeploy": "plaster-pastedeploy@1.0.1", - "platformdirs": "platformdirs@4.2.0", - "pluggy": "pluggy@1.4.0", - "prometheus-client": "prometheus-client@0.10.1", - "prompt-toolkit": "prompt-toolkit@3.0.43", - "proto-plus": "proto-plus@1.23.0", - "protobuf": "protobuf@4.25.2", - "psycopg2-binary": "psycopg2-binary@2.9.9", - "ptyprocess": "ptyprocess@0.7.0", - "py": "py@1.11.0", - "pyarrow": "pyarrow@9.0.0", - "pyasn1": "pyasn1@0.5.1", - "pyasn1-modules": "pyasn1-modules@0.3.0", - "pycparser": "pycparser@2.21", - "pydata-google-auth": "pydata-google-auth@1.8.2", - "pygments": "pygments@2.17.2", - "pyparsing": "pyparsing@3.1.1", - "pypi": "pypi@2.1", - "pyproject-hooks": "pyproject-hooks@1.0.0", - "pyramid": "pyramid@2.0.2", - "pytest": "pytest@6.2.5", - "python-dateutil": "python-dateutil@2.8.2", - "python-json-logger": "python-json-logger@2.0.7", - "pytz": "pytz@2024.1", - "readme-renderer": "readme-renderer@42.0", - "redis": "redis@4.6.0", - "repoze-lru": "repoze-lru@0.7", - "requests": "requests@2.31.0", - "requests-oauthlib": "requests-oauthlib@1.3.1", - "requests-toolbelt": "requests-toolbelt@1.0.0", - "rfc3986": "rfc3986@2.0.0", - "rich": "rich@13.7.0", - "rsa": "rsa@4.9", - "ruamel-yaml": "ruamel-yaml@0.18.5", - "ruamel-yaml-clib": "ruamel-yaml-clib@0.2.8", - "s3fs": "s3fs@2021.11.1", - "scikit-build-core": "scikit-build-core@0.2.2", - "scipy": "scipy@1.10.1", - "secretstorage": "secretstorage@3.3.3", - "setuptools": "setuptools@69.0.3", - "six": "six@1.16.0", - "sniffio": "sniffio@1.3.0", - "source": "source@1.2.0", - "strictyaml": "strictyaml@1.7.3", - "toml": "toml@0.10.2", - "tomli": "tomli@2.0.1", - "traitlets": "traitlets@5.14.1", - "translationstring": "translationstring@1.4", - "twine": "twine@4.0.2", - "typing-extensions": "typing-extensions@4.9.0", - "urllib3": "urllib3@1.26.18", - "uvloop": "uvloop@0.19.0", - "venusian": "venusian@3.1.0", - "waitress": "waitress@3.0.0", - "wcwidth": "wcwidth@0.2.13", - "webob": "webob@1.8.7", - "wheel": "wheel@0.42.0", - "wrapt": "wrapt@1.16.0", - "yarl": "yarl@1.9.4", - "zipp": "zipp@3.17.0", - "zope-deprecation": "zope-deprecation@5.0", - "zope-interface": "zope-interface@6.1", -} - -# buildifier: disable=unnamed-macro -def targets(): - """Generated package targets.""" - - for pin_name, pin_target in PINS.items(): - native.alias( - name = pin_name, - actual = ":" + pin_target, - ) - - native.config_setting( - name = "_env_python_darwin_arm64", - constraint_values = [ - "@platforms//os:osx", - "@platforms//cpu:arm64", - ], - ) - - native.config_setting( - name = "_env_python_darwin_x86_64", - constraint_values = [ - "@platforms//os:osx", - "@platforms//cpu:x86_64", - ], - ) - - native.config_setting( - name = "_env_python_linux_x86_64", - constraint_values = [ - "@platforms//os:linux", - "@platforms//cpu:x86_64", - ], - ) - - # buildifier: disable=unused-variable - _target = select({ - ":_env_python_darwin_arm64": "@unity//bazel_tools/python/pycross:python_darwin_arm64", - ":_env_python_darwin_x86_64": "@unity//bazel_tools/python/pycross:python_darwin_x86_64", - ":_env_python_linux_x86_64": "@unity//bazel_tools/python/pycross:python_linux_x86_64", - }) - - _aiobotocore_2_0_1_deps = [ - ":aiohttp@3.9.3", - ":aioitertools@0.11.0", - ":botocore@1.22.8", - ":wrapt@1.16.0", - ] - - native.alias( - name = "_sdist_aiobotocore@2.0.1", - actual = "@poetry_lock_sdist_aiobotocore_2.0.1//file", - ) - - _aiobotocore_2_0_1_build_deps = [ - ":setuptools@69.0.3", - ":wheel@0.42.0", - ] - - pycross_wheel_build( - name = "_build_aiobotocore@2.0.1", - sdist = ":_sdist_aiobotocore@2.0.1", - target_environment = _target, - deps = _aiobotocore_2_0_1_deps + _aiobotocore_2_0_1_build_deps, - tags = ["manual"], - ) - - native.alias( - name = "_wheel_aiobotocore@2.0.1", - actual = ":_build_aiobotocore@2.0.1", - ) - - pycross_wheel_library( - name = "aiobotocore@2.0.1", - deps = _aiobotocore_2_0_1_deps, - wheel = ":_wheel_aiobotocore@2.0.1", - ) - - _aiohttp_3_9_3_deps = [ - ":aiosignal@1.3.1", - ":async-timeout@4.0.3", - ":attrs@23.2.0", - ":frozenlist@1.4.1", - ":multidict@6.0.5", - ":yarl@1.9.4", - ] - - native.alias( - name = "_wheel_aiohttp@3.9.3", - actual = select({ - ":_env_python_darwin_arm64": "@poetry_lock_wheel_aiohttp_3.9.3_cp310_cp310_macosx_11_0_arm64//file", - ":_env_python_darwin_x86_64": "@poetry_lock_wheel_aiohttp_3.9.3_cp310_cp310_macosx_10_9_x86_64//file", - ":_env_python_linux_x86_64": "@poetry_lock_wheel_aiohttp_3.9.3_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64//file", - }), - ) - - pycross_wheel_library( - name = "aiohttp@3.9.3", - deps = _aiohttp_3_9_3_deps, - wheel = ":_wheel_aiohttp@3.9.3", - ) - - native.alias( - name = "_wheel_aioitertools@0.11.0", - actual = "@poetry_lock_wheel_aioitertools_0.11.0_py3_none_any//file", - ) - - pycross_wheel_library( - name = "aioitertools@0.11.0", - wheel = ":_wheel_aioitertools@0.11.0", - ) - - _aiosignal_1_3_1_deps = [ - ":frozenlist@1.4.1", - ] - - native.alias( - name = "_wheel_aiosignal@1.3.1", - actual = "@poetry_lock_wheel_aiosignal_1.3.1_py3_none_any//file", - ) - - pycross_wheel_library( - name = "aiosignal@1.3.1", - deps = _aiosignal_1_3_1_deps, - wheel = ":_wheel_aiosignal@1.3.1", - ) - - _anyio_4_2_0_deps = [ - ":exceptiongroup@1.2.0", - ":idna@3.6", - ":sniffio@1.3.0", - ":typing-extensions@4.9.0", - ] - - native.alias( - name = "_wheel_anyio@4.2.0", - actual = "@poetry_lock_wheel_anyio_4.2.0_py3_none_any//file", - ) - - pycross_wheel_library( - name = "anyio@4.2.0", - deps = _anyio_4_2_0_deps, - wheel = ":_wheel_anyio@4.2.0", - ) - - native.alias( - name = "_wheel_appnope@0.1.3", - actual = "@poetry_lock_wheel_appnope_0.1.3_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "appnope@0.1.3", - wheel = ":_wheel_appnope@0.1.3", - ) - - _argon2_cffi_23_1_0_deps = [ - ":argon2-cffi-bindings@21.2.0", - ] - - native.alias( - name = "_wheel_argon2-cffi@23.1.0", - actual = "@poetry_lock_wheel_argon2_cffi_23.1.0_py3_none_any//file", - ) - - pycross_wheel_library( - name = "argon2-cffi@23.1.0", - deps = _argon2_cffi_23_1_0_deps, - wheel = ":_wheel_argon2-cffi@23.1.0", - ) - - _argon2_cffi_bindings_21_2_0_deps = [ - ":cffi@1.16.0", - ] - - native.alias( - name = "_wheel_argon2-cffi-bindings@21.2.0", - actual = select({ - ":_env_python_darwin_arm64": "@poetry_lock_wheel_argon2_cffi_bindings_21.2.0_cp38_abi3_macosx_10_9_universal2//file", - ":_env_python_darwin_x86_64": "@poetry_lock_wheel_argon2_cffi_bindings_21.2.0_cp38_abi3_macosx_10_9_universal2//file", - ":_env_python_linux_x86_64": "@poetry_lock_wheel_argon2_cffi_bindings_21.2.0_cp36_abi3_manylinux_2_17_x86_64.manylinux2014_x86_64//file", - }), - ) - - pycross_wheel_library( - name = "argon2-cffi-bindings@21.2.0", - deps = _argon2_cffi_bindings_21_2_0_deps, - wheel = ":_wheel_argon2-cffi-bindings@21.2.0", - ) - - native.alias( - name = "_wheel_async-timeout@4.0.3", - actual = "@poetry_lock_wheel_async_timeout_4.0.3_py3_none_any//file", - ) - - pycross_wheel_library( - name = "async-timeout@4.0.3", - wheel = ":_wheel_async-timeout@4.0.3", - ) - - _asyncpg_0_29_0_deps = [ - ":async-timeout@4.0.3", - ] - - native.alias( - name = "_wheel_asyncpg@0.29.0", - actual = select({ - ":_env_python_darwin_arm64": "@poetry_lock_wheel_asyncpg_0.29.0_cp310_cp310_macosx_11_0_arm64//file", - ":_env_python_darwin_x86_64": "@poetry_lock_wheel_asyncpg_0.29.0_cp310_cp310_macosx_10_9_x86_64//file", - ":_env_python_linux_x86_64": "@poetry_lock_wheel_asyncpg_0.29.0_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64//file", - }), - ) - - pycross_wheel_library( - name = "asyncpg@0.29.0", - deps = _asyncpg_0_29_0_deps, - wheel = ":_wheel_asyncpg@0.29.0", - ) - - native.alias( - name = "_wheel_attrs@23.2.0", - actual = "@poetry_lock_wheel_attrs_23.2.0_py3_none_any//file", - ) - - pycross_wheel_library( - name = "attrs@23.2.0", - wheel = ":_wheel_attrs@23.2.0", - ) - - native.alias( - name = "_wheel_backcall@0.2.0", - actual = "@poetry_lock_wheel_backcall_0.2.0_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "backcall@0.2.0", - wheel = ":_wheel_backcall@0.2.0", - ) - - _botocore_1_22_8_deps = [ - ":jmespath@0.10.0", - ":python-dateutil@2.8.2", - ":urllib3@1.26.18", - ] - - native.alias( - name = "_wheel_botocore@1.22.8", - actual = "@poetry_lock_wheel_botocore_1.22.8_py3_none_any//file", - ) - - pycross_wheel_library( - name = "botocore@1.22.8", - deps = _botocore_1_22_8_deps, - wheel = ":_wheel_botocore@1.22.8", - ) - - _build_1_0_3_deps = [ - ":packaging@23.2", - ":pyproject-hooks@1.0.0", - ":tomli@2.0.1", - ] - - native.alias( - name = "_wheel_build@1.0.3", - actual = "@poetry_lock_wheel_build_1.0.3_py3_none_any//file", - ) - - pycross_wheel_library( - name = "build@1.0.3", - deps = _build_1_0_3_deps, - wheel = ":_wheel_build@1.0.3", - ) - - native.alias( - name = "_wheel_cachetools@5.3.2", - actual = "@poetry_lock_wheel_cachetools_5.3.2_py3_none_any//file", - ) - - pycross_wheel_library( - name = "cachetools@5.3.2", - wheel = ":_wheel_cachetools@5.3.2", - ) - - native.alias( - name = "_wheel_certifi@2024.2.2", - actual = "@poetry_lock_wheel_certifi_2024.2.2_py3_none_any//file", - ) - - pycross_wheel_library( - name = "certifi@2024.2.2", - wheel = ":_wheel_certifi@2024.2.2", - ) - - _cffi_1_16_0_deps = [ - ":pycparser@2.21", - ] - - native.alias( - name = "_wheel_cffi@1.16.0", - actual = select({ - ":_env_python_darwin_arm64": "@poetry_lock_wheel_cffi_1.16.0_cp310_cp310_macosx_11_0_arm64//file", - ":_env_python_darwin_x86_64": "@poetry_lock_wheel_cffi_1.16.0_cp310_cp310_macosx_10_9_x86_64//file", - ":_env_python_linux_x86_64": "@poetry_lock_wheel_cffi_1.16.0_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64//file", - }), - ) - - pycross_wheel_library( - name = "cffi@1.16.0", - deps = _cffi_1_16_0_deps, - wheel = ":_wheel_cffi@1.16.0", - ) - - native.alias( - name = "_wheel_charset-normalizer@3.3.2", - actual = select({ - ":_env_python_darwin_arm64": "@poetry_lock_wheel_charset_normalizer_3.3.2_cp310_cp310_macosx_11_0_arm64//file", - ":_env_python_darwin_x86_64": "@poetry_lock_wheel_charset_normalizer_3.3.2_cp310_cp310_macosx_10_9_x86_64//file", - ":_env_python_linux_x86_64": "@poetry_lock_wheel_charset_normalizer_3.3.2_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64//file", - }), - ) - - pycross_wheel_library( - name = "charset-normalizer@3.3.2", - wheel = ":_wheel_charset-normalizer@3.3.2", - ) - - _check_manifest_0_49_deps = [ - ":build@1.0.3", - ":setuptools@69.0.3", - ":tomli@2.0.1", - ] - - native.alias( - name = "_wheel_check-manifest@0.49", - actual = "@poetry_lock_wheel_check_manifest_0.49_py3_none_any//file", - ) - - pycross_wheel_library( - name = "check-manifest@0.49", - deps = _check_manifest_0_49_deps, - wheel = ":_wheel_check-manifest@0.49", - ) - - native.alias( - name = "_wheel_click@7.1.2", - actual = "@poetry_lock_wheel_click_7.1.2_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "click@7.1.2", - wheel = ":_wheel_click@7.1.2", - ) - - native.alias( - name = "_wheel_colorama@0.4.6", - actual = "@poetry_lock_wheel_colorama_0.4.6_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "colorama@0.4.6", - wheel = ":_wheel_colorama@0.4.6", - ) - - _coloredlogs_15_0_1_deps = [ - ":humanfriendly@10.0", - ] - - native.alias( - name = "_wheel_coloredlogs@15.0.1", - actual = "@poetry_lock_wheel_coloredlogs_15.0.1_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "coloredlogs@15.0.1", - deps = _coloredlogs_15_0_1_deps, - wheel = ":_wheel_coloredlogs@15.0.1", - ) - - native.alias( - name = "_wheel_confluent-kafka@1.9.2", - actual = select({ - ":_env_python_darwin_arm64": "@poetry_lock_wheel_confluent_kafka_1.9.2_cp310_cp310_macosx_11_0_arm64//file", - ":_env_python_darwin_x86_64": "@poetry_lock_wheel_confluent_kafka_1.9.2_cp310_cp310_macosx_10_9_x86_64//file", - ":_env_python_linux_x86_64": "@poetry_lock_wheel_confluent_kafka_1.9.2_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64//file", - }), - ) - - pycross_wheel_library( - name = "confluent-kafka@1.9.2", - wheel = ":_wheel_confluent-kafka@1.9.2", - ) - - _contourpy_1_1_1_deps = [ - ":numpy@1.24.4", - ] - - native.alias( - name = "_wheel_contourpy@1.1.1", - actual = select({ - ":_env_python_darwin_arm64": "@poetry_lock_wheel_contourpy_1.1.1_cp310_cp310_macosx_11_0_arm64//file", - ":_env_python_darwin_x86_64": "@poetry_lock_wheel_contourpy_1.1.1_cp310_cp310_macosx_10_9_x86_64//file", - ":_env_python_linux_x86_64": "@poetry_lock_wheel_contourpy_1.1.1_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64//file", - }), - ) - - pycross_wheel_library( - name = "contourpy@1.1.1", - deps = _contourpy_1_1_1_deps, - wheel = ":_wheel_contourpy@1.1.1", - ) - - _cryptography_42_0_2_deps = [ - ":cffi@1.16.0", - ] - - native.alias( - name = "_wheel_cryptography@42.0.2", - actual = select({ - ":_env_python_darwin_arm64": "@poetry_lock_wheel_cryptography_42.0.2_cp39_abi3_macosx_10_12_universal2//file", - ":_env_python_darwin_x86_64": "@poetry_lock_wheel_cryptography_42.0.2_cp39_abi3_macosx_10_12_universal2//file", - ":_env_python_linux_x86_64": "@poetry_lock_wheel_cryptography_42.0.2_cp39_abi3_manylinux_2_17_x86_64.manylinux2014_x86_64//file", - }), - ) - - pycross_wheel_library( - name = "cryptography@42.0.2", - deps = _cryptography_42_0_2_deps, - wheel = ":_wheel_cryptography@42.0.2", - ) - - native.alias( - name = "_wheel_cycler@0.12.1", - actual = "@poetry_lock_wheel_cycler_0.12.1_py3_none_any//file", - ) - - pycross_wheel_library( - name = "cycler@0.12.1", - wheel = ":_wheel_cycler@0.12.1", - ) - - _db_dtypes_1_2_0_deps = [ - ":numpy@1.24.4", - ":packaging@23.2", - ":pandas@1.5.3", - ":pyarrow@9.0.0", - ] - - native.alias( - name = "_wheel_db-dtypes@1.2.0", - actual = "@poetry_lock_wheel_db_dtypes_1.2.0_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "db-dtypes@1.2.0", - deps = _db_dtypes_1_2_0_deps, - wheel = ":_wheel_db-dtypes@1.2.0", - ) - - native.alias( - name = "_wheel_decorator@5.1.1", - actual = "@poetry_lock_wheel_decorator_5.1.1_py3_none_any//file", - ) - - pycross_wheel_library( - name = "decorator@5.1.1", - wheel = ":_wheel_decorator@5.1.1", - ) - - native.alias( - name = "_wheel_defusedxml@0.7.1", - actual = "@poetry_lock_wheel_defusedxml_0.7.1_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "defusedxml@0.7.1", - wheel = ":_wheel_defusedxml@0.7.1", - ) - - _devpi_client_7_0_2_deps = [ - ":build@1.0.3", - ":check-manifest@0.49", - ":devpi-common@4.0.3", - ":iniconfig@2.0.0", - ":pkginfo@1.9.6", - ":platformdirs@4.2.0", - ":pluggy@1.4.0", - ] - - native.alias( - name = "_wheel_devpi-client@7.0.2", - actual = "@poetry_lock_wheel_devpi_client_7.0.2_py3_none_any//file", - ) - - pycross_wheel_library( - name = "devpi-client@7.0.2", - deps = _devpi_client_7_0_2_deps, - wheel = ":_wheel_devpi-client@7.0.2", - ) - - _devpi_common_4_0_3_deps = [ - ":lazy@1.6", - ":packaging@23.2", - ":requests@2.31.0", - ] - - native.alias( - name = "_wheel_devpi-common@4.0.3", - actual = "@poetry_lock_wheel_devpi_common_4.0.3_py3_none_any//file", - ) - - pycross_wheel_library( - name = "devpi-common@4.0.3", - deps = _devpi_common_4_0_3_deps, - wheel = ":_wheel_devpi-common@4.0.3", - ) - - _devpi_server_6_10_0_deps = [ - ":argon2-cffi@23.1.0", - ":attrs@23.2.0", - ":defusedxml@0.7.1", - ":devpi-common@4.0.3", - ":httpx@0.24.1", - ":itsdangerous@2.1.2", - ":lazy@1.6", - ":passlib@1.7.4", - ":platformdirs@4.2.0", - ":pluggy@1.4.0", - ":py@1.11.0", - ":pyramid@2.0.2", - ":repoze-lru@0.7", - ":ruamel-yaml@0.18.5", - ":strictyaml@1.7.3", - ":waitress@3.0.0", - ] - - native.alias( - name = "_wheel_devpi-server@6.10.0", - actual = "@poetry_lock_wheel_devpi_server_6.10.0_py3_none_any//file", - ) - - pycross_wheel_library( - name = "devpi-server@6.10.0", - deps = _devpi_server_6_10_0_deps, - wheel = ":_wheel_devpi-server@6.10.0", - ) - - native.alias( - name = "_wheel_docutils@0.20.1", - actual = "@poetry_lock_wheel_docutils_0.20.1_py3_none_any//file", - ) - - pycross_wheel_library( - name = "docutils@0.20.1", - wheel = ":_wheel_docutils@0.20.1", - ) - - native.alias( - name = "_wheel_exceptiongroup@1.2.0", - actual = "@poetry_lock_wheel_exceptiongroup_1.2.0_py3_none_any//file", - ) - - pycross_wheel_library( - name = "exceptiongroup@1.2.0", - wheel = ":_wheel_exceptiongroup@1.2.0", - ) - - native.alias( - name = "_wheel_fonttools@4.47.2", - actual = select({ - ":_env_python_darwin_arm64": "@poetry_lock_wheel_fonttools_4.47.2_cp310_cp310_macosx_10_9_universal2//file", - ":_env_python_darwin_x86_64": "@poetry_lock_wheel_fonttools_4.47.2_cp310_cp310_macosx_10_9_x86_64//file", - ":_env_python_linux_x86_64": "@poetry_lock_wheel_fonttools_4.47.2_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64//file", - }), - ) - - pycross_wheel_library( - name = "fonttools@4.47.2", - wheel = ":_wheel_fonttools@4.47.2", - ) - - _freezegun_1_4_0_deps = [ - ":python-dateutil@2.8.2", - ] - - native.alias( - name = "_wheel_freezegun@1.4.0", - actual = "@poetry_lock_wheel_freezegun_1.4.0_py3_none_any//file", - ) - - pycross_wheel_library( - name = "freezegun@1.4.0", - deps = _freezegun_1_4_0_deps, - wheel = ":_wheel_freezegun@1.4.0", - ) - - native.alias( - name = "_wheel_frozenlist@1.4.1", - actual = select({ - ":_env_python_darwin_arm64": "@poetry_lock_wheel_frozenlist_1.4.1_cp310_cp310_macosx_11_0_arm64//file", - ":_env_python_darwin_x86_64": "@poetry_lock_wheel_frozenlist_1.4.1_cp310_cp310_macosx_10_9_x86_64//file", - ":_env_python_linux_x86_64": "@poetry_lock_wheel_frozenlist_1.4.1_cp310_cp310_manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64//file", - }), - ) - - pycross_wheel_library( - name = "frozenlist@1.4.1", - wheel = ":_wheel_frozenlist@1.4.1", - ) - - native.alias( - name = "_wheel_fsspec@2021.11.1", - actual = "@poetry_lock_wheel_fsspec_2021.11.1_py3_none_any//file", - ) - - pycross_wheel_library( - name = "fsspec@2021.11.1", - wheel = ":_wheel_fsspec@2021.11.1", - ) - - _google_api_core_2_16_2_deps = [ - ":google-auth@2.27.0", - ":googleapis-common-protos@1.62.0", - ":grpcio@1.60.1", - ":grpcio-status@1.60.1", - ":protobuf@4.25.2", - ":requests@2.31.0", - ] - - native.alias( - name = "_wheel_google-api-core@2.16.2", - actual = "@poetry_lock_wheel_google_api_core_2.16.2_py3_none_any//file", - ) - - pycross_wheel_library( - name = "google-api-core@2.16.2", - deps = _google_api_core_2_16_2_deps, - wheel = ":_wheel_google-api-core@2.16.2", - ) - - _google_auth_2_27_0_deps = [ - ":cachetools@5.3.2", - ":pyasn1-modules@0.3.0", - ":rsa@4.9", - ] - - native.alias( - name = "_wheel_google-auth@2.27.0", - actual = "@poetry_lock_wheel_google_auth_2.27.0_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "google-auth@2.27.0", - deps = _google_auth_2_27_0_deps, - wheel = ":_wheel_google-auth@2.27.0", - ) - - _google_auth_oauthlib_1_2_0_deps = [ - ":google-auth@2.27.0", - ":requests-oauthlib@1.3.1", - ] - - native.alias( - name = "_wheel_google-auth-oauthlib@1.2.0", - actual = "@poetry_lock_wheel_google_auth_oauthlib_1.2.0_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "google-auth-oauthlib@1.2.0", - deps = _google_auth_oauthlib_1_2_0_deps, - wheel = ":_wheel_google-auth-oauthlib@1.2.0", - ) - - _google_cloud_bigquery_3_17_1_deps = [ - ":google-api-core@2.16.2", - ":google-cloud-core@2.4.1", - ":google-resumable-media@2.7.0", - ":packaging@23.2", - ":python-dateutil@2.8.2", - ":requests@2.31.0", - ] - - native.alias( - name = "_wheel_google-cloud-bigquery@3.17.1", - actual = "@poetry_lock_wheel_google_cloud_bigquery_3.17.1_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "google-cloud-bigquery@3.17.1", - deps = _google_cloud_bigquery_3_17_1_deps, - wheel = ":_wheel_google-cloud-bigquery@3.17.1", - ) - - _google_cloud_bigquery_storage_2_24_0_deps = [ - ":google-api-core@2.16.2", - ":proto-plus@1.23.0", - ":protobuf@4.25.2", - ] - - native.alias( - name = "_wheel_google-cloud-bigquery-storage@2.24.0", - actual = "@poetry_lock_wheel_google_cloud_bigquery_storage_2.24.0_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "google-cloud-bigquery-storage@2.24.0", - deps = _google_cloud_bigquery_storage_2_24_0_deps, - wheel = ":_wheel_google-cloud-bigquery-storage@2.24.0", - ) - - _google_cloud_core_2_4_1_deps = [ - ":google-api-core@2.16.2", - ":google-auth@2.27.0", - ] - - native.alias( - name = "_wheel_google-cloud-core@2.4.1", - actual = "@poetry_lock_wheel_google_cloud_core_2.4.1_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "google-cloud-core@2.4.1", - deps = _google_cloud_core_2_4_1_deps, - wheel = ":_wheel_google-cloud-core@2.4.1", - ) - - native.alias( - name = "_wheel_google-crc32c@1.5.0", - actual = select({ - ":_env_python_darwin_arm64": "@poetry_lock_wheel_google_crc32c_1.5.0_cp310_cp310_macosx_10_9_universal2//file", - ":_env_python_darwin_x86_64": "@poetry_lock_wheel_google_crc32c_1.5.0_cp310_cp310_macosx_10_9_x86_64//file", - ":_env_python_linux_x86_64": "@poetry_lock_wheel_google_crc32c_1.5.0_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64//file", - }), - ) - - pycross_wheel_library( - name = "google-crc32c@1.5.0", - wheel = ":_wheel_google-crc32c@1.5.0", - ) - - _google_resumable_media_2_7_0_deps = [ - ":google-crc32c@1.5.0", - ] - - native.alias( - name = "_wheel_google-resumable-media@2.7.0", - actual = "@poetry_lock_wheel_google_resumable_media_2.7.0_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "google-resumable-media@2.7.0", - deps = _google_resumable_media_2_7_0_deps, - wheel = ":_wheel_google-resumable-media@2.7.0", - ) - - _googleapis_common_protos_1_62_0_deps = [ - ":protobuf@4.25.2", - ] - - native.alias( - name = "_wheel_googleapis-common-protos@1.62.0", - actual = "@poetry_lock_wheel_googleapis_common_protos_1.62.0_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "googleapis-common-protos@1.62.0", - deps = _googleapis_common_protos_1_62_0_deps, - wheel = ":_wheel_googleapis-common-protos@1.62.0", - ) - - native.alias( - name = "_wheel_grpcio@1.60.1", - actual = select({ - ":_env_python_darwin_arm64": "@poetry_lock_wheel_grpcio_1.60.1_cp310_cp310_macosx_12_0_universal2//file", - ":_env_python_darwin_x86_64": "@poetry_lock_wheel_grpcio_1.60.1_cp310_cp310_macosx_12_0_universal2//file", - ":_env_python_linux_x86_64": "@poetry_lock_wheel_grpcio_1.60.1_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64//file", - }), - ) - - pycross_wheel_library( - name = "grpcio@1.60.1", - wheel = ":_wheel_grpcio@1.60.1", - ) - - _grpcio_status_1_60_1_deps = [ - ":googleapis-common-protos@1.62.0", - ":grpcio@1.60.1", - ":protobuf@4.25.2", - ] - - native.alias( - name = "_wheel_grpcio-status@1.60.1", - actual = "@poetry_lock_wheel_grpcio_status_1.60.1_py3_none_any//file", - ) - - pycross_wheel_library( - name = "grpcio-status@1.60.1", - deps = _grpcio_status_1_60_1_deps, - wheel = ":_wheel_grpcio-status@1.60.1", - ) - - _grpclib_0_4_7_deps = [ - ":h2@3.2.0", - ":multidict@6.0.5", - ] - - native.alias( - name = "_sdist_grpclib@0.4.7", - actual = "@poetry_lock_sdist_grpclib_0.4.7//file", - ) - - _grpclib_0_4_7_build_deps = [ - ":setuptools@69.0.3", - ":wheel@0.42.0", - ] - - pycross_wheel_build( - name = "_build_grpclib@0.4.7", - sdist = ":_sdist_grpclib@0.4.7", - target_environment = _target, - deps = _grpclib_0_4_7_deps + _grpclib_0_4_7_build_deps, - tags = ["manual"], - ) - - native.alias( - name = "_wheel_grpclib@0.4.7", - actual = ":_build_grpclib@0.4.7", - ) - - pycross_wheel_library( - name = "grpclib@0.4.7", - deps = _grpclib_0_4_7_deps, - wheel = ":_wheel_grpclib@0.4.7", - ) - - native.alias( - name = "_wheel_h11@0.14.0", - actual = "@poetry_lock_wheel_h11_0.14.0_py3_none_any//file", - ) - - pycross_wheel_library( - name = "h11@0.14.0", - wheel = ":_wheel_h11@0.14.0", - ) - - _h2_3_2_0_deps = [ - ":hpack@3.0.0", - ":hyperframe@5.2.0", - ] - - native.alias( - name = "_wheel_h2@3.2.0", - actual = "@poetry_lock_wheel_h2_3.2.0_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "h2@3.2.0", - deps = _h2_3_2_0_deps, - wheel = ":_wheel_h2@3.2.0", - ) - - native.alias( - name = "_wheel_hpack@3.0.0", - actual = "@poetry_lock_wheel_hpack_3.0.0_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "hpack@3.0.0", - wheel = ":_wheel_hpack@3.0.0", - ) - - _httpcore_0_17_3_deps = [ - ":anyio@4.2.0", - ":certifi@2024.2.2", - ":h11@0.14.0", - ":sniffio@1.3.0", - ] - - native.alias( - name = "_wheel_httpcore@0.17.3", - actual = "@poetry_lock_wheel_httpcore_0.17.3_py3_none_any//file", - ) - - pycross_wheel_library( - name = "httpcore@0.17.3", - deps = _httpcore_0_17_3_deps, - wheel = ":_wheel_httpcore@0.17.3", - ) - - _httpx_0_24_1_deps = [ - ":certifi@2024.2.2", - ":httpcore@0.17.3", - ":idna@3.6", - ":sniffio@1.3.0", - ] - - native.alias( - name = "_wheel_httpx@0.24.1", - actual = "@poetry_lock_wheel_httpx_0.24.1_py3_none_any//file", - ) - - pycross_wheel_library( - name = "httpx@0.24.1", - deps = _httpx_0_24_1_deps, - wheel = ":_wheel_httpx@0.24.1", - ) - - native.alias( - name = "_wheel_humanfriendly@10.0", - actual = "@poetry_lock_wheel_humanfriendly_10.0_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "humanfriendly@10.0", - wheel = ":_wheel_humanfriendly@10.0", - ) - - native.alias( - name = "_wheel_hupper@1.12.1", - actual = "@poetry_lock_wheel_hupper_1.12.1_py3_none_any//file", - ) - - pycross_wheel_library( - name = "hupper@1.12.1", - wheel = ":_wheel_hupper@1.12.1", - ) - - native.alias( - name = "_wheel_hyperframe@5.2.0", - actual = "@poetry_lock_wheel_hyperframe_5.2.0_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "hyperframe@5.2.0", - wheel = ":_wheel_hyperframe@5.2.0", - ) - - native.alias( - name = "_wheel_idna@3.6", - actual = "@poetry_lock_wheel_idna_3.6_py3_none_any//file", - ) - - pycross_wheel_library( - name = "idna@3.6", - wheel = ":_wheel_idna@3.6", - ) - - _importlib_metadata_7_0_1_deps = [ - ":zipp@3.17.0", - ] - - native.alias( - name = "_wheel_importlib-metadata@7.0.1", - actual = "@poetry_lock_wheel_importlib_metadata_7.0.1_py3_none_any//file", - ) - - pycross_wheel_library( - name = "importlib-metadata@7.0.1", - deps = _importlib_metadata_7_0_1_deps, - wheel = ":_wheel_importlib-metadata@7.0.1", - ) - - native.alias( - name = "_wheel_iniconfig@2.0.0", - actual = "@poetry_lock_wheel_iniconfig_2.0.0_py3_none_any//file", - ) - - pycross_wheel_library( - name = "iniconfig@2.0.0", - wheel = ":_wheel_iniconfig@2.0.0", - ) - - _ipython_7_34_0_deps = [ - ":backcall@0.2.0", - ":decorator@5.1.1", - ":jedi@0.19.1", - ":matplotlib-inline@0.1.6", - ":pexpect@4.9.0", - ":pickleshare@0.7.5", - ":prompt-toolkit@3.0.43", - ":pygments@2.17.2", - ":setuptools@69.0.3", - ":traitlets@5.14.1", - ] + select({ - ":_env_python_darwin_arm64": [ - ":appnope@0.1.3", - ], - ":_env_python_darwin_x86_64": [ - ":appnope@0.1.3", - ], - "//conditions:default": [], - }) - - native.alias( - name = "_wheel_ipython@7.34.0", - actual = "@poetry_lock_wheel_ipython_7.34.0_py3_none_any//file", - ) - - pycross_wheel_library( - name = "ipython@7.34.0", - deps = _ipython_7_34_0_deps, - wheel = ":_wheel_ipython@7.34.0", - ) - - native.alias( - name = "_wheel_itsdangerous@2.1.2", - actual = "@poetry_lock_wheel_itsdangerous_2.1.2_py3_none_any//file", - ) - - pycross_wheel_library( - name = "itsdangerous@2.1.2", - wheel = ":_wheel_itsdangerous@2.1.2", - ) - - _jaraco_classes_3_3_0_deps = [ - ":more-itertools@10.2.0", - ] - - native.alias( - name = "_wheel_jaraco-classes@3.3.0", - actual = "@poetry_lock_wheel_jaraco.classes_3.3.0_py3_none_any//file", - ) - - pycross_wheel_library( - name = "jaraco-classes@3.3.0", - deps = _jaraco_classes_3_3_0_deps, - wheel = ":_wheel_jaraco-classes@3.3.0", - ) - - _jedi_0_19_1_deps = [ - ":parso@0.8.3", - ] - - native.alias( - name = "_wheel_jedi@0.19.1", - actual = "@poetry_lock_wheel_jedi_0.19.1_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "jedi@0.19.1", - deps = _jedi_0_19_1_deps, - wheel = ":_wheel_jedi@0.19.1", - ) - - native.alias( - name = "_wheel_jeepney@0.8.0", - actual = "@poetry_lock_wheel_jeepney_0.8.0_py3_none_any//file", - ) - - pycross_wheel_library( - name = "jeepney@0.8.0", - wheel = ":_wheel_jeepney@0.8.0", - ) - - native.alias( - name = "_wheel_jmespath@0.10.0", - actual = "@poetry_lock_wheel_jmespath_0.10.0_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "jmespath@0.10.0", - wheel = ":_wheel_jmespath@0.10.0", - ) - - _keyring_24_3_0_deps = [ - ":importlib-metadata@7.0.1", - ":jaraco-classes@3.3.0", - ] + select({ - ":_env_python_linux_x86_64": [ - ":jeepney@0.8.0", - ":secretstorage@3.3.3", - ], - "//conditions:default": [], - }) - - native.alias( - name = "_wheel_keyring@24.3.0", - actual = "@poetry_lock_wheel_keyring_24.3.0_py3_none_any//file", - ) - - pycross_wheel_library( - name = "keyring@24.3.0", - deps = _keyring_24_3_0_deps, - wheel = ":_wheel_keyring@24.3.0", - ) - - native.alias( - name = "_wheel_kiwisolver@1.4.5", - actual = select({ - ":_env_python_darwin_arm64": "@poetry_lock_wheel_kiwisolver_1.4.5_cp310_cp310_macosx_11_0_arm64//file", - ":_env_python_darwin_x86_64": "@poetry_lock_wheel_kiwisolver_1.4.5_cp310_cp310_macosx_10_9_x86_64//file", - ":_env_python_linux_x86_64": "@poetry_lock_wheel_kiwisolver_1.4.5_cp310_cp310_manylinux_2_12_x86_64.manylinux2010_x86_64//file", - }), - ) - - pycross_wheel_library( - name = "kiwisolver@1.4.5", - wheel = ":_wheel_kiwisolver@1.4.5", - ) - - native.alias( - name = "_wheel_lazy@1.6", - actual = "@poetry_lock_wheel_lazy_1.6_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "lazy@1.6", - wheel = ":_wheel_lazy@1.6", - ) - - _lightgbm_4_3_0_deps = [ - ":numpy@1.24.4", - ":scipy@1.10.1", - ] - - native.alias( - name = "_sdist_lightgbm@4.3.0", - actual = "@poetry_lock_sdist_lightgbm_4.3.0//file", - ) - - _lightgbm_4_3_0_build_deps = [ - ":scikit-build-core@0.2.2", - ":setuptools@69.0.3", - ":wheel@0.42.0", - ] - - pycross_wheel_build( - name = "_build_lightgbm@4.3.0", - sdist = ":_sdist_lightgbm@4.3.0", - target_environment = _target, - deps = _lightgbm_4_3_0_deps + _lightgbm_4_3_0_build_deps, - tags = ["manual"], - ) - - native.alias( - name = "_wheel_lightgbm@4.3.0", - actual = select({ - ":_env_python_darwin_arm64": ":_build_lightgbm@4.3.0", - ":_env_python_darwin_x86_64": "@poetry_lock_wheel_lightgbm_4.3.0_py3_none_macosx_10_15_x86_64.macosx_11_6_x86_64.macosx_12_5_x86_64//file", - ":_env_python_linux_x86_64": ":_build_lightgbm@4.3.0", - }), - ) - - pycross_wheel_library( - name = "lightgbm@4.3.0", - deps = _lightgbm_4_3_0_deps, - wheel = ":_wheel_lightgbm@4.3.0", - ) - - _markdown_it_py_3_0_0_deps = [ - ":mdurl@0.1.2", - ] - - native.alias( - name = "_wheel_markdown-it-py@3.0.0", - actual = "@poetry_lock_wheel_markdown_it_py_3.0.0_py3_none_any//file", - ) - - pycross_wheel_library( - name = "markdown-it-py@3.0.0", - deps = _markdown_it_py_3_0_0_deps, - wheel = ":_wheel_markdown-it-py@3.0.0", - ) - - _matplotlib_3_7_4_deps = [ - ":contourpy@1.1.1", - ":cycler@0.12.1", - ":fonttools@4.47.2", - ":kiwisolver@1.4.5", - ":numpy@1.24.4", - ":packaging@23.2", - ":pillow@10.2.0", - ":pyparsing@3.1.1", - ":python-dateutil@2.8.2", - ] - - native.alias( - name = "_wheel_matplotlib@3.7.4", - actual = select({ - ":_env_python_darwin_arm64": "@poetry_lock_wheel_matplotlib_3.7.4_cp310_cp310_macosx_11_0_arm64//file", - ":_env_python_darwin_x86_64": "@poetry_lock_wheel_matplotlib_3.7.4_cp310_cp310_macosx_10_12_x86_64//file", - ":_env_python_linux_x86_64": "@poetry_lock_wheel_matplotlib_3.7.4_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64//file", - }), - ) - - pycross_wheel_library( - name = "matplotlib@3.7.4", - deps = _matplotlib_3_7_4_deps, - wheel = ":_wheel_matplotlib@3.7.4", - ) - - _matplotlib_inline_0_1_6_deps = [ - ":traitlets@5.14.1", - ] - - native.alias( - name = "_wheel_matplotlib-inline@0.1.6", - actual = "@poetry_lock_wheel_matplotlib_inline_0.1.6_py3_none_any//file", - ) - - pycross_wheel_library( - name = "matplotlib-inline@0.1.6", - deps = _matplotlib_inline_0_1_6_deps, - wheel = ":_wheel_matplotlib-inline@0.1.6", - ) - - native.alias( - name = "_wheel_mdurl@0.1.2", - actual = "@poetry_lock_wheel_mdurl_0.1.2_py3_none_any//file", - ) - - pycross_wheel_library( - name = "mdurl@0.1.2", - wheel = ":_wheel_mdurl@0.1.2", - ) - - native.alias( - name = "_wheel_more-itertools@10.2.0", - actual = "@poetry_lock_wheel_more_itertools_10.2.0_py3_none_any//file", - ) - - pycross_wheel_library( - name = "more-itertools@10.2.0", - wheel = ":_wheel_more-itertools@10.2.0", - ) - - native.alias( - name = "_wheel_multidict@6.0.5", - actual = select({ - ":_env_python_darwin_arm64": "@poetry_lock_wheel_multidict_6.0.5_cp310_cp310_macosx_11_0_arm64//file", - ":_env_python_darwin_x86_64": "@poetry_lock_wheel_multidict_6.0.5_cp310_cp310_macosx_10_9_x86_64//file", - ":_env_python_linux_x86_64": "@poetry_lock_wheel_multidict_6.0.5_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64//file", - }), - ) - - pycross_wheel_library( - name = "multidict@6.0.5", - wheel = ":_wheel_multidict@6.0.5", - ) - - native.alias( - name = "_wheel_nh3@0.2.15", - actual = select({ - ":_env_python_darwin_arm64": "@poetry_lock_wheel_nh3_0.2.15_cp37_abi3_macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2//file", - ":_env_python_darwin_x86_64": "@poetry_lock_wheel_nh3_0.2.15_cp37_abi3_macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2//file", - ":_env_python_linux_x86_64": "@poetry_lock_wheel_nh3_0.2.15_cp37_abi3_manylinux_2_17_x86_64.manylinux2014_x86_64//file", - }), - ) - - pycross_wheel_library( - name = "nh3@0.2.15", - wheel = ":_wheel_nh3@0.2.15", - ) - - native.alias( - name = "_wheel_numpy@1.24.4", - actual = select({ - ":_env_python_darwin_arm64": "@poetry_lock_wheel_numpy_1.24.4_cp310_cp310_macosx_11_0_arm64//file", - ":_env_python_darwin_x86_64": "@poetry_lock_wheel_numpy_1.24.4_cp310_cp310_macosx_10_9_x86_64//file", - ":_env_python_linux_x86_64": "@poetry_lock_wheel_numpy_1.24.4_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64//file", - }), - ) - - pycross_wheel_library( - name = "numpy@1.24.4", - wheel = ":_wheel_numpy@1.24.4", - ) - - native.alias( - name = "_wheel_oauthlib@3.2.2", - actual = "@poetry_lock_wheel_oauthlib_3.2.2_py3_none_any//file", - ) - - pycross_wheel_library( - name = "oauthlib@3.2.2", - wheel = ":_wheel_oauthlib@3.2.2", - ) - - native.alias( - name = "_wheel_packaging@23.2", - actual = "@poetry_lock_wheel_packaging_23.2_py3_none_any//file", - ) - - pycross_wheel_library( - name = "packaging@23.2", - wheel = ":_wheel_packaging@23.2", - ) - - _pandas_1_5_3_deps = [ - ":numpy@1.24.4", - ":python-dateutil@2.8.2", - ":pytz@2024.1", - ] - - native.alias( - name = "_wheel_pandas@1.5.3", - actual = select({ - ":_env_python_darwin_arm64": "@poetry_lock_wheel_pandas_1.5.3_cp310_cp310_macosx_11_0_arm64//file", - ":_env_python_darwin_x86_64": "@poetry_lock_wheel_pandas_1.5.3_cp310_cp310_macosx_10_9_x86_64//file", - ":_env_python_linux_x86_64": "@poetry_lock_wheel_pandas_1.5.3_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64//file", - }), - ) - - pycross_wheel_library( - name = "pandas@1.5.3", - deps = _pandas_1_5_3_deps, - wheel = ":_wheel_pandas@1.5.3", - ) - - _pandas_gbq_0_17_9_deps = [ - ":db-dtypes@1.2.0", - ":google-api-core@2.16.2", - ":google-auth@2.27.0", - ":google-auth-oauthlib@1.2.0", - ":google-cloud-bigquery@3.17.1", - ":google-cloud-bigquery-storage@2.24.0", - ":numpy@1.24.4", - ":pandas@1.5.3", - ":pyarrow@9.0.0", - ":pydata-google-auth@1.8.2", - ":setuptools@69.0.3", - ] - - native.alias( - name = "_wheel_pandas-gbq@0.17.9", - actual = "@poetry_lock_wheel_pandas_gbq_0.17.9_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "pandas-gbq@0.17.9", - deps = _pandas_gbq_0_17_9_deps, - wheel = ":_wheel_pandas-gbq@0.17.9", - ) - - native.alias( - name = "_wheel_parso@0.8.3", - actual = "@poetry_lock_wheel_parso_0.8.3_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "parso@0.8.3", - wheel = ":_wheel_parso@0.8.3", - ) - - _passlib_1_7_4_deps = [ - ":argon2-cffi@23.1.0", - ] - - native.alias( - name = "_wheel_passlib@1.7.4", - actual = "@poetry_lock_wheel_passlib_1.7.4_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "passlib@1.7.4", - deps = _passlib_1_7_4_deps, - wheel = ":_wheel_passlib@1.7.4", - ) - - native.alias( - name = "_wheel_pastedeploy@3.1.0", - actual = "@poetry_lock_wheel_pastedeploy_3.1.0_py3_none_any//file", - ) - - pycross_wheel_library( - name = "pastedeploy@3.1.0", - wheel = ":_wheel_pastedeploy@3.1.0", - ) - - _pexpect_4_9_0_deps = [ - ":ptyprocess@0.7.0", - ] - - native.alias( - name = "_wheel_pexpect@4.9.0", - actual = "@poetry_lock_wheel_pexpect_4.9.0_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "pexpect@4.9.0", - deps = _pexpect_4_9_0_deps, - wheel = ":_wheel_pexpect@4.9.0", - ) - - native.alias( - name = "_wheel_pickleshare@0.7.5", - actual = "@poetry_lock_wheel_pickleshare_0.7.5_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "pickleshare@0.7.5", - wheel = ":_wheel_pickleshare@0.7.5", - ) - - native.alias( - name = "_wheel_pillow@10.2.0", - actual = select({ - ":_env_python_darwin_arm64": "@poetry_lock_wheel_pillow_10.2.0_cp310_cp310_macosx_11_0_arm64//file", - ":_env_python_darwin_x86_64": "@poetry_lock_wheel_pillow_10.2.0_cp310_cp310_macosx_10_10_x86_64//file", - ":_env_python_linux_x86_64": "@poetry_lock_wheel_pillow_10.2.0_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64//file", - }), - ) - - pycross_wheel_library( - name = "pillow@10.2.0", - wheel = ":_wheel_pillow@10.2.0", - ) - - native.alias( - name = "_wheel_pkginfo@1.9.6", - actual = "@poetry_lock_wheel_pkginfo_1.9.6_py3_none_any//file", - ) - - pycross_wheel_library( - name = "pkginfo@1.9.6", - wheel = ":_wheel_pkginfo@1.9.6", - ) - - native.alias( - name = "_wheel_plaster@1.1.2", - actual = "@poetry_lock_wheel_plaster_1.1.2_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "plaster@1.1.2", - wheel = ":_wheel_plaster@1.1.2", - ) - - _plaster_pastedeploy_1_0_1_deps = [ - ":pastedeploy@3.1.0", - ":plaster@1.1.2", - ] - - native.alias( - name = "_wheel_plaster-pastedeploy@1.0.1", - actual = "@poetry_lock_wheel_plaster_pastedeploy_1.0.1_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "plaster-pastedeploy@1.0.1", - deps = _plaster_pastedeploy_1_0_1_deps, - wheel = ":_wheel_plaster-pastedeploy@1.0.1", - ) - - native.alias( - name = "_wheel_platformdirs@4.2.0", - actual = "@poetry_lock_wheel_platformdirs_4.2.0_py3_none_any//file", - ) - - pycross_wheel_library( - name = "platformdirs@4.2.0", - wheel = ":_wheel_platformdirs@4.2.0", - ) - - native.alias( - name = "_wheel_pluggy@1.4.0", - actual = "@poetry_lock_wheel_pluggy_1.4.0_py3_none_any//file", - ) - - pycross_wheel_library( - name = "pluggy@1.4.0", - wheel = ":_wheel_pluggy@1.4.0", - ) - - native.alias( - name = "_wheel_prometheus-client@0.10.1", - actual = "@poetry_lock_wheel_prometheus_client_0.10.1_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "prometheus-client@0.10.1", - wheel = ":_wheel_prometheus-client@0.10.1", - ) - - _prompt_toolkit_3_0_43_deps = [ - ":wcwidth@0.2.13", - ] - - native.alias( - name = "_wheel_prompt-toolkit@3.0.43", - actual = "@poetry_lock_wheel_prompt_toolkit_3.0.43_py3_none_any//file", - ) - - pycross_wheel_library( - name = "prompt-toolkit@3.0.43", - deps = _prompt_toolkit_3_0_43_deps, - wheel = ":_wheel_prompt-toolkit@3.0.43", - ) - - _proto_plus_1_23_0_deps = [ - ":protobuf@4.25.2", - ] - - native.alias( - name = "_wheel_proto-plus@1.23.0", - actual = "@poetry_lock_wheel_proto_plus_1.23.0_py3_none_any//file", - ) - - pycross_wheel_library( - name = "proto-plus@1.23.0", - deps = _proto_plus_1_23_0_deps, - wheel = ":_wheel_proto-plus@1.23.0", - ) - - native.alias( - name = "_wheel_protobuf@4.25.2", - actual = select({ - ":_env_python_darwin_arm64": "@poetry_lock_wheel_protobuf_4.25.2_cp37_abi3_macosx_10_9_universal2//file", - ":_env_python_darwin_x86_64": "@poetry_lock_wheel_protobuf_4.25.2_cp37_abi3_macosx_10_9_universal2//file", - ":_env_python_linux_x86_64": "@poetry_lock_wheel_protobuf_4.25.2_cp37_abi3_manylinux2014_x86_64//file", - }), - ) - - pycross_wheel_library( - name = "protobuf@4.25.2", - wheel = ":_wheel_protobuf@4.25.2", - ) - - native.alias( - name = "_wheel_psycopg2-binary@2.9.9", - actual = select({ - ":_env_python_darwin_arm64": "@poetry_lock_wheel_psycopg2_binary_2.9.9_cp310_cp310_macosx_11_0_arm64//file", - ":_env_python_darwin_x86_64": "@poetry_lock_wheel_psycopg2_binary_2.9.9_cp310_cp310_macosx_10_9_x86_64//file", - ":_env_python_linux_x86_64": "@poetry_lock_wheel_psycopg2_binary_2.9.9_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64//file", - }), - ) - - pycross_wheel_library( - name = "psycopg2-binary@2.9.9", - wheel = ":_wheel_psycopg2-binary@2.9.9", - ) - - native.alias( - name = "_wheel_ptyprocess@0.7.0", - actual = "@poetry_lock_wheel_ptyprocess_0.7.0_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "ptyprocess@0.7.0", - wheel = ":_wheel_ptyprocess@0.7.0", - ) - - native.alias( - name = "_wheel_py@1.11.0", - actual = "@poetry_lock_wheel_py_1.11.0_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "py@1.11.0", - wheel = ":_wheel_py@1.11.0", - ) - - _pyarrow_9_0_0_deps = [ - ":numpy@1.24.4", - ] - - native.alias( - name = "_wheel_pyarrow@9.0.0", - actual = select({ - ":_env_python_darwin_arm64": "@poetry_lock_wheel_pyarrow_9.0.0_cp310_cp310_macosx_11_0_arm64//file", - ":_env_python_darwin_x86_64": "@poetry_lock_wheel_pyarrow_9.0.0_cp310_cp310_macosx_10_13_x86_64//file", - ":_env_python_linux_x86_64": "@poetry_lock_wheel_pyarrow_9.0.0_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64//file", - }), - ) - - pycross_wheel_library( - name = "pyarrow@9.0.0", - deps = _pyarrow_9_0_0_deps, - wheel = ":_wheel_pyarrow@9.0.0", - ) - - native.alias( - name = "_wheel_pyasn1@0.5.1", - actual = "@poetry_lock_wheel_pyasn1_0.5.1_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "pyasn1@0.5.1", - wheel = ":_wheel_pyasn1@0.5.1", - ) - - _pyasn1_modules_0_3_0_deps = [ - ":pyasn1@0.5.1", - ] - - native.alias( - name = "_wheel_pyasn1-modules@0.3.0", - actual = "@poetry_lock_wheel_pyasn1_modules_0.3.0_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "pyasn1-modules@0.3.0", - deps = _pyasn1_modules_0_3_0_deps, - wheel = ":_wheel_pyasn1-modules@0.3.0", - ) - - native.alias( - name = "_wheel_pycparser@2.21", - actual = "@poetry_lock_wheel_pycparser_2.21_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "pycparser@2.21", - wheel = ":_wheel_pycparser@2.21", - ) - - _pydata_google_auth_1_8_2_deps = [ - ":google-auth@2.27.0", - ":google-auth-oauthlib@1.2.0", - ":setuptools@69.0.3", - ] - - native.alias( - name = "_wheel_pydata-google-auth@1.8.2", - actual = "@poetry_lock_wheel_pydata_google_auth_1.8.2_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "pydata-google-auth@1.8.2", - deps = _pydata_google_auth_1_8_2_deps, - wheel = ":_wheel_pydata-google-auth@1.8.2", - ) - - native.alias( - name = "_wheel_pygments@2.17.2", - actual = "@poetry_lock_wheel_pygments_2.17.2_py3_none_any//file", - ) - - pycross_wheel_library( - name = "pygments@2.17.2", - wheel = ":_wheel_pygments@2.17.2", - ) - - native.alias( - name = "_wheel_pyparsing@3.1.1", - actual = "@poetry_lock_wheel_pyparsing_3.1.1_py3_none_any//file", - ) - - pycross_wheel_library( - name = "pyparsing@3.1.1", - wheel = ":_wheel_pyparsing@3.1.1", - ) - - native.alias( - name = "_sdist_pypi@2.1", - actual = "@poetry_lock_sdist_pypi_2.1//file", - ) - - pycross_wheel_build( - name = "_build_pypi@2.1", - sdist = ":_sdist_pypi@2.1", - target_environment = _target, - tags = ["manual"], - ) - - native.alias( - name = "_wheel_pypi@2.1", - actual = ":_build_pypi@2.1", - ) - - pycross_wheel_library( - name = "pypi@2.1", - wheel = ":_wheel_pypi@2.1", - ) - - _pyproject_hooks_1_0_0_deps = [ - ":tomli@2.0.1", - ] - - native.alias( - name = "_wheel_pyproject-hooks@1.0.0", - actual = "@poetry_lock_wheel_pyproject_hooks_1.0.0_py3_none_any//file", - ) - - pycross_wheel_library( - name = "pyproject-hooks@1.0.0", - deps = _pyproject_hooks_1_0_0_deps, - wheel = ":_wheel_pyproject-hooks@1.0.0", - ) - - _pyramid_2_0_2_deps = [ - ":hupper@1.12.1", - ":plaster@1.1.2", - ":plaster-pastedeploy@1.0.1", - ":setuptools@69.0.3", - ":translationstring@1.4", - ":venusian@3.1.0", - ":webob@1.8.7", - ":zope-deprecation@5.0", - ":zope-interface@6.1", - ] - - native.alias( - name = "_wheel_pyramid@2.0.2", - actual = "@poetry_lock_wheel_pyramid_2.0.2_py3_none_any//file", - ) - - pycross_wheel_library( - name = "pyramid@2.0.2", - deps = _pyramid_2_0_2_deps, - wheel = ":_wheel_pyramid@2.0.2", - ) - - _pytest_6_2_5_deps = [ - ":attrs@23.2.0", - ":iniconfig@2.0.0", - ":packaging@23.2", - ":pluggy@1.4.0", - ":py@1.11.0", - ":toml@0.10.2", - ] - - native.alias( - name = "_wheel_pytest@6.2.5", - actual = "@poetry_lock_wheel_pytest_6.2.5_py3_none_any//file", - ) - - pycross_wheel_library( - name = "pytest@6.2.5", - deps = _pytest_6_2_5_deps, - wheel = ":_wheel_pytest@6.2.5", - ) - - _python_dateutil_2_8_2_deps = [ - ":six@1.16.0", - ] - - native.alias( - name = "_wheel_python-dateutil@2.8.2", - actual = "@poetry_lock_wheel_python_dateutil_2.8.2_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "python-dateutil@2.8.2", - deps = _python_dateutil_2_8_2_deps, - wheel = ":_wheel_python-dateutil@2.8.2", - ) - - native.alias( - name = "_wheel_python-json-logger@2.0.7", - actual = "@poetry_lock_wheel_python_json_logger_2.0.7_py3_none_any//file", - ) - - pycross_wheel_library( - name = "python-json-logger@2.0.7", - wheel = ":_wheel_python-json-logger@2.0.7", - ) - - native.alias( - name = "_wheel_pytz@2024.1", - actual = "@poetry_lock_wheel_pytz_2024.1_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "pytz@2024.1", - wheel = ":_wheel_pytz@2024.1", - ) - - _readme_renderer_42_0_deps = [ - ":docutils@0.20.1", - ":nh3@0.2.15", - ":pygments@2.17.2", - ] - - native.alias( - name = "_wheel_readme-renderer@42.0", - actual = "@poetry_lock_wheel_readme_renderer_42.0_py3_none_any//file", - ) - - pycross_wheel_library( - name = "readme-renderer@42.0", - deps = _readme_renderer_42_0_deps, - wheel = ":_wheel_readme-renderer@42.0", - ) - - _redis_4_6_0_deps = [ - ":async-timeout@4.0.3", - ] - - native.alias( - name = "_wheel_redis@4.6.0", - actual = "@poetry_lock_wheel_redis_4.6.0_py3_none_any//file", - ) - - pycross_wheel_library( - name = "redis@4.6.0", - deps = _redis_4_6_0_deps, - wheel = ":_wheel_redis@4.6.0", - ) - - native.alias( - name = "_wheel_repoze-lru@0.7", - actual = "@poetry_lock_wheel_repoze.lru_0.7_py3_none_any//file", - ) - - pycross_wheel_library( - name = "repoze-lru@0.7", - wheel = ":_wheel_repoze-lru@0.7", - ) - - _requests_2_31_0_deps = [ - ":certifi@2024.2.2", - ":charset-normalizer@3.3.2", - ":idna@3.6", - ":urllib3@1.26.18", - ] - - native.alias( - name = "_wheel_requests@2.31.0", - actual = "@poetry_lock_wheel_requests_2.31.0_py3_none_any//file", - ) - - pycross_wheel_library( - name = "requests@2.31.0", - deps = _requests_2_31_0_deps, - wheel = ":_wheel_requests@2.31.0", - ) - - _requests_oauthlib_1_3_1_deps = [ - ":oauthlib@3.2.2", - ":requests@2.31.0", - ] - - native.alias( - name = "_wheel_requests-oauthlib@1.3.1", - actual = "@poetry_lock_wheel_requests_oauthlib_1.3.1_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "requests-oauthlib@1.3.1", - deps = _requests_oauthlib_1_3_1_deps, - wheel = ":_wheel_requests-oauthlib@1.3.1", - ) - - _requests_toolbelt_1_0_0_deps = [ - ":requests@2.31.0", - ] - - native.alias( - name = "_wheel_requests-toolbelt@1.0.0", - actual = "@poetry_lock_wheel_requests_toolbelt_1.0.0_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "requests-toolbelt@1.0.0", - deps = _requests_toolbelt_1_0_0_deps, - wheel = ":_wheel_requests-toolbelt@1.0.0", - ) - - native.alias( - name = "_wheel_rfc3986@2.0.0", - actual = "@poetry_lock_wheel_rfc3986_2.0.0_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "rfc3986@2.0.0", - wheel = ":_wheel_rfc3986@2.0.0", - ) - - _rich_13_7_0_deps = [ - ":markdown-it-py@3.0.0", - ":pygments@2.17.2", - ] - - native.alias( - name = "_wheel_rich@13.7.0", - actual = "@poetry_lock_wheel_rich_13.7.0_py3_none_any//file", - ) - - pycross_wheel_library( - name = "rich@13.7.0", - deps = _rich_13_7_0_deps, - wheel = ":_wheel_rich@13.7.0", - ) - - _rsa_4_9_deps = [ - ":pyasn1@0.5.1", - ] - - native.alias( - name = "_wheel_rsa@4.9", - actual = "@poetry_lock_wheel_rsa_4.9_py3_none_any//file", - ) - - pycross_wheel_library( - name = "rsa@4.9", - deps = _rsa_4_9_deps, - wheel = ":_wheel_rsa@4.9", - ) - - _ruamel_yaml_0_18_5_deps = [ - ":ruamel-yaml-clib@0.2.8", - ] - - native.alias( - name = "_wheel_ruamel-yaml@0.18.5", - actual = "@poetry_lock_wheel_ruamel.yaml_0.18.5_py3_none_any//file", - ) - - pycross_wheel_library( - name = "ruamel-yaml@0.18.5", - deps = _ruamel_yaml_0_18_5_deps, - wheel = ":_wheel_ruamel-yaml@0.18.5", - ) - - native.alias( - name = "_wheel_ruamel-yaml-clib@0.2.8", - actual = select({ - ":_env_python_darwin_arm64": "@poetry_lock_wheel_ruamel.yaml.clib_0.2.8_cp310_cp310_macosx_10_9_universal2//file", - ":_env_python_darwin_x86_64": "@poetry_lock_wheel_ruamel.yaml.clib_0.2.8_cp310_cp310_macosx_10_9_universal2//file", - ":_env_python_linux_x86_64": "@poetry_lock_wheel_ruamel.yaml.clib_0.2.8_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64//file", - }), - ) - - pycross_wheel_library( - name = "ruamel-yaml-clib@0.2.8", - wheel = ":_wheel_ruamel-yaml-clib@0.2.8", - ) - - _s3fs_2021_11_1_deps = [ - ":aiobotocore@2.0.1", - ":aiohttp@3.9.3", - ":fsspec@2021.11.1", - ] - - native.alias( - name = "_wheel_s3fs@2021.11.1", - actual = "@poetry_lock_wheel_s3fs_2021.11.1_py3_none_any//file", - ) - - pycross_wheel_library( - name = "s3fs@2021.11.1", - deps = _s3fs_2021_11_1_deps, - wheel = ":_wheel_s3fs@2021.11.1", - ) - - _scikit_build_core_0_2_2_deps = [ - ":exceptiongroup@1.2.0", - ":packaging@23.2", - ":tomli@2.0.1", - ] - - native.alias( - name = "_wheel_scikit-build-core@0.2.2", - actual = "@poetry_lock_wheel_scikit_build_core_0.2.2_py3_none_any//file", - ) - - pycross_wheel_library( - name = "scikit-build-core@0.2.2", - deps = _scikit_build_core_0_2_2_deps, - wheel = ":_wheel_scikit-build-core@0.2.2", - ) - - _scipy_1_10_1_deps = [ - ":numpy@1.24.4", - ] - - native.alias( - name = "_wheel_scipy@1.10.1", - actual = select({ - ":_env_python_darwin_arm64": "@poetry_lock_wheel_scipy_1.10.1_cp310_cp310_macosx_12_0_arm64//file", - ":_env_python_darwin_x86_64": "@poetry_lock_wheel_scipy_1.10.1_cp310_cp310_macosx_10_9_x86_64//file", - ":_env_python_linux_x86_64": "@poetry_lock_wheel_scipy_1.10.1_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64//file", - }), - ) - - pycross_wheel_library( - name = "scipy@1.10.1", - deps = _scipy_1_10_1_deps, - wheel = ":_wheel_scipy@1.10.1", - ) - - _secretstorage_3_3_3_deps = [ - ":cryptography@42.0.2", - ":jeepney@0.8.0", - ] - - native.alias( - name = "_wheel_secretstorage@3.3.3", - actual = "@poetry_lock_wheel_secretstorage_3.3.3_py3_none_any//file", - ) - - pycross_wheel_library( - name = "secretstorage@3.3.3", - deps = _secretstorage_3_3_3_deps, - wheel = ":_wheel_secretstorage@3.3.3", - ) - - native.alias( - name = "_wheel_setuptools@69.0.3", - actual = "@poetry_lock_wheel_setuptools_69.0.3_py3_none_any//file", - ) - - pycross_wheel_library( - name = "setuptools@69.0.3", - wheel = ":_wheel_setuptools@69.0.3", - ) - - native.alias( - name = "_wheel_six@1.16.0", - actual = "@poetry_lock_wheel_six_1.16.0_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "six@1.16.0", - wheel = ":_wheel_six@1.16.0", - ) - - native.alias( - name = "_wheel_sniffio@1.3.0", - actual = "@poetry_lock_wheel_sniffio_1.3.0_py3_none_any//file", - ) - - pycross_wheel_library( - name = "sniffio@1.3.0", - wheel = ":_wheel_sniffio@1.3.0", - ) - - native.alias( - name = "_sdist_source@1.2.0", - actual = "@poetry_lock_sdist_source_1.2.0//file", - ) - - pycross_wheel_build( - name = "_build_source@1.2.0", - sdist = ":_sdist_source@1.2.0", - target_environment = _target, - tags = ["manual"], - ) - - native.alias( - name = "_wheel_source@1.2.0", - actual = ":_build_source@1.2.0", - ) - - pycross_wheel_library( - name = "source@1.2.0", - wheel = ":_wheel_source@1.2.0", - ) - - _strictyaml_1_7_3_deps = [ - ":python-dateutil@2.8.2", - ] - - native.alias( - name = "_wheel_strictyaml@1.7.3", - actual = "@poetry_lock_wheel_strictyaml_1.7.3_py3_none_any//file", - ) - - pycross_wheel_library( - name = "strictyaml@1.7.3", - deps = _strictyaml_1_7_3_deps, - wheel = ":_wheel_strictyaml@1.7.3", - ) - - native.alias( - name = "_wheel_toml@0.10.2", - actual = "@poetry_lock_wheel_toml_0.10.2_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "toml@0.10.2", - wheel = ":_wheel_toml@0.10.2", - ) - - native.alias( - name = "_wheel_tomli@2.0.1", - actual = "@poetry_lock_wheel_tomli_2.0.1_py3_none_any//file", - ) - - pycross_wheel_library( - name = "tomli@2.0.1", - wheel = ":_wheel_tomli@2.0.1", - ) - - native.alias( - name = "_wheel_traitlets@5.14.1", - actual = "@poetry_lock_wheel_traitlets_5.14.1_py3_none_any//file", - ) - - pycross_wheel_library( - name = "traitlets@5.14.1", - wheel = ":_wheel_traitlets@5.14.1", - ) - - native.alias( - name = "_wheel_translationstring@1.4", - actual = "@poetry_lock_wheel_translationstring_1.4_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "translationstring@1.4", - wheel = ":_wheel_translationstring@1.4", - ) - - _twine_4_0_2_deps = [ - ":importlib-metadata@7.0.1", - ":keyring@24.3.0", - ":pkginfo@1.9.6", - ":readme-renderer@42.0", - ":requests@2.31.0", - ":requests-toolbelt@1.0.0", - ":rfc3986@2.0.0", - ":rich@13.7.0", - ":urllib3@1.26.18", - ] - - native.alias( - name = "_wheel_twine@4.0.2", - actual = "@poetry_lock_wheel_twine_4.0.2_py3_none_any//file", - ) - - pycross_wheel_library( - name = "twine@4.0.2", - deps = _twine_4_0_2_deps, - wheel = ":_wheel_twine@4.0.2", - ) - - native.alias( - name = "_wheel_typing-extensions@4.9.0", - actual = "@poetry_lock_wheel_typing_extensions_4.9.0_py3_none_any//file", - ) - - pycross_wheel_library( - name = "typing-extensions@4.9.0", - wheel = ":_wheel_typing-extensions@4.9.0", - ) - - native.alias( - name = "_wheel_urllib3@1.26.18", - actual = "@poetry_lock_wheel_urllib3_1.26.18_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "urllib3@1.26.18", - wheel = ":_wheel_urllib3@1.26.18", - ) - - native.alias( - name = "_wheel_uvloop@0.19.0", - actual = select({ - ":_env_python_darwin_arm64": "@poetry_lock_wheel_uvloop_0.19.0_cp310_cp310_macosx_10_9_universal2//file", - ":_env_python_darwin_x86_64": "@poetry_lock_wheel_uvloop_0.19.0_cp310_cp310_macosx_10_9_x86_64//file", - ":_env_python_linux_x86_64": "@poetry_lock_wheel_uvloop_0.19.0_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64//file", - }), - ) - - pycross_wheel_library( - name = "uvloop@0.19.0", - wheel = ":_wheel_uvloop@0.19.0", - ) - - native.alias( - name = "_wheel_venusian@3.1.0", - actual = "@poetry_lock_wheel_venusian_3.1.0_py3_none_any//file", - ) - - pycross_wheel_library( - name = "venusian@3.1.0", - wheel = ":_wheel_venusian@3.1.0", - ) - - native.alias( - name = "_wheel_waitress@3.0.0", - actual = "@poetry_lock_wheel_waitress_3.0.0_py3_none_any//file", - ) - - pycross_wheel_library( - name = "waitress@3.0.0", - wheel = ":_wheel_waitress@3.0.0", - ) - - native.alias( - name = "_wheel_wcwidth@0.2.13", - actual = "@poetry_lock_wheel_wcwidth_0.2.13_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "wcwidth@0.2.13", - wheel = ":_wheel_wcwidth@0.2.13", - ) - - native.alias( - name = "_wheel_webob@1.8.7", - actual = "@poetry_lock_wheel_webob_1.8.7_py2.py3_none_any//file", - ) - - pycross_wheel_library( - name = "webob@1.8.7", - wheel = ":_wheel_webob@1.8.7", - ) - - native.alias( - name = "_wheel_wheel@0.42.0", - actual = "@poetry_lock_wheel_wheel_0.42.0_py3_none_any//file", - ) - - pycross_wheel_library( - name = "wheel@0.42.0", - wheel = ":_wheel_wheel@0.42.0", - ) - - native.alias( - name = "_wheel_wrapt@1.16.0", - actual = select({ - ":_env_python_darwin_arm64": "@poetry_lock_wheel_wrapt_1.16.0_cp310_cp310_macosx_11_0_arm64//file", - ":_env_python_darwin_x86_64": "@poetry_lock_wheel_wrapt_1.16.0_cp310_cp310_macosx_10_9_x86_64//file", - ":_env_python_linux_x86_64": "@poetry_lock_wheel_wrapt_1.16.0_cp310_cp310_manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64//file", - }), - ) - - pycross_wheel_library( - name = "wrapt@1.16.0", - wheel = ":_wheel_wrapt@1.16.0", - ) - - _yarl_1_9_4_deps = [ - ":idna@3.6", - ":multidict@6.0.5", - ] - - native.alias( - name = "_wheel_yarl@1.9.4", - actual = select({ - ":_env_python_darwin_arm64": "@poetry_lock_wheel_yarl_1.9.4_cp310_cp310_macosx_11_0_arm64//file", - ":_env_python_darwin_x86_64": "@poetry_lock_wheel_yarl_1.9.4_cp310_cp310_macosx_10_9_x86_64//file", - ":_env_python_linux_x86_64": "@poetry_lock_wheel_yarl_1.9.4_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64//file", - }), - ) - - pycross_wheel_library( - name = "yarl@1.9.4", - deps = _yarl_1_9_4_deps, - wheel = ":_wheel_yarl@1.9.4", - ) - - native.alias( - name = "_wheel_zipp@3.17.0", - actual = "@poetry_lock_wheel_zipp_3.17.0_py3_none_any//file", - ) - - pycross_wheel_library( - name = "zipp@3.17.0", - wheel = ":_wheel_zipp@3.17.0", - ) - - _zope_deprecation_5_0_deps = [ - ":setuptools@69.0.3", - ] - - native.alias( - name = "_wheel_zope-deprecation@5.0", - actual = "@poetry_lock_wheel_zope.deprecation_5.0_py3_none_any//file", - ) - - pycross_wheel_library( - name = "zope-deprecation@5.0", - deps = _zope_deprecation_5_0_deps, - wheel = ":_wheel_zope-deprecation@5.0", - ) - - _zope_interface_6_1_deps = [ - ":setuptools@69.0.3", - ] - - native.alias( - name = "_wheel_zope-interface@6.1", - actual = select({ - ":_env_python_darwin_arm64": "@poetry_lock_wheel_zope.interface_6.1_cp310_cp310_macosx_11_0_arm64//file", - ":_env_python_darwin_x86_64": "@poetry_lock_wheel_zope.interface_6.1_cp310_cp310_macosx_10_9_x86_64//file", - ":_env_python_linux_x86_64": "@poetry_lock_wheel_zope.interface_6.1_cp310_cp310_manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64//file", - }), - ) - - pycross_wheel_library( - name = "zope-interface@6.1", - deps = _zope_interface_6_1_deps, - wheel = ":_wheel_zope-interface@6.1", - ) - -# buildifier: disable=unnamed-macro -def repositories(): - """Generated package repositories.""" - - maybe( - pypi_file, - name = "poetry_lock_sdist_aiobotocore_2.0.1", - package_name = "aiobotocore", - package_version = "2.0.1", - filename = "aiobotocore-2.0.1.tar.gz", - sha256 = "73b697da549d7f280c640ba3118cadcfc77312ce3ea493b55384bd3624ee5588", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_sdist_grpclib_0.4.7", - package_name = "grpclib", - package_version = "0.4.7", - filename = "grpclib-0.4.7.tar.gz", - sha256 = "2988ef57c02b22b7a2e8e961792c41ccf97efc2ace91ae7a5b0de03c363823c3", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_sdist_lightgbm_4.3.0", - package_name = "lightgbm", - package_version = "4.3.0", - filename = "lightgbm-4.3.0.tar.gz", - sha256 = "006f5784a9bcee43e5a7e943dc4f02de1ba2ee7a7af1ee5f190d383f3b6c9ebe", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_sdist_pypi_2.1", - package_name = "pypi", - package_version = "2.1", - filename = "pypi-2.1.tar.gz", - sha256 = "f014c87f871c2143ff613d9d13a59cc8ab8309b048754c27da8c58b21de2c10d", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_sdist_source_1.2.0", - package_name = "source", - package_version = "1.2.0", - filename = "source-1.2.0.zip", - sha256 = "c72a255f39264da1b495da33fd68ae026e4b6247f0da4fd0c1414d685be9bde0", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_aiohttp_3.9.3_cp310_cp310_macosx_10_9_x86_64", - package_name = "aiohttp", - package_version = "3.9.3", - filename = "aiohttp-3.9.3-cp310-cp310-macosx_10_9_x86_64.whl", - sha256 = "1f5cd333fcf7590a18334c90f8c9147c837a6ec8a178e88d90a9b96ea03194cc", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_aiohttp_3.9.3_cp310_cp310_macosx_11_0_arm64", - package_name = "aiohttp", - package_version = "3.9.3", - filename = "aiohttp-3.9.3-cp310-cp310-macosx_11_0_arm64.whl", - sha256 = "82e6aa28dd46374f72093eda8bcd142f7771ee1eb9d1e223ff0fa7177a96b4a5", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_aiohttp_3.9.3_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64", - package_name = "aiohttp", - package_version = "3.9.3", - filename = "aiohttp-3.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", - sha256 = "ab40e6251c3873d86ea9b30a1ac6d7478c09277b32e14745d0d3c6e76e3c7e29", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_aioitertools_0.11.0_py3_none_any", - package_name = "aioitertools", - package_version = "0.11.0", - filename = "aioitertools-0.11.0-py3-none-any.whl", - sha256 = "04b95e3dab25b449def24d7df809411c10e62aab0cbe31a50ca4e68748c43394", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_aiosignal_1.3.1_py3_none_any", - package_name = "aiosignal", - package_version = "1.3.1", - filename = "aiosignal-1.3.1-py3-none-any.whl", - sha256 = "f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_anyio_4.2.0_py3_none_any", - package_name = "anyio", - package_version = "4.2.0", - filename = "anyio-4.2.0-py3-none-any.whl", - sha256 = "745843b39e829e108e518c489b31dc757de7d2131d53fac32bd8df268227bfee", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_appnope_0.1.3_py2.py3_none_any", - package_name = "appnope", - package_version = "0.1.3", - filename = "appnope-0.1.3-py2.py3-none-any.whl", - sha256 = "265a455292d0bd8a72453494fa24df5a11eb18373a60c7c0430889f22548605e", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_argon2_cffi_23.1.0_py3_none_any", - package_name = "argon2-cffi", - package_version = "23.1.0", - filename = "argon2_cffi-23.1.0-py3-none-any.whl", - sha256 = "c670642b78ba29641818ab2e68bd4e6a78ba53b7eff7b4c3815ae16abf91c7ea", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_argon2_cffi_bindings_21.2.0_cp36_abi3_manylinux_2_17_x86_64.manylinux2014_x86_64", - package_name = "argon2-cffi-bindings", - package_version = "21.2.0", - filename = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", - sha256 = "b746dba803a79238e925d9046a63aa26bf86ab2a2fe74ce6b009a1c3f5c8f2ae", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_argon2_cffi_bindings_21.2.0_cp38_abi3_macosx_10_9_universal2", - package_name = "argon2-cffi-bindings", - package_version = "21.2.0", - filename = "argon2_cffi_bindings-21.2.0-cp38-abi3-macosx_10_9_universal2.whl", - sha256 = "e415e3f62c8d124ee16018e491a009937f8cf7ebf5eb430ffc5de21b900dad93", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_async_timeout_4.0.3_py3_none_any", - package_name = "async-timeout", - package_version = "4.0.3", - filename = "async_timeout-4.0.3-py3-none-any.whl", - sha256 = "7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_asyncpg_0.29.0_cp310_cp310_macosx_10_9_x86_64", - package_name = "asyncpg", - package_version = "0.29.0", - filename = "asyncpg-0.29.0-cp310-cp310-macosx_10_9_x86_64.whl", - sha256 = "72fd0ef9f00aeed37179c62282a3d14262dbbafb74ec0ba16e1b1864d8a12169", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_asyncpg_0.29.0_cp310_cp310_macosx_11_0_arm64", - package_name = "asyncpg", - package_version = "0.29.0", - filename = "asyncpg-0.29.0-cp310-cp310-macosx_11_0_arm64.whl", - sha256 = "52e8f8f9ff6e21f9b39ca9f8e3e33a5fcdceaf5667a8c5c32bee158e313be385", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_asyncpg_0.29.0_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64", - package_name = "asyncpg", - package_version = "0.29.0", - filename = "asyncpg-0.29.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", - sha256 = "746e80d83ad5d5464cfbf94315eb6744222ab00aa4e522b704322fb182b83610", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_attrs_23.2.0_py3_none_any", - package_name = "attrs", - package_version = "23.2.0", - filename = "attrs-23.2.0-py3-none-any.whl", - sha256 = "99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_backcall_0.2.0_py2.py3_none_any", - package_name = "backcall", - package_version = "0.2.0", - filename = "backcall-0.2.0-py2.py3-none-any.whl", - sha256 = "fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_botocore_1.22.8_py3_none_any", - package_name = "botocore", - package_version = "1.22.8", - filename = "botocore-1.22.8-py3-none-any.whl", - sha256 = "842dc2b887ab9ce5e937bc5954116736a1f3d3b7f1948b0027a671509e0d81ca", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_build_1.0.3_py3_none_any", - package_name = "build", - package_version = "1.0.3", - filename = "build-1.0.3-py3-none-any.whl", - sha256 = "589bf99a67df7c9cf07ec0ac0e5e2ea5d4b37ac63301c4986d1acb126aa83f8f", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_cachetools_5.3.2_py3_none_any", - package_name = "cachetools", - package_version = "5.3.2", - filename = "cachetools-5.3.2-py3-none-any.whl", - sha256 = "861f35a13a451f94e301ce2bec7cac63e881232ccce7ed67fab9b5df4d3beaa1", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_certifi_2024.2.2_py3_none_any", - package_name = "certifi", - package_version = "2024.2.2", - filename = "certifi-2024.2.2-py3-none-any.whl", - sha256 = "dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_cffi_1.16.0_cp310_cp310_macosx_10_9_x86_64", - package_name = "cffi", - package_version = "1.16.0", - filename = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", - sha256 = "6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_cffi_1.16.0_cp310_cp310_macosx_11_0_arm64", - package_name = "cffi", - package_version = "1.16.0", - filename = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", - sha256 = "ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_cffi_1.16.0_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64", - package_name = "cffi", - package_version = "1.16.0", - filename = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", - sha256 = "e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_charset_normalizer_3.3.2_cp310_cp310_macosx_10_9_x86_64", - package_name = "charset-normalizer", - package_version = "3.3.2", - filename = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", - sha256 = "06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_charset_normalizer_3.3.2_cp310_cp310_macosx_11_0_arm64", - package_name = "charset-normalizer", - package_version = "3.3.2", - filename = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", - sha256 = "9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_charset_normalizer_3.3.2_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64", - package_name = "charset-normalizer", - package_version = "3.3.2", - filename = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", - sha256 = "8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_check_manifest_0.49_py3_none_any", - package_name = "check-manifest", - package_version = "0.49", - filename = "check_manifest-0.49-py3-none-any.whl", - sha256 = "058cd30057714c39b96ce4d83f254fc770e3145c7b1932b5940b4e3efb5521ef", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_click_7.1.2_py2.py3_none_any", - package_name = "click", - package_version = "7.1.2", - filename = "click-7.1.2-py2.py3-none-any.whl", - sha256 = "dacca89f4bfadd5de3d7489b7c8a566eee0d3676333fbb50030263894c38c0dc", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_colorama_0.4.6_py2.py3_none_any", - package_name = "colorama", - package_version = "0.4.6", - filename = "colorama-0.4.6-py2.py3-none-any.whl", - sha256 = "4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_coloredlogs_15.0.1_py2.py3_none_any", - package_name = "coloredlogs", - package_version = "15.0.1", - filename = "coloredlogs-15.0.1-py2.py3-none-any.whl", - sha256 = "612ee75c546f53e92e70049c9dbfcc18c935a2b9a53b66085ce9ef6a6e5c0934", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_confluent_kafka_1.9.2_cp310_cp310_macosx_10_9_x86_64", - package_name = "confluent-kafka", - package_version = "1.9.2", - filename = "confluent_kafka-1.9.2-cp310-cp310-macosx_10_9_x86_64.whl", - sha256 = "ff08b9f978f8b37f2961614a68f9fdb4fabd10cdd940234e80200806d93a1c30", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_confluent_kafka_1.9.2_cp310_cp310_macosx_11_0_arm64", - package_name = "confluent-kafka", - package_version = "1.9.2", - filename = "confluent_kafka-1.9.2-cp310-cp310-macosx_11_0_arm64.whl", - sha256 = "4d6bfcc352cd608fcf325037b4425c0edaeae0c6a5439423a865110b59f897e9", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_confluent_kafka_1.9.2_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64", - package_name = "confluent-kafka", - package_version = "1.9.2", - filename = "confluent_kafka-1.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", - sha256 = "f970a2c6d22c934ea68d645abcc96056ecb107489f28a38b2171f65655b7e41f", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_contourpy_1.1.1_cp310_cp310_macosx_10_9_x86_64", - package_name = "contourpy", - package_version = "1.1.1", - filename = "contourpy-1.1.1-cp310-cp310-macosx_10_9_x86_64.whl", - sha256 = "46e24f5412c948d81736509377e255f6040e94216bf1a9b5ea1eaa9d29f6ec1b", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_contourpy_1.1.1_cp310_cp310_macosx_11_0_arm64", - package_name = "contourpy", - package_version = "1.1.1", - filename = "contourpy-1.1.1-cp310-cp310-macosx_11_0_arm64.whl", - sha256 = "0e48694d6a9c5a26ee85b10130c77a011a4fedf50a7279fa0bdaf44bafb4299d", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_contourpy_1.1.1_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64", - package_name = "contourpy", - package_version = "1.1.1", - filename = "contourpy-1.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", - sha256 = "462c59914dc6d81e0b11f37e560b8a7c2dbab6aca4f38be31519d442d6cde1a1", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_cryptography_42.0.2_cp39_abi3_macosx_10_12_universal2", - package_name = "cryptography", - package_version = "42.0.2", - filename = "cryptography-42.0.2-cp39-abi3-macosx_10_12_universal2.whl", - sha256 = "55d1580e2d7e17f45d19d3b12098e352f3a37fe86d380bf45846ef257054b242", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_cryptography_42.0.2_cp39_abi3_manylinux_2_17_x86_64.manylinux2014_x86_64", - package_name = "cryptography", - package_version = "42.0.2", - filename = "cryptography-42.0.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", - sha256 = "b9097a208875fc7bbeb1286d0125d90bdfed961f61f214d3f5be62cd4ed8a446", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_cycler_0.12.1_py3_none_any", - package_name = "cycler", - package_version = "0.12.1", - filename = "cycler-0.12.1-py3-none-any.whl", - sha256 = "85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_db_dtypes_1.2.0_py2.py3_none_any", - package_name = "db-dtypes", - package_version = "1.2.0", - filename = "db_dtypes-1.2.0-py2.py3-none-any.whl", - sha256 = "6320bddd31d096447ef749224d64aab00972ed20e4392d86f7d8b81ad79f7ff0", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_decorator_5.1.1_py3_none_any", - package_name = "decorator", - package_version = "5.1.1", - filename = "decorator-5.1.1-py3-none-any.whl", - sha256 = "b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_defusedxml_0.7.1_py2.py3_none_any", - package_name = "defusedxml", - package_version = "0.7.1", - filename = "defusedxml-0.7.1-py2.py3-none-any.whl", - sha256 = "a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_devpi_client_7.0.2_py3_none_any", - package_name = "devpi-client", - package_version = "7.0.2", - filename = "devpi_client-7.0.2-py3-none-any.whl", - sha256 = "fb63fd088dce1ddd7cbe9879f6cc95bf464eb3d48cbdf51fc9c7bdef5e4d1ba0", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_devpi_common_4.0.3_py3_none_any", - package_name = "devpi-common", - package_version = "4.0.3", - filename = "devpi_common-4.0.3-py3-none-any.whl", - sha256 = "d96be2e842fa76d7c67c185ec037e80e250b323271edaa716ccb31eecd0d73eb", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_devpi_server_6.10.0_py3_none_any", - package_name = "devpi-server", - package_version = "6.10.0", - filename = "devpi_server-6.10.0-py3-none-any.whl", - sha256 = "fd65682a6172b8cf4dab2841857e7c9d848bd52adf066c3df6cef6ecc57cd278", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_docutils_0.20.1_py3_none_any", - package_name = "docutils", - package_version = "0.20.1", - filename = "docutils-0.20.1-py3-none-any.whl", - sha256 = "96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_exceptiongroup_1.2.0_py3_none_any", - package_name = "exceptiongroup", - package_version = "1.2.0", - filename = "exceptiongroup-1.2.0-py3-none-any.whl", - sha256 = "4bfd3996ac73b41e9b9628b04e079f193850720ea5945fc96a08633c66912f14", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_fonttools_4.47.2_cp310_cp310_macosx_10_9_universal2", - package_name = "fonttools", - package_version = "4.47.2", - filename = "fonttools-4.47.2-cp310-cp310-macosx_10_9_universal2.whl", - sha256 = "3b629108351d25512d4ea1a8393a2dba325b7b7d7308116b605ea3f8e1be88df", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_fonttools_4.47.2_cp310_cp310_macosx_10_9_x86_64", - package_name = "fonttools", - package_version = "4.47.2", - filename = "fonttools-4.47.2-cp310-cp310-macosx_10_9_x86_64.whl", - sha256 = "c19044256c44fe299d9a73456aabee4b4d06c6b930287be93b533b4737d70aa1", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_fonttools_4.47.2_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64", - package_name = "fonttools", - package_version = "4.47.2", - filename = "fonttools-4.47.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", - sha256 = "f83a4daef6d2a202acb9bf572958f91cfde5b10c8ee7fb1d09a4c81e5d851fd8", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_freezegun_1.4.0_py3_none_any", - package_name = "freezegun", - package_version = "1.4.0", - filename = "freezegun-1.4.0-py3-none-any.whl", - sha256 = "55e0fc3c84ebf0a96a5aa23ff8b53d70246479e9a68863f1fcac5a3e52f19dd6", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_frozenlist_1.4.1_cp310_cp310_macosx_10_9_x86_64", - package_name = "frozenlist", - package_version = "1.4.1", - filename = "frozenlist-1.4.1-cp310-cp310-macosx_10_9_x86_64.whl", - sha256 = "29acab3f66f0f24674b7dc4736477bcd4bc3ad4b896f5f45379a67bce8b96868", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_frozenlist_1.4.1_cp310_cp310_macosx_11_0_arm64", - package_name = "frozenlist", - package_version = "1.4.1", - filename = "frozenlist-1.4.1-cp310-cp310-macosx_11_0_arm64.whl", - sha256 = "74fb4bee6880b529a0c6560885fce4dc95936920f9f20f53d99a213f7bf66776", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_frozenlist_1.4.1_cp310_cp310_manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64", - package_name = "frozenlist", - package_version = "1.4.1", - filename = "frozenlist-1.4.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", - sha256 = "a9b2de4cf0cdd5bd2dee4c4f63a653c61d2408055ab77b151c1957f221cabf2a", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_fsspec_2021.11.1_py3_none_any", - package_name = "fsspec", - package_version = "2021.11.1", - filename = "fsspec-2021.11.1-py3-none-any.whl", - sha256 = "bcb136caa37e1470dd8314a7d3917cb9b25dd9da44c10d36df556ab4ef038185", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_google_api_core_2.16.2_py3_none_any", - package_name = "google-api-core", - package_version = "2.16.2", - filename = "google_api_core-2.16.2-py3-none-any.whl", - sha256 = "449ca0e3f14c179b4165b664256066c7861610f70b6ffe54bb01a04e9b466929", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_google_auth_2.27.0_py2.py3_none_any", - package_name = "google-auth", - package_version = "2.27.0", - filename = "google_auth-2.27.0-py2.py3-none-any.whl", - sha256 = "8e4bad367015430ff253fe49d500fdc3396c1a434db5740828c728e45bcce245", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_google_auth_oauthlib_1.2.0_py2.py3_none_any", - package_name = "google-auth-oauthlib", - package_version = "1.2.0", - filename = "google_auth_oauthlib-1.2.0-py2.py3-none-any.whl", - sha256 = "297c1ce4cb13a99b5834c74a1fe03252e1e499716718b190f56bcb9c4abc4faf", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_google_cloud_bigquery_3.17.1_py2.py3_none_any", - package_name = "google-cloud-bigquery", - package_version = "3.17.1", - filename = "google_cloud_bigquery-3.17.1-py2.py3-none-any.whl", - sha256 = "7a9a92c7b1f6a6bf8b4c05c150e49f4ad1a03dd591dbd4522381b3f23bf07c73", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_google_cloud_bigquery_storage_2.24.0_py2.py3_none_any", - package_name = "google-cloud-bigquery-storage", - package_version = "2.24.0", - filename = "google_cloud_bigquery_storage-2.24.0-py2.py3-none-any.whl", - sha256 = "7981eb2758cba56603058d11bb1eeeebf2e1c18097a7118a894510a16e02be52", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_google_cloud_core_2.4.1_py2.py3_none_any", - package_name = "google-cloud-core", - package_version = "2.4.1", - filename = "google_cloud_core-2.4.1-py2.py3-none-any.whl", - sha256 = "a9e6a4422b9ac5c29f79a0ede9485473338e2ce78d91f2370c01e730eab22e61", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_google_crc32c_1.5.0_cp310_cp310_macosx_10_9_universal2", - package_name = "google-crc32c", - package_version = "1.5.0", - filename = "google_crc32c-1.5.0-cp310-cp310-macosx_10_9_universal2.whl", - sha256 = "596d1f98fc70232fcb6590c439f43b350cb762fb5d61ce7b0e9db4539654cc13", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_google_crc32c_1.5.0_cp310_cp310_macosx_10_9_x86_64", - package_name = "google-crc32c", - package_version = "1.5.0", - filename = "google_crc32c-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl", - sha256 = "be82c3c8cfb15b30f36768797a640e800513793d6ae1724aaaafe5bf86f8f346", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_google_crc32c_1.5.0_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64", - package_name = "google-crc32c", - package_version = "1.5.0", - filename = "google_crc32c-1.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", - sha256 = "116a7c3c616dd14a3de8c64a965828b197e5f2d121fedd2f8c5585c547e87b02", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_google_resumable_media_2.7.0_py2.py3_none_any", - package_name = "google-resumable-media", - package_version = "2.7.0", - filename = "google_resumable_media-2.7.0-py2.py3-none-any.whl", - sha256 = "79543cfe433b63fd81c0844b7803aba1bb8950b47bedf7d980c38fa123937e08", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_googleapis_common_protos_1.62.0_py2.py3_none_any", - package_name = "googleapis-common-protos", - package_version = "1.62.0", - filename = "googleapis_common_protos-1.62.0-py2.py3-none-any.whl", - sha256 = "4750113612205514f9f6aa4cb00d523a94f3e8c06c5ad2fee466387dc4875f07", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_grpcio_1.60.1_cp310_cp310_macosx_12_0_universal2", - package_name = "grpcio", - package_version = "1.60.1", - filename = "grpcio-1.60.1-cp310-cp310-macosx_12_0_universal2.whl", - sha256 = "33aed0a431f5befeffd9d346b0fa44b2c01aa4aeae5ea5b2c03d3e25e0071216", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_grpcio_1.60.1_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64", - package_name = "grpcio", - package_version = "1.60.1", - filename = "grpcio-1.60.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", - sha256 = "55ccb7db5a665079d68b5c7c86359ebd5ebf31a19bc1a91c982fd622f1e31ff2", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_grpcio_status_1.60.1_py3_none_any", - package_name = "grpcio-status", - package_version = "1.60.1", - filename = "grpcio_status-1.60.1-py3-none-any.whl", - sha256 = "3034fdb239185b6e0f3169d08c268c4507481e4b8a434c21311a03d9eb5889a0", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_h11_0.14.0_py3_none_any", - package_name = "h11", - package_version = "0.14.0", - filename = "h11-0.14.0-py3-none-any.whl", - sha256 = "e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_h2_3.2.0_py2.py3_none_any", - package_name = "h2", - package_version = "3.2.0", - filename = "h2-3.2.0-py2.py3-none-any.whl", - sha256 = "61e0f6601fa709f35cdb730863b4e5ec7ad449792add80d1410d4174ed139af5", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_hpack_3.0.0_py2.py3_none_any", - package_name = "hpack", - package_version = "3.0.0", - filename = "hpack-3.0.0-py2.py3-none-any.whl", - sha256 = "0edd79eda27a53ba5be2dfabf3b15780928a0dff6eb0c60a3d6767720e970c89", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_httpcore_0.17.3_py3_none_any", - package_name = "httpcore", - package_version = "0.17.3", - filename = "httpcore-0.17.3-py3-none-any.whl", - sha256 = "c2789b767ddddfa2a5782e3199b2b7f6894540b17b16ec26b2c4d8e103510b87", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_httpx_0.24.1_py3_none_any", - package_name = "httpx", - package_version = "0.24.1", - filename = "httpx-0.24.1-py3-none-any.whl", - sha256 = "06781eb9ac53cde990577af654bd990a4949de37a28bdb4a230d434f3a30b9bd", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_humanfriendly_10.0_py2.py3_none_any", - package_name = "humanfriendly", - package_version = "10.0", - filename = "humanfriendly-10.0-py2.py3-none-any.whl", - sha256 = "1697e1a8a8f550fd43c2865cd84542fc175a61dcb779b6fee18cf6b6ccba1477", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_hupper_1.12.1_py3_none_any", - package_name = "hupper", - package_version = "1.12.1", - filename = "hupper-1.12.1-py3-none-any.whl", - sha256 = "e872b959f09d90be5fb615bd2e62de89a0b57efc037bdf9637fb09cdf8552b19", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_hyperframe_5.2.0_py2.py3_none_any", - package_name = "hyperframe", - package_version = "5.2.0", - filename = "hyperframe-5.2.0-py2.py3-none-any.whl", - sha256 = "5187962cb16dcc078f23cb5a4b110098d546c3f41ff2d4038a9896893bbd0b40", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_idna_3.6_py3_none_any", - package_name = "idna", - package_version = "3.6", - filename = "idna-3.6-py3-none-any.whl", - sha256 = "c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_importlib_metadata_7.0.1_py3_none_any", - package_name = "importlib-metadata", - package_version = "7.0.1", - filename = "importlib_metadata-7.0.1-py3-none-any.whl", - sha256 = "4805911c3a4ec7c3966410053e9ec6a1fecd629117df5adee56dfc9432a1081e", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_iniconfig_2.0.0_py3_none_any", - package_name = "iniconfig", - package_version = "2.0.0", - filename = "iniconfig-2.0.0-py3-none-any.whl", - sha256 = "b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_ipython_7.34.0_py3_none_any", - package_name = "ipython", - package_version = "7.34.0", - filename = "ipython-7.34.0-py3-none-any.whl", - sha256 = "c175d2440a1caff76116eb719d40538fbb316e214eda85c5515c303aacbfb23e", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_itsdangerous_2.1.2_py3_none_any", - package_name = "itsdangerous", - package_version = "2.1.2", - filename = "itsdangerous-2.1.2-py3-none-any.whl", - sha256 = "2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_jaraco.classes_3.3.0_py3_none_any", - package_name = "jaraco-classes", - package_version = "3.3.0", - filename = "jaraco.classes-3.3.0-py3-none-any.whl", - sha256 = "10afa92b6743f25c0cf5f37c6bb6e18e2c5bb84a16527ccfc0040ea377e7aaeb", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_jedi_0.19.1_py2.py3_none_any", - package_name = "jedi", - package_version = "0.19.1", - filename = "jedi-0.19.1-py2.py3-none-any.whl", - sha256 = "e983c654fe5c02867aef4cdfce5a2fbb4a50adc0af145f70504238f18ef5e7e0", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_jeepney_0.8.0_py3_none_any", - package_name = "jeepney", - package_version = "0.8.0", - filename = "jeepney-0.8.0-py3-none-any.whl", - sha256 = "c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_jmespath_0.10.0_py2.py3_none_any", - package_name = "jmespath", - package_version = "0.10.0", - filename = "jmespath-0.10.0-py2.py3-none-any.whl", - sha256 = "cdf6525904cc597730141d61b36f2e4b8ecc257c420fa2f4549bac2c2d0cb72f", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_keyring_24.3.0_py3_none_any", - package_name = "keyring", - package_version = "24.3.0", - filename = "keyring-24.3.0-py3-none-any.whl", - sha256 = "4446d35d636e6a10b8bce7caa66913dd9eca5fd222ca03a3d42c38608ac30836", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_kiwisolver_1.4.5_cp310_cp310_macosx_10_9_x86_64", - package_name = "kiwisolver", - package_version = "1.4.5", - filename = "kiwisolver-1.4.5-cp310-cp310-macosx_10_9_x86_64.whl", - sha256 = "146d14bebb7f1dc4d5fbf74f8a6cb15ac42baadee8912eb84ac0b3b2a3dc6ac3", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_kiwisolver_1.4.5_cp310_cp310_macosx_11_0_arm64", - package_name = "kiwisolver", - package_version = "1.4.5", - filename = "kiwisolver-1.4.5-cp310-cp310-macosx_11_0_arm64.whl", - sha256 = "6ef7afcd2d281494c0a9101d5c571970708ad911d028137cd558f02b851c08b4", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_kiwisolver_1.4.5_cp310_cp310_manylinux_2_12_x86_64.manylinux2010_x86_64", - package_name = "kiwisolver", - package_version = "1.4.5", - filename = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", - sha256 = "ec20916e7b4cbfb1f12380e46486ec4bcbaa91a9c448b97023fde0d5bbf9e4ff", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_lazy_1.6_py2.py3_none_any", - package_name = "lazy", - package_version = "1.6", - filename = "lazy-1.6-py2.py3-none-any.whl", - sha256 = "449375c125c7acac6b7a93f71b8e7ccb06546c37b161613f92d2d3981f793244", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_lightgbm_4.3.0_py3_none_macosx_10_15_x86_64.macosx_11_6_x86_64.macosx_12_5_x86_64", - package_name = "lightgbm", - package_version = "4.3.0", - filename = "lightgbm-4.3.0-py3-none-macosx_10_15_x86_64.macosx_11_6_x86_64.macosx_12_5_x86_64.whl", - sha256 = "7e7c84e30607d043cc07ab7c0ffe3109120bde8e7e126f6a6151ca010c40fe3f", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_markdown_it_py_3.0.0_py3_none_any", - package_name = "markdown-it-py", - package_version = "3.0.0", - filename = "markdown_it_py-3.0.0-py3-none-any.whl", - sha256 = "355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_matplotlib_3.7.4_cp310_cp310_macosx_10_12_x86_64", - package_name = "matplotlib", - package_version = "3.7.4", - filename = "matplotlib-3.7.4-cp310-cp310-macosx_10_12_x86_64.whl", - sha256 = "bf91a42f6274a64cb41189120b620c02e574535ff6671fa836cade7701b06fbd", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_matplotlib_3.7.4_cp310_cp310_macosx_11_0_arm64", - package_name = "matplotlib", - package_version = "3.7.4", - filename = "matplotlib-3.7.4-cp310-cp310-macosx_11_0_arm64.whl", - sha256 = "f757e8b42841d6add0cb69b42497667f0d25a404dcd50bd923ec9904e38414c4", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_matplotlib_3.7.4_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64", - package_name = "matplotlib", - package_version = "3.7.4", - filename = "matplotlib-3.7.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", - sha256 = "ff539c4a17ecdf076ed808ee271ffae4a30dcb7e157b99ccae2c837262c07db6", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_matplotlib_inline_0.1.6_py3_none_any", - package_name = "matplotlib-inline", - package_version = "0.1.6", - filename = "matplotlib_inline-0.1.6-py3-none-any.whl", - sha256 = "f1f41aab5328aa5aaea9b16d083b128102f8712542f819fe7e6a420ff581b311", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_mdurl_0.1.2_py3_none_any", - package_name = "mdurl", - package_version = "0.1.2", - filename = "mdurl-0.1.2-py3-none-any.whl", - sha256 = "84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_more_itertools_10.2.0_py3_none_any", - package_name = "more-itertools", - package_version = "10.2.0", - filename = "more_itertools-10.2.0-py3-none-any.whl", - sha256 = "686b06abe565edfab151cb8fd385a05651e1fdf8f0a14191e4439283421f8684", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_multidict_6.0.5_cp310_cp310_macosx_10_9_x86_64", - package_name = "multidict", - package_version = "6.0.5", - filename = "multidict-6.0.5-cp310-cp310-macosx_10_9_x86_64.whl", - sha256 = "896ebdcf62683551312c30e20614305f53125750803b614e9e6ce74a96232604", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_multidict_6.0.5_cp310_cp310_macosx_11_0_arm64", - package_name = "multidict", - package_version = "6.0.5", - filename = "multidict-6.0.5-cp310-cp310-macosx_11_0_arm64.whl", - sha256 = "411bf8515f3be9813d06004cac41ccf7d1cd46dfe233705933dd163b60e37600", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_multidict_6.0.5_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64", - package_name = "multidict", - package_version = "6.0.5", - filename = "multidict-6.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", - sha256 = "21fd81c4ebdb4f214161be351eb5bcf385426bf023041da2fd9e60681f3cebae", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_nh3_0.2.15_cp37_abi3_macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2", - package_name = "nh3", - package_version = "0.2.15", - filename = "nh3-0.2.15-cp37-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", - sha256 = "9c0d415f6b7f2338f93035bba5c0d8c1b464e538bfbb1d598acd47d7969284f0", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_nh3_0.2.15_cp37_abi3_manylinux_2_17_x86_64.manylinux2014_x86_64", - package_name = "nh3", - package_version = "0.2.15", - filename = "nh3-0.2.15-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", - sha256 = "60684857cfa8fdbb74daa867e5cad3f0c9789415aba660614fe16cd66cbb9ec7", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_numpy_1.24.4_cp310_cp310_macosx_10_9_x86_64", - package_name = "numpy", - package_version = "1.24.4", - filename = "numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", - sha256 = "c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_numpy_1.24.4_cp310_cp310_macosx_11_0_arm64", - package_name = "numpy", - package_version = "1.24.4", - filename = "numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", - sha256 = "ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_numpy_1.24.4_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64", - package_name = "numpy", - package_version = "1.24.4", - filename = "numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", - sha256 = "7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_oauthlib_3.2.2_py3_none_any", - package_name = "oauthlib", - package_version = "3.2.2", - filename = "oauthlib-3.2.2-py3-none-any.whl", - sha256 = "8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_packaging_23.2_py3_none_any", - package_name = "packaging", - package_version = "23.2", - filename = "packaging-23.2-py3-none-any.whl", - sha256 = "8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_pandas_1.5.3_cp310_cp310_macosx_10_9_x86_64", - package_name = "pandas", - package_version = "1.5.3", - filename = "pandas-1.5.3-cp310-cp310-macosx_10_9_x86_64.whl", - sha256 = "972d8a45395f2a2d26733eb8d0f629b2f90bebe8e8eddbb8829b180c09639572", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_pandas_1.5.3_cp310_cp310_macosx_11_0_arm64", - package_name = "pandas", - package_version = "1.5.3", - filename = "pandas-1.5.3-cp310-cp310-macosx_11_0_arm64.whl", - sha256 = "50869a35cbb0f2e0cd5ec04b191e7b12ed688874bd05dd777c19b28cbea90996", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_pandas_1.5.3_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64", - package_name = "pandas", - package_version = "1.5.3", - filename = "pandas-1.5.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", - sha256 = "7a0a56cef15fd1586726dace5616db75ebcfec9179a3a55e78f72c5639fa2a23", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_pandas_gbq_0.17.9_py2.py3_none_any", - package_name = "pandas-gbq", - package_version = "0.17.9", - filename = "pandas_gbq-0.17.9-py2.py3-none-any.whl", - sha256 = "e02cff40d26dd67a0131794749c086dce773d58792559cee7ed7deaefed6723c", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_parso_0.8.3_py2.py3_none_any", - package_name = "parso", - package_version = "0.8.3", - filename = "parso-0.8.3-py2.py3-none-any.whl", - sha256 = "c001d4636cd3aecdaf33cbb40aebb59b094be2a74c556778ef5576c175e19e75", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_passlib_1.7.4_py2.py3_none_any", - package_name = "passlib", - package_version = "1.7.4", - filename = "passlib-1.7.4-py2.py3-none-any.whl", - sha256 = "aa6bca462b8d8bda89c70b382f0c298a20b5560af6cbfa2dce410c0a2fb669f1", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_pastedeploy_3.1.0_py3_none_any", - package_name = "pastedeploy", - package_version = "3.1.0", - filename = "PasteDeploy-3.1.0-py3-none-any.whl", - sha256 = "76388ad53a661448d436df28c798063108f70e994ddc749540d733cdbd1b38cf", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_pexpect_4.9.0_py2.py3_none_any", - package_name = "pexpect", - package_version = "4.9.0", - filename = "pexpect-4.9.0-py2.py3-none-any.whl", - sha256 = "7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_pickleshare_0.7.5_py2.py3_none_any", - package_name = "pickleshare", - package_version = "0.7.5", - filename = "pickleshare-0.7.5-py2.py3-none-any.whl", - sha256 = "9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_pillow_10.2.0_cp310_cp310_macosx_10_10_x86_64", - package_name = "pillow", - package_version = "10.2.0", - filename = "pillow-10.2.0-cp310-cp310-macosx_10_10_x86_64.whl", - sha256 = "7823bdd049099efa16e4246bdf15e5a13dbb18a51b68fa06d6c1d4d8b99a796e", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_pillow_10.2.0_cp310_cp310_macosx_11_0_arm64", - package_name = "pillow", - package_version = "10.2.0", - filename = "pillow-10.2.0-cp310-cp310-macosx_11_0_arm64.whl", - sha256 = "83b2021f2ade7d1ed556bc50a399127d7fb245e725aa0113ebd05cfe88aaf588", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_pillow_10.2.0_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64", - package_name = "pillow", - package_version = "10.2.0", - filename = "pillow-10.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", - sha256 = "da2b52b37dad6d9ec64e653637a096905b258d2fc2b984c41ae7d08b938a67e4", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_pkginfo_1.9.6_py3_none_any", - package_name = "pkginfo", - package_version = "1.9.6", - filename = "pkginfo-1.9.6-py3-none-any.whl", - sha256 = "4b7a555a6d5a22169fcc9cf7bfd78d296b0361adad412a346c1226849af5e546", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_plaster_1.1.2_py2.py3_none_any", - package_name = "plaster", - package_version = "1.1.2", - filename = "plaster-1.1.2-py2.py3-none-any.whl", - sha256 = "42992ab1f4865f1278e2ad740e8ad145683bb4022e03534265528f0c23c0df2d", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_plaster_pastedeploy_1.0.1_py2.py3_none_any", - package_name = "plaster-pastedeploy", - package_version = "1.0.1", - filename = "plaster_pastedeploy-1.0.1-py2.py3-none-any.whl", - sha256 = "ad3550cc744648969ed3b810f33c9344f515ee8d8a8cec18e8f2c4a643c2181f", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_platformdirs_4.2.0_py3_none_any", - package_name = "platformdirs", - package_version = "4.2.0", - filename = "platformdirs-4.2.0-py3-none-any.whl", - sha256 = "0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_pluggy_1.4.0_py3_none_any", - package_name = "pluggy", - package_version = "1.4.0", - filename = "pluggy-1.4.0-py3-none-any.whl", - sha256 = "7db9f7b503d67d1c5b95f59773ebb58a8c1c288129a88665838012cfb07b8981", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_prometheus_client_0.10.1_py2.py3_none_any", - package_name = "prometheus-client", - package_version = "0.10.1", - filename = "prometheus_client-0.10.1-py2.py3-none-any.whl", - sha256 = "030e4f9df5f53db2292eec37c6255957eb76168c6f974e4176c711cf91ed34aa", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_prompt_toolkit_3.0.43_py3_none_any", - package_name = "prompt-toolkit", - package_version = "3.0.43", - filename = "prompt_toolkit-3.0.43-py3-none-any.whl", - sha256 = "a11a29cb3bf0a28a387fe5122cdb649816a957cd9261dcedf8c9f1fef33eacf6", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_proto_plus_1.23.0_py3_none_any", - package_name = "proto-plus", - package_version = "1.23.0", - filename = "proto_plus-1.23.0-py3-none-any.whl", - sha256 = "a829c79e619e1cf632de091013a4173deed13a55f326ef84f05af6f50ff4c82c", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_protobuf_4.25.2_cp37_abi3_macosx_10_9_universal2", - package_name = "protobuf", - package_version = "4.25.2", - filename = "protobuf-4.25.2-cp37-abi3-macosx_10_9_universal2.whl", - sha256 = "2db9f8fa64fbdcdc93767d3cf81e0f2aef176284071507e3ede160811502fd3d", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_protobuf_4.25.2_cp37_abi3_manylinux2014_x86_64", - package_name = "protobuf", - package_version = "4.25.2", - filename = "protobuf-4.25.2-cp37-abi3-manylinux2014_x86_64.whl", - sha256 = "fc381d1dd0516343f1440019cedf08a7405f791cd49eef4ae1ea06520bc1c020", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_psycopg2_binary_2.9.9_cp310_cp310_macosx_10_9_x86_64", - package_name = "psycopg2-binary", - package_version = "2.9.9", - filename = "psycopg2_binary-2.9.9-cp310-cp310-macosx_10_9_x86_64.whl", - sha256 = "c2470da5418b76232f02a2fcd2229537bb2d5a7096674ce61859c3229f2eb202", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_psycopg2_binary_2.9.9_cp310_cp310_macosx_11_0_arm64", - package_name = "psycopg2-binary", - package_version = "2.9.9", - filename = "psycopg2_binary-2.9.9-cp310-cp310-macosx_11_0_arm64.whl", - sha256 = "c6af2a6d4b7ee9615cbb162b0738f6e1fd1f5c3eda7e5da17861eacf4c717ea7", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_psycopg2_binary_2.9.9_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64", - package_name = "psycopg2-binary", - package_version = "2.9.9", - filename = "psycopg2_binary-2.9.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", - sha256 = "ed1184ab8f113e8d660ce49a56390ca181f2981066acc27cf637d5c1e10ce46e", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_ptyprocess_0.7.0_py2.py3_none_any", - package_name = "ptyprocess", - package_version = "0.7.0", - filename = "ptyprocess-0.7.0-py2.py3-none-any.whl", - sha256 = "4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_py_1.11.0_py2.py3_none_any", - package_name = "py", - package_version = "1.11.0", - filename = "py-1.11.0-py2.py3-none-any.whl", - sha256 = "607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_pyarrow_9.0.0_cp310_cp310_macosx_10_13_x86_64", - package_name = "pyarrow", - package_version = "9.0.0", - filename = "pyarrow-9.0.0-cp310-cp310-macosx_10_13_x86_64.whl", - sha256 = "0238998dc692efcb4e41ae74738d7c1234723271ccf520bd8312dca07d49ef8d", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_pyarrow_9.0.0_cp310_cp310_macosx_11_0_arm64", - package_name = "pyarrow", - package_version = "9.0.0", - filename = "pyarrow-9.0.0-cp310-cp310-macosx_11_0_arm64.whl", - sha256 = "fc856628acd8d281652c15b6268ec7f27ebcb015abbe99d9baad17f02adc51f1", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_pyarrow_9.0.0_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64", - package_name = "pyarrow", - package_version = "9.0.0", - filename = "pyarrow-9.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", - sha256 = "2e753f8fcf07d8e3a0efa0c8bd51fef5c90281ffd4c5637c08ce42cd0ac297de", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_pyasn1_0.5.1_py2.py3_none_any", - package_name = "pyasn1", - package_version = "0.5.1", - filename = "pyasn1-0.5.1-py2.py3-none-any.whl", - sha256 = "4439847c58d40b1d0a573d07e3856e95333f1976294494c325775aeca506eb58", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_pyasn1_modules_0.3.0_py2.py3_none_any", - package_name = "pyasn1-modules", - package_version = "0.3.0", - filename = "pyasn1_modules-0.3.0-py2.py3-none-any.whl", - sha256 = "d3ccd6ed470d9ffbc716be08bd90efbd44d0734bc9303818f7336070984a162d", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_pycparser_2.21_py2.py3_none_any", - package_name = "pycparser", - package_version = "2.21", - filename = "pycparser-2.21-py2.py3-none-any.whl", - sha256 = "8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_pydata_google_auth_1.8.2_py2.py3_none_any", - package_name = "pydata-google-auth", - package_version = "1.8.2", - filename = "pydata_google_auth-1.8.2-py2.py3-none-any.whl", - sha256 = "a9dce59af4a170ea60c4b2ebbc83ee1f74d34255a4f97b2469ae9a4a0dc98e99", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_pygments_2.17.2_py3_none_any", - package_name = "pygments", - package_version = "2.17.2", - filename = "pygments-2.17.2-py3-none-any.whl", - sha256 = "b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_pyparsing_3.1.1_py3_none_any", - package_name = "pyparsing", - package_version = "3.1.1", - filename = "pyparsing-3.1.1-py3-none-any.whl", - sha256 = "32c7c0b711493c72ff18a981d24f28aaf9c1fb7ed5e9667c9e84e3db623bdbfb", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_pyproject_hooks_1.0.0_py3_none_any", - package_name = "pyproject-hooks", - package_version = "1.0.0", - filename = "pyproject_hooks-1.0.0-py3-none-any.whl", - sha256 = "283c11acd6b928d2f6a7c73fa0d01cb2bdc5f07c57a2eeb6e83d5e56b97976f8", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_pyramid_2.0.2_py3_none_any", - package_name = "pyramid", - package_version = "2.0.2", - filename = "pyramid-2.0.2-py3-none-any.whl", - sha256 = "2e6585ac55c147f0a51bc00dadf72075b3bdd9a871b332ff9e5e04117ccd76fa", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_pytest_6.2.5_py3_none_any", - package_name = "pytest", - package_version = "6.2.5", - filename = "pytest-6.2.5-py3-none-any.whl", - sha256 = "7310f8d27bc79ced999e760ca304d69f6ba6c6649c0b60fb0e04a4a77cacc134", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_python_dateutil_2.8.2_py2.py3_none_any", - package_name = "python-dateutil", - package_version = "2.8.2", - filename = "python_dateutil-2.8.2-py2.py3-none-any.whl", - sha256 = "961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_python_json_logger_2.0.7_py3_none_any", - package_name = "python-json-logger", - package_version = "2.0.7", - filename = "python_json_logger-2.0.7-py3-none-any.whl", - sha256 = "f380b826a991ebbe3de4d897aeec42760035ac760345e57b812938dc8b35e2bd", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_pytz_2024.1_py2.py3_none_any", - package_name = "pytz", - package_version = "2024.1", - filename = "pytz-2024.1-py2.py3-none-any.whl", - sha256 = "328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_readme_renderer_42.0_py3_none_any", - package_name = "readme-renderer", - package_version = "42.0", - filename = "readme_renderer-42.0-py3-none-any.whl", - sha256 = "13d039515c1f24de668e2c93f2e877b9dbe6c6c32328b90a40a49d8b2b85f36d", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_redis_4.6.0_py3_none_any", - package_name = "redis", - package_version = "4.6.0", - filename = "redis-4.6.0-py3-none-any.whl", - sha256 = "e2b03db868160ee4591de3cb90d40ebb50a90dd302138775937f6a42b7ed183c", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_repoze.lru_0.7_py3_none_any", - package_name = "repoze-lru", - package_version = "0.7", - filename = "repoze.lru-0.7-py3-none-any.whl", - sha256 = "f77bf0e1096ea445beadd35f3479c5cff2aa1efe604a133e67150bc8630a62ea", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_requests_2.31.0_py3_none_any", - package_name = "requests", - package_version = "2.31.0", - filename = "requests-2.31.0-py3-none-any.whl", - sha256 = "58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_requests_oauthlib_1.3.1_py2.py3_none_any", - package_name = "requests-oauthlib", - package_version = "1.3.1", - filename = "requests_oauthlib-1.3.1-py2.py3-none-any.whl", - sha256 = "2577c501a2fb8d05a304c09d090d6e47c306fef15809d102b327cf8364bddab5", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_requests_toolbelt_1.0.0_py2.py3_none_any", - package_name = "requests-toolbelt", - package_version = "1.0.0", - filename = "requests_toolbelt-1.0.0-py2.py3-none-any.whl", - sha256 = "cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_rfc3986_2.0.0_py2.py3_none_any", - package_name = "rfc3986", - package_version = "2.0.0", - filename = "rfc3986-2.0.0-py2.py3-none-any.whl", - sha256 = "50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_rich_13.7.0_py3_none_any", - package_name = "rich", - package_version = "13.7.0", - filename = "rich-13.7.0-py3-none-any.whl", - sha256 = "6da14c108c4866ee9520bbffa71f6fe3962e193b7da68720583850cd4548e235", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_rsa_4.9_py3_none_any", - package_name = "rsa", - package_version = "4.9", - filename = "rsa-4.9-py3-none-any.whl", - sha256 = "90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_ruamel.yaml.clib_0.2.8_cp310_cp310_macosx_10_9_universal2", - package_name = "ruamel-yaml-clib", - package_version = "0.2.8", - filename = "ruamel.yaml.clib-0.2.8-cp310-cp310-macosx_10_9_universal2.whl", - sha256 = "b42169467c42b692c19cf539c38d4602069d8c1505e97b86387fcf7afb766e1d", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_ruamel.yaml.clib_0.2.8_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64", - package_name = "ruamel-yaml-clib", - package_version = "0.2.8", - filename = "ruamel.yaml.clib-0.2.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", - sha256 = "fff3573c2db359f091e1589c3d7c5fc2f86f5bdb6f24252c2d8e539d4e45f412", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_ruamel.yaml_0.18.5_py3_none_any", - package_name = "ruamel-yaml", - package_version = "0.18.5", - filename = "ruamel.yaml-0.18.5-py3-none-any.whl", - sha256 = "a013ac02f99a69cdd6277d9664689eb1acba07069f912823177c5eced21a6ada", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_s3fs_2021.11.1_py3_none_any", - package_name = "s3fs", - package_version = "2021.11.1", - filename = "s3fs-2021.11.1-py3-none-any.whl", - sha256 = "e807f8a6191e13008248df588b510a5643a587c888be0bd59ff8321b3a3c689d", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_scikit_build_core_0.2.2_py3_none_any", - package_name = "scikit-build-core", - package_version = "0.2.2", - filename = "scikit_build_core-0.2.2-py3-none-any.whl", - sha256 = "439a41e913026a956b65e6b214c71bedfbc225b6e369bc589d17730d5bb31188", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_scipy_1.10.1_cp310_cp310_macosx_10_9_x86_64", - package_name = "scipy", - package_version = "1.10.1", - filename = "scipy-1.10.1-cp310-cp310-macosx_10_9_x86_64.whl", - sha256 = "e7354fd7527a4b0377ce55f286805b34e8c54b91be865bac273f527e1b839019", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_scipy_1.10.1_cp310_cp310_macosx_12_0_arm64", - package_name = "scipy", - package_version = "1.10.1", - filename = "scipy-1.10.1-cp310-cp310-macosx_12_0_arm64.whl", - sha256 = "4b3f429188c66603a1a5c549fb414e4d3bdc2a24792e061ffbd607d3d75fd84e", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_scipy_1.10.1_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64", - package_name = "scipy", - package_version = "1.10.1", - filename = "scipy-1.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", - sha256 = "4c0ff64b06b10e35215abce517252b375e580a6125fd5fdf6421b98efbefb2d2", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_secretstorage_3.3.3_py3_none_any", - package_name = "secretstorage", - package_version = "3.3.3", - filename = "SecretStorage-3.3.3-py3-none-any.whl", - sha256 = "f356e6628222568e3af06f2eba8df495efa13b3b63081dafd4f7d9a7b7bc9f99", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_setuptools_69.0.3_py3_none_any", - package_name = "setuptools", - package_version = "69.0.3", - filename = "setuptools-69.0.3-py3-none-any.whl", - sha256 = "385eb4edd9c9d5c17540511303e39a147ce2fc04bc55289c322b9e5904fe2c05", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_six_1.16.0_py2.py3_none_any", - package_name = "six", - package_version = "1.16.0", - filename = "six-1.16.0-py2.py3-none-any.whl", - sha256 = "8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_sniffio_1.3.0_py3_none_any", - package_name = "sniffio", - package_version = "1.3.0", - filename = "sniffio-1.3.0-py3-none-any.whl", - sha256 = "eecefdce1e5bbfb7ad2eeaabf7c1eeb404d7757c379bd1f7e5cce9d8bf425384", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_strictyaml_1.7.3_py3_none_any", - package_name = "strictyaml", - package_version = "1.7.3", - filename = "strictyaml-1.7.3-py3-none-any.whl", - sha256 = "fb5c8a4edb43bebb765959e420f9b3978d7f1af88c80606c03fb420888f5d1c7", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_toml_0.10.2_py2.py3_none_any", - package_name = "toml", - package_version = "0.10.2", - filename = "toml-0.10.2-py2.py3-none-any.whl", - sha256 = "806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_tomli_2.0.1_py3_none_any", - package_name = "tomli", - package_version = "2.0.1", - filename = "tomli-2.0.1-py3-none-any.whl", - sha256 = "939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_traitlets_5.14.1_py3_none_any", - package_name = "traitlets", - package_version = "5.14.1", - filename = "traitlets-5.14.1-py3-none-any.whl", - sha256 = "2e5a030e6eff91737c643231bfcf04a65b0132078dad75e4936700b213652e74", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_translationstring_1.4_py2.py3_none_any", - package_name = "translationstring", - package_version = "1.4", - filename = "translationstring-1.4-py2.py3-none-any.whl", - sha256 = "5f4dc4d939573db851c8d840551e1a0fb27b946afe3b95aafc22577eed2d6262", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_twine_4.0.2_py3_none_any", - package_name = "twine", - package_version = "4.0.2", - filename = "twine-4.0.2-py3-none-any.whl", - sha256 = "929bc3c280033347a00f847236564d1c52a3e61b1ac2516c97c48f3ceab756d8", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_typing_extensions_4.9.0_py3_none_any", - package_name = "typing-extensions", - package_version = "4.9.0", - filename = "typing_extensions-4.9.0-py3-none-any.whl", - sha256 = "af72aea155e91adfc61c3ae9e0e342dbc0cba726d6cba4b6c72c1f34e47291cd", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_urllib3_1.26.18_py2.py3_none_any", - package_name = "urllib3", - package_version = "1.26.18", - filename = "urllib3-1.26.18-py2.py3-none-any.whl", - sha256 = "34b97092d7e0a3a8cf7cd10e386f401b3737364026c45e622aa02903dffe0f07", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_uvloop_0.19.0_cp310_cp310_macosx_10_9_universal2", - package_name = "uvloop", - package_version = "0.19.0", - filename = "uvloop-0.19.0-cp310-cp310-macosx_10_9_universal2.whl", - sha256 = "de4313d7f575474c8f5a12e163f6d89c0a878bc49219641d49e6f1444369a90e", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_uvloop_0.19.0_cp310_cp310_macosx_10_9_x86_64", - package_name = "uvloop", - package_version = "0.19.0", - filename = "uvloop-0.19.0-cp310-cp310-macosx_10_9_x86_64.whl", - sha256 = "5588bd21cf1fcf06bded085f37e43ce0e00424197e7c10e77afd4bbefffef428", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_uvloop_0.19.0_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64", - package_name = "uvloop", - package_version = "0.19.0", - filename = "uvloop-0.19.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", - sha256 = "5a05128d315e2912791de6088c34136bfcdd0c7cbc1cf85fd6fd1bb321b7c849", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_venusian_3.1.0_py3_none_any", - package_name = "venusian", - package_version = "3.1.0", - filename = "venusian-3.1.0-py3-none-any.whl", - sha256 = "d1fb1e49927f42573f6c9b7c4fcf61c892af8fdcaa2314daa01d9a560b23488d", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_waitress_3.0.0_py3_none_any", - package_name = "waitress", - package_version = "3.0.0", - filename = "waitress-3.0.0-py3-none-any.whl", - sha256 = "2a06f242f4ba0cc563444ca3d1998959447477363a2d7e9b8b4d75d35cfd1669", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_wcwidth_0.2.13_py2.py3_none_any", - package_name = "wcwidth", - package_version = "0.2.13", - filename = "wcwidth-0.2.13-py2.py3-none-any.whl", - sha256 = "3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_webob_1.8.7_py2.py3_none_any", - package_name = "webob", - package_version = "1.8.7", - filename = "WebOb-1.8.7-py2.py3-none-any.whl", - sha256 = "73aae30359291c14fa3b956f8b5ca31960e420c28c1bec002547fb04928cf89b", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_wheel_0.42.0_py3_none_any", - package_name = "wheel", - package_version = "0.42.0", - filename = "wheel-0.42.0-py3-none-any.whl", - sha256 = "177f9c9b0d45c47873b619f5b650346d632cdc35fb5e4d25058e09c9e581433d", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_wrapt_1.16.0_cp310_cp310_macosx_10_9_x86_64", - package_name = "wrapt", - package_version = "1.16.0", - filename = "wrapt-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", - sha256 = "ffa565331890b90056c01db69c0fe634a776f8019c143a5ae265f9c6bc4bd6d4", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_wrapt_1.16.0_cp310_cp310_macosx_11_0_arm64", - package_name = "wrapt", - package_version = "1.16.0", - filename = "wrapt-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", - sha256 = "e4fdb9275308292e880dcbeb12546df7f3e0f96c6b41197e0cf37d2826359020", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_wrapt_1.16.0_cp310_cp310_manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64", - package_name = "wrapt", - package_version = "1.16.0", - filename = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", - sha256 = "ac83a914ebaf589b69f7d0a1277602ff494e21f4c2f743313414378f8f50a4cf", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_yarl_1.9.4_cp310_cp310_macosx_10_9_x86_64", - package_name = "yarl", - package_version = "1.9.4", - filename = "yarl-1.9.4-cp310-cp310-macosx_10_9_x86_64.whl", - sha256 = "a3a6ed1d525bfb91b3fc9b690c5a21bb52de28c018530ad85093cc488bee2dd2", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_yarl_1.9.4_cp310_cp310_macosx_11_0_arm64", - package_name = "yarl", - package_version = "1.9.4", - filename = "yarl-1.9.4-cp310-cp310-macosx_11_0_arm64.whl", - sha256 = "c38c9ddb6103ceae4e4498f9c08fac9b590c5c71b0370f98714768e22ac6fa66", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_yarl_1.9.4_cp310_cp310_manylinux_2_17_x86_64.manylinux2014_x86_64", - package_name = "yarl", - package_version = "1.9.4", - filename = "yarl-1.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", - sha256 = "357495293086c5b6d34ca9616a43d329317feab7917518bc97a08f9e55648455", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_zipp_3.17.0_py3_none_any", - package_name = "zipp", - package_version = "3.17.0", - filename = "zipp-3.17.0-py3-none-any.whl", - sha256 = "0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_zope.deprecation_5.0_py3_none_any", - package_name = "zope-deprecation", - package_version = "5.0", - filename = "zope.deprecation-5.0-py3-none-any.whl", - sha256 = "28c2ee983812efb4676d33c7a8c6ade0df191c1c6d652bbbfe6e2eeee067b2d4", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_zope.interface_6.1_cp310_cp310_macosx_10_9_x86_64", - package_name = "zope-interface", - package_version = "6.1", - filename = "zope.interface-6.1-cp310-cp310-macosx_10_9_x86_64.whl", - sha256 = "43b576c34ef0c1f5a4981163b551a8781896f2a37f71b8655fd20b5af0386abb", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_zope.interface_6.1_cp310_cp310_macosx_11_0_arm64", - package_name = "zope-interface", - package_version = "6.1", - filename = "zope.interface-6.1-cp310-cp310-macosx_11_0_arm64.whl", - sha256 = "67be3ca75012c6e9b109860820a8b6c9a84bfb036fbd1076246b98e56951ca92", - index = "https://pypi.org", - ) - - maybe( - pypi_file, - name = "poetry_lock_wheel_zope.interface_6.1_cp310_cp310_manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64", - package_name = "zope-interface", - package_version = "6.1", - filename = "zope.interface-6.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", - sha256 = "6dc998f6de015723196a904045e5a2217f3590b62ea31990672e31fbc5370b41", - index = "https://pypi.org", - ) diff --git a/bazel/python/py_container_image.bzl b/bazel/python/py_container_image.bzl deleted file mode 100644 index 302fbb4..0000000 --- a/bazel/python/py_container_image.bzl +++ /dev/null @@ -1,81 +0,0 @@ -"py_image macro" - -load("//bazel_tools:container.bzl", "container_image", "container_layer") -load(":py_image_layer.bzl", "py_image_layer") - -def py_image(name, binary, package, base, root = "/app", **kwargs): - """container_image macro for a py_binary using py_image_layer. - - Args: - name: [String] The name of the container_image rule. Also used as a name prefix for supporting rules declared within this one. - binary: [String] The label name of the binary target to wrap (for py_image_layer.binary) - base: for the container_image.base attribute - package: [String] the label package of the rule. Needed for the entrypoint. - root: [String] root directory for the app - **kwargs: additional kwargs for the container_image rule - """ - layers_name = name + "_layers" - app_tar_name = name + "_app_tar" - app_layer_name = name + "_app_layer" - site_packages_tar_name = name + "_site_packages_tar" - site_packages_layer_name = name + "_site_packages_layer" - python3_tar_name = name + "_python3_tar" - python3_layer_name = name + "_python3_layer" - - # py_image_layer collects all the data/runfiles from the given py_binary (or - # actually any DefaultInfo-providing label) and partitions thise files into - # site_packages/ and non-site_packages files. These are placed in the - # "site_packages" and "app" output groups respectively. - py_image_layer( - name = layers_name, - binary = binary, - root = root, - visibility = ["//visibility:__pkg__"], - ) - - native.filegroup( - name = app_tar_name, - srcs = [layers_name], - output_group = "app", - ) - native.filegroup( - name = site_packages_tar_name, - srcs = [layers_name], - output_group = "site_packages", - ) - native.filegroup( - name = python3_tar_name, - srcs = [layers_name], - output_group = "python3", - ) - - container_layer( - name = app_layer_name, - tars = [app_tar_name], - ) - container_layer( - name = site_packages_layer_name, - tars = [site_packages_tar_name], - ) - container_layer( - name = python3_layer_name, - tars = [python3_tar_name], - ) - - # The default image is the linux amd version. If user requested arm, select - # on the config setting. If user requested a specific base, override and use - # that. - - container_image( - name = name, - base = base, - layers = [ - app_layer_name, - site_packages_layer_name, - python3_layer_name, - ], - workdir = "%s/%s/%s.runfiles/unity" % (root, package, binary), - # entrypoint = ["%s/%s" % (package, binary)], - cmd = ["%s/%s" % (package, binary)], - **kwargs - ) diff --git a/bazel/python/py_image_layer.bzl b/bazel/python/py_image_layer.bzl deleted file mode 100644 index 7d21d65..0000000 --- a/bazel/python/py_image_layer.bzl +++ /dev/null @@ -1,329 +0,0 @@ -"""Rules for creating container image layers from py_binary targets - -For example, this py_image_layer target outputs `site_packages.tar` and `app.tar` with `/app` prefix. - -```starlark -load("@aspect_rules_js//js:defs.bzl", "py_image_layer") - -py_image_layer( - name = "layers", - binary = "//label/to:py_binary", - root = "/app", -) -``` -""" - -load("@aspect_bazel_lib//lib:paths.bzl", "to_rlocation_path") -load("@bazel_skylib//lib:paths.bzl", "paths") -load("@aspect_bazel_lib//lib:utils.bzl", "is_bazel_6_or_greater") - -_DOC = """Create container image layers from py_binary targets. - -By design, py_image_layer doesn't have any preference over which rule assembles the container image. -This means the downstream rule (`oci_image`, or `container_image` in this case) must set a proper `workdir` and `cmd` to for the container work. -A proper `cmd` usually looks like /`[ root of py_image_layer ]`/`[ relative path to BUILD file from WORKSPACE or package_name() ]/[ name of py_binary ]`, -unless you have a launcher script that invokes the entry_point of the `py_binary` in a different path. -On the other hand, `workdir` has to be set to `runfiles tree root` which would be exactly `cmd` **but with `.runfiles/[ name of the workspace or __main__ if empty ]` suffix**. If `workdir` is not set correctly, some -attributes such as `chdir` might not work properly. - -py_image_layer supports transitioning to specific `platform` to allow building multi-platform container images. - -> WARNING: Structure of the resulting layers are not subject to semver guarantees and may change without a notice. However, it is guaranteed to work when provided together in the `app` and `site_packages` order - -**A partial example using rules_oci with transition to linux/amd64 platform.** - -```starlark -load("@aspect_rules_js//js:defs.bzl", "py_binary", "py_image_layer") -load("@rules_oci//oci:defs.bzl", "oci_image") - -py_binary( - name = "binary", - entry_point = "main.js", -) - -platform( - name = "amd64_linux", - constraint_values = [ - "@platforms//os:linux", - "@platforms//cpu:x86_64", - ], -) - -py_image_layer( - name = "layers", - binary = ":binary", - platform = ":amd64_linux", - root = "/app" -) - -oci_image( - name = "image", - cmd = ["/app/main"], - entrypoint = ["bash"], - tars = [ - ":layers" - ] -) -``` - -**A partial example using rules_oci to create multi-platform images.** - - -```starlark -load("@aspect_rules_js//js:defs.bzl", "py_binary", "py_image_layer") -load("@rules_oci//oci:defs.bzl", "oci_image", "oci_image_index") - -py_binary( - name = "binary", - entry_point = "main.js", -) - -[ - platform( - name = "linux_{}".format(arch), - constraint_values = [ - "@platforms//os:linux", - "@platforms//cpu:{}".format(arch if arch != "amd64" else "x86_64"), - ], - ) - py_image_layer( - name = "{}_layers".format(arch), - binary = ":binary", - platform = ":linux_{arch}", - root = "/app" - ) - oci_image( - name = "{}_image".format(arch), - cmd = ["/app/main"], - entrypoint = ["bash"], - tars = [ - ":{}_layers".format(arch) - ] - ) - for arch in ["amd64", "arm64"] -] - -oci_image_index( - name = "image", - images = [ - ":arm64_image", - ":amd64_image" - ] -) - -``` - -**An example using legacy rules_docker** - -See `e2e/js_image_rules_docker` for full example. - -```starlark -load("@aspect_rules_js//js:defs.bzl", "py_binary", "py_image_layer") -load("@io_bazel_rules_docker//container:container.bzl", "container_image") - -py_binary( - name = "main", - data = [ - "//:site_packages/args-parser", - ], - entry_point = "main.js", -) - - -py_image_layer( - name = "layers", - binary = ":main", - root = "/app", - visibility = ["//visibility:__pkg__"], -) - -filegroup( - name = "app_tar", - srcs = [":layers"], - output_group = "app" -) -container_layer( - name = "app_layer", - tars = [":app_tar"], -) - -filegroup( - name = "site_packages_tar", - srcs = [":layers"], - output_group = "site_packages" -) -container_layer( - name = "site_packages_layer", - tars = [":site_packages_tar"], -) - -container_image( - name = "image", - cmd = ["/app/main"], - entrypoint = ["bash"], - layers = [ - ":app_layer", - ":site_packages_layer", - ], -) -``` -""" - -def _runfile_path(ctx, file, runfiles_dir): - return paths.join(runfiles_dir, to_rlocation_path(ctx, file)) - -def _runfiles_dir(root, default_info): - manifest = default_info.files_to_run.runfiles_manifest - - nobuild_runfile_links_is_set = manifest.short_path.endswith("_manifest") - - if nobuild_runfile_links_is_set: - # When `--nobuild_runfile_links` is set, runfiles_manifest points to the manifest - # file sitting adjacent to the runfiles tree rather than within it. - runfiles = default_info.files_to_run.runfiles_manifest.short_path.replace("_manifest", "") - else: - runfiles = manifest.short_path.replace(manifest.basename, "")[:-1] - - return paths.join(root, runfiles.replace(".sh", "")) - -def _build_layer(ctx, type, entries, inputs): - entries_output = ctx.actions.declare_file("{}_{}_entries.json".format(ctx.label.name, type)) - ctx.actions.write(entries_output, content = json.encode(entries)) - - extension = "tar.gz" if ctx.attr.compression == "gzip" else "tar" - output = ctx.actions.declare_file("{name}_{type}.{extension}".format(name = ctx.label.name, type = type, extension = extension)) - - args = ctx.actions.args() - args.add(entries_output) - args.add(output) - args.add(ctx.attr.compression) - if not is_bazel_6_or_greater(): - args.add("true") - - ctx.actions.run( - inputs = inputs + [entries_output], - outputs = [output], - arguments = [args], - executable = ctx.executable._builder, - progress_message = "PyImageLayer %{label}", - env = { - "BAZEL_BINDIR": ".", - }, - ) - - return output - -def _should_be_in_site_packages_layer(destination, _file): - is_site_packages = "/site-packages/" in destination - return is_site_packages - -def _should_be_in_python3_layer(destination, _file): - # print("destination!", destination) - is_python3 = "/python_3_10_x86_64-unknown-linux-gnu/" in destination - return is_python3 - -def _py_image_layer_impl(ctx): - if len(ctx.attr.binary) != 1: - fail("binary attribute has more than one transition") - - default_info = ctx.attr.binary[0][DefaultInfo] - # default_info = ctx.attr.binary[DefaultInfo] - - runfiles_dir = _runfiles_dir(ctx.attr.root, default_info) - # executable = default_info.files_to_run.executable - - all_files = depset(transitive = [default_info.files, default_info.default_runfiles.files]) - - app_entries = {} - app_inputs = [] - - site_packages_entries = {} - site_packages_inputs = [] - - python3_entries = {} - python3_inputs = [] - - for file in all_files.to_list(): - # print("file: %s" % file.short_path) - destination = _runfile_path(ctx, file, runfiles_dir) - entry = { - "dest": file.path, - "root": file.root.path, - "is_external": file.owner.workspace_name != "", - "is_source": file.is_source, - "is_directory": file.is_directory, - } - - if _should_be_in_python3_layer(destination, file): - python3_entries[destination] = entry - python3_inputs.append(file) - elif _should_be_in_site_packages_layer(destination, file): - site_packages_entries[destination] = entry - site_packages_inputs.append(file) - else: - app_entries[destination] = entry - app_inputs.append(file) - - app = _build_layer(ctx, type = "app", entries = app_entries, inputs = app_inputs) - site_packages = _build_layer(ctx, type = "site_packages", entries = site_packages_entries, inputs = site_packages_inputs) - python3 = _build_layer(ctx, type = "python3", entries = python3_entries, inputs = python3_inputs) - - return [ - DefaultInfo(files = depset([app, site_packages, python3])), - OutputGroupInfo( - app = depset([app]), - site_packages = depset([site_packages]), - python3 = depset([python3]), - ), - ] - -def _py_image_layer_transition_impl(settings, attr): - # buildifier: disable=unused-variable - _ignore = (settings) - if not attr.platform: - return {} - return { - "//command_line_option:platforms": str(attr.platform), - } - -_py_image_layer_transition = transition( - implementation = _py_image_layer_transition_impl, - inputs = [], - outputs = ["//command_line_option:platforms"], -) - -py_image_layer_lib = struct( - implementation = _py_image_layer_impl, - attrs = { - "_allowlist_function_transition": attr.label( - default = "@bazel_tools//tools/allowlists/function_transition_allowlist", - ), - "binary": attr.label( - mandatory = True, - cfg = _py_image_layer_transition, - doc = "Label to a py_binary target", - ), - "_builder": attr.label( - default = "@aspect_rules_js//js/private:js_image_layer_builder", - executable = True, - cfg = "exec", - ), - "root": attr.string( - doc = "Path where the files from py_binary will reside in. eg: /apps/app1 or /app", - ), - "compression": attr.string( - doc = "Compression algorithm. Can be one of `gzip`, `none`.", - values = ["gzip", "none"], - default = "gzip", - ), - "platform": attr.label( - doc = "Platform to transition.", - ), - }, -) - -py_image_layer = rule( - implementation = py_image_layer_lib.implementation, - attrs = py_image_layer_lib.attrs, - doc = _DOC, -) diff --git a/bazel/python/py_oci_image.bzl b/bazel/python/py_oci_image.bzl deleted file mode 100644 index 3cd793c..0000000 --- a/bazel/python/py_oci_image.bzl +++ /dev/null @@ -1,188 +0,0 @@ -""" -Wrapper macro to make three separate layers for python applications - -based on: https://github.com/aspect-build/bazel-examples/blob/a25b6c0ba307545aff6c4b5feb4ae875d7d507f1/oci_python_image/py_layer.bzl -""" - -load("@aspect_bazel_lib//lib:tar.bzl", "mtree_spec", "tar") -load("@aspect_bazel_lib//lib:transitions.bzl", "platform_transition_binary") -load("@rules_oci//oci:defs.bzl", "oci_image", "oci_tarball") -load("@io_bazel_rules_docker//container:container.bzl", "container_image", "container_layer") - -def py_layers(name, binary): - """Create three layers for a py_binary target: interpreter, third-party dependencies, and application code. - - This allows a container image to have smaller uploads, since the application layer usually changes more - than the other two. - - Args: - name: prefix for generated targets, to ensure they are unique within the package - binary: a py_binary target - Returns: - a list of labels for the layers, which are tar files - """ - - # Produce the manifest for a tar file of our py_binary, but don't tar it up yet, so we can split - # into fine-grained layers for better docker performance. - mtree_spec( - name = name + ".mf", - srcs = [binary], - ) - - # match *only* external repositories that have the string "python" - # e.g. this will match - # `/hello_world/hello_world_bin.runfiles/rules_python~0.21.0~python~python3_9_aarch64-unknown-linux-gnu/bin/python3` - # but not match - # `/hello_world/hello_world_bin.runfiles/_main/python_app` - py_interpreter_regex = "\\.runfiles/.*python.*-.*" - - # match *only* external pip like repositories that contain the string "site-packages" - site_packages_regex = "\\.runfiles/.*/site-packages/.*" - - native.genrule( - name = name + ".interpreter_tar_manifest", - srcs = [name + ".mf"], - outs = [name + ".interpreter_tar_manifest.spec"], - cmd = "grep '{}' $< >$@".format(py_interpreter_regex), - ) - - native.genrule( - name = name + ".packages_tar_manifest", - srcs = [name + ".mf"], - outs = [name + ".packages_tar_manifest.spec"], - cmd = "grep '{}' $< >$@".format(site_packages_regex), - ) - - # Any lines that didn't match one of the two grep above - native.genrule( - name = name + ".app_tar_manifest", - srcs = [name + ".mf"], - outs = [name + ".app_tar_manifest.spec"], - cmd = "grep -v '{}' $< | grep -v '{}' >$@".format(site_packages_regex, py_interpreter_regex), - ) - - # Produce layers in this order, as the app changes most often - result = [] - for layer in ["interpreter", "packages", "app"]: - layer_target = "{}.{}_layer".format(name, layer) - result.append(layer_target) - tar( - name = layer_target, - srcs = [binary], - mtree = "{}.{}_tar_manifest".format(name, layer), - ) - - return result - -def _make_entrypoint(toolchain_config_setting_label, workdir, cmd): - label = Label(toolchain_config_setting_label) - return "{workdir}/{cmd}.runfiles/{python_toolchains_workspace_name}_{python_toolchains_config_setting}/bin/python3".format( - workdir = workdir, - cmd = cmd, - python_toolchains_workspace_name = label.workspace_name, - python_toolchains_config_setting = label.name, - ) - -def pycross_oci_image( - name, - binary, - tars = [], - config = "@python//:x86_64-unknown-linux-gnu", - target_platform = "@//bazel/python:linux_x86_64", - **kwargs): - """ - pycross_oci_image is a macro that instantiates an oci_image from a py_binary rule - - Given a pycross_oci_image rule `//my:image` wrapping a py_binary rule `//my:app`, the following targets are defined: - - | Kind | Label | Description | - |---------------------------------|------------------------------|----------------------------------------------------------| - | oci_image rule | //my:image | The target container image | - | oci_tarball rule | //my:image.tar | Tarball rule that can be `bazel run` to `docker load` it | - | tar rule | //my:image.app_layer | Image layer for the application code | - | tar rule | //my:image.packages_layer | Image layer for site-packages | - | tar rule | //my:image.interpreter_layer | Image layer for the python3 interpreter | - | platform_transition_binary rule | //my:xapp | The transitioned "cross" py_binary | - | py_binary rule | //my:app | The source py_binary app | - - `docker inspect` yields the following (subset): - - ```json - [ - { - "RepoTags": [ - "my/app:latest", - ], - "Config": { - "Env": [ - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", - "SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt", - "LANG=C.UTF-8" - ], - "Cmd": [ - "app" - ], - "WorkingDir": "/my/xapp", - "Entrypoint": [ - "/my/xapp/app.runfiles/python_x86_64-unknown-linux-gnu/bin/python3" - ], - }, - "Architecture": "amd64", - "Os": "linux" - } - ] - ``` - - Args: - name: (String) name for the oci_image rule - binary: (Label) target label of the py_binary rule - tars: (Label List) optional additional tars for the image - config: (Label) target label for the python toolchains repo config setting that determines the python entrypoint name - target_platform: (Label) target label for the image platform (for the platform_transition_binary rule) - **kwargs: (Dict) additional argument for the oci_image rule - """ - - name_tar = name + ".tar" - target = Label(binary) - cmd = target.name - cross_binary = "x" + cmd - repo_tag = "%s/%s:latest" % (target.package, target.name) - workdir = "/%s/%s/%s" % (target.package, target.name, cross_binary) - entrypoint = _make_entrypoint(config, workdir, cmd) - layer_tars = py_layers(name, cross_binary) - - platform_transition_binary( - name = cross_binary, - binary = binary, - target_platform = target_platform, - ) - - oci_image( - name = name, - tars = tars + layer_tars, - workdir = workdir, - entrypoint = [entrypoint], - cmd = [cmd], - **kwargs - ) - - oci_tarball( - name = name_tar, - image = name, - repo_tags = [repo_tag], - ) - - for tar in layer_tars: - container_layer( - name = tar + "_layer", - tars = [tar], - ) - - container_image( - name = name + "_container", - base = "@python3-debian12//image", - layers = [tar + "_layer" for tar in layer_tars], - workdir = workdir, - entrypoint = [entrypoint], - cmd = [cmd], - ) diff --git a/bazel/repositories.bzl b/bazel/repositories.bzl index 794ab21..82a5b3e 100644 --- a/bazel/repositories.bzl +++ b/bazel/repositories.bzl @@ -73,16 +73,17 @@ def repositories(): urls = ["https://github.com/bazelbuild/rules_docker/archive/v0.25.0.tar.gz"], ) - # Release: v2.3.0 - # TargetCommitish: main - # Date: 2024-01-10 23:07:03 +0000 UTC - # URL: https://github.com/aspect-build/bazel-lib/releases/tag/v2.3.0 - # Size: 190487 (190 kB) + # Commit: aa6a58f73cfc7b6833e2d5f7a0c289f293e96637 + # Date: 2024-02-27 18:10:08 +0000 UTC + # URL: https://github.com/aspect-build/bazel-lib/commit/aa6a58f73cfc7b6833e2d5f7a0c289f293e96637 + # + # chore: bump libxml2 deb to USN-6658-1 (#768) + # Size: 195433 (195 kB) http_archive( name = "aspect_bazel_lib", - sha256 = "bda4a69fa50411b5feef473b423719d88992514d259dadba7d8218a1d02c7883", - strip_prefix = "bazel-lib-2.3.0", - urls = ["https://github.com/aspect-build/bazel-lib/archive/v2.3.0.tar.gz"], + sha256 = "97eb5dc00b7c767544cbb5aaeb4d12ada6cef7b154dd7da6cbfe87aa823a1556", + strip_prefix = "bazel-lib-aa6a58f73cfc7b6833e2d5f7a0c289f293e96637", + urls = ["https://github.com/aspect-build/bazel-lib/archive/aa6a58f73cfc7b6833e2d5f7a0c289f293e96637.tar.gz"], ) # Release: v1.7.0 diff --git a/example/BUILD.bazel b/example/BUILD.bazel index f541eab..e2b518b 100644 --- a/example/BUILD.bazel +++ b/example/BUILD.bazel @@ -5,3 +5,9 @@ example_test( srcs = glob(["oci/**/*"]), workspace_template = "local.WORKSPACE", ) + +example_test( + name = "docker", + srcs = glob(["oci/**/*"]), + workspace_template = "local.WORKSPACE", +) diff --git a/example/oci/.vscode/settings.json b/example/oci/.vscode/settings.json deleted file mode 100644 index df22ae7..0000000 --- a/example/oci/.vscode/settings.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "workbench.colorCustomizations": { - "activityBar.background": "#0A1D87", - "titleBar.activeBackground": "#0E28BD", - "titleBar.activeForeground": "#F8F9FF" - } -} \ No newline at end of file diff --git a/rules/docker.bzl b/rules/docker.bzl index e69de29..9c8e0e9 100644 --- a/rules/docker.bzl +++ b/rules/docker.bzl @@ -0,0 +1,112 @@ +""" +Wrapper macro to make three separate layers for python applications + +based on: https://github.com/aspect-build/bazel-examples/blob/a25b6c0ba307545aff6c4b5feb4ae875d7d507f1/oci_python_image/py_layer.bzl +""" + +load("@aspect_bazel_lib//lib:transitions.bzl", "platform_transition_binary") +load(":py_layers.bzl", "py_layers") +load("@io_bazel_rules_docker//container:container.bzl", "container_image", "container_layer") + +def _make_entrypoint(toolchain_config_setting_label, workdir, cmd): + label = Label(toolchain_config_setting_label) + return "{workdir}/{cmd}.runfiles/{python_toolchains_workspace_name}_{python_toolchains_config_setting}/bin/python3".format( + workdir = workdir, + cmd = cmd, + python_toolchains_workspace_name = label.workspace_name, + python_toolchains_config_setting = label.name, + ) + +def py_image( + name, + binary, + base = "@distroless_python3_debian12", + tars = [], + config = "@python//:x86_64-unknown-linux-gnu", + target_platform = "@pycross_image//platform:linux_x86_64", + **kwargs): + """ + pycross_oci_image is a macro that instantiates an oci_image from a py_binary rule + + Given a pycross_oci_image rule `//my:image` wrapping a py_binary rule `//my:app`, the following targets are defined: + + | Kind | Label | Description | + |---------------------------------|------------------------------|----------------------------------------------------------| + | oci_image rule | //my:image | The target container image | + | oci_tarball rule | //my:image.tar | Tarball rule that can be `bazel run` to `docker load` it | + | tar rule | //my:image.app_layer | Image layer for the application code | + | tar rule | //my:image.packages_layer | Image layer for site-packages | + | tar rule | //my:image.interpreter_layer | Image layer for the python3 interpreter | + | platform_transition_binary rule | //my:xapp | The transitioned "cross" py_binary | + | py_binary rule | //my:app | The source py_binary app | + + `docker inspect` yields the following (subset): + + ```json + [ + { + "RepoTags": [ + "my/app:latest", + ], + "Config": { + "Env": [ + "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt", + "LANG=C.UTF-8" + ], + "Cmd": [ + "app" + ], + "WorkingDir": "/my/xapp", + "Entrypoint": [ + "/my/xapp/app.runfiles/python_x86_64-unknown-linux-gnu/bin/python3" + ], + }, + "Architecture": "amd64", + "Os": "linux" + } + ] + ``` + + Args: + name: (String) name for the oci_image rule + binary: (Label) target label of the py_binary rule + base: (Label) target label of the base image + tars: (Label List) optional additional tars for the image + config: (Label) target label for the python toolchains repo config setting that determines the python entrypoint name + target_platform: (Label) target label for the image platform (for the platform_transition_binary rule) + **kwargs: (Dict) additional argument for the oci_image rule + """ + + target = Label(binary) + cmd = target.name + cross_binary = cmd + "_cross_binary" + repo_tag = "%s/%s:latest" % (target.package, target.name) + + workdir = "/%s/%s/%s" % (target.package, target.name, cross_binary) + entrypoint = _make_entrypoint(config, workdir, cmd) + + layer_tars = py_layers(name, cross_binary) + layer_tars = [] + + platform_transition_binary( + name = cross_binary, + binary = binary, + target_platform = target_platform, + ) + + for tar in layer_tars: + container_layer( + name = tar + "_layer", + tars = [tar], + ) + + container_image( + name = name + "_container", + base = "@python3-debian12//image", + layers = [tar + "_layer" for tar in layer_tars], + workdir = workdir, + entrypoint = [entrypoint], + tags = [repo_tag], + cmd = [cmd], + ) diff --git a/rules/oci.bzl b/rules/oci.bzl index 1227657..92f3d03 100644 --- a/rules/oci.bzl +++ b/rules/oci.bzl @@ -6,7 +6,7 @@ based on: https://github.com/aspect-build/bazel-examples/blob/a25b6c0ba307545aff load("@aspect_bazel_lib//lib:transitions.bzl", "platform_transition_binary") load("@rules_oci//oci:defs.bzl", "oci_image", "oci_tarball") -# load(":py_layers.bzl", "py_layers") +load(":py_layers.bzl", "py_layers") def _make_entrypoint(toolchain_config_setting_label, workdir, cmd): print("workdir:", workdir) @@ -81,7 +81,6 @@ def py_image( name_tar = name + ".tar" target = Label(binary) - print("target:", target) cmd = target.name cross_binary = cmd + "_cross_binary" repo_tag = "%s/%s:latest" % (target.package, target.name) @@ -89,7 +88,7 @@ def py_image( workdir = "/%s/%s/%s" % (target.package, target.name, cross_binary) entrypoint = _make_entrypoint(config, workdir, cmd) - # layer_tars = py_layers(name, cross_binary) + layer_tars = py_layers(name, cross_binary) layer_tars = [] platform_transition_binary( diff --git a/src/app/BUILD.bazel b/src/app/BUILD.bazel index e09e26f..1db11f5 100644 --- a/src/app/BUILD.bazel +++ b/src/app/BUILD.bazel @@ -1,4 +1,4 @@ -load("@//bazel:python.bzl", "py_binary") +load("@rules_python//python:defs.bzl", "py_binary") py_binary( name = "app",