Releases: bazel-contrib/rules_python
1.7.0
For more detailed setup instructions, see https://rules-python.readthedocs.io/en/latest/getting-started.html
For the user-facing changelog see here
Using Bzlmod
Add to your MODULE.bazel file:
bazel_dep(name = "rules_python", version = "1.7.0")
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
python_version = "3.13",
)
pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
pip.parse(
hub_name = "pypi",
python_version = "3.13",
requirements_lock = "//:requirements_lock.txt",
)
use_repo(pip, "pypi")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 = "f609f341d6e9090b981b3f45324d05a819fd7a5a56434f849c761971ce2c47da",
strip_prefix = "rules_python-1.7.0",
url = "https://github.com/bazel-contrib/rules_python/releases/download/1.7.0/rules_python-1.7.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 = "f609f341d6e9090b981b3f45324d05a819fd7a5a56434f849c761971ce2c47da",
strip_prefix = "rules_python-1.7.0/gazelle",
url = "https://github.com/bazel-contrib/rules_python/releases/download/1.7.0/rules_python-1.7.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
- docs: add steps for creating release candidates by @rickeylev in #2687
- fix(toolchain): no chmod on windows when downloading hermetic toolchain by @aignas in #2693
- fix: correctly find runfiles root for symlinks by @lpulley in #2665
- feat: add riscv64 linux support by @kxxt in #2694
- build(deps): bump urllib3 from 2.2.3 to 2.3.0 in /docs by @dependabot[bot] in #2698
- build(deps): bump urllib3 from 2.2.3 to 2.3.0 in /tools/publish by @dependabot[bot] in #2699
- build(deps): bump babel from 2.16.0 to 2.17.0 in /docs by @dependabot[bot] in #2696
- build(deps): bump keyring from 25.4.1 to 25.5.0 in /tools/publish by @dependabot[bot] in #2355
- build(deps): bump django from 4.2.17 to 4.2.20 in /examples/bzlmod_build_file_generation by @dependabot[bot] in #2689
- fix: Correctly resolve macOS SDK paths by @shs96c in #2478
- chore: remove old versions of Python 3.8 by @aignas in #2700
- feat: uv lock rule instead of genrule by @aignas in #2657
- feat(python.toolchain): support file-based default Python version by @vonschultz in #2588
- fix(pypi): output only necessary target_platforms by @aignas in #2710
- refactor(pypi): implement PEP508 compliant marker evaluation by @aignas in #2692
- fix(docs): CHANGELOG "astral" typo by @lpulley in #2715
- build(deps): bump sphinx-reredirects from 0.1.5 to 0.1.6 in /docs by @dependabot[bot] in #2716
- build(deps): bump certifi from 2024.8.30 to 2025.1.31 in /docs by @dependabot[bot] in #2718
- build(deps): bump certifi from 2024.8.30 to 2025.1.31 in /tools/publish by @dependabot[bot] in #2719
- build(deps): bump pygments from 2.18.0 to 2.19.1 in /docs by @dependabot[bot] in #2720
- fix: Fix Python 3.4.x compatibilty with bootstrap (#2709) by @armandomontanez in #2714
- build(deps): bump packaging from 24.1 to 24.2 in /docs by @dependabot[bot] in #2721
- chore: remove semantics.bzl by @rickeylev in #2725
- chore: remove defunct comment about py2 compatibility by @rickeylev in #2724
- feat(pypi/parse_requirements): get dists by version when no hash provied by @Yanpei-Wang in #2695
- fix(toolchains): correctly order the toolchains by @aignas in #2735
- fix: allow warn logging to be disabled via RULES_PYTHON_REPO_DEBUG_VERBOSITY by @mattem in #2737
- fix: run check on interpreter in isolated mode by @mattem in #2738
- fix(pypi): correctly fallback to pip for git direct URLs by @aignas in #2732
- fix: support gazelle generation_mode:update_only by @jbedard in #2708
- fix(pypi): mark the extension reproducible by @aignas in #2730
- feat: allow populating binary's venv site-packages with symlinks by @rickeylev in #2617
- docs: fix a few xrefs by @rickeylev in #2740
- fix: treat ignore_root_user_error either ignored or warning by @mattem in #2739
- fix: Ensure temporary .pyc & .pyo files are excluded from the interpreters repository files by @mattem in #2743
- chore: remove unnecessary DEFAULT_BOOTSTRAP_TEMPLATE global by @rickeylev in #2744
- build(deps): bump jinja2 from 3.1.4 to 3.1.6 in /docs by @dependabot[bot] in #2750
- build(deps): bump absl-py from 2.1.0 to 2.2.2 in /docs by @dependabot[bot] in #2751
- build(deps): bump charset-normalizer from 3.4.0 to 3.4.1 in /docs by @dependabot[bot] in #2752
- build(deps): bump charset-normalizer from 3.4.0 to 3.4.1 in /tools/publish by @dependabot[bot] in #2753
- build(deps): bump jinja2 from 3.1.4 to 3.1.6 in /examples/pip_parse by @dependabot[bot] in #2754
- build(deps): bump cryptography from 43.0.3 to 44.0.1 in /tools/publish by @dependabot[bot] in #2756
- feat(toolchains): create toolchains from locally installed python by @rickeylev in #2742
- fix: run python version call in isolated mode by @mattem in #2761
- fix(pypi): fixes to the marker evaluation and utils by @aignas in #2767
- fix: Prevent absolute path creation in uv lock template by @asa in #2769
- fix: Resolve incorrect platform specific dependency by @ewianda in #2766
- fix(rules): make the srcs trully optional by @aignas in #2768
- refactor(pypi): translate wheel METADATA parsing to starlark by @aignas in #2629
- fix: replace string with modern providers in tests by @comius in #2773
- feat(toolchain): Add new make vars for Python interpreter path compliant with
--no_legacy_external_runfilesby @FrankPortman in #2772 - fix(packaging): Format
METADATAcorrectly if given emptyrequires_fileby @FrankPortman in #2771 - build(deps): bump typing-extensions from 4.12.2 to 4.13.2 in /docs by @dependabot[bot] in #2776
- build(deps): bump urllib3 from 2.3.0 to 2.4.0 in /tools/publish by @dependabot[bot] in #2775
- build(deps): bump urllib3 from 2.3.0 to 2.4.0 in /docs by @dependabot[bot] in #2774
- refactor(bzlmod): stop using 'repo' attr in whl_library by @aignas in #2779
- perf: lazily load gazelle manifest files by @mattem in #2746
- fix(ci): use ubuntu-latest for mypy action by @aignas in #2784
- doc: better document supported platform tiers by @aignas in #2783
- fix(rules): copy_propagating_kwargs() now also copies target_compatible_with by @dws in #2788
- release: 1.4.0 release prep by @rickeylev in #2789
- fi...
1.7.0-rc6
For more detailed setup instructions, see https://rules-python.readthedocs.io/en/latest/getting-started.html
For the user-facing changelog see here
Using Bzlmod
Add to your MODULE.bazel file:
bazel_dep(name = "rules_python", version = "1.7.0-rc6")
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
python_version = "3.13",
)
pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
pip.parse(
hub_name = "pypi",
python_version = "3.13",
requirements_lock = "//:requirements_lock.txt",
)
use_repo(pip, "pypi")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 = "df04602e341fe0414d3774b5297c34cbcd8d9e0a525d28a87c25adae4588c11d",
strip_prefix = "rules_python-1.7.0-rc6",
url = "https://github.com/bazel-contrib/rules_python/releases/download/1.7.0-rc6/rules_python-1.7.0-rc6.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 = "df04602e341fe0414d3774b5297c34cbcd8d9e0a525d28a87c25adae4588c11d",
strip_prefix = "rules_python-1.7.0-rc6/gazelle",
url = "https://github.com/bazel-contrib/rules_python/releases/download/1.7.0-rc6/rules_python-1.7.0-rc6.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()Full Changelog: 1.7.0-rc5...1.7.0-rc6
1.7.0-rc5
For more detailed setup instructions, see https://rules-python.readthedocs.io/en/latest/getting-started.html
For the user-facing changelog see here
Using Bzlmod
Add to your MODULE.bazel file:
bazel_dep(name = "rules_python", version = "1.7.0-rc5")
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
python_version = "3.13",
)
pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
pip.parse(
hub_name = "pypi",
python_version = "3.13",
requirements_lock = "//:requirements_lock.txt",
)
use_repo(pip, "pypi")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 = "6b9185460d11d57a32139b103363fce39d81889206561ef582678273b74372ac",
strip_prefix = "rules_python-1.7.0-rc5",
url = "https://github.com/bazel-contrib/rules_python/releases/download/1.7.0-rc5/rules_python-1.7.0-rc5.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 = "6b9185460d11d57a32139b103363fce39d81889206561ef582678273b74372ac",
strip_prefix = "rules_python-1.7.0-rc5/gazelle",
url = "https://github.com/bazel-contrib/rules_python/releases/download/1.7.0-rc5/rules_python-1.7.0-rc5.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()Full Changelog: 1.7.0-rc4...1.7.0-rc5
1.7.0-rc4
For more detailed setup instructions, see https://rules-python.readthedocs.io/en/latest/getting-started.html
For the user-facing changelog see here
Using Bzlmod
Add to your MODULE.bazel file:
bazel_dep(name = "rules_python", version = "1.7.0-rc4")
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
python_version = "3.13",
)
pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
pip.parse(
hub_name = "pypi",
python_version = "3.13",
requirements_lock = "//:requirements_lock.txt",
)
use_repo(pip, "pypi")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 = "e7d0a548ce2302b3186f4b0d2d7c7d39d68dd62955468e9b160746af1aa234d1",
strip_prefix = "rules_python-1.7.0-rc4",
url = "https://github.com/bazel-contrib/rules_python/releases/download/1.7.0-rc4/rules_python-1.7.0-rc4.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 = "e7d0a548ce2302b3186f4b0d2d7c7d39d68dd62955468e9b160746af1aa234d1",
strip_prefix = "rules_python-1.7.0-rc4/gazelle",
url = "https://github.com/bazel-contrib/rules_python/releases/download/1.7.0-rc4/rules_python-1.7.0-rc4.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()Full Changelog: 1.7.0-rc2...1.7.0-rc4
1.7.0-rc3
For more detailed setup instructions, see https://rules-python.readthedocs.io/en/latest/getting-started.html
For the user-facing changelog see here
Using Bzlmod
Add to your MODULE.bazel file:
bazel_dep(name = "rules_python", version = "1.7.0-rc3")
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
python_version = "3.13",
)
pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
pip.parse(
hub_name = "pypi",
python_version = "3.13",
requirements_lock = "//:requirements_lock.txt",
)
use_repo(pip, "pypi")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 = "feb1d874c45fe21e15aecabb5c9925d77b3667f978ed1695b304b29afb1f3663",
strip_prefix = "rules_python-1.7.0-rc3",
url = "https://github.com/bazel-contrib/rules_python/releases/download/1.7.0-rc3/rules_python-1.7.0-rc3.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 = "feb1d874c45fe21e15aecabb5c9925d77b3667f978ed1695b304b29afb1f3663",
strip_prefix = "rules_python-1.7.0-rc3/gazelle",
url = "https://github.com/bazel-contrib/rules_python/releases/download/1.7.0-rc3/rules_python-1.7.0-rc3.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()Full Changelog: 1.7.0-rc1...1.7.0-rc3
1.7.0-rc2
For more detailed setup instructions, see https://rules-python.readthedocs.io/en/latest/getting-started.html
For the user-facing changelog see here
Using Bzlmod
Add to your MODULE.bazel file:
bazel_dep(name = "rules_python", version = "1.7.0-rc2")
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
python_version = "3.13",
)
pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
pip.parse(
hub_name = "pypi",
python_version = "3.13",
requirements_lock = "//:requirements_lock.txt",
)
use_repo(pip, "pypi")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 = "8a4910fc15f813846dce138099d6cb37ec327a49abded2b07da93eaae142c31c",
strip_prefix = "rules_python-1.7.0-rc2",
url = "https://github.com/bazel-contrib/rules_python/releases/download/1.7.0-rc2/rules_python-1.7.0-rc2.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 = "8a4910fc15f813846dce138099d6cb37ec327a49abded2b07da93eaae142c31c",
strip_prefix = "rules_python-1.7.0-rc2/gazelle",
url = "https://github.com/bazel-contrib/rules_python/releases/download/1.7.0-rc2/rules_python-1.7.0-rc2.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()Full Changelog: 1.7.0-rc1...1.7.0-rc2
1.7.0-rc1
For more detailed setup instructions, see https://rules-python.readthedocs.io/en/latest/getting-started.html
For the user-facing changelog see here
Using Bzlmod
Add to your MODULE.bazel file:
bazel_dep(name = "rules_python", version = "1.7.0-rc1")
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
python_version = "3.13",
)
pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
pip.parse(
hub_name = "pypi",
python_version = "3.13",
requirements_lock = "//:requirements_lock.txt",
)
use_repo(pip, "pypi")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 = "7671ad98078cf9a06d283ae47286fc60bab15397b89a8c2f05b432aad9a1029a",
strip_prefix = "rules_python-1.7.0-rc1",
url = "https://github.com/bazel-contrib/rules_python/releases/download/1.7.0-rc1/rules_python-1.7.0-rc1.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 = "7671ad98078cf9a06d283ae47286fc60bab15397b89a8c2f05b432aad9a1029a",
strip_prefix = "rules_python-1.7.0-rc1/gazelle",
url = "https://github.com/bazel-contrib/rules_python/releases/download/1.7.0-rc1/rules_python-1.7.0-rc1.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
- test(venv): functional test for pth files by @aignas in #3343
- docs: Fix GitHub PR links by @thejcannon in #3346
- build: Starlarkify python flags by @mai93 in #3334
- doc: Fix
pip.defaultarguments in multi-platform example by @hartikainen in #3358 - chore(toolchain): use the last build and add 3.15.0a1 by @aignas in #3357
- fix(doc): fix the release notes for the starlarkification of the flags by @aignas in #3361
- chore: switch to use publish-to-bcr workflow by @rickeylev in #3359
- chore: fix create_archive_and_notes to ignore release tool markers by @rickeylev in #3355
- chore: make gazelle bcr tests compatible with bcr presubmit environment by @rickeylev in #3365
- chore: fix release workflow by @rickeylev in #3366
- Merge main -> release/1.7 by @rickeylev in #3369
New Contributors
- @thejcannon made their first contribution in #3346
- @hartikainen made their first contribution in #3358
Full Changelog: 1.7.0-rc0...1.7.0-rc1
1.7.0-rc0
For more detailed setup instructions, see https://rules-python.readthedocs.io/en/latest/getting-started.html
For the user-facing changelog see here
Using Bzlmod
Add to your MODULE.bazel file:
bazel_dep(name = "rules_python", version = "1.7.0-rc0")
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
python_version = "3.13",
)
pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
pip.parse(
hub_name = "pypi",
python_version = "3.13",
requirements_lock = "//:requirements_lock.txt",
)
use_repo(pip, "pypi")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 = "a3024b21888b8299da01e2567516e084629ae7e0c17e78b966a1c77397e87f97",
strip_prefix = "rules_python-1.7.0-rc0",
url = "https://github.com/bazel-contrib/rules_python/releases/download/1.7.0-rc0/rules_python-1.7.0-rc0.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 = "a3024b21888b8299da01e2567516e084629ae7e0c17e78b966a1c77397e87f97",
strip_prefix = "rules_python-1.7.0-rc0/gazelle",
url = "https://github.com/bazel-contrib/rules_python/releases/download/1.7.0-rc0/rules_python-1.7.0-rc0.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
- fix(bootstrap): handle when runfiles env vars don't point to current binary's runfiles by @rickeylev in #3192
- docs: fix a couple typos in the changelog by @rickeylev in #3208
- chore: release helper tool by @rickeylev in #3206
- docs: fix changelog header anchors by @rickeylev in #3207
- fix(gazelle): Do not build proto targets with default Gazelle by @dougthor42 in #3216
- chore: create workflow to check the do-not-merge label by @rickeylev in #3213
- docs: Add 1.5.4 release notes to changelog by @rickeylev in #3221
- build(deps): bump requests from 2.32.4 to 2.32.5 in /tools/publish by @dependabot[bot] in #3214
- docs: tell how to push one tag; that rc start with n=0 by @rickeylev in #3222
- build(deps): bump typing-extensions from 4.14.1 to 4.15.0 in /docs by @dependabot[bot] in #3212
- build(deps): bump requests from 2.32.4 to 2.32.5 in /docs by @dependabot[bot] in #3211
- cleanup: remove support for extra actions by @comius in #3210
- build(deps): bump docutils from 0.21.2 to 0.22 in /docs by @dependabot[bot] in #3166
- chore: add AGENTS.md to help AI agents work with rules_python by @rickeylev in #3227
- build(deps): bump rich from 13.9.4 to 14.1.0 in /tools/publish by @dependabot[bot] in #3230
- build(deps): bump charset-normalizer from 3.4.2 to 3.4.3 in /tools/publish by @dependabot[bot] in #3231
- chore: allow release workflow to be manually run and skip pypi upload by @rickeylev in #3232
- chore: make release tool auto detect next version by @rickeylev in #3219
- build(deps): bump cryptography from 44.0.1 to 45.0.7 in /tools/publish by @dependabot[bot] in #3235
- build(deps): bump jeepney from 0.8.0 to 0.9.0 in /tools/publish by @dependabot[bot] in #3234
- build(deps): bump keyring from 25.5.0 to 25.6.0 in /tools/publish by @dependabot[bot] in #3236
- build(deps): bump importlib-metadata from 8.5.0 to 8.7.0 in /tools/publish by @dependabot[bot] in #3237
- refactor(gazelle): report missing BUILD_WORKSPACE_DIRECTORY key more directly by @ctcjab in #3240
- chore(deps): bump rules_cc to 0.1.5 by @aignas in #3238
- fix(sphinxdocs): add retry logic when exit code 2 occurs by @rickeylev in #3241
- fix(system_python): write import paths to generated file instead of using PYTHONPATH by @rickeylev in #3242
- refactor(pypi): split out a hub_builder helper from the extension code by @aignas in #3243
- chore: add GEMINI.md, have it load AGENTS.md by @rickeylev in #3246
- docs: fix pr doc builds by removing external_version_warning plugin by @rickeylev in #3244
- refactor: migrate tests to use hub_builder instead of full integration by @aignas in #3247
- build(deps): bump zipp from 3.20.2 to 3.23.0 in /tools/publish by @dependabot[bot] in #3253
- build(deps): bump more-itertools from 10.7.0 to 10.8.0 in /tools/publish by @dependabot[bot] in #3254
- feat: allow registering arbitrary settings for py_binary transitions by @rickeylev in #3248
- fix: ensure the stage1 bootstrap is executable by @EdSchouten in #3258
- fix: don't call Args.add() with an integer by @EdSchouten in #3259
- docs: update changelog for config_settings attribute by @rickeylev in #3257
- chore: add agents guidance for creating bzl_library targets by @rickeylev in #3264
- docs: improve whl_library documentation by @baxelrod-bdai in #3266
- refactor: use common_labels.bzl for labels used across files by @rickeylev in #3263
- fix(pypi): select the lowest available libc version by default by @aignas in #3255
- tests: add non-blocking ci config for bazel rolling by @rickeylev in #3272
- fix: venv site packages with pkgutil packages by @rickeylev in #3268
- build(deps): bump pycparser from 2.22 to 2.23 in /tools/publish by @dependabot[bot] in #3271
- build(deps): bump cffi from 1.17.1 to 2.0.0 in /tools/publish by @dependabot[bot] in #3270
- build: remove no-op _native_rules_allowlist by @mai93 in #3275
- build(deps): bump pkginfo from 1.10.0 to 1.12.1.2 in /tools/publish by @dependabot[bot] in #3229
- tests: make py_cc_toolchain test of headers/includes work with Bazel 9 by @rickeylev in #3276
- chore(docs): remove duplicate bzlmod guidance by @alexeagle in #3278
- chore: remove non-toolchain runtime resolution logic. by @gregestren in #3280
- feat(toolchains): ABI3 Python headers target by @nicholasjng in #3274
- docs: move 1.6.3 related changelog by @aignas in #3284
- refactor: read migrated native flags through a centralized accessor function by @gregestren in #3290
- build(deps): bump docutils from 0.21.2 to 0.22.2 in /docs by @dependabot[bot] in #3287
- build(deps): bump jaraco-functools from 4.1.0 to 4.3.0 in /tools/publish by @dependabot[bot] in #3288
- docs: add example for a complex multi-platform pypi configuration by @rickeylev in #3292
- feat(runfiles): support for --incompatible_compact_repo_mapping_manifest by @jklukas in #3277
- chore: cleanup bazel flags related to bazel 6 or below by @aignas in #3282
- refactor: rename symbols in re-exports by @aignas in #3300
- chore: use python.defaults to set rules_python default python version by @rickeylev in #3301
- docs: fix spelling of venvs_site_packages flag in changelog by @rickeylev in https://gi...
1.6.3
For more detailed setup instructions, see https://rules-python.readthedocs.io/en/latest/getting-started.html
For the user-facing changelog see here
Using Bzlmod
Add to your MODULE.bazel file:
bazel_dep(name = "rules_python", version = "1.6.3")
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
python_version = "3.13",
)
pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
pip.parse(
hub_name = "pypi",
python_version = "3.13",
requirements_lock = "//:requirements_lock.txt",
)
use_repo(pip, "pypi")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 = "2f5c284fbb4e86045c2632d3573fc006facbca5d1fa02976e89dc0cd5488b590",
strip_prefix = "rules_python-1.6.3",
url = "https://github.com/bazel-contrib/rules_python/releases/download/1.6.3/rules_python-1.6.3.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 = "2f5c284fbb4e86045c2632d3573fc006facbca5d1fa02976e89dc0cd5488b590",
strip_prefix = "rules_python-1.6.3/gazelle",
url = "https://github.com/bazel-contrib/rules_python/releases/download/1.6.3/rules_python-1.6.3.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()Full Changelog: 1.6.2...1.6.3
1.6.1
For more detailed setup instructions, see https://rules-python.readthedocs.io/en/latest/getting-started.html
For the user-facing changelog see here
Using Bzlmod
Add to your MODULE.bazel file:
bazel_dep(name = "rules_python", version = "1.6.1")
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
python_version = "3.13",
)
pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
pip.parse(
hub_name = "pypi",
python_version = "3.13",
requirements_lock = "//:requirements_lock.txt",
)
use_repo(pip, "pypi")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 = "f2e80f97f9c0b82e2489e61e725df1e6bdaf16c4dacf5e26b95668787164baff",
strip_prefix = "rules_python-1.6.1",
url = "https://github.com/bazel-contrib/rules_python/releases/download/1.6.1/rules_python-1.6.1.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 = "f2e80f97f9c0b82e2489e61e725df1e6bdaf16c4dacf5e26b95668787164baff",
strip_prefix = "rules_python-1.6.1/gazelle",
url = "https://github.com/bazel-contrib/rules_python/releases/download/1.6.1/rules_python-1.6.1.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()Full Changelog: 1.6.0...1.6.1