developmentseed / developmentseed/zarrista

pyemscripten wheel is unimportable: the Python layer imports async-only classes unconditionally

Open
#189 3 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.