Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: bazel-contrib/rules_python

1.6.1

08 Sep 12:58
Compare
Choose a tag to compare

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

1.6.0

03 Sep 17:40
Compare
Choose a tag to compare

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.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 = "fa7dd2c6b7d63b3585028dd8a90a6cf9db83c33b250959c2ee7b583a6c130e12",
    strip_prefix = "rules_python-1.6.0",
    url = "https://github.com/bazel-contrib/rules_python/releases/download/1.6.0/rules_python-1.6.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 = "fa7dd2c6b7d63b3585028dd8a90a6cf9db83c33b250959c2ee7b583a6c130e12",
    strip_prefix = "rules_python-1.6.0/gazelle",
    url = "https://github.com/bazel-contrib/rules_python/releases/download/1.6.0/rules_python-1.6.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

  • chore: Fixup some typos in BuildKite job names by @dougthor42 in #2977
  • refactor: Remove unused CC_TOOLCHAIN definition by @katre in #2981
  • Fix argument name typo by @keith in #2984
  • build(deps): bump certifi from 2025.1.31 to 2025.6.15 in /tools/publish by @dependabot[bot] in #2999
  • build(deps): bump certifi from 2025.1.31 to 2025.6.15 in /docs by @dependabot[bot] in #3000
  • build(deps): bump requests from 2.32.3 to 2.32.4 in /docs by @dependabot[bot] in #2965
  • fix: use platform_info.target_settings in toolchain aliases by @aignas in #3001
  • refactor(gazelle) Types for exposed members of python.ParserOutput are now all public by @yushan26 in #2959
  • feat(pypi): pip.defaults API for customizing pipstar 1/n by @aignas in #2987
  • feat(pypi): pip.defaults API for customizing repo selection 2/n by @aignas in #2988
  • fix(toolchains): use posix-compatible exec -a alternative by @rickeylev in #3010
  • build(deps): bump urllib3 from 2.4.0 to 2.5.0 in /tools/publish by @dependabot[bot] in #3008
  • feat: support arbitrary target_settings in our platforms 3/n by @aignas in #2990
  • docs: fix various typos and improve grammar by @rickeylev in #3015
  • feat(gazelle): For package mode, resolve dependencies when imports are relative to the package path by @yushan26 in #2865
  • fix: Fix bazel vendor support for requirements with environment markers by @armandomontanez in #2997
  • fix(pypi): namespace_pkgs should pass correct arguments by @aignas in #3026
  • fix: work around version parsing by only parsing if site-packages is enabled by @rickeylev in #3031
  • docs,tests: Clarify how py_wheel.strip_path_prefixes works; add test case by @dougthor42 in #3027
  • feat(gazelle): Add type-checking only dependencies to pyi_deps by @amartani in #3014
  • fix: delete BUILD et al files from pypi sourced dependencies by @rickeylev in #3029
  • fix(gazelle) Fix dependency added as both deps and pyi_deps by @amartani in #3036
  • fix(gazelle) Register pyi_deps as ResolveAttrs by @amartani in #3037
  • docs: Typo in gazelle/README.md by @jklukas in #3040
  • feat(gazelle) Remove entry point file requirements when generating rules by @yushan26 in #2998
  • fix: Don't let deprecated test targets get matched by '...' by @robinlinden in #3045
  • fix: add py.typed to runfiles py_wheel so it gets packaged by @aaronsky in #3041
  • docs: Add note about Python 3.9 to CHANGELOG.md by @thirtyseven in #3052
  • fix: Updating Python toolchains to patch CVE-2025-47273 by @aaronmaxlevy in #3053
  • docs: doc expectations of ai-assisted contributions by @rickeylev in #3051
  • fix(local-toolchains): don't watch non-existent include directory by @rickeylev in #3048
  • build(deps): bump urllib3 from 2.4.0 to 2.5.0 in /docs by @dependabot[bot] in #3042
  • fix(pypi): only generate namespace package shims if implicit namespaces are disabled by @rickeylev in #3059
  • feat: Add windows arm64 python toolchains by @AustinSchuh in #3062
  • refactor(toolchains): better sha256 printing helper by @aignas in #3028
  • refactor(pypi): move the platform config to MODULE.bazel by @aignas in #3064
  • fix(pypi): correctly handle custom names in pipstar platforms by @aignas in #3054
  • tests(pypi): add tests for namespace shims generation by @rickeylev in #3066
  • build(deps): bump pygments from 2.19.1 to 2.19.2 in /docs by @dependabot[bot] in #3019
  • build(deps): bump charset-normalizer from 3.4.1 to 3.4.2 in /docs by @dependabot[bot] in #3018
  • fix: parsing local version with digit followed by non-digits by @rickeylev in #3032
  • feat(pypi): generate filegroup with all extracted wheel files by @rickeylev in #3011
  • docs: add whl_from_dir to dev guide docs by @rickeylev in #3067
  • fix(toolchains): fix the URLs and sha256 values by @aignas in #3070
  • chore: Switch back to smacker/go-tree-sitter by @dougthor42 in #3069
  • build(deps): bump charset-normalizer from 3.4.1 to 3.4.2 in /tools/publish by @dependabot[bot] in #3020
  • build(deps): bump pygments from 2.18.0 to 2.19.2 in /tools/publish by @dependabot[bot] in #3021
  • ci: use Ubuntu 22.04 by @aignas in #3083
  • fix(gazelle) Update gazelle to properly process multi-line python imports by @yushan26 in #3077
  • feat(gazelle): Gazelle plugin generates py_proto_library by @shaldengeki in #3057
  • feat(gazelle): Add include_pytest_conftest annotation by @dougthor42 in #3080
  • docs: tell how to emulate dependency groups with pip-compile by @rickeylev in #3089
  • chore: update python toolchains by @aignas in #3074
  • feat: replace /bin/bash with /usr/bin/env bash by @fionera in #3087
  • build(deps): bump certifi from 2025.6.15 to 2025.7.14 in /docs by @dependabot[bot] in #3092
  • build(deps): bump certifi from 2025.6.15 to 2025.7.14 in /tools/publish by @dependabot[bot] in #3095
  • fix: support debian multiarch with local toolchains by @rickeylev in #3100
  • refactor(gazelle_manifest): print the wrong hash when encountered by @alexeagle in #3103
  • feat(gazelle): python_proto_naming_convention directive controls py_proto_library naming by @shaldengeki in #3093
  • fix(pypi): expose pypi pa...
