Open
Conversation
6933ef1 to
d25ce77
Compare
d25ce77 to
5866e05
Compare
5e5f5cf to
5c71071
Compare
5c71071 to
22bb0a8
Compare
22bb0a8 to
a302d58
Compare
a302d58 to
dc9e6a0
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:
1.6.3→1.9.0Release Notes
bazel-contrib/rules_python (rules_python)
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
{#v1-7-0-removed}
Removed
removed
(#3215).
{#v1-7-0-changed}
Changed
0.1.5.--bootstrap_impl=system_python,PYTHONPATHis nolonger used to add import paths. The sys.path order has changed from
[app paths, stdlib, runtime site-packages]to[stdlib, app paths, runtime site-packages].--bootstrap_impl=system_python, the sys.path order haschanged from
[app paths, stdlib, runtime site-packages]to[stdlib, app paths, runtime site-packages].experimental_index_url.(#2937).
py_runtimeandPyRuntimeInforeject Python 2 settings.Setting
py_runtime.python_version = "PY2"or non-NonePyRuntimeInfo.py2_runtimeis an error.pipstarflag has been implemented forWORKSPACEand can be flipped to be enabled usingRULES_PYTHON_ENABLE_PIPSTAR=1environment variable. If you do, pleaseadd a comment to
#2949 if you run into any
problems.
With this release we are deprecating {obj}
pip.parse.experimental_target_platformsandpip_repository.experimental_target_platforms. For users usingWORKSPACEandvendoring the
requirements.bzlfile, please re-vendor so that downstream is unaffectedwhen the APIs get removed. If you need to customize the way the dependencies get
evaluated, see our docs on customizing
Requires-Distresolution.from the 20251014 release.
bazel-skylibversion1.8.2
{#v1-7-0-fixed}
Fixed
PyInfoconstructor was setting the wrong value forhas_py3_only_sources- this is now fixed.RUNFILES_DIRenvironments, fixing issues where a
py_binarycalls anotherpy_binary(#3187).
length errors due to too long environment variables.
--bootstrap_impl=scriptnow supports the-Sinterpretersetting.
--venvs_site_packages=yesno longer errors when packages withoverlapping files or directories are used together.
(#3204).
--venvs_site_packages=yesworks for packages that dynamicallylink to shared libraries
(#3228).
--venvs_site_packages=yesincludespthfiles at the root of thesite-packages folder
(#3339).
//python/uv:lock.bzl%locknow works with a local platformruntime.
linux_riscv64is added to the platforms list in_pip_repository_impl,which fixes a build issue for tensorflow on riscv64.
variants. Setting {obj}
--py_linux_libc=musland--py_freethreaded=yesnowactivate them, respectively.
(#3262).
py_console_script_binaryis now compatible with symbolic macros(#3195).
{#v1-7-0-added}
Added
--incompatible_compact_repo_mapping_manifestflag.--bootstrap_impl=system_pythonnow supports the{obj}
main_moduleattribute.--bootstrap_impl=system_pythonnow supports the{any}
RULES_PYTHON_ADDITIONAL_INTERPRETER_ARGSenvironment variable.py_binary,py_test, andpy_wheelrules now have a{obj}
config_settingsattribute to control build flags within the build graph.Custom settings can be added using {obj}
config.add_transition_settinginMODULE.bazelfiles, or {obj}py_repositories(transition_settings=...)inWORKSPACEfiles. See the{ref}
common-deps-with-multiple-pypi-versionsguide on using commondependencies with multiple PyPI versions` for an example.
{obj}
//python/cc:current_py_cc_headers_abi3. This allows Windows buildsa way to depend on headers without the potentially Python unstable ABI
objects from the regular {obj}
//python/cc:current_py_cc_headerstargetbeing included.
//python/cc:current_py_cc_headers_abi3,{obj}
py_cc_toolchain.headers_abi3, and {obj}PyCcToolchainInfo.headers_abi3.//python:features.bzl%features.headers_abi3can be used tofeature-detect the presense of the above.
experimental_index_urlhandling forWindows ARM64 for Python 3.11 and later
(#2276).
{#v1-6-3}
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.
This PR was generated by Mend Renovate. View the repository job log.