-
- Notifications
You must be signed in to change notification settings - Fork 636
Description
🐞 bug report
Affected Rule
The issue is caused by the rule: py_library
. Bazel errors out pretty early in the build process.
Error in fail: Failed to parse PEP 440 version identifier '0.1.0+brt.9e26ab0fd97503827d5b406699d5290c29c430c5'. Parse error at 'e26ab0fd97503827d5b406699d5290c29c430c5'
Is this a regression?
The 1.3.0 version we're currently using does not throw this error.
Description
We have a custom version of the lerobot
package with identifier 0.1.0+brt.9e26ab0fd97503827d5b406699d5290c29c430c5
.
AFAICT this should be fine under PEP 440:
Local version identifiers MUST comply with the following scheme:
<public version identifier>[+<local version label>]
where
local version labels MUST be limited to the following set of permitted characters:
- ASCII letters ([a-zA-Z])
- ASCII digits ([0-9])
- periods (.)
It looks to me like we are following that.
🔬 Minimal Reproduction
I don't have a public wheel with a local identifier to show you, unfortunately.
🔥 Exception or Error
ERROR: /var/lib/buildkite-agent/builds/shasta-ci-blue-i-05dc558a48121b7cf-1/blue-river-technology/k8_output_base/external/my_deps_3_10_lerobot/BUILD.bazel:5:20: in py_library rule @@my_deps_3_10_lerobot//:pkg: [2025-06-25T21:43:20Z] Traceback (most recent call last): [2025-06-25T21:43:20Z] File "/var/lib/buildkite-agent/builds/shasta-ci-blue-i-05dc558a48121b7cf-1/blue-river-technology/k8_output_base/external/rules_python/python/private/py_library.bzl", line 114, column 27, in _py_library_impl_with_semantics [2025-06-25T21:43:20Z] return py_library_impl( [2025-06-25T21:43:20Z] File "/var/lib/buildkite-agent/builds/shasta-ci-blue-i-05dc558a48121b7cf-1/blue-river-technology/k8_output_base/external/rules_python/python/private/py_library.bzl", line 164, column 52, in py_library_impl [2025-06-25T21:43:20Z] package, version_str = _get_package_and_version(ctx) [2025-06-25T21:43:20Z] File "/var/lib/buildkite-agent/builds/shasta-ci-blue-i-05dc558a48121b7cf-1/blue-river-technology/k8_output_base/external/rules_python/python/private/py_library.bzl", line 241, column 26, in _get_package_and_version [2025-06-25T21:43:20Z] version.normalize(version_str), # will have no dashes either [2025-06-25T21:43:20Z] File "/var/lib/buildkite-agent/builds/shasta-ci-blue-i-05dc558a48121b7cf-1/blue-river-technology/k8_output_base/external/rules_python/python/private/version.bzl", line 511, column 18, in normalize_pep440 [2025-06-25T21:43:20Z] return _parse(version, strict = True)["norm"] [2025-06-25T21:43:20Z] File "/var/lib/buildkite-agent/builds/shasta-ci-blue-i-05dc558a48121b7cf-1/blue-river-technology/k8_output_base/external/rules_python/python/private/version.bzl", line 548, column 18, in _parse [2025-06-25T21:43:20Z] _fail( [2025-06-25T21:43:20Z] Error in fail: Failed to parse PEP 440 version identifier '0.1.0+brt.9e26ab0fd97503827d5b406699d5290c29c430c5'. Parse error at 'e26ab0fd97503827d5b406699d5290c29c430c5'
🌍 Your Environment
Operating System:
Ubuntu 22.04
Output of bazel version
:
$ bazel version Bazelisk version: development Build label: 7.2.0 Build target: @@//src/main/java/com/google/devtools/build/lib/bazel:BazelServer Build time: Mon Jun 10 13:04:32 2024 (1718024672) Build timestamp: 1718024672 Build timestamp as int: 1718024672
Rules_python version:
1.5.0-rc3
Anything else relevant?
Not that I can think of.