Read more

1.5.4

28 Aug 05:33
019fb4b
Compare
Choose a tag to compare

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.5.4")

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 = "13671d304cfe43350302213a60d93a5fc0b763b0a6de17397e3e239253b61b73",
    strip_prefix = "rules_python-1.5.4",
    url = "https://github.com/bazel-contrib/rules_python/releases/download/1.5.4/rules_python-1.5.4.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 = "13671d304cfe43350302213a60d93a5fc0b763b0a6de17397e3e239253b61b73",
    strip_prefix = "rules_python-1.5.4/gazelle",
    url = "https://github.com/bazel-contrib/rules_python/releases/download/1.5.4/rules_python-1.5.4.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

Full Changelog: 1.5.3...1.5.4

1.6.0-rc0

24 Aug 16:56
24146a4
Compare
Choose a tag to compare
1.6.0-rc0 Pre-release
Pre-release

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.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 = "3664a03376fc2441e2dec357000b3a80119e2ea062ea1be41418daeb91451055",
    strip_prefix = "rules_python-1.6.0-rc0",
    url = "https://github.com/bazel-contrib/rules_python/releases/download/1.6.0-rc0/rules_python-1.6.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 = "3664a03376fc2441e2dec357000b3a80119e2ea062ea1be41418daeb91451055",
    strip_prefix = "rules_python-1.6.0-rc0/gazelle",
    url = "https://github.com/bazel-contrib/rules_python/releases/download/1.6.0-rc0/rules_python-1.6.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

  • chore: Fixup some typos in BuildKite job names by @dougthor42 in #2977
  • refactor: Remove unused CC_TOOLCHAIN definition by @katre in #2981
  • Fix argument name typo by @keith in #2984
  • build(deps): bump certifi from 2025.1.31 to 2025.6.15 in /tools/publish by @dependabot[bot] in #2999
  • build(deps): bump certifi from 2025.1.31 to 2025.6.15 in /docs by @dependabot[bot] in #3000
  • build(deps): bump requests from 2.32.3 to 2.32.4 in /docs by @dependabot[bot] in #2965
  • fix: use platform_info.target_settings in toolchain aliases by @aignas in #3001
  • refactor(gazelle) Types for exposed members of python.ParserOutput are now all public by @yushan26 in #2959
  • feat(pypi): pip.defaults API for customizing pipstar 1/n by @aignas in #2987
  • feat(pypi): pip.defaults API for customizing repo selection 2/n by @aignas in #2988
  • fix(toolchains): use posix-compatible exec -a alternative by @rickeylev in #3010
  • build(deps): bump urllib3 from 2.4.0 to 2.5.0 in /tools/publish by @dependabot[bot] in #3008
  • feat: support arbitrary target_settings in our platforms 3/n by @aignas in #2990
  • docs: fix various typos and improve grammar by @rickeylev in #3015
  • feat(gazelle): For package mode, resolve dependencies when imports are relative to the package path by @yushan26 in #2865
  • fix: Fix bazel vendor support for requirements with environment markers by @armandomontanez in #2997
  • fix(pypi): namespace_pkgs should pass correct arguments by @aignas in #3026
  • fix: work around version parsing by only parsing if site-packages is enabled by @rickeylev in #3031
  • docs,tests: Clarify how py_wheel.strip_path_prefixes works; add test case by @dougthor42 in #3027
  • feat(gazelle): Add type-checking only dependencies to pyi_deps by @amartani in #3014
  • fix: delete BUILD et al files from pypi sourced dependencies by @rickeylev in #3029
  • fix(gazelle) Fix dependency added as both deps and pyi_deps by @amartani in #3036
  • fix(gazelle) Register pyi_deps as ResolveAttrs by @amartani in #3037
  • docs: Typo in gazelle/README.md by @jklukas in #3040
  • feat(gazelle) Remove entry point file requirements when generating rules by @yushan26 in #2998
  • fix: Don't let deprecated test targets get matched by '...' by @robinlinden in #3045
  • fix: add py.typed to runfiles py_wheel so it gets packaged by @aaronsky in #3041
  • docs: Add note about Python 3.9 to CHANGELOG.md by @thirtyseven in #3052
  • fix: Updating Python toolchains to patch CVE-2025-47273 by @aaronmaxlevy in #3053
  • docs: doc expectations of ai-assisted contributions by @rickeylev in #3051
  • fix(local-toolchains): don't watch non-existent include directory by @rickeylev in #3048
  • build(deps): bump urllib3 from 2.4.0 to 2.5.0 in /docs by @dependabot[bot] in #3042
  • fix(pypi): only generate namespace package shims if implicit namespaces are disabled by @rickeylev in #3059
  • feat: Add windows arm64 python toolchains by @AustinSchuh in #3062
  • refactor(toolchains): better sha256 printing helper by @aignas in #3028
  • refactor(pypi): move the platform config to MODULE.bazel by @aignas in #3064
  • fix(pypi): correctly handle custom names in pipstar platforms by @aignas in #3054
  • tests(pypi): add tests for namespace shims generation by @rickeylev in #3066
  • build(deps): bump pygments from 2.19.1 to 2.19.2 in /docs by @dependabot[bot] in #3019
  • build(deps): bump charset-normalizer from 3.4.1 to 3.4.2 in /docs by @dependabot[bot] in #3018
  • fix: parsing local version with digit followed by non-digits by @rickeylev in #3032
  • feat(pypi): generate filegroup with all extracted wheel files by @rickeylev in #3011
  • docs: add whl_from_dir to dev guide docs by @rickeylev in #3067
  • fix(toolchains): fix the URLs and sha256 values by @aignas in #3070
  • chore: Switch back to smacker/go-tree-sitter by @dougthor42 in #3069
  • build(deps): bump charset-normalizer from 3.4.1 to 3.4.2 in /tools/publish by @dependabot[bot] in #3020
  • build(deps): bump pygments from 2.18.0 to 2.19.2 in /tools/publish by @dependabot[bot] in #3021
  • ci: use Ubuntu 22.04 by @aignas in #3083
  • fix(gazelle) Update gazelle to properly process multi-line python imports by @yushan26 in #3077
  • feat(gazelle): Gazelle plugin generates py_proto_library by @shaldengeki in #3057
  • feat(gazelle): Add include_pytest_conftest annotation by @dougthor42 in #3080
  • docs: tell how to emulate dependency groups with pip-compile by @rickeylev in #3089
  • chore: update python toolchains by @aignas in #3074
  • feat: replace /bin/bash with /usr/bin/env bash by @fionera in #3087
  • build(deps): bump certifi from 2025.6.15 to 2025.7.14 in /docs by @dependabot[bot] in #3092
  • build(deps): bump certifi from 2025.6.15 to 2025.7.14 in /tools/publish by @dependabot[bot] in #3095
  • fix: support debian multiarch with local toolchains by @rickeylev in #3100
  • refactor(gazelle_manifest): print the wrong hash when encountered by @alexeagle in #3103
  • feat(gazelle): python_proto_naming_convention directive controls py_proto_library naming by @shaldengeki in #3093
  • fix(pypi): expose pypi packages only common to all python versions by @dotoleeoak in https://github.com/bazel-contrib...
