build(deps): update python dependencies (minor) #19
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:
24.8.0
->24.10.0
3.4.1
->3.8.0
3.9.1
->3.10.0
1.11.1
->1.14.1
2.0.1
->2.2.1
5.23.0
->5.24.1
8.3.2
->8.3.4
>=3.10,<3.13
->>=3.13,<3.14
^0.5.0
->^0.9.0
1.5.1
->1.6.1
4.66.5
->4.67.1
Release Notes
psf/black (black)
v24.10.0
Compare Source
Highlights
mypyc-compiled wheels. (#4436) (#4449)
safety issue in Python 3.12.5 that can cause Black's AST safety checks to fail. Please
use Python 3.12.6 or Python 3.12.4 instead. (#4447)
Stable style
X | Y
style unions.(#4453)
%%
magic (#4462)Preview style
def fn(*args: *tuple[*Ts, T]) -> None: pass
) (#4440)Caching
--unstable
(#4466)Packaging
blackd
now requires a newer version of aiohttp. (#4451)Output
keras-team/keras (keras)
v3.8.0
: Keras 3.8.0Compare Source
New: OpenVINO backend
OpenVINO is now available as an infererence-only Keras backend. You can start using it by setting the
backend
field to"openvino"
in yourkeras.json
config file.OpenVINO is a deep learning inference-only framework tailored for CPU (x86, ARM), certain GPUs (OpenCL capable, integrated and discrete) and certain AI accelerators (Intel NPU).
Because OpenVINO does not support gradients, you cannot use it for training (e.g.
model.fit()
) -- only inference. You can train your models with the JAX/TensorFlow/PyTorch backends, and when trained, reload them with the OpenVINO backend for inference on a target device supported by OpenVINO.New: ONNX model export
You can now export your Keras models to the ONNX format from the JAX, TensorFlow, and PyTorch backends.
Just pass
format="onnx"
in yourmodel.export()
call:New: Scikit-Learn API compatibility interface
It's now possible to easily integrate Keras models into Sciki-Learn pipelines! The following wrapper classes are available:
keras.wrappers.SKLearnClassifier
: implements the sklearnClassifier
APIkeras.wrappers.SKLearnRegressor
: implements the sklearnRegressor
APIkeras.wrappers.SKLearnTransformer
: implements the sklearnTransformer
APIOther feature additions
keras.ops.diagflat
keras.ops.unravel_index
sparse_plus
activationsparsemax
activationkeras.layers.RandAugment
keras.layers.Equalization
keras.layers.MixUp
keras.layers.RandomHue
keras.layers.RandomGrayscale
keras.layers.RandomSaturation
keras.layers.RandomColorJitter
keras.layers.RandomColorDegeneration
keras.layers.RandomSharpness
keras.layers.RandomShear
axis
totversky
lossJAX specific changes
TensorFlow specific changes
keras.random.shuffle
XLA compilablePyTorch specific changes
model.export()
andkeras.export.ExportArchive
with the PyTorch backend, supporting both the TF SavedModel format and the ONNX format.New Contributors
Full Changelog: keras-team/keras@v3.7.0...v3.8.0
v3.7.0
: Keras 3.7.0Compare Source
API changes
flash_attention
argument tokeras.ops.dot_product_attention
and tokeras.layers.MultiHeadAttention
.keras.layers.STFTSpectrogram
layer (to extract STFT spectrograms from inputs as a preprocessing step) as well as its initializerkeras.initializers.STFTInitializer
.celu
,glu
,log_sigmoid
,hard_tanh
,hard_shrink
,squareplus
activations.keras.losses.Circle
loss.keras.visualization.draw_bounding_boxes
,keras.visualization.draw_segmentation_masks
,keras.visualization.plot_image_gallery
,keras.visualization.plot_segmentation_mask_gallery
.double_checkpoint
argument toBackupAndRestore
to save a fallback checkpoint in case the first checkpoint gets corrupted.CenterCrop
,RandomFlip
,RandomZoom
,RandomTranslation
,RandomCrop
.keras.ops.exp2
,keras.ops.inner
operations.Performance improvements
bias_add
.New Contributors
Full Changelog: keras-team/keras@v3.6.0...v3.7.0
v3.6.0
: Keras 3.6.0Compare Source
Highlights
keras.saving.KerasFileEditor
. Use it to inspect, diff, modify and resave Keras weights files. See basic workflow here.keras.utils.Config
class for managing experiment config parameters.BREAKING changes
keras.utils.get_file
, withextract=True
oruntar=True
, the return value will be the path of the extracted directory, rather than the path of the archive.Other changes and additions
fit()
,evaluate()
,predict()
. This enables 100% compact stacking oftrain_step
calls on accelerators (e.g. when running small models on TPU).on_batch_end
, this will disable async logging. You can force it back by addingself.async_safe = True
to your callbacks. Note that theTensorBoard
callback isn't considered async safe by default. Default callbacks like the progress bar are async safe.keras.saving.KerasFileEditor
utility to inspect, diff, modify and resave Keras weights file.keras.utils.Config
class. It behaves like a dictionary, with a few nice features:config.foo = 2
orconfig["foo"]
are both valid)config.to_json()
.config.freeze()
.bitwise_and
bitwise_invert
bitwise_left_shift
bitwise_not
bitwise_or
bitwise_right_shift
bitwise_xor
keras.ops.logdet
.keras.ops.trunc
.keras.ops.dot_product_attention
.keras.ops.histogram
.PyDataset
instances to use multithreading.verbose
inkeras.saving.ExportArchive.write_out()
method for exporting TF SavedModel.epsilon
argument inkeras.ops.normalize
.Model.get_state_tree()
method for retrieving a nested dict mapping variable paths to variable values (either as numpy arrays or backend tensors (default)). This is useful for rolling out custom JAX training loops.keras.layers.AutoContrast
,keras.layers.Solarization
.keras.layers.Pipeline
class, to apply a sequence of layers to an input. This class is useful to build a preprocessing pipeline. Compared to aSequential
model,Pipeline
features a few important differences:Model
, just a plain layer.tf.data
, the pipeline will also remaintf.data
compatible, independently of the backend you use.New Contributors
Full Changelog: keras-team/keras@v3.5.0...v3.6.0
v3.5.0
: Keras 3.5.0Compare Source
What's Changed
keras.Model.save()
and load.keras
models directly from Hugging Face Hub withkeras.saving.load_model()
.keras.optimizers.Lamb
optimizer.keras.distribution
API support for very large models.keras.ops.associative_scan
op.keras.ops.searchsorted
op.keras.utils.PyDataset.on_epoch_begin()
method.data_format
argument tokeras.layers.ZeroPadding1D
layer.Full Changelog: keras-team/keras@v3.4.1...v3.5.0
matplotlib/matplotlib (matplotlib)
v3.10.0
: REL: v3.10.0Compare Source
Highlights of this release include:
v3.9.4
: REL: 3.9.4Compare Source
This is the fourth bugfix release of the 3.9.x series.
This release contains two bug-fixes:
Poly3DCollection
initialization with list of listsv3.9.3
: REL: 3.9.3Compare Source
This is the third bugfix release of the 3.9.x series.
This release contains several bug-fixes and adjustments:
axline
with extremely small slopesaxline
with non-linear axis scalesminimumSizeHint
with Qt backendmacosx
backendedgecolors
passed tocontourf
pytest
8.2.0v3.9.2
: REL: 3.9.2Compare Source
This is the second bugfix release of the 3.9.x series.
This release contains several bug-fixes and adjustments:
Windows wheels now bundle the MSVC runtime DLL statically to avoid inconsistencies with other wheels and random crashes depending on import order.
python/mypy (mypy)
v1.14.1
Compare Source
v1.14.0
Compare Source
v1.13.0
Compare Source
v1.12.1
Compare Source
os.path
stubs affecting use ofos.PathLike[Any]
(Shantanu, PR 17995)v1.12.0
Compare Source
v1.11.2
Compare Source
TypedDict
item types before storing (Ivan Levkivskyi, PR 17640)numpy/numpy (numpy)
v2.2.1
: 2.2.1 (DEC 21, 2024)Compare Source
NumPy 2.2.1 Release Notes
NumPy 2.2.1 is a patch release following 2.2.0. It fixes bugs found
after the 2.2.0 release and has several maintenance pins to work around
upstream changes.
There was some breakage in downstream projects following the 2.2.0
release due to updates to NumPy typing. Because of problems due to MyPy
defects, we recommend using basedpyright for type checking, it can be
installed from PyPI. The Pylance extension for Visual Studio Code is
also based on Pyright. Problems that persist when using basedpyright
should be reported as issues on the NumPy github site.
This release supports Python 3.10-3.13.
Contributors
A total of 9 people contributed to this release. People with a "+" by
their names contributed a patch for the first time.
Pull requests merged
A total of 12 pull requests were merged for this release.
ndarray.__setitem__
#include <Python.h>
withextern "C"
None
in operand sequence of nditerChecksums
MD5
SHA256
v2.2.0
: 2.2.0 (Dec 8, 2024)Compare Source
NumPy 2.2.0 Release Notes
The NumPy 2.2.0 release is quick release that brings us back into sync
with the usual twice yearly release cycle. There have been an number of
small cleanups, as well as work bringing the new StringDType to
completion and improving support for free threaded Python. Highlights
are:
matvec
andvecmat
, see below.This release supports Python versions 3.10-3.13.
Deprecations
_add_newdoc_ufunc
is now deprecated.ufunc.__doc__ = newdoc
should be used instead.
(gh-27735)
Expired deprecations
bool(np.array([]))
and other empty arrays will now raise an error.Use
arr.size > 0
instead to check whether an array has noelements.
(gh-27160)
Compatibility notes
numpy.cov
now properly transposes single-row (2darray) design matrices when
rowvar=False
. Previously, single-rowdesign matrices would return a scalar in this scenario, which is not
correct, so this is a behavior change and an array of the
appropriate shape will now be returned.
(gh-27661)
New Features
New functions for matrix-vector and vector-matrix products
Two new generalized ufuncs were defined:
numpy.matvec
- matrix-vector product, treating thearguments as stacks of matrices and column vectors,
respectively.
numpy.vecmat
- vector-matrix product, treating thearguments as stacks of column vectors and matrices,
respectively. For complex vectors, the conjugate is taken.
These add to the existing
numpy.matmul
as well as tonumpy.vecdot
, which was added in numpy 2.0.Note that
numpy.matmul
never takes a complexconjugate, also not when its left input is a vector, while both
numpy.vecdot
andnumpy.vecmat
do takethe conjugate for complex vectors on the left-hand side (which are
taken to be the ones that are transposed, following the physics
convention).
(gh-25675)
np.complexfloating[T, T]
can now also be written asnp.complexfloating[T]
(gh-27420)
UFuncs now support
__dict__
attribute and allow overriding__doc__
(either directly or viaufunc.__dict__["__doc__"]
).__dict__
can be used to also override other properties, such as__module__
or__qualname__
.(gh-27735)
The "nbit" type parameter of
np.number
and its subtypes nowdefaults to
typing.Any
. This way, type-checkers will inferannotations such as
x: np.floating
asx: np.floating[Any]
, evenin strict mode.
(gh-27736)
Improvements
The
datetime64
andtimedelta64
hashes now correctly match thePythons builtin
datetime
andtimedelta
ones. The hashes nowevaluated equal even for equal values with different time units.
(gh-14622)
Fixed a number of issues around promotion for string ufuncs with
StringDType arguments. Mixing StringDType and the fixed-width DTypes
using the string ufuncs should now generate much more uniform
results.
(gh-27636)
Improved support for empty
memmap
. Previously an emptymemmap
would fail unless a non-zerooffset
was set.Now a zero-size
memmap
is supported even ifoffset=0
. To achieve this, if amemmap
is mapped toan empty file that file is padded with a single byte.
(gh-27723)
A regression has been fixed which allows F2PY users to expose variables
to Python in modules with only assignments, and also fixes situations
where multiple modules are present within a single source file.
(gh-27695)
Performance improvements and changes
Improved multithreaded scaling on the free-threaded build when many
threads simultaneously call the same ufunc operations.
(gh-27896)
NumPy now uses fast-on-failure attribute lookups for protocols. This
can greatly reduce overheads of function calls or array creation
especially with custom Python objects. The largest improvements will
be seen on Python 3.12 or newer.
(gh-27119)
OpenBLAS on x86_64 and i686 is built with fewer kernels. Based on
benchmarking, there are 5 clusters of performance around these
kernels:
PRESCOTT NEHALEM SANDYBRIDGE HASWELL SKYLAKEX
.OpenBLAS on windows is linked without quadmath, simplifying
licensing
Due to a regression in OpenBLAS on windows, the performance
improvements when using multiple threads for OpenBLAS 0.3.26 were
reverted.
(gh-27147)
NumPy now indicates hugepages also for large
np.zeros
allocationson linux. Thus should generally improve performance.
(gh-27808)
Changes
numpy.fix
now won't perform casting to a floatingdata-type for integer and boolean data-type input arrays.
(gh-26766)
The type annotations of
numpy.float64
andnumpy.complex128
nowreflect that they are also subtypes of the built-in
float
andcomplex
types, respectively. This update prevents statictype-checkers from reporting errors in cases such as:
(gh-27334)
The
repr
of arrays large enough to be summarized (i.e., whereelements are replaced with
...
) now includes theshape
of thearray, similar to what already was the case for arrays with zero
size and non-obvious shape. With this change, the shape is always
given when it cannot be inferred from the values. Note that while
written as
shape=...
, this argument cannot actually be passed into the
np.array
constructor. If you encounter problems, e.g., dueto failing doctests, you can use the print option
legacy=2.1
toget the old behaviour.
(gh-27482)
Calling
__array_wrap__
directly on NumPy arrays or scalars nowdoes the right thing when
return_scalar
is passed (Added in NumPy2). It is further safe now to call the scalar
__array_wrap__
on anon-scalar result.
(gh-27807)
Bump the musllinux CI image and wheels to 1_2 from 1_1. This is because
1_1 is end of life.
(gh-27088)
The NEP 50 promotion state settings are now removed. They were always
meant as temporary means for testing. A warning will be given if the
environment variable is set to anything but
NPY_PROMOTION_STATE=weak
while
_set_promotion_state
and_get_promotion_state
are removed. Incase code used
_no_nep50_warning
, acontextlib.nullcontext
could beused to replace it when not available.
(gh-27156)
Checksums
MD5
SHA256
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.