bazelbuild/rules_python (rules_python)
### [`v0.31.0`](https://togithub.com/bazelbuild/rules_python/blob/HEAD/CHANGELOG.md#0310---2024-02-12)
[Compare Source](https://togithub.com/bazelbuild/rules_python/compare/0.30.0...0.31.0)
[0.31.0]: https://togithub.com/bazelbuild/rules_python/releases/tag/0.31.0
##### Changed
- For Bazel 7, the core rules and providers are now implemented in rules_python
directly and the rules bundled with Bazel are not used. Bazel 6 and earlier
continue to use the Bazel builtin symbols. Of particular note, this means,
under Bazel 7, the builtin global symbol `PyInfo` is **not** the same as what
is loaded from rules_python. The same is true of `PyRuntimeInfo`.
### [`v0.30.0`](https://togithub.com/bazelbuild/rules_python/blob/HEAD/CHANGELOG.md#0300---2024-02-12)
[Compare Source](https://togithub.com/bazelbuild/rules_python/compare/0.29.0...0.30.0)
[0.30.0]: https://togithub.com/bazelbuild/rules_python/releases/tag/0.30.0
##### Changed
- (toolchains) Windows hosts always ignore pyc files in the downloaded runtimes.
This fixes issues due to pyc files being created at runtime and affecting the
definition of what files were considered part of the runtime.
- (pip_parse) Added the `envsubst` parameter, which enables environment variable
substitutions in the `extra_pip_args` attribute.
- (pip_repository) Added the `envsubst` parameter, which enables environment
variable substitutions in the `extra_pip_args` attribute.
##### Fixed
- (bzlmod) pip.parse now does not fail with an empty `requirements.txt`.
- (py_wheel) Wheels generated by `py_wheel` now preserve executable bits when
being extracted by `installer` and/or `pip`.
- (coverage) During the running of lcov, the stdout/stderr was causing test
failures. By default, suppress output when generating lcov. This can be
overridden by setting 'VERBOSE_COVERAGE'. This change only affect bazel
7.x.x and above.
- (toolchain) Changed the `host_toolchain` to symlink all files to support
Windows host environments without symlink support.
- (PyRuntimeInfo) Switch back to builtin PyRuntimeInfo for Bazel 6.4 and when
pystar is disabled. This fixes an error about `target ... does not have ...
PyRuntimeInfo`.
([#1732](https://togithub.com/bazelbuild/rules_python/issues/1732))
##### Added
- (py_wheel) Added `requires_file` and `extra_requires_files` attributes.
- (whl_library) *experimental_target_platforms* now supports specifying the
Python version explicitly and the output `BUILD.bazel` file will be correct
irrespective of the python interpreter that is generating the file and
extracting the `whl` distribution. Multiple python target version can be
specified and the code generation will generate version specific dependency
closures but that is not yet ready to be used and may break the build if
the default python version is not selected using
`common --@rules_python//python/config_settings:python_version=X.Y.Z`.
- New Python versions available: `3.11.7`, `3.12.1` using
https://github.com/indygreg/python-build-standalone/releases/tag/20240107.
- (toolchain) Allow setting `x.y` as the `python_version` parameter in
the version-aware `py_binary` and `py_test` rules. This allows users to
use the same rule import for testing with specific Python versions and
rely on toolchain configuration and how the latest version takes precedence
if e.g. `3.8` is selected. That also simplifies `.bazelrc` for any users
that set the default `python_version` string flag in that way.
- (toolchain) The runtime's shared libraries (libpython.so et al) can be
accessed using `@rules_python//python/cc:current_py_cc_libs`. This uses
toolchain resolution, so the files are from the same runtime used to run a
target. If you were previously using e.g. `@python_3_11//:libpython`, then
switch to `:current_py_cc_libs` for looser coupling to the underlying runtime
repo implementation.
- (repo rules) The environment variable `RULES_PYTHON_REPO_DEBUG=1` can be
set to make repository rules log detailed information about what they're
up to.
- (coverage) Add support for python 3.12 and bump `coverage.py` to
7.4.1.
Configuration
📅 Schedule: Branch creation - "every weekend" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
0.29.0
->0.31.0
Release Notes
bazelbuild/rules_python (rules_python)
### [`v0.31.0`](https://togithub.com/bazelbuild/rules_python/blob/HEAD/CHANGELOG.md#0310---2024-02-12) [Compare Source](https://togithub.com/bazelbuild/rules_python/compare/0.30.0...0.31.0) [0.31.0]: https://togithub.com/bazelbuild/rules_python/releases/tag/0.31.0 ##### Changed - For Bazel 7, the core rules and providers are now implemented in rules_python directly and the rules bundled with Bazel are not used. Bazel 6 and earlier continue to use the Bazel builtin symbols. Of particular note, this means, under Bazel 7, the builtin global symbol `PyInfo` is **not** the same as what is loaded from rules_python. The same is true of `PyRuntimeInfo`. ### [`v0.30.0`](https://togithub.com/bazelbuild/rules_python/blob/HEAD/CHANGELOG.md#0300---2024-02-12) [Compare Source](https://togithub.com/bazelbuild/rules_python/compare/0.29.0...0.30.0) [0.30.0]: https://togithub.com/bazelbuild/rules_python/releases/tag/0.30.0 ##### Changed - (toolchains) Windows hosts always ignore pyc files in the downloaded runtimes. This fixes issues due to pyc files being created at runtime and affecting the definition of what files were considered part of the runtime. - (pip_parse) Added the `envsubst` parameter, which enables environment variable substitutions in the `extra_pip_args` attribute. - (pip_repository) Added the `envsubst` parameter, which enables environment variable substitutions in the `extra_pip_args` attribute. ##### Fixed - (bzlmod) pip.parse now does not fail with an empty `requirements.txt`. - (py_wheel) Wheels generated by `py_wheel` now preserve executable bits when being extracted by `installer` and/or `pip`. - (coverage) During the running of lcov, the stdout/stderr was causing test failures. By default, suppress output when generating lcov. This can be overridden by setting 'VERBOSE_COVERAGE'. This change only affect bazel 7.x.x and above. - (toolchain) Changed the `host_toolchain` to symlink all files to support Windows host environments without symlink support. - (PyRuntimeInfo) Switch back to builtin PyRuntimeInfo for Bazel 6.4 and when pystar is disabled. This fixes an error about `target ... does not have ... PyRuntimeInfo`. ([#1732](https://togithub.com/bazelbuild/rules_python/issues/1732)) ##### Added - (py_wheel) Added `requires_file` and `extra_requires_files` attributes. - (whl_library) *experimental_target_platforms* now supports specifying the Python version explicitly and the output `BUILD.bazel` file will be correct irrespective of the python interpreter that is generating the file and extracting the `whl` distribution. Multiple python target version can be specified and the code generation will generate version specific dependency closures but that is not yet ready to be used and may break the build if the default python version is not selected using `common --@rules_python//python/config_settings:python_version=X.Y.Z`. - New Python versions available: `3.11.7`, `3.12.1` using https://github.com/indygreg/python-build-standalone/releases/tag/20240107. - (toolchain) Allow setting `x.y` as the `python_version` parameter in the version-aware `py_binary` and `py_test` rules. This allows users to use the same rule import for testing with specific Python versions and rely on toolchain configuration and how the latest version takes precedence if e.g. `3.8` is selected. That also simplifies `.bazelrc` for any users that set the default `python_version` string flag in that way. - (toolchain) The runtime's shared libraries (libpython.so et al) can be accessed using `@rules_python//python/cc:current_py_cc_libs`. This uses toolchain resolution, so the files are from the same runtime used to run a target. If you were previously using e.g. `@python_3_11//:libpython`, then switch to `:current_py_cc_libs` for looser coupling to the underlying runtime repo implementation. - (repo rules) The environment variable `RULES_PYTHON_REPO_DEBUG=1` can be set to make repository rules log detailed information about what they're up to. - (coverage) Add support for python 3.12 and bump `coverage.py` to 7.4.1.Configuration
📅 Schedule: Branch creation - "every weekend" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.