Read more

1.4.2

18 Aug 15:40
998d2bc
Compare
Choose a tag to compare

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.4.2")

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 = "daf1c27517e8526c212195345b4f6f02dd8cad69aa099d3bdb11868458211829",
    strip_prefix = "rules_python-1.4.2",
    url = "https://github.com/bazel-contrib/rules_python/releases/download/1.4.2/rules_python-1.4.2.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 = "daf1c27517e8526c212195345b4f6f02dd8cad69aa099d3bdb11868458211829",
    strip_prefix = "rules_python-1.4.2/gazelle",
    url = "https://github.com/bazel-contrib/rules_python/releases/download/1.4.2/rules_python-1.4.2.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

Full Changelog: 1.4.1...1.4.2

1.5.3

11 Aug 23:46
Compare
Choose a tag to compare

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.5.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 = "0a1cefefb4a7b550fb0b43f54df67d6da95b7ba352637669e46c987f69986f6a",
    strip_prefix = "rules_python-1.5.3",
    url = "https://github.com/bazel-contrib/rules_python/releases/download/1.5.3/rules_python-1.5.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 = "0a1cefefb4a7b550fb0b43f54df67d6da95b7ba352637669e46c987f69986f6a",
    strip_prefix = "rules_python-1.5.3/gazelle",
    url = "https://github.com/bazel-contrib/rules_python/releases/download/1.5.3/rules_python-1.5.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.5.2...1.5.3

