Skip to content

Make netCDF4 optional on Emscripten/WASM#2

Merged
jeandet merged 1 commit into
mainfrom
wasm-optional-netcdf4
Jun 27, 2026
Merged

Make netCDF4 optional on Emscripten/WASM#2
jeandet merged 1 commit into
mainfrom
wasm-optional-netcdf4

Conversation

@jeandet

@jeandet jeandet commented Jun 27, 2026

Copy link
Copy Markdown
Member

netCDF4 is a compiled extension with no Pyodide wheel, so the unconditional 'netCDF4' dependency (added in 0.8.0) makes PyISTP — and anything that depends on it, like Speasy — fail to install under WASM/Pyodide (micropip errors with Can't find a pure Python 3 wheel for 'netcdf4').

Mark it netCDF4; sys_platform != "emscripten" so micropip skips it on WASM. The netCDF driver is already imported lazily (only inside _driver_factory, when a netCDF/HDF file is actually read), so import pyistp keeps working without netCDF4; CDF support via pycdfpp is unaffected.

Needs a release (0.8.1) for Speasy's WASM CI to pick it up.

🤖 Generated with Claude Code

netCDF4 is a compiled extension with no Pyodide wheel, so requiring it
unconditionally makes PyISTP (and anything depending on it, e.g. Speasy)
uninstallable under WASM. Mark it `; sys_platform != "emscripten"` so
micropip skips it there. The netCDF driver is already imported lazily
(only when a netCDF/HDF file is actually read), so `import pyistp` keeps
working without netCDF4; CDF support via pycdfpp is unaffected.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@codecov

codecov Bot commented Jun 27, 2026

Copy link
Copy Markdown

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

Thanks for integrating Codecov - We've got you covered ☂️

@jeandet jeandet merged commit 8e8b43a into main Jun 27, 2026
44 checks passed
@sonarqubecloud

Copy link
Copy Markdown

@jeandet jeandet deleted the wasm-optional-netcdf4 branch June 27, 2026 12:53
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.

1 participant