Closed
Copy link
Description
🚀 feature request
Relevant Rules
The whl_installer
Python program needs to be updated.
Description
whl_installer should be aware of the selected full Python version (..) when resiolving dependencies.
Today, it is only aware of the minor version.
See the Redis 5.1.1 wheel. In the METADATA file it has Requires-Dist: async-timeout>=4.0.3; python_full_version < "3.11.3"
.
If the Python runtime is set to 3.11.10, the async-timeout dependency should be excluded, but it isn't. The repo BUILD file looks like this:
load("@bazel_skylib//rules:copy_file.bzl", "copy_file")
load("@rules_python//python:defs.bzl", "py_library", "py_binary")
package(default_visibility = ["//visibility:public"])
filegroup(
name = "dist_info",
srcs = glob(["site-packages/*.dist-info/**"], allow_empty = True),
)
filegroup(
name = "data",
srcs = glob(["data/**"], allow_empty = True),
)
filegroup(
name = "whl",
srcs = ["redis-5.1.1-py3-none-any.whl"],
data = ["@python_deps//async_timeout:whl"],
visibility = ["//visibility:public"],
)
py_library(
name = "pkg",
srcs = glob(
["site-packages/**/*.py"],
exclude=[],
# Empty sources are allowed to support wheels that don't have any
# pure-Python code, e.g. pymssql, which is written in Cython.
allow_empty = True,
),
data = [] + glob(
["site-packages/**/*"],
exclude=["**/* *", "**/*.py", "**/*.pyc", "**/*.pyc.*", "**/*.dist-info/RECORD"],
),
# This makes this directory a top-level in the python import
# search path for anything that depends on this.
imports = ["site-packages"],
deps = ["@python_deps//async_timeout:pkg"],
tags = ["pypi_name=redis", "pypi_version=5.1.1"],
visibility = ["//visibility:public"],
)
Describe the solution you'd like
Metadata
Metadata
Assignees
Labels
pip/pypi integrationpip/pypi integration