build(deps): update python dependencies (minor) #64
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:
25.9.0->25.12.03.12.0->3.13.03.10.6->3.10.81.18.2->1.19.12.3.3->2.4.06.3.1->6.5.09.0.0->9.0.2>=3.12,<3.14->>=3.14,<3.15^0.13.0->^0.14.01.7.2->1.8.0Release Notes
psf/black (black)
v25.12.0Compare Source
Highlights
Stable style
# fmt: off/# fmt: onblocks were incorrectlyremoved, particularly affecting Jupytext's
# %% [markdown]comments (#4845)# fmt: skipcomments are used in a multi-part if-clause, onstring literals, or on dictionary entries with long lines (#4872)
fmt:directives aren't on the top level (#4856)Preview style
fmt: skipskipping the line after instead of the line it's on (#4855)magic trailing commas and intentional multiline formatting (#4865)
fix_fmt_skip_in_one_linerscrashing onwithstatements (#4853)fix_fmt_skip_in_one_linerscrashing on annotated parameters (#4854)# fmt: skipon them (#4894)Packaging
Integrations
output-fileinput to GitHub Actionpsf/blackto write formatter output to afile for artifact capture and log cleanliness (#4824)
v25.11.0Compare Source
Highlights
Stable style
# fmt: offand# fmt: onwere reformatted (#4811)being normalized (#4811)
Preview style
multiline_string_handlingfrom--unstableto--preview(#4760)comments (#4764)
# type: <value>(#4645)fix_fmt_skip_in_one_linerspreview feature to respect# fmt: skipfor compoundstatements with semicolon-separated bodies (#4800)
Configuration
no_cacheoption to control caching behavior. (#4803)Packaging
Output
(#4610)
Blackd
requests to blackd (#4774)
Integrations
psf/blackto support therequired-versionmajor-version-only"stability" format when using pyproject.toml (#4770)
keras-team/keras (keras)
v3.13.0Compare Source
BREAKING changes
Starting with version 3.13.0, Keras now requires
Python 3.11or higher. Please ensure your environment is updated to Python 3.11+ to install the latest version.Highlights
LiteRT Export
You can now export Keras models directly to the LiteRT format (formerly TensorFlow Lite) for on-device inference.
This changes comes with improvements to input signature handling and export utility documentation. The changes ensure that LiteRT export is only available when TensorFlow is installed, update the export API and documentation, and enhance input signature inference for various model types.
Example:
GPTQ Quantization
Introduced
keras.quantizers.QuantizationConfigAPI that allows for customizable weight and activation quantizers, providing greater flexibility in defining quantization schemes.Introduced a new
filtersargument to theModel.quantizemethod, allowing users to specify which layers should be quantized using regex strings, lists of regex strings, or a callable function. This provides fine-grained control over the quantization process.Refactored the GPTQ quantization process to remove heuristic-based model structure detection. Instead, the model's quantization structure can now be explicitly provided via
GPTQConfigor by overriding a newModel.get_quantization_layer_structuremethod, enhancing flexibility and robustness for diverse model architectures.Core layers such as
Dense,EinsumDense,Embedding, andReversibleEmbeddinghave been updated to accept and utilize the newQuantizationConfigobject, enabling fine-grained control over their quantization behavior.Added a new method
get_quantization_layer_structureto the Model class, intended for model authors to define the topology required for structure-aware quantization modes like GPTQ.Introduced a new utility function
should_quantize_layerto centralize the logic for determining if a layer should be quantized based on the provided filters.Enabled the serialization and deserialization of
QuantizationConfigobjects within Keras layers, allowing quantized models to be saved and loaded correctly.Modified the
AbsMaxQuantizerto allow specifying the quantization axis dynamically during the__call__method, rather than strictly defining it at initialization.Example:
Applies the default
AbsMaxQuantizerto both weights and activations.Disable activation quantization by setting the activation quantizer to
None.Customize the value range or other parameters for specific quantizers.
Adaptive Pooling layers
Added adaptive pooling operations
keras.ops.nn.adaptive_average_poolandkeras.ops.nn.adaptive_max_poolfor1D,2D, and3Dinputs. These operations transform inputs of varying spatial dimensions into a fixed target shape defined byoutput_sizeby dynamically inferring the required kernel size and stride. Added corresponding layers:keras.layers.AdaptiveAveragePooling1Dkeras.layers.AdaptiveAveragePooling2Dkeras.layers.AdaptiveAveragePooling3Dkeras.layers.AdaptiveMaxPooling1Dkeras.layers.AdaptiveMaxPooling2Dkeras.layers.AdaptiveMaxPooling3DNew features
keras.ops.numpy.array_splitop a fundamental building block for tensor parallelism.keras.ops.numpy.empty_likeop.keras.ops.numpy.ldexpop.keras.ops.numpy.vanderop which constructs a Vandermonde matrix from a 1-D input tensor.keras.distribution.get_device_countutility function for distribution API.keras.layers.JaxLayerandkeras.layers.FlaxLayernow support the TensorFlow backend in addition to the JAX backed. This allows you to embedflax.linen.Moduleinstances or JAX functions in your model. The TensorFlow support is based onjax2tf.OpenVINO Backend Support:
numpy.digitizesupport.numpy.diagsupport.numpy.isinsupport.numpy.vdotsupport.numpy.floor_dividesupport.numpy.rollsupport.numpy.multi_hotsupport.numpy.psnrsupport.numpy.empty_likesupport.Bug fixes and Improvements
attention_axesforMultiHeadAttentionlayers.Softmaxmask handling, aimed at improving numerical robustness, was based on a deep investigation led by Jaswanth Sreeram, who prototyped the solution with contributions from others.Normalizationlayer'sadaptmethod now supportsPyDatasetobjects, allowing for proper adaptation when using this data type.TPU Test setup
Configured the TPU testing infrastructure to enforce unit test coverage across the entire codebase. This ensures that both existing logic and all future contributions are validated for functionality and correctness within the TPU environment.
New Contributors
Full Changelog: keras-team/keras@v3.12.0...v3.13.0
matplotlib/matplotlib (matplotlib)
v3.10.8: REL: v3.10.8Compare Source
This is a bugfix release in the 3.10.x series.
The primary highlights of this release are:
v3.10.7: REL: v3.10.7Compare Source
This is the latest bugfix release in the 3.10.x series.
The most important update in this release is that the minimum version
of
pyparsinghas been updated to version 3.0.python/mypy (mypy)
v1.19.1Compare Source
types.NoneTypein match cases (A5rocks, PR 20383)v1.19.0Compare Source
numpy/numpy (numpy)
v2.4.0Compare Source
v2.3.5: 2.3.5 (Nov 16, 2025)Compare Source
NumPy 2.3.5 Release Notes
The NumPy 2.3.5 release is a patch release split between a number of maintenance
updates and bug fixes. This release supports Python versions 3.11-3.14.
Contributors
A total of 10 people contributed to this release. People with a "+" by their
names contributed a patch for the first time.
Pull requests merged
A total of 16 pull requests were merged for this release.
orderparameter docs ofma.asanyarray...v2.3.4: (Oct 15, 2025)Compare Source
NumPy 2.3.4 Release Notes
The NumPy 2.3.4 release is a patch release split between a number of maintenance
updates and bug fixes. This release supports Python versions 3.11-3.14. This
release is based on Python 3.14.0 final.
Changes
The
npymathandnpyrandomlibraries now have a.librather than a.afile extension on win-arm64, for compatibility for building with MSVC andsetuptools. Please note that using these static libraries is discouragedand for existing projects using it, it's best to use it with a matching
compiler toolchain, which is
clang-clon Windows on Arm.(gh-29750)
Contributors
A total of 17 people contributed to this release. People with a "+" by their
names contributed a patch for the first time.
Pull requests merged
A total of 30 pull requests were merged for this release.
dtyperefcount in__array__(#29715)__slots__(#29901)testing._private(#29902)errstate(#29914)@classmethodarg to clsplotly/plotly.py (plotly)
v6.5.0Compare Source
Updated
hovertemplateforcandlestickandohlctraces [#7619]Fixed
v6.4.0Compare Source
Updated
hovertemplatefallbackandtexttemplatefallbackattributes [#7577]Deprecated
create_hexbin_mapboxin favor ofcreate_hexbin_map, update related function calls [5358], with thanks to @ajlien for the contribution!pytest-dev/pytest (pytest)
v9.0.2Compare Source
pytest 9.0.2 (2025-12-06)
Bug fixes
#13896: The terminal progress feature added in pytest 9.0.0 has been disabled by default, except on Windows, due to compatibility issues with some terminal emulators.
You may enable it again by passing
-p terminalprogress. We may enable it by default again once compatibility improves in the future.Additionally, when the environment variable
TERMisdumb, the escape codes are no longer emitted, even if the plugin is enabled.#13904: Fixed the TOML type of the
tmp_path_retention_countsettings in the API reference from number to string.#13946: The private
config.inicfgattribute was changed in a breaking manner in pytest 9.0.0.Due to its usage in the ecosystem, it is now restored to working order using a compatibility shim.
It will be deprecated in pytest 9.1 and removed in pytest 10.
#13965: Fixed quadratic-time behavior when handling
unittestsubtests in Python 3.10.Improved documentation
pytest's command-line flags <command-line-flags>.v9.0.1Compare Source
pytest 9.0.1 (2025-11-12)
Bug fixes
raise unittest.SkipTest.Packaging updates and notes for downstreams
version string can be passed into its
package_envthroughthe
SETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTESTenvironmentvariable as a part of the release process -- by
webknjaz.Contributor-facing changes
creating GitHub Releases without having a Git checkout on
disk -- by
bluetechandwebknjaz.version string can be passed into its
package_envthroughthe
SETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTESTenvironmentvariable as a part of the release process -- by
webknjaz.containerbase/python-prebuild (python)
v3.14.2Compare Source
Bug Fixes
v3.14.1Compare Source
Bug Fixes
v3.14.0Compare Source
Bug Fixes
astral-sh/ruff (ruff)
v0.14.10Compare Source
Released on 2025-12-18.
Preview features
flake8-implicit-str-concat] New rule to prevent implicit string concatenation in collections (ISC004) (#21972)flake8-use-pathlib] Make fixes unsafe when types change in compound statements (PTH104,PTH105,PTH109,PTH115) (#22009)refurb] Extend support forPath.open(FURB101,FURB103) (#21080)Bug fixes
pyupgrade] Fix parsing named Unicode escape sequences (UP032) (#21901)Rule changes
eradicate] Ignoreruff:disableandruff:enablecomments inERA001(#22038)flake8-pytest-style] Allowmatchandcheckkeyword arguments without an expected exception type (PT010) (#21964)Documentation
uvandtyto the Ruff README (#21996)setup.md(#22024)flake8-bandit] Fix broken link (S704) (#22039)Other changes
Contributors
v0.14.9Compare Source
Released on 2025-12-11.
Preview features
ruff] NewRUF100diagnostics for unused range suppressions (#21783)pylint] Detect subclasses of builtin exceptions (PLW0133) (#21382)Bug fixes
flake8-bandit] Fix false positive when using non-standardCSafeLoaderpath (S506). (#21830)flake8-bugbear] Accept immutable slice default arguments (B008) (#21823)Rule changes
pydocstyle] SuppressD417for parameters withUnpackannotations (#21816)Performance
memchrfor computing line indexes (#21838)Documentation
*.pywis included by default in preview (#21885)Contributors
v0.14.8Compare Source
Released on 2025-12-04.
Preview features
flake8-bugbear] Catchyieldexpressions within other statements (B901) (#21200)flake8-use-pathlib] Mark fixes unsafe for return type changes (PTH104,PTH105,PTH109,PTH115) (#21440)Bug fixes
awaitoutside functions (#21763)flake8-simplify] Fix truthiness assumption for non-iterable arguments in tuple/list/set calls (SIM222,SIM223) (#21479)Documentation
--output-fileoption in GitLab integration (#21706)Other changes
Contributors
v0.14.7Compare Source
Released on 2025-11-28.
Preview features
flake8-bandit] Handle string literal bindings in suspicious-url-open-usage (S310) (#21469)pylint] FixPLR1708false positives on nested functions (#21177)pylint] Fix suppression for empty dict without tuple key annotation (PLE1141) (#21290)ruff] Add ruleRUF066to detect unnecessary class properties (#21535)ruff] Catch more dummy variable uses (RUF052) (#19799)Bug fixes
flake8-implicit-str-concat] Avoid invalid fix in (ISC003) (#21517)parser] Fix panic when parsing IPython escape command expressions (#21480)CLI
Contributors
v0.14.6Compare Source
Released on 2025-11-21.
Preview features
flake8-bandit] Support new PySNMP API paths (S508,S509) (#21374)Bug fixes
fmt: skipfor compound statements on a single line (#20633)refurb] FixFURB103autofix (#21454)ruff] Fix false positive for complex conversion specifiers inlogging-eager-conversion(RUF065) (#21464)Rule changes
ruff] Avoid false positive onClassVarreassignment (RUF012) (#21478)CLI
ruff analyzeoption to skip over imports inTYPE_CHECKINGblocks (#21472)Documentation
eglot-formathook to eglot-managed Python buffers (#21459)force-excludein "Configuration > Python file discovery" (#21500)Contributors
v0.14.5Compare Source
Released on 2025-11-13.
Preview features
flake8-simplify] ApplySIM113when index variable is of typeint(#21395)pydoclint] Fix false positive when Sphinx directives follow a "Raises" section (DOC502) (#20535)pydoclint] Support NumPy-style comma-separated parameters (DOC102) (#20972)refurb] Auto-fix annotated assignments (FURB101) (#21278)ruff] Ignorestr()when not used for simple conversion (RUF065) (#21330)Bug fixes
matchpatterns (#21362)flake8-simplify] Fix false positive for iterable initializers with generator arguments (SIM222) (#21187)pyupgrade] Fix false positive on relative imports from local.builtinsmodule (UP029) (#21309)pyupgrade] Consistently set the deprecated tag (UP035) (#21396)Rule changes
refurb] Detect empty f-strings (FURB105) (#21348)CLI
--add-noqa(#21294)ruff linter --output-format=json(#21316)--help(#21337)Documentation
flake8-annotations] Add link toallow-star-arg-anyoption (ANN401) (#21326)Other changes
configuration] Improve error message whenline-lengthexceedsu16::MAX(#21329)Contributors
v0.14.4Compare Source
Released on 2025-11-06.
Preview features
matchpatterns withascaptures (#21176)refurb] Expand fix safety for keyword arguments andDecimals (FURB164) (#21259)refurb] Preserve argument ordering in autofix (FURB103) (#20790)Bug fixes
flake8-bugbear] Ignore non-NFKC attribute names inB009andB010(#21131)refurb] Fix false negative for underscores before sign inDecimalconstructor (FURB157) (#21190)ruff] Fix false positives on starred arguments (RUF057) (#21256)Rule changes
airflow] extend deprecated argumentconcurrencyinairflow..DAG(AIR301) (#21220)Documentation
extenddocs (#21135)flake8-comprehensions] Fix typo inC416documentation (#21184)Other changes
ruff analyze graphwork with jupyter notebooks (#21161)Contributors
v0.14.3Compare Source
Released on 2025-10-30.
Preview features
--output-formatwith--watch(#21097)pydoclint] Fix false positive on explicit exception re-raising (DOC501,DOC502) (#21011)pyflakes] Revert to stable behavior if imports for module lie in alternate branches forF401(#20878)pylint] Implementstop-iteration-return(PLR1708) (#20733)ruff] Add support for additional eager conversion patterns (RUF065) (#20657)Bug fixes
ISC001] Fix panic when string literals are unclosed (#21034)flake8-django] ApplyDJ001to annotated fields (#20907)flake8-pyi] FixPYI034to not trigger on metaclasses (PYI034) (#20881)flake8-type-checking] FixTC003false positive withfuture-annotations(#21125)pyflakes] Fix false positive for__class__in lambda expressions within class definitions (F821) (#20564)pyupgrade] Fix false positive forTypeVarwith default on Python <3.13 (UP046,UP047) (#21045)Rule changes
airflow] Extendairflow.models..Paramcheck (AIR311) (#21043)airflow] Warn thatairflow....DAG.create_dagrunhas been removed (AIR301) (#21093)refurb] Preserve digit separators inDecimalconstructor (FURB157) (#20588)Server
Configuration
📅 Schedule: Branch creation - "every weekend" (UTC), Automerge - "0 0 4 ? * MON *" (UTC).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.