Skip to content

Commit d14eda2

Browse files
chore(deps): update dependency rules_python to v0.33.0 (#321)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [rules_python](https://togithub.com/bazelbuild/rules_python) | http_archive | minor | `0.32.2` -> `0.33.0` | --- ### Release Notes <details> <summary>bazelbuild/rules_python (rules_python)</summary> ### [`v0.33.0`](https://togithub.com/bazelbuild/rules_python/blob/HEAD/CHANGELOG.md#0330---2024-06-12) [Compare Source](https://togithub.com/bazelbuild/rules_python/compare/0.32.2...0.33.0) [0.33.0]: https://togithub.com/bazelbuild/rules_python/releases/tag/0.33.0 ##### Changed - (deps) Upgrade the `pip_install` dependencies to pick up a new version of pip. - (toolchains) Optional toolchain dependency: `py_binary`, `py_test`, and `py_library` now depend on the `//python:exec_tools_toolchain_type` for build tools. - (deps): Bumped `bazel_skylib` to 1.6.1. - (bzlmod): The `python` and internal `rules_python` extensions have been marked as `reproducible` and will not include any lock file entries from now on. - (gazelle): Remove gazelle plugin's python deps and make it hermetic. Introduced a new Go-based helper leveraging tree-sitter for syntax analysis. Implemented the use of `pypi/stdlib-list` for standard library module verification. - (pip.parse): Do not ignore yanked packages when using `experimental_index_url`. This is to mimic what `uv` is doing. We will print a warning instead. - (pip.parse): Add references to all supported wheels when using `experimental_index_url` to allowing to correctly fetch the wheels for the right platform. See the updated docs on how to use the feature. This is work towards addressing [#&#8203;735](https://togithub.com/bazelbuild/rules_python/issues/735) and [#&#8203;260](https://togithub.com/bazelbuild/rules_python/issues/260). The spoke repository names when using this flag will have a structure of `{pip_hub_prefix}_{wheel_name}_{py_tag}_{abi_tag}_{platform_tag}_{sha256}`, which is an implementation detail which should not be relied on and is there purely for better debugging experience. - (bzlmod) The `pythons_hub//:interpreters.bzl` no longer has platform-specific labels which where left there for compatibility reasons. Move to `python_{version}_host` keys if you would like to have access to a Python interpreter that can be used in a repository rule context. ##### Fixed - (gazelle) Remove `visibility` from `NonEmptyAttr`. Now empty(have no `deps/main/srcs/imports` attr) `py_library/test/binary` rules will be automatically deleted correctly. For example, if `python_generation_mode` is set to package, when `__init__.py` is deleted, the `py_library` generated for this package before will be deleted automatically. - (whl_library): Use `is_python_config_setting` to correctly handle multi-python version dependency select statements when the `experimental_target_platforms` includes the Python ABI. The default python version case within the select is also now handled correctly, stabilizing the implementation. - (gazelle) Fix Gazelle failing on Windows with "panic: runtime error: invalid memory address or nil pointer dereference" - (bzlmod) remove `pip.parse(annotations)` attribute as it is unused and has been replaced by whl_modifications. - (pip) Correctly select wheels when the python tag includes minor versions. See ([#&#8203;1930](https://togithub.com/bazelbuild/rules_python/issues/1930)) - (pip.parse): The lock file is now reproducible on any host platform if the `experimental_index_url` is not used by any of the modules in the dependency chain. To make the lock file identical on each `os` and `arch`, please use the `experimental_index_url` feature which will fetch metadata from PyPI or a different private index and write the contents to the lock file. Fixes [#&#8203;1643](https://togithub.com/bazelbuild/rules_python/issues/1643). - (pip.parse): Install `yanked` packages and print a warning instead of ignoring them. This better matches the behaviour of `uv pip install`. - (toolchains): Now matching of the default hermetic toolchain is more robust and explicit and should fix rare edge-cases where the host toolchain autodetection would match a different toolchain than expected. This may yield to toolchain selection failures when the python toolchain is not registered, but is requested via `//python/config_settings:python_version` flag setting. - (doc) Fix the `WORKSPACE` requirement vendoring example. Fixes [#&#8203;1918](https://togithub.com/bazelbuild/rules_python/issues/1918). ##### Added - (rules) Precompiling Python source at build time is available. but is disabled by default, for now. Set `@rules_python//python/config_settings:precompile=enabled` to enable it by default. A subsequent release will enable it by default. See the [Precompiling docs][precompile-docs] and API reference docs for more information on precompiling. Note this requires Bazel 7+ and the Pystar rule implementation enabled. ([#&#8203;1761](https://togithub.com/bazelbuild/rules_python/issues/1761)) - (rules) Attributes and flags to control precompile behavior: `precompile`, `precompile_optimize_level`, `precompile_source_retention`, `precompile_invalidation_mode`, and `pyc_collection` - (toolchains) The target runtime toolchain (`//python:toolchain_type`) has two new optional attributes: `pyc_tag` (tells the pyc filename infix to use) and `implementation_name` (tells the Python implementation name). - (toolchains) A toolchain type for build tools has been added: `//python:exec_tools_toolchain_type`. - (providers) `PyInfo` has two new attributes: `direct_pyc_files` and `transitive_pyc_files`, which tell the pyc files a target makes available directly and transitively, respectively. - `//python:features.bzl` added to allow easy feature-detection in the future. - (pip) Allow specifying the requirements by (os, arch) and add extra validations when parsing the inputs. This is a non-breaking change for most users unless they have been passing multiple `requirements_*` files together with `extra_pip_args = ["--platform=manylinux_2_4_x86_64"]`, that was an invalid usage previously but we were not failing the build. From now on this is explicitly disallowed. - (toolchains) Added riscv64 platform definition for python toolchains. - (gazelle) The `python_visibility` directive now supports the `$python_root$` placeholder, just like the `python_default_visibility` directive does. - (rules) A new bootstrap implementation that doesn't require a system Python is available. It can be enabled by setting {obj}`--@&#8203;rules_python//python:config_settings:bootstrap_impl=two_phase`. It will become the default in a subsequent release. ([#&#8203;691](https://togithub.com/bazelbuild/rules_python/issues/691)) - (providers) `PyRuntimeInfo` has two new attributes: {obj}`PyRuntimeInfo.stage2_bootstrap_template` and {obj}`PyRuntimeInfo.zip_main_template`. - (toolchains) A replacement for the Bazel-builtn autodetecting toolchain is available. The `//python:autodetecting_toolchain` alias now uses it. - (pip): Support fetching and using the wheels for other platforms. This supports customizing whether the linux wheels are pulled for `musl` or `glibc`, whether `universal2` or arch-specific MacOS wheels are preferred and it also allows to select a particular `libc` version. All of this is done via the `string_flags` in `@rules_python//python/config_settings`. If there are no wheels that are supported for the target platform, `rules_python` will fallback onto building the `sdist` from source. This behaviour can be disabled if desired using one of the available string flags as well. - (whl_filegroup) Added a new `whl_filegroup` rule to extract files from a wheel file. This is useful to extract headers for use in a `cc_library`. [precompile-docs]: /precompiling </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/bazel-contrib/rules_bazel_integration_test). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM5My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
1 parent 9dc7685 commit d14eda2

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

bazel_integration_test/deps.bzl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ def bazel_integration_test_rules_dependencies():
2929
maybe(
3030
http_archive,
3131
name = "rules_python",
32-
sha256 = "4912ced70dc1a2a8e4b86cec233b192ca053e82bc72d877b98e126156e8f228d",
33-
strip_prefix = "rules_python-0.32.2",
34-
url = "https://github.com/bazelbuild/rules_python/archive/0.32.2.tar.gz",
32+
sha256 = "dc6e2756130fafb90273587003659cadd1a2dfef3f6464c227794cdc01ebf70e",
33+
strip_prefix = "rules_python-0.33.0",
34+
url = "https://github.com/bazelbuild/rules_python/archive/0.33.0.tar.gz",
3535
)

0 commit comments

Comments
 (0)