Registry / ai-ml / pyriemann

pyriemann

JSON →
library0.11pypypi✓ verified 86d ago

A Python library for classification and clustering of multivariate data using Riemannian geometry. Provides tools for covariance matrix estimation, geodesic filtering, tangent space mapping, and various classifiers on the manifold of symmetric positive definite matrices. Currently at version 0.11, with semi-annual releases.

pip install pyriemann
INSTALL
IMPORT
SIG · PYRIEMANN
P
pyriemann
ai-mlpythonv0.11
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Covariances
from pyriemann.estimation import Covariances
from pyriemann.covariance import Covariances
Covariances moved to the estimation module in v0.3.
MDM
from pyriemann.classification import MDM
from pyriemann.classification import MinimumDistanceToMean
MinimumDistanceToMean is deprecated since v0.7; use MDM.
TSCovariances
from pyriemann.tangentspace import TangentSpace
No common wrong import.

Estimate covariance matrices from multivariate time series and classify with Riemannian distance.

from pyriemann.estimation import Covariances from pyriemann.classification import MDM import numpy as np # Generate toy data: 10 trials, 3 channels, 100 time points X = np.random.randn(10, 3, 100) y = np.array([0, 0, 0, 0, 0, 1, 1, 1, 1, 1]) # Estimate covariance matrices cov = Covariances().fit_transform(X) # Classify using Minimum Distance to Mean clf = MDM().fit(cov, y) pred = clf.predict(cov) print(pred)
Debug
Known issues
breakingIn v0.11, the function `pyriemann.utils.distance.distance` was removed. Use `pyriemann.utils.distance` module functions directly.
fix
Replace `from pyriemann.utils.distance import distance` with specific distance functions like `from pyriemann.utils.distance import distance_riemann`.
affects: >=0.11
deprecatedThe module `pyriemann.covariance` is deprecated since v0.3. Symbol `Covariances` has been moved to `pyriemann.estimation`.
fix
Use `from pyriemann.estimation import Covariances`.
affects: >=0.3
gotchaAll estimators require 3D input (trials × channels × time points). Passing 2D data will raise an error.
fix
Ensure X has shape (n_trials, n_channels, n_time).
affects: all
gotchaDefault `Covariances(estimator='scm')` (sample covariance matrix) may be singular for high-dimensional low-sample data. Alternatives like 'lwf' or 'oas' exist.
fix
Set estimator parameter: `Covariances(estimator='lwf')` or `Covariances(estimator='oas')`.
affects: all
Errors
Common errors & fixes
ImportError: cannot import name 'Covariances' from 'pyriemann.covariance'
The Covariances class was moved from pyriemann.covariance to pyriemann.estimation in v0.3.
fix
Use `from pyriemann.estimation import Covariances`.
ValueError: X must be of shape (n_trials, n_channels, n_time)
Passed 2D array instead of 3D array.
fix
Reshape data to 3D: X = X[np.newaxis, :, :] if single trial, or stack trials.
ModuleNotFoundError: No module named 'pyriemann'
PyRiemann is not installed or virtual environment not activated.
fix
Run `pip install pyriemann` and ensure correct environment.
AttributeError: module 'pyriemann.utils.distance' has no attribute 'distance'
The `distance` function was removed in v0.11.
fix
Use specific functions like `from pyriemann.utils.distance import distance_riemann`.
Upgrade
Version history
0.11latest on PyPI · released Apr 16, 2026
Audit
Dependencies
scikit-learnrequiredRequired for classification, clustering, and model selection utilities.
numpyrequiredCore numerical operations.
scipyrequiredLinear algebra and distance computation.
joblibrequiredParallel processing for cross-validation.
Agent activity
10 hits · last 30 days
node
8
OpenAI (training)
1
Resources
pyriemann — pip install pyriemann · libregistry