chore(deps): update dependency rules_python to v2#230
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
f566265 to
e64726f
Compare
e64726f to
178f802
Compare
178f802 to
8d62262
Compare
8d62262 to
68fc708
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.40.0→2.0.2Release Notes
bazelbuild/rules_python (rules_python)
v2.0.2Compare Source
{#v2-0-2-added}
Added
3.13.12,3.14.3Python toolchain from 20260325 release.3.10.20,3.11.15,3.12.13,3.13.133.14.4,3.15.0a8{#v2-0-1}
v2.0.1Compare Source
{#v2-0-1-fixed}
Fixed
MODULE.bazel.lockfilefacts by passing all of the versions to the
get_indexfunction.Fixes #3756.
(#3749).
{#v2-0-0}
v2.0.0Compare Source
{#v2-0-0-removed}
Removed
{#v2-0-0-changed}
Changed
Breaking
--windows_enable_symlinksis required. Addstartup --windows_enable_symlinksto your.bazelrcto enable Bazel using fullsymlink support on Windows.
--bootstrap_impl=system_python)on supported platforms (Linux/Mac with Bazel 8+, or Windows).
--build_python_zipon Windows is ignored. Use {obj}py_zipapp_binaryto createzips of Python programs.
experimental_index_urlusers would not need to specifytarget platforms if cross-building is required. From now we will only pull
wheels for the host OS to better align with how the rules work with the legacy
pipimplementation. Use {obj}pip.parse.target_platformsto customize thebehavior.
Related to #260.
Other changes:
compile_pip_requirements, buildingsdists in the
whl_libraryrule and fetching wheels usingpip.we will from now on fetch the lists of available packages on each index. The
used package mappings will be written as facts to the
MODULE.bazel.lockfileon supported bazel versions and it should be done at most once. As a result,
per-package {obj}
experimental_index_url_overridesis no longer needed, butif specified, it needs to be provided for all packages not on the default index. What
is more, the flags for
--index_urland--extra-index-urlnow behave in thesame way as in
uvorpip, i.e. we default to--index-urlif the packageis not found in
--extra-index-url. Fixes(#3260 and
#2632).
uv'sdist_manifest.jsonfile. If you have redirects or blocking rules as part ofyour downloader setup, you may need to adjust them. What is more, the default
uv version has been bumped
0.11.2.symlink-based runfiles tree is created, as on unix-like platforms.
{#v2-0-0-fixed}
Fixed
py_zippapp_binarytargets(#3646).
cause the Python runtime repository to be invalidated. The stdlib pyc files
may be reused in between invocations, depending upon the sandboxing
configuration. See the {any}
RULES_PYTHON_PYCACHE_DIRenvironment variablefor more information.
(#3643).
scripts when binary is defined in another bazel module
(#3563).
RUNFILES_DIRinheritance issues, which lead to a childPython binary incorrectly using it's parent's Python binary environment
(#3518).
>=0.10work again. In order to fix this we haddrop support for
powerpc64platform. People interested in the platform canbring it back via the
uv.defaultAPI. Like:Fixes #3712.
{#v2-0-0-added}
Added
MODULE.bazel.lockfile if using{obj}
experimental_index_urlwhich should speed up consecutiveinitializations and should no longer require the network access if the cache is
hydrated. Implements
#2731.
--index-urland--extra-index-urlis now parsed from the lockfile and the {obj}
pip.parse.experimental_index_urland{obj}
pip.parse.experimental_extra_index_urlsisno longer mandatory to leverage the bazel downloader.
Implements
#1357,
#2951.
pip.parse.target_platformsto specify exactly which platforms should be supported.
Implements
#260.
/as a destination indata_fileswill now install file(s) to a folder, preserving their basename.
py_runtime.venv_bin_filesand {obj}PyRuntime.venv_binfilesfield added to specify additional Python runtime files Windows needs for
venvs.
PyExecutableInfo.venv_interpreter_runfiles, and{obj}
PyExecutableInfo.venv_interpreter_symlinksaddeadd_path_prefixargument inpy_wheelwhich can beused to prepend a prefix to the files in the wheel.
{#v1-9-1}
v1.9.1Compare Source
{#v1-9-1-added}
Added
3.13.12,3.14.3Python toolchain from [2026032] release.3.10.20,3.11.15,3.12.13,3.13.133.14.4,3.15.0a82026041] release.{#v1-9-0}
v1.9.0Compare Source
{#v1-9-0-removed}
Removed
{#v1-9-0-changed}
Changed
py_binary/py_testhas been deprecated andreplaced by separate {obj}
py_zipapp_binaryand {obj}py_zipapp_testrules. See
#3567
for a detailed migration guide.
Please consider depending on the flags defined in
//python/config_setting/...and the@platformspackage instead.PYTHONBREAKPOINTenvironment variable is automatically inheritedstampattribute now transitions the Bazel builtin{flag}
--stampflag.in order to make
pytorchand friends easier to patch.py_wheelno longer expands the input depset during analysis,improving analysis performance for targets with large dependency trees.
--enable_runfiles=trueis the default forpy_binary/py_test. Prior behavior can be restored by adding@rules_python//command_line_option:enable_runfiles=falseor@rules_python//command_line_option:enable_runfiles=INHERITto theconfig_settingsattribute. NOTE:enable_runfiles=truewillsoon become required for Windows.
{#v1-9-0-fixed}
Fixed
(#2762)
conftest.pyfiles are added in addition to siblingconftest.py.(#3497) Note
that this behavior can be reverted to the pre-1.9.0 behavior by setting the new
python_include_ancestor_conftestdirective tofalse.{#v1-9-0-added}
Added
--debugger: allows specifying an extra dependencyto add to binaries/tests for custom debuggers.
Use the
bazel_binary_infomodule to access it. The {flag}--stampflag willadd {obj}
--workspace_status_commandinformation.python_generate_pyi_srcshas been added. Whentrue, apy_*target'spyi_srcsattribute will be set if any.pyifilesthat are associated with the target's
srcsare present.(#3354).
py_zipapp_binaryand {obj}py_zipapp_testrules added. Thesewill replace
--build_python_zipand the zip output group ofpy_binary/py_test. The zipapp rules support more functionality, correctness,and have better build performance.
PyExecToolsInfo.exec_runtimefor more easilygetting an RBE-compatible runtime to use for build actions.
PyExecutableInfohas several new fields to aid packagingof binaries: {obj}
PyExecutableInfo.app_runfiles,{obj}
PyExecutableInfo.interpreter_args,{obj}
PyExecutableInfo.stage2_bootstrap, and{obj}
PyExecutableInfo.venv_python_exe.in Requires-Dist metadata. (#3569)
python_include_ancestor_conftesthas been added.When
false, ancestorconftesttargets are not automatically added to{bzl:obj}
py_testtarget dependencies. Thisfalsebehavior is how thingswere in
rules_pythonbefore 1.9.0. The default istrue, as the prior behaviorwas technically incorrect.
(#3596)
{#v1-8-5}
v1.8.5Compare Source
{#v1-8-5-fixed}
Fixed
CurrentRepository()raisingValueErroron Windows.(#3579)
pip_parseno longer silently drops PEP 508 URL-based requirements(
pkg @​ https://...) whenextract_url_srcs=False(the default forpip_repository).fixing missing transitive dependencies when extras contain hyphens
(e.g.,
sqlalchemy[postgresql-psycopg2binary]).(#3587)
{#v1-8-4}
v1.8.4Compare Source
{#v1-8-4-fixed}
Fixed
"1.2" ~= "1.2.0")has been fixed improving compatibility with the PEP440 standard.
Fixes #3580.
where the
whlfile is missing them.Fixes #3554.
{#v1-8-3}
v1.8.3Compare Source
{#v1-8-3-fixed}
Fixed
Fixes #3543.
{#v1-8-2}
v1.8.2Compare Source
{#v1-8-2-fixed}
Fixed
Fixes #3524.
{#v1-8-1}
v1.8.1Compare Source
{#v1-8-1-fixed}
Fixed
Fixes #3524.
{#v1-8-0}
v1.8.0Compare Source
{#v1-8-0-known-issues}
Known Issues
#3416 for
details and possible workarounds.
{#v1-8-0-removed}
Removed
(toolchain) Remove all of the python 3.8 toolchain support out of the box. Users need
to pass the
TOOL_VERSIONSthat include 3.8 toolchains or use thebzlmodAPIs to addthem back. This means any hub
pip.parsecalls that target3.8will be ignored fromnow on. (#2704)
{bzl:obj}
python.single_version_override, like:(toolchain) Remove all of the python 3.9 toolchain versions except for the
3.9.25.This version has reached EOL and will no longer receive any security fixes, please update to
3.10or above. (#2704)(toolchain)
ignore_root_user_errorhas now been flipped to be always enabled andthe
chmodof the python toolchain directories have been removed. From now onrules_pythonalways adds the
pycfiles to the glob excludes and in order to avoid any problems when usingthe toolchains in the repository phase, ensure that you pass
-Bto the python interpreter.(#2016)
{#v1-8-0-changed}
Changed
pipstarhas been enabled for allwhl_libraryinstances where the whlis passed through a label or downloaded using the bazel downloader
(#2949).
pipstarflag default has been flipped to be on by default.It can be disabled through
RULES_PYTHON_ENABLE_PIPSTAR=0environment variable.If you do need to disable it, please add a comment to
#2949.
{#v1-8-0-fixed}
Fixed
py_binarytargets with invalidsrcs. This includes filesthat are not generated or regular files.
#3046
implementation assumes that it is always four levels below the runfiles
directory, leading to incorrect path checks
(#3085).
sys.abiflagsvalue of theunderlying runtime.
fixes to linking, Windows DLL detection, and defines for free threaded
runtimes.
python_headerstarget is now compatible withlayering_check.
(#3381).
gazelle_python_manifest.testso that it accesses manifest files viarunfilepath handling rather than directly (#3397).sys.path.
.servetarget is now compatible with Bazel's--symlink_prefixflag (#3410).
{#v1-8-0-added}
Added
3.9.25Python toolchain from 20251031 release.3.13.10,3.14.1Python toolchain from 20251202 release.3.13.11,3.14.2,3.15.0a2Python toolchains from 20251209 release.pip.parsewhich platforms users care about. This is very useful to ensurethat when users do
bazel queryfor their deps, they don't have to download all of thedependencies for all of the available wheels. Torch wheels can be up of 1GB and it takes a lot
of time to download those, which is unnecessary if only the host platform builds are necessary
to be performed. This is mainly for backwards/forwards compatibility whilst rolling out
RULES_PYTHON_ENABLE_PIPSTAR=1by default. Users ofexperimental_index_urlthat performcross-builds should add {obj}
target_platformsto theirpip.parseinvocations, which willbecome mandatory if any cross-builds are required from the next release.
namespace_package_filesadded. It is a hint foroptimizing venv creation.
{#v1-7-0}
v1.7.0Compare Source
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.bazelfile:Using WORKSPACE
Paste this snippet into your
WORKSPACEfile:Gazelle plugin
Paste this snippet into your
WORKSPACEfile:What's Changed
has_py3_only_sourcesin the PyInfo constructor by @oprypin in bazel-contrib#3315py_console_script_binarycompatible with symbolic macros by @janwinkler1 in bazel-contrib#3195pip.defaultarguments in multi-platform example by @hartikainen in bazel-contrib#3358New Contributors
Full Changelog: bazel-contrib/rules_python@1.6.3...1.7.0
v1.6.3Compare Source
{#v1-6-3-fixed}
Fixed
the right wheel when there are multiple wheels for the target platform
(e.g.
musllinux_1_1_x86_64andmusllinux_1_2_x86_64). If the userwants to set the minimum version for the selection algorithm, use the
{attr}
pip.defaults.whl_platform_tagsattribute to configure that. Ifmusllinux_*_x86_64is specified, we will choose the lowest availablewheel version. Fixes #3250.
{#v1-6-0}
v1.6.2Compare Source
v1.6.1Compare Source
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.bazelfile:Using WORKSPACE
Paste this snippet into your
WORKSPACEfile:Gazelle plugin
Paste this snippet into your
WORKSPACEfile:Full Changelog: bazel-contrib/rules_python@1.6.0...1.6.1
v1.6.0Compare Source
{#v1-6-0-changed}
Changed
to the package path. This is enabled via the
# gazelle:python_experimental_allow_relative_importstrue directive ({gh-issue}2203).python.ParserOutputare now all public.__init__.py,__main__.py, or__test__.pyfiles to bepresent in a directory to generate a
BUILD.bazelfile.#2630
linux_x86_64,linux_aarch64,osx_x86_64,osx_aarch64andwindows_x86_64. If you are on other platforms, you need touse the
pip.defaultto configure it yourself. If you are interested in graduating theplatform, consider helping set us up CI for them and update the documentation.
#!/usr/bin/env bashis now used as a shebang in the stage1 bootstrap template.gazelle/README.mdto{gh-path}
gazelle/docsand are now available on the primary documentation siteat https://rules-python.readthedocs.io/en/latest/gazelle/docs/index.html
{#v1-6-0-fixed}
Fixed
local_runtime_reponow respects changes to theDEVELOPER_DIRandXCODE_VERSIONrepo env vars, fixing stale cache issues on macOS with system (i.e. Xcode-supplied) Python
(#3123).
bazel vendorvendor directorywould fail if the constraints file contained environment markers. Fixes
#2996.
result in missing files at runtime
(#2782).
py.typedto indicate itsupports type checking
(#2503).
defaultsconfiguration now supports any custom platformname.
in ambiguous select matches ({gh-issue}
2759) and should be much more efficientwhen running
bazel querydue to fewer repositories being included({gh-issue}
2849).local_runtime_repoworks with multiarch Debian with Python 3.8(#3099).
all_requirements(#2921).
REPLstub to make it possible to use thedefault stub template from outside
rules_python({gh-issue}3101).absolute imports (Python 2's behavior without
absolute_import). Previousbehavior can be restored using the directive
# gazelle:python_resolve_sibling_imports true(#2985).
$PATH(#3150).
bazel vendornow works inbzlmod({gh-issue}3079).local_runtime_reponow works on Windows(#3055).
local_runtime_reposupports more types of Pythoninstallations (Mac frameworks, missing dynamic libraries, and other
esoteric cases, see
#3148 for details).
requirements.txtfiles that use different versions of the samepackage targeting different target platforms.
(#2797).
{#v1-6-0-added}
Added
readlinesupport is available,see (#3114).
(#3114).
requirements.txtevaluation, use the newly addeddeveloper preview of the
pip.defaulttag class. Onlyrules_pythonand root modules can usethis feature. You can also configure custom
config_settingsusingpip.default. Itcan also be used to set the global
netrcorauth_patternsvariables.:extracted_whl_filesfilegroup targetof all the files extracted from the wheel. This can be used in lieu of
{obj}
whl_filegroupto avoid copying/extracting wheel multiple times toget a subset of their files.
gazelle:python_generate_pyi_deps; whentrue,dependencies added to satisfy
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.