0.30.0
Using Bzlmod with Bazel 6
NOTE: bzlmod support is still beta. APIs subject to change.
Add to your MODULE.bazel
file:
bazel_dep(name = "rules_python", version = "0.30.0")
pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
pip.parse(
hub_name = "pip",
python_version = "3.11",
requirements_lock = "//:requirements_lock.txt",
)
use_repo(pip, "pip")
Using WORKSPACE
Paste this snippet into your WORKSPACE
file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_python",
sha256 = "3b8b4cdc991bc9def8833d118e4c850f1b7498b3d65d5698eea92c3528b8cf2c",
strip_prefix = "rules_python-0.30.0",
url = "https://github.com/bazelbuild/rules_python/releases/download/0.30.0/rules_python-0.30.0.tar.gz",
)
load("@rules_python//python:repositories.bzl", "py_repositories")
py_repositories()
Gazelle plugin
Paste this snippet into your WORKSPACE
file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_python_gazelle_plugin",
sha256 = "3b8b4cdc991bc9def8833d118e4c850f1b7498b3d65d5698eea92c3528b8cf2c",
strip_prefix = "rules_python-0.30.0/gazelle",
url = "https://github.com/bazelbuild/rules_python/releases/download/0.30.0/rules_python-0.30.0.tar.gz",
)
# To compile the rules_python gazelle extension from source,
# we must fetch some third-party go dependencies that it uses.
load("@rules_python_gazelle_plugin//:deps.bzl", _py_gazelle_deps = "gazelle_deps")
_py_gazelle_deps()
What's Changed
- feat(py_wheel): Added
requires_file
andextra_requires_files
attrs by @UebelAndre in #1710 - refactor: move bzl tests from pip_install to //tests by @aignas in #1716
- fix: make windows ignore pycs in runtime by @rickeylev in #1715
- fix: fix launching Python 3.11 from <3.8 on macOS by @armandomontanez in #1709
- fix(bzlmod): do not fail pip.parse with empty requirements.txt by @aignas in #1718
- fix(py_wheel): Fix parsing errors with
requires_file
attribute. by @UebelAndre in #1719 - feat: expose runtime's shared libraries through toolchain by @rickeylev in #1717
- feat: support parsing whl METADATA on any python version by @aignas in #1693
- refactor: provide more detailed error message when wheel installer fails by @rickeylev in #1724
- chore: add python 3.11.7, 3.12.1 toolchain by @trentontrees in #1725
- feat(toolchain): support specifying x.y versions in transitions by @aignas in #1720
- Ensure regular file bit set in wheel archives by @lamcw in #1731
- feat: Add support for envsubst in extra_pip_args by @vonschultz in #1673
- feat: add debug logging of repo sub processes by @rickeylev in #1735
- test: config_settings matching latest minor versions by @aignas in #1738
- fix(coverage): generating lcov was causing issues by @trentontrees in #1734
- fix(coverage) add coverage support for python 3.12 by @trentontrees in #1727
- build(deps): bump cryptography from 39.0.0 to 41.0.6 in /tools/publish by @dependabot in #1581
- fix(toolchain): symlink all toolchain files for the host toolchain by @aignas in #1745
- feat(gazelle): Remove integrity field from Gazelle manifest by @adzenith in #1666
- fix(PyRuntimeInfo): use builtin PyRuntimeInfo unless pystar is enabled. by @rickeylev in #1748
- tests(cclibs): Basic test that the
current_py_cc_libs
target works by @rickeylev in #1749 - chore: Update changelog for 0.30.0 release by @rickeylev in #1752
- tests(bcr): Set Bazel version in BCR presubmit config. by @rickeylev in #1753
New Contributors
- @armandomontanez made their first contribution in #1709
- @trentontrees made their first contribution in #1725
- @lamcw made their first contribution in #1731
Full Changelog: 0.29.0...0.30.0