1.5.2

11 Aug 08:02
Compare
Choose a tag to compare

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.5.2")

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 = "0e68f851a6fcf317eeab5f6dc79803cb183d30c0c65fb52e2c4b731d13b73349",
    strip_prefix = "rules_python-1.5.2",
    url = "https://github.com/bazel-contrib/rules_python/releases/download/1.5.2/rules_python-1.5.2.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 = "0e68f851a6fcf317eeab5f6dc79803cb183d30c0c65fb52e2c4b731d13b73349",
    strip_prefix = "rules_python-1.5.2/gazelle",
    url = "https://github.com/bazel-contrib/rules_python/releases/download/1.5.2/rules_python-1.5.2.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.5.1...1.5.2

1.5.1

06 Jul 03:27
Compare
Choose a tag to compare

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.5.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 = "fa532d635f29c038a64c8062724af700c30cf6b31174dd4fac120bc561a1a560",
    strip_prefix = "rules_python-1.5.1",
    url = "https://github.com/bazel-contrib/rules_python/releases/download/1.5.1/rules_python-1.5.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 = "fa532d635f29c038a64c8062724af700c30cf6b31174dd4fac120bc561a1a560",
    strip_prefix = "rules_python-1.5.1/gazelle",
    url = "https://github.com/bazel-contrib/rules_python/releases/download/1.5.1/rules_python-1.5.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.5.0...1.5.1

