Skip to content

Pin Python 3.13 in the conda environment - #209

Merged
rly merged 1 commit into
mainfrom
pin-python-3.13
Oct 7, 2026
Merged

rly merged 1 commit into
mainfrom
pin-python-3.13

Conversation

@CodyCBakerPhD

Copy link
Copy Markdown
Collaborator

Problem

Since #205 the environment file pins python=3.14.8 together with hdmf-zarr==0.13.0. hdmf-zarr 0.13.0 requires numcodecs<0.16, and numcodecs 0.15.1 ships no Python 3.14 wheel, so conda env create makes pip compile it from source. On a machine without a C compiler that fails:

error: [Errno 2] No such file or directory: 'gcc'
ERROR: Failed building wheel for numcodecs
CondaEnvException: Pip failed

With a current GCC it fails too: the bundled c-blosc in numcodecs 0.15.1 declares typedef _Bool bool;, which C23 (GCC 15+ default) rejects, so it only builds with -std=gnu17. CI here passes only because GitHub-hosted runners carry an older gcc.

This surfaced on the first self-hosted benchmark runner (CodyCBakerPhD/nwb-benchmarks-runner, run 37646509500).

Change

python=3.14.8 → python=3.13.16, the newest 3.13 on conda-forge for linux-64, osx-arm64, osx-64 and win-64. Every dependency has wheels for 3.13, so no compiler is needed anywhere. pyproject.toml keeps requires-python = ">=3.10,<3.15".

Python 3.14 can come back together with hdmf-zarr 0.14 (zarr 3), which allows numcodecs 0.17 and its 3.14 wheels.

🤖 Generated with Claude Code

https://claude.ai/code/session_01ToiYPiSdU8NM9h1UmLgsq8


Generated by Claude Code

Python 3.14.8 (#205) cannot be installed on a machine without a C
compiler: hdmf-zarr==0.13.0 requires numcodecs<0.16, numcodecs 0.15.1
ships no Python 3.14 wheel, so pip compiles it from source, and that
source does not build with a current GCC either (its bundled c-blosc
defines `bool` via typedef, which C23 rejects). CI only passes because
GitHub-hosted runners have an older gcc.

Pin the newest Python 3.13 instead (3.13.16 on conda-forge for linux-64,
osx-arm64, osx-64 and win-64); every dependency has wheels for it.
Python 3.14 can come back together with hdmf-zarr 0.14 / zarr 3, which
allow numcodecs 0.17 and its 3.14 wheels.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ToiYPiSdU8NM9h1UmLgsq8
@CodyCBakerPhD CodyCBakerPhD self-assigned this Oct 7, 2026
@CodyCBakerPhD
CodyCBakerPhD marked this pull request as ready for review October 7, 2026 18:01
@CodyCBakerPhD

Copy link
Copy Markdown
Collaborator Author

@rly Yeah IDK I'm then having problems with 3.14 and latest HDMF-Zarr + numcodecs

maybe we can agree on this (3.13)?

@CodyCBakerPhD
CodyCBakerPhD requested a review from rly October 7, 2026 18:02
@rly

rly commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

I forgot about the numcodecs issue. Yes let's do 3.13

@rly

rly commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

Thanks for investigating!

@rly
rly merged commit e4e0ee7 into main Oct 7, 2026
3 checks passed
@rly
rly deleted the pin-python-3.13 branch October 7, 2026 19:04
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