arogozhnikov/einops
Flexible and powerful tensor operations for readable and reliable code (for pytorch, jax, TF and others)
Provides `rearrange`, `reduce`, and `repeat` operations using Einstein-notation syntax that makes tensor manipulations self-documenting—axes are explicitly named rather than indexed, preventing shape-mismatch bugs. Implements a unified API across 10+ frameworks (PyTorch, JAX, TensorFlow, NumPy, MLX, etc.) via backend abstraction, with framework-specific layers that integrate seamlessly into model definitions and support `torch.compile`. Also includes `pack`/`unpack` for reversibly combining tensors of different dimensionality and `einsum` with multi-letter axis names.
9,425 stars and 24,198,609 monthly downloads. Used by 211 other packages. Available on PyPI.
Stars
9,425
Forks
396
Language
Python
License
MIT
Category
Last pushed
Feb 20, 2026
Monthly downloads
24,198,609
Commits (30d)
0
Reverse dependents
211
Get this data via API
curl "https://pt-edge.onrender.com/api/v1/quality/ml-frameworks/arogozhnikov/einops"
Open to everyone — 100 requests/day, no key needed. Get a free key for 1,000/day.
Related frameworks
pymc-devs/pytensor
PyTensor allows you to define, optimize, and efficiently evaluate mathematical expressions...
tensorly/tensorly
TensorLy: Tensor Learning in Python.
tensorpack/tensorpack
A Neural Net Training Interface on TensorFlow, with focus on speed + flexibility
lava-nc/lava-dl
Deep Learning library for Lava
tensorlayer/TensorLayer
Deep Learning and Reinforcement Learning Library for Scientists and Engineers