1.5.0

30 Jun 21:41
Compare
Choose a tag to compare

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.5.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 = "7b9039c31e909cf59eeaea8ccbdc54f09f7ebaeb9609b94371c7de45e802977c",
    strip_prefix = "rules_python-1.5.0",
    url = "https://github.com/bazel-contrib/rules_python/releases/download/1.5.0/rules_python-1.5.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 = "7b9039c31e909cf59eeaea8ccbdc54f09f7ebaeb9609b94371c7de45e802977c",
    strip_prefix = "rules_python-1.5.0/gazelle",
    url = "https://github.com/bazel-contrib/rules_python/releases/download/1.5.0/rules_python-1.5.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

  • fix: declare PyInfo as provided by test/binary/library by @layus in #2777
  • fix: load target_platforms through the hub by @aignas in #2781
  • chore: remove a stray file by @aignas in #2795
  • build(deps): bump sphinx-rtd-theme from 3.0.1 to 3.0.2 in /docs by @dependabot in #2802
  • build(deps): bump astroid from 3.3.6 to 3.3.9 in /docs by @dependabot in #2803
  • build(deps): bump packaging from 24.2 to 25.0 in /docs by @dependabot in #2804
  • fix: fixes to prepare for making bootstrap=script the default for Linux by @rickeylev in #2760
  • fix: escape more invalid repo string characters by @keith in #2801
  • fix: parsing metadata with inline licenses by @keith in #2806
  • test(pypi): add a test case for simpleapi html parsing with % by @aignas in #2811
  • build: Run pre-commit everywhere by @brandonchinn178 in #2808
  • refactor/docs: improve compile_pip_requirements error message and docs by @brandonchinn178 in #2792
  • feat: Have pip_compile generate a *.test target; deprecate *_test by @dougthor42 in #2812
  • fix: try multiple times to get win32 version to handle flakes by @rickeylev in #2814
  • refactor: Add log_std(out|err) bools to repo_utils that execute a subprocess by @dougthor42 in #2817
  • fix: use the python micro version to parse whl metadata in bzlmod by @aignas in #2793
  • fix(pypi): call python --version before marker eval by @aignas in #2819
  • docs: add xrefs for local toolchains rules by @rickeylev in #2823
  • docs: Improve bazel-runfiles docs by @fmeum in #2824
  • revert(pypi): bring back Python PEP508 code with tests by @aignas in #2831
  • fix(pypi) backport python_full_version fix to Python by @aignas in #2833
  • revert(pypi): use Python for marker eval and METADATA parsing by @aignas in #2834
  • feat: implement less/greater operators for string for env marker evaluation by @rickeylev in #2827
  • docs: doc version when RULES_PYTHON_ENABLE_PYSTAR was introduced by @rickeylev in #2838
  • fix(pypi): handle more URL patterns for requirement sources by @aignas in #2843
  • docs: document some of our project styles/conventions by @rickeylev in #2816
  • fix: requires_file preserves extras that package depends on by @skongum02 in #2807
  • refactor: add rule to do analysis time evaluation of environment markers by @rickeylev in #2832
  • py_wheel: always generate zip64-capable wheels by @devtbi in #2711
  • feat: allow specifying arbitrary constraints for local toolchains by @rickeylev in #2829
  • feat: add an env variable to toggle pipstar by @aignas in #2855
  • fix: add target platform to extra exec platforms in analysis tests by @fmeum in #2861
  • fix: configure coverage helpers for test exec group by @fmeum in #2857
  • fix: fix test analysis error on macOS arm64 by @fmeum in #2860
  • refactor: make env marker config available through target and flag by @rickeylev in #2853
  • feat: default to bootstrap script for non-windows by @rickeylev in #2858
  • fix(pypi): fix a typo in parse_simpleapi_html by @aignas in #2866
  • build(deps): bump more-itertools from 10.5.0 to 10.7.0 in /tools/publish by @dependabot in #2841
  • fix(pypi): finish PEP508/PEP440 impl for version matching by @aignas in #2856
  • tests: make some analysis tests work for when test's exec platform is required by @fmeum in #2869
  • fix(pypi): make the URL/filename extraction from requirement more robust by @aignas in #2871
  • feat(pypi): actually start using env_marker_setting by @aignas in #2873
  • refactor: make python extension generate platform toolchains by @rickeylev in #2875
  • Fix whl_library file path inference by @gholms in #2876
  • refactor: consolidate version parsing by @aignas in #2874
  • feat: Add support for REPLs by @philsc in #2723
  • cleanup: remove unused sanitize_platform_name function by @rickeylev in #2887
  • refactor: move inline code strings to top-level constants by @rickeylev in #2886
  • dev: add .python-version file so pyenv isn't user/system specific by @rickeylev in #2883
  • refactor: have bzlmod pass platforms to python_register_toolchains by @rickeylev in #2884
  • sphinxdocs: close repo rule directives by @rickeylev in #2892
  • sphinxdocs: make xrefs to bzl:obj in inventories work by @rickeylev in #2894
  • sphinxdocs: make xrefs to tag class attributes using attr role work by @rickeylev in #2895
  • sphinxdocs: allow unqualified arg/attr name for xref by @rickeylev in #2896
  • docs: fix xref to toolchain docs from getting starting by @rickeylev in #2899
  • sphinxdocs: allow files to be xref by @rickeylev in #2897
  • docs: move devguide to sphinx for more powerful markup by @rickeylev in #2898
  • sphinxdocs: make bazel package xrefs work by @rickeylev in #2903
  • docs: fix most broken xrefs in changelog by @rickeylev in #2902
  • tests: move py_reconfig rules to their own file by @rickeylev in #2900
  • docs: fix link to py_reconfig and sh_py_run_test files by @rickeylev in #2901
  • sphinxdocs: make Any and object types no-ops to avoid missing xrefs by @rickeylev in https://githu...
Read more

1.5.0-rc4

26 Jun 02:06
Compare
Choose a tag to compare
1.5.0-rc4 Pre-release
Pre-release

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.5.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 = "8b98bfab75cd469bd5f9b63dc48a2f652b0348880006e5cb8299f4ee04292a95",
    strip_prefix = "rules_python-1.5.0-rc4",
    url = "https://github.com/bazel-contrib/rules_python/releases/download/1.5.0-rc4/rules_python-1.5.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 = "8b98bfab75cd469bd5f9b63dc48a2f652b0348880006e5cb8299f4ee04292a95",
    strip_prefix = "rules_python-1.5.0-rc4/gazelle",
    url = "https://github.com/bazel-contrib/rules_python/releases/download/1.5.0-rc4/rules_python-1.5.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.5.0-rc3...1.5.0-rc4