developmentseed / developmentseed/zarrista
pyemscripten wheel is unimportable: the Python layer imports async-only classes unconditionally
- Dominant language
- Python
- Stars
- 45
- Forks
- 2
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 7
Description
Just stumbled upon this and wanted to quickly report 🙏
`import zarrista` fails on Pyodide with the published `zarrista-0.1.0-cp314-cp314-pyemscripten_2026_0_wasm32.whl`.
## Reproducer
Pyodide 314.0.4, Node 26, zarrista 0.1.0:
```js
import { loadPyodide } from "pyodide";
const pyodide = await loadPyodide({ packages: ["micropip"] });
await pyodide.runPythonAsync(`
import micropip
# see the footnote: zarr-metadata 0.5.0 wants typing-extensions>=4.16, Pyodide ships 4.15.0
await micropip.install(["typing-extensions>=4.16"], reinstall=True)
await micropip.install(["zarrista"])
import zarrista
`);
```
zarr-metadata 0.5.0 requires typing-extensions>=4.16, while Pyodide 314 ships 4.15.0, so micropip refuses to install zarrista at all.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by running the supplied Pyodide and Node reproducer against the published pyemscripten wheel, then inspect the Python-layer imports involved in `import zarrista`. Trace which async-only classes are imported unconditionally and verify that the resulting wheel can be installed and imported successfully in Pyodide.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, wasm
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 57/100