tensorly
Tensor learning in Python.
Decision gist · record as of 2026-08-14
Yes, if you need tensor decomposition and can accept a slower release cycle. The library has low install friction, permissive licensing, no known vulnerabilities, and a multi-backend design that justifies the abstraction overhead. The aging maintenance status is a minor concern but not a blocker—the repository is not archived and recent commits exist. Install it for prototyping or production use of tensor methods across NumPy, PyTorch, or other backends.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3; optional backends (PyTorch, TensorFlow, JAX, CuPy, Paddle) must be installed separately if you want to use them instead of NumPy.
- Low install friction with only numpy and scipy as runtime dependencies.
- The package is aging (640 days since last release) but the repository remains active with recent commits and no archived status, suggesting ongoing maintenance despite the slower release cadence.
License · maintenance · safety
Modified BSD (permissive) — Licensed under Modified BSD (permissive), which allows commercial and private use with minimal restrictions—suitable for most projects that can include the license text.
last release 2024-11-12 (640 days) · last repo commit 2025-11-16 · 1,689 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 109,991 downloads/mo, #12,489 on PyPI
Alternatives
Verify before relying
pip install tensorly
import tensorly as tl
import numpy as np
tensor = tl.tensor(np.arange(24).reshape((3, 4, 2)))
unfolded = tl.unfold(tensor, mode=0)
reconstructed = tl.fold(unfolded, mode=0, shape=tensor.shape)- Whether the aging status (640 days since release) reflects planned maintenance cycles or slowing development momentum.
- Performance characteristics and scalability limits for large-scale tensor operations on GPU.
- Completeness and currency of documentation relative to the latest decomposition methods in the field.
What it is and what it does
TensorLy is a Python library for tensor operations—decomposition, learning, and algebra—built on top of numpy and scipy. It abstracts away the computational backend so you can write tensor code once and run it on NumPy arrays, PyTorch tensors, JAX arrays, or other frameworks without rewriting. You define which backend to use, and all operations transparently use that framework's compute engine, including GPU acceleration when available.
The library covers standard tensor decompositions (Tucker, CP, TT-format and others), random tensor generation, unfolding/folding operations, and tensor reconstruction. It's designed for researchers and practitioners who need to prototype or deploy tensor methods across different computational backends without maintaining separate codebases for each one.
Use it for
- Prototype tensor decomposition algorithms in NumPy, then run the same code on GPU via PyTorch or TensorFlow for production.
- Perform Tucker or CP decomposition on large multidimensional datasets for dimensionality reduction or feature extraction.
- Build machine learning pipelines that work with both CPU and GPU backends by switching a single configuration parameter.
- Unfold and manipulate high-order tensors for signal processing, chemometrics, or scientific computing workflows.
- Experiment with different tensor factorization methods on the same data without rewriting tensor algebra code.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need tensor decomposition and can accept a slower release cycle.
The library has low install friction, permissive licensing, no known vulnerabilities, and a multi-backend design that justifies the abstraction overhead. The aging maintenance status is a minor concern but not a blocker—the repository is not archived and recent commits exist. Install it for prototyping or production use of tensor methods across NumPy, PyTorch, or other backends.
Install
tensorly on PyPI
Before you install
Low install friction with only numpy and scipy as runtime dependencies. The package is aging (640 days since last release) but the repository remains active with recent commits and no archived status, suggesting ongoing maintenance despite the slower release cadence.
Requires Python 3; optional backends (PyTorch, TensorFlow, JAX, CuPy, Paddle) must be installed separately if you want to use them instead of NumPy.
License in practice
Licensed under Modified BSD (permissive), which allows commercial and private use with minimal restrictions—suitable for most projects that can include the license text.
Quickstart
pip install tensorly
import tensorly as tl
import numpy as np
tensor = tl.tensor(np.arange(24).reshape((3, 4, 2)))
unfolded = tl.unfold(tensor, mode=0)
reconstructed = tl.fold(unfolded, mode=0, shape=tensor.shape)
Verify before relying
- Whether the aging status (640 days since release) reflects planned maintenance cycles or slowing development momentum.
- Performance characteristics and scalability limits for large-scale tensor operations on GPU.
- Completeness and currency of documentation relative to the latest decomposition methods in the field.
Package facts
| License | Modified BSD permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesnumpyscipy |
| Maintenance | Aging 640 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 109,991 / month, #12,489 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: BSD LicenseProgramming Language :: Python :: 3Topic :: Scientific/Engineering |
Evidence: tensorly-0.9.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “tensor decomposition library”
- tensorlyTensorLy performs tensor decomposition, tensor learning, and tensor…
- eigenpyEigenPy provides Python bindings between NumPy arrays and the Eigen…
- gram-newton-schulzImplements a hardware-aware Gram Newton-Schulz algorithm for polar…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also autoray · eigenpy · torch · tensorflow-cpu · keras-nightly · einops · tensordict · docarray · torch-complex · tensordict-nightly