Skip to content

Fix compatibility with pyriemann >= 0.7 (CospCovariances → CoSpectra) - #59

Merged
agramfort merged 1 commit into
coffeine-labs:mainfrom
m9h:fix/pyriemann-cospectra-compat
Mar 30, 2026
Merged

Fix compatibility with pyriemann >= 0.7 (CospCovariances → CoSpectra)#59
agramfort merged 1 commit into
coffeine-labs:mainfrom
m9h:fix/pyriemann-cospectra-compat

Conversation

@m9h

@m9h m9h commented Mar 29, 2026

Copy link
Copy Markdown
Contributor

Summary

Test plan

  • Verified with pyriemann 0.5 (old path: direct import works)
  • Verified with pyriemann 0.10 (new path: CoSpectra fallback works)
  • Full coffeine.compute_features() pipeline tested on CTF MEG data (274 channels, 59 epochs, 7 frequency bands)

🤖 Generated with Claude Code

CospCovariances was deprecated in pyriemann 0.6 (PR pyRiemann/pyRiemann#288)
and removed in pyriemann 0.7 (PR pyRiemann/pyRiemann#327). The replacement
class is CoSpectra with an identical API.

Since coffeine's setup.py specifies pyriemann>=0.2.7 with no upper bound,
a fresh pip install pulls pyriemann 0.10 and immediately fails with:

    ImportError: cannot import name 'CospCovariances' from 'pyriemann.estimation'

This adds a try/except fallback to import CoSpectra when CospCovariances
is not available, maintaining backwards compatibility with older pyriemann.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@agramfort
agramfort merged commit da6aa43 into coffeine-labs:main Mar 30, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants