Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update dependency rules_python to v0.27.1 #85

Merged
merged 1 commit into from
Dec 16, 2023

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Nov 17, 2023

Mend Renovate

This PR contains the following updates:

Package Type Update Change
rules_python http_archive minor 0.26.0 -> 0.27.1

Release Notes

bazelbuild/rules_python (rules_python)

v0.27.1

Compare Source

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

pip = use_extension("@​rules_python//python/extensions:pip.bzl", "pip")

pip.parse(
    name = "pip",
    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 = "e85ae30de33625a63eca7fc40a94fea845e641888e52f32b6beea91e8b1b2793",
    strip_prefix = "rules_python-0.27.1",
    url = "https://github.com/bazelbuild/rules_python/releases/download/0.27.1/rules_python-0.27.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 = "e85ae30de33625a63eca7fc40a94fea845e641888e52f32b6beea91e8b1b2793",
    strip_prefix = "rules_python-0.27.1/gazelle",
    url = "https://github.com/bazelbuild/rules_python/releases/download/0.27.1/rules_python-0.27.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: bazelbuild/rules_python@0.27.0...0.27.1

v0.27.0

Compare Source

Changed
  • Make //python/pip_install:pip_repository_bzl bzl_library target internal
    as all of the publicly available symbols (etc. package_annotation) are
    re-exported via //python:pip_bzl bzl_library.

  • (gazelle) Gazelle Python extension no longer has runtime dependencies. Using
    GAZELLE_PYTHON_RUNTIME_DEPS from @rules_python_gazelle_plugin//:def.bzl is
    no longer necessary.

  • (pip_parse) The installation of pip_parse repository rule toolchain
    dependencies is now done as part of py_repositories call.

  • (pip_parse) The generated requirements.bzl file now has an additional symbol
    all_whl_requirements_by_package which provides a map from the normalized
    PyPI package name to the target that provides the built wheel file. Use
    pip_utils.normalize_name function from @rules_python//python:pip.bzl to
    convert a PyPI package name to a key in the all_whl_requirements_by_package
    map.

  • (pip_parse) The flag incompatible_generate_aliases has been flipped to
    True by default on non-bzlmod setups allowing users to use the same label
    strings during the transition period. For example, instead of
    @pypi_foo//:pkg, you can now use @pypi//foo or @pypi//foo:pkg. Other
    labels that are present in the foo package are dist_info, whl and
    data. Note, that the @pypi_foo//:pkg labels are still present for
    backwards compatibility.

  • (gazelle) The flag use_pip_repository_aliases is now set to True by
    default, which will cause gazelle to change third-party dependency labels
    from @pip_foo//:pkg to @pip//foo by default.

  • The compile_pip_requirements now defaults to pyproject.toml if the src
    or requirements_in attributes are unspecified, matching the upstream
    pip-compile behaviour more closely.

  • (gazelle) Use relative paths if possible for dependencies added through
    the use of the resolve directive.

  • (gazelle) When using python_generation_mode file, one py_test target is
    made per test file even if a target named __test__ or a file named
    __test__.py exists in the same package. Previously in these cases there
    would only be one test target made.

Breaking changes:

  • (pip) pip_install repository rule in this release has been disabled and
    will fail by default. The API symbol is going to be removed in the next
    version, please migrate to pip_parse as a replacement. The pip_parse
    rule no longer supports requirements attribute, please use
    requirements_lock instead.

  • (py_wheel) switch incompatible_normalize_name and
    incompatible_normalize_version to True by default to enforce PEP440
    for wheel names built by rules_python.

  • (tools/wheelmaker.py) drop support for Python 2 as only Python 3 is tested.

Fixed
  • Skip aliases for unloaded toolchains. Some Python versions that don't have full
    platform support, and referencing their undefined repositories can break operations
    like bazel query rdeps(...).

  • Python code generated from proto_library with strip_import_prefix can be imported now.

  • (py_wheel) Produce deterministic wheel files and make RECORD file entries
    follow the order of files written to the .whl archive.

  • (gazelle) Generate a single py_test target when gazelle:python_generation_mode project
    is used.

  • (gazelle) Move waiting for the Python interpreter process to exit to the shutdown hook
    to make the usage of the exec.Command more idiomatic.

  • (toolchains) Keep tcl subdirectory in Windows build of hermetic interpreter.

  • (bzlmod) sub-modules now don't have the //conditions:default clause in the
    hub repos created by pip.parse. This should fix confusing error messages
    in case there is a misconfiguration of toolchains or a bug in rules_python.

Added
  • (bzlmod) Added .whl patching support via patches and patch_strip
    arguments to the new pip.override tag class.

  • (pip) Support for using PEP621 compliant
    pyproject.toml for creating a resolved requirements.txt file.

  • (utils) Added a pip_utils struct with a normalize_name function to allow users
    to find out how rules_python would normalize a PyPI distribution name.


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), 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.

@renovate renovate bot force-pushed the renovate/rules_python-0.x branch from 67ada6b to a84b4f6 Compare November 20, 2023 19:29
@renovate renovate bot changed the title chore(deps): update dependency rules_python to v0.27.0 chore(deps): update dependency rules_python to v0.27.1 Dec 5, 2023
@renovate renovate bot force-pushed the renovate/rules_python-0.x branch from a84b4f6 to b70d0c6 Compare December 5, 2023 00:12
@renovate renovate bot force-pushed the renovate/rules_python-0.x branch from b70d0c6 to ca9015d Compare December 16, 2023 14:36
@lalten lalten merged commit ce39a8f into main Dec 16, 2023
8 checks passed
@lalten lalten deleted the renovate/rules_python-0.x branch December 16, 2023 14:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant