Skip to content

Relax pandas<3 pin#4691

Merged
alejoe91 merged 9 commits into
SpikeInterface:mainfrom
alejoe91:pandas-3
Jul 21, 2026
Merged

Relax pandas<3 pin#4691
alejoe91 merged 9 commits into
SpikeInterface:mainfrom
alejoe91:pandas-3

Conversation

@alejoe91

@alejoe91 alejoe91 commented Jul 14, 2026

Copy link
Copy Markdown
Member

Fixes #4687

@alejoe91 alejoe91 added this to the 0.105.0 milestone Jul 15, 2026
@alejoe91
alejoe91 requested review from chrishalcrow and h-mayorquin and removed request for chrishalcrow July 15, 2026 17:00

@h-mayorquin h-mayorquin left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

It is is a breaking change or users who for some reason can't use the older pandas but I guess they have older versions of SpikeInterface for that,

@chrishalcrow

chrishalcrow commented Jul 15, 2026

Copy link
Copy Markdown
Member

I'm not sure that dropping 3.10 support is worth it to support pandas 3 - I think we should at least discuss it. This would leave us only supporting three versions of Python.

(I'm ok with the PR from a technical standpoint though!)

@zm711

zm711 commented Jul 15, 2026

Copy link
Copy Markdown
Member

I agree with Chris. 3.10 isn't EOL until October so removing support before then at least seems premature to me.

@alejoe91

Copy link
Copy Markdown
Member Author

I agree with Chris. 3.10 isn't EOL until October so removing support before then at least seems premature to me.

Both pandas 3 and zarr 3 dropped support for 3.10. I don't think this will be an issue. Hopefully zarr v3 will be in main by then too

@alejoe91

Copy link
Copy Markdown
Member Author

LGTM

It is is a breaking change or users who for some reason can't use the older pandas but I guess they have older versions of SpikeInterface for that,

And I agree with @h-mayorquin here too. If someone wants to use 3.10, we have plenty of older versions (including the current one) with support :)

@alejoe91

Copy link
Copy Markdown
Member Author

Plus, we will support 3.14 by next release (#4173 is in milestone 0.105.0)

@chrishalcrow

chrishalcrow commented Jul 21, 2026

Copy link
Copy Markdown
Member

Tested locally, and none of the pandas 3 changes we used are breaking. So we don't need to pin pandas, and hence don't need to remove 3.10 support.
(Checking with full tests now...)

Note: The 3.10 tests are using pandas<3 and the 3.13 tests are using pandas>3, as expected

Comment on lines +156 to +161
if upset_data.index.nlevels == 1:
warnings.warn(
f"Skipping UpSet plot: only one metric, {memberships[0][0]}, was responsible for all failures."
)
continue

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

UpSet plot requires there to be at least two metrics which cause "failures" (units != sua). Sometimes, only amplitude_cutoff was causing all failures, meaning it couldn't plot and would error.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good catch!

@chrishalcrow chrishalcrow changed the title Update dependencies: pandas>=3 and python>=3.11 Relax pandas<3 pin Jul 21, 2026
@alejoe91
alejoe91 merged commit fb8494d into SpikeInterface:main Jul 21, 2026
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

packaging Related to packaging/style

Projects

None yet

Development

Successfully merging this pull request may close these issues.

read_phy / PhySortingExtractor raises "assignment destination is read-only" under pandas >= 3.0

4 participants