Einops

Latest version: v0.8.1

Safety actively analyzes 722491 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

0.8.1

What's Changed

TLDR:

- ellipsis is added to EinMix
- tests moved into the package
- devcontainer provided
- added backend for pyTensor
- niceties: citation, docs, fixed broken links
- this did not require any changes in einops, but array API is supported by more libs these days, and einops can operate on them


PRs:

* Update README.md by project-delphi in https://github.com/arogozhnikov/einops/pull/316
* change tests for numpy2.0 + fix for numpy regression by arogozhnikov in https://github.com/arogozhnikov/einops/pull/325
* PR from pzread: fix tinygrad concat + changed formatting to fix CI errors by arogozhnikov in https://github.com/arogozhnikov/einops/pull/329
* Add devcontainer and dockerfile by arogozhnikov in https://github.com/arogozhnikov/einops/pull/330
* delete experimental/indexing by arogozhnikov in https://github.com/arogozhnikov/einops/pull/333
* Use same ruff version in CI and in pre-commit, reformat notebooks by arogozhnikov in https://github.com/arogozhnikov/einops/pull/336
* Delete chainer backend by arogozhnikov in https://github.com/arogozhnikov/einops/pull/335
* Mention support of cupy, pydata/sparse, ndonnx and others by arogozhnikov in https://github.com/arogozhnikov/einops/pull/337
* Moving tests into source tree by arogozhnikov in https://github.com/arogozhnikov/einops/pull/338
* Update documentation, mention changes in testing + devcontainers by arogozhnikov in https://github.com/arogozhnikov/einops/pull/339
* Auto-deploy mkdocs + update mkdocs requirements by arogozhnikov in https://github.com/arogozhnikov/einops/pull/341
* Add dict syntax to the einops layers example by eadadi in https://github.com/arogozhnikov/einops/pull/342
* include CITATION.cff for einops by luke-carlson in https://github.com/arogozhnikov/einops/pull/345
* mention that cupy and jax now support array api by arogozhnikov in https://github.com/arogozhnikov/einops/pull/348
* Fix docs broken links after `master` -> `main` migration by VladKha in https://github.com/arogozhnikov/einops/pull/349
* [Paddle] Update _backends.py to support pir.Value by HydrogenSulfate in https://github.com/arogozhnikov/einops/pull/353
* Update docstring for einops.reduce by arogozhnikov in https://github.com/arogozhnikov/einops/pull/358
* add a comment about axes names by arogozhnikov in https://github.com/arogozhnikov/einops/pull/359
* Add support of ellipsis to einmix by arogozhnikov in https://github.com/arogozhnikov/einops/pull/360
* Add PyTensor backend by ricardoV94 in https://github.com/arogozhnikov/einops/pull/362
* rename input_dict, document parameter by arogozhnikov in https://github.com/arogozhnikov/einops/pull/363

New Contributors
* project-delphi made their first contribution in https://github.com/arogozhnikov/einops/pull/316
* eadadi made their first contribution in https://github.com/arogozhnikov/einops/pull/342
* luke-carlson made their first contribution in https://github.com/arogozhnikov/einops/pull/345
* VladKha made their first contribution in https://github.com/arogozhnikov/einops/pull/349
* HydrogenSulfate made their first contribution in https://github.com/arogozhnikov/einops/pull/353
* ricardoV94 made their first contribution in https://github.com/arogozhnikov/einops/pull/362

**Full Changelog**: https://github.com/arogozhnikov/einops/compare/v0.8.0...v0.8.1

0.8.0

TLDR

- tinygrad backend added
- resolve warning in py3.11 related to docstring
- remove graph break for unpack
- **breaking** TF layers were updated to follow new instructions, new layers compatible with TF 2.16, and not compatible with old TF (certainly does not work with TF2.13)

What's Changed
* Fix invalid escape sequence in einsum docstring by atwam in https://github.com/arogozhnikov/einops/pull/298
* Tinygrad support by blueridanus in https://github.com/arogozhnikov/einops/pull/297
* Coerce bool to int in unpack by drubinstein in https://github.com/arogozhnikov/einops/pull/287
* Remove oneflow from testing by arogozhnikov in https://github.com/arogozhnikov/einops/pull/289
* tests: fix torch installation to force CPU by arogozhnikov in https://github.com/arogozhnikov/einops/pull/288
* Allow anonymous axes in parse_shape, fix 302 by arogozhnikov in https://github.com/arogozhnikov/einops/pull/303
* Codebase standards + update TF layers by arogozhnikov in https://github.com/arogozhnikov/einops/pull/318
* update github actions by arogozhnikov in https://github.com/arogozhnikov/einops/pull/319

New Contributors
* drubinstein made their first contribution in https://github.com/arogozhnikov/einops/pull/287
* atwam made their first contribution in https://github.com/arogozhnikov/einops/pull/298
* blueridanus made their first contribution in https://github.com/arogozhnikov/einops/pull/297

**Full Changelog**: https://github.com/arogozhnikov/einops/compare/v0.7.0...v0.8.0

0.7.0

Major changes:

- `torch.compile` just works, registration of operations happens automatically
- JAX's distributed arrays can use ellipses, and in general ellipsis processing now preserves axis identity. This involved changing internal gears of einops.
- Array API: `einops` operations can be used with any framework that follows the standard (see `einops.array_api`)
- Python 3.7 is dead. Good bye, you were great at the time
- Gluon is dropped as previously announced
- reduce/repeat/rearrange all accept lists now

PRs list
* Preserve axis identity + drop python 3.7 by arogozhnikov in https://github.com/arogozhnikov/einops/pull/255
* Support array api by arogozhnikov in https://github.com/arogozhnikov/einops/pull/261
* add type-based caching by arogozhnikov in https://github.com/arogozhnikov/einops/pull/262
* Uniform support for list inputs across rearrange/reduce/repeat by arogozhnikov in https://github.com/arogozhnikov/einops/pull/263
* Drop gluon by arogozhnikov in https://github.com/arogozhnikov/einops/pull/264
* automatically register torch ops in torchdynamo by arogozhnikov in https://github.com/arogozhnikov/einops/pull/265

0.7.0rc2

What's Changed
* cover dynamic shapes in torch.compile, introduce fallback if shape was not cacheable by arogozhnikov in https://github.com/arogozhnikov/einops/pull/275
* bump version by arogozhnikov in https://github.com/arogozhnikov/einops/pull/276


**Full Changelog**: https://github.com/arogozhnikov/einops/compare/v0.7.0rc1...v0.7.0rc2

0.7.0rc1

* Preserve axis identity + drop python 3.7 by arogozhnikov in https://github.com/arogozhnikov/einops/pull/255



**Full Changelog**: https://github.com/arogozhnikov/einops/compare/v0.6.1...v0.7.0rc1

0.6.2rc0

pre-release is published to allow public testing of new caching logic (pattern analysis is now dependent on input dimensionality to preserve axis identity).

What's Changed
* Preserve axis identity + drop python 3.7 by arogozhnikov in https://github.com/arogozhnikov/einops/pull/255


**Full Changelog**: https://github.com/arogozhnikov/einops/compare/v0.6.1...v0.6.2rc0

Page 1 of 3

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.