This issue is automatically maintained by tools/check_pyemscripten_wheels.py.
It tracks source-built recipes in this repository whose upstream project now publishes a PEP 783 pyemscripten wheel on PyPI. Once a package ships such a wheel upstream, the recipe here can usually be removed.
- Last updated: 2026-07-20T07:49:54.495277+00:00
- Source-built recipes scanned: 167
- Recipes with an upstream
pyemscripten wheel: 9
- Platform tag pattern:
pyemscripten_[0-9]+_[0-9]+_wasm32
Candidates for removal (pyemscripten wheel available on PyPI)
| Recipe |
PyPI |
Recipe version |
Wheel version(s) |
Platform tag(s) |
cbor-diag |
cbor-diag |
1.1.2 |
1.1.5 |
pyemscripten_2026_0_wasm32 |
jiter |
jiter |
0.13.0 |
0.16.0 |
pyemscripten_2026_0_wasm32 |
librt |
librt |
0.8.1 |
0.12.0, 0.13.0 |
pyemscripten_2025_0_wasm32
pyemscripten_2026_0_wasm32 |
mypy |
mypy |
1.19.1 |
2.2.0, 2.3.0 |
pyemscripten_2026_0_wasm32 |
pandas |
pandas |
3.0.2 |
3.0.4 |
pyemscripten_2024_0_wasm32 |
pydantic_core |
pydantic_core |
2.41.5 |
2.47.0 |
pyemscripten_2026_0_wasm32 |
PyMuPDF |
PyMuPDF |
1.27.2.2 |
1.28.0 |
pyemscripten_2025_0_wasm32 |
python-calamine |
python-calamine |
0.6.2 |
0.8.2 |
pyemscripten_2026_0_wasm32 |
python-sat |
python-sat |
1.8.dev26 |
1.9.dev6, 1.9.dev7 |
pyemscripten_2025_0_wasm32
pyemscripten_2026_0_wasm32 |
Recipes still without an upstream pyemscripten wheel (158)
| Recipe |
PyPI |
Recipe version |
Note |
aiohttp |
aiohttp |
3.13.5 |
|
argon2-cffi |
argon2-cffi |
23.1.0 |
|
argon2-cffi-bindings |
argon2-cffi-bindings |
25.1.0 |
|
astropy |
astropy |
7.2.0 |
|
atomicwrites |
atomicwrites |
1.4.1 |
|
audioop-lts |
audioop-lts |
0.2.2 |
|
b2d |
b2d |
0.7.4 |
|
bcrypt |
bcrypt |
5.0.0 |
|
bilby.cython |
bilby.cython |
0.5.4 |
|
biopython |
biopython |
1.87 |
|
bitarray |
bitarray |
3.8.1 |
|
bokeh |
bokeh |
3.9.0 |
|
boost-histogram |
boost-histogram |
1.7.1 |
|
Bottleneck |
Bottleneck |
1.6.0 |
|
brotli |
brotli |
1.2.0 |
|
Cartopy |
Cartopy |
0.25.0 |
|
casadi |
casadi |
3.7.2 |
|
cffi |
cffi |
2.0.0 |
|
cffi_example |
cffi_example |
0.1 |
not found on PyPI |
cftime |
cftime |
1.6.5 |
|
clarabel |
clarabel |
0.11.1 |
|
clingo |
clingo |
5.8.0 |
|
cobs |
cobs |
1.2.2 |
|
contourpy |
contourpy |
1.3.3 |
|
coolprop |
coolprop |
7.2.0 |
|
coverage |
coverage |
7.13.5 |
|
cramjam |
cramjam |
2.11.0 |
|
crc32c |
crc32c |
2.8 |
|
crcmod |
crcmod |
1.7 |
|
cryptography |
cryptography |
47.0.0 |
|
cvxpy-base |
cvxpy-base |
1.8.2 |
|
cysignals |
cysignals |
1.12.3 |
|
cytoolz |
cytoolz |
1.1.0 |
|
ewah_bool_utils |
ewah_bool_utils |
1.3.0 |
|
fastparquet |
fastparquet |
2024.11.0 |
|
fiona |
fiona |
1.10.1 |
|
freesasa |
freesasa |
2.2.1 |
|
frozenlist |
frozenlist |
1.8.0 |
|
future |
future |
1.0.0 |
|
galpy |
galpy |
1.11.2 |
|
gensim |
gensim |
4.3.3 |
|
gmpy2 |
gmpy2 |
2.3.0 |
|
google-crc32c |
google-crc32c |
1.8.0 |
|
h3 |
h3 |
4.4.2 |
|
h5py |
h5py |
3.13.0 |
|
healpy |
healpy |
1.19.0 |
|
highspy |
highspy |
1.13.1 |
|
httpx |
httpx |
0.28.1 |
|
igraph |
igraph |
1.0.0 |
|
iminuit |
iminuit |
2.30.1 |
|
joblib |
joblib |
1.5.3 |
|
kiwisolver |
kiwisolver |
1.5.0 |
|
lakers-python |
lakers-python |
0.6.2 |
|
lazy-object-proxy |
lazy-object-proxy |
1.12.0 |
|
libcst |
libcst |
1.8.6 |
|
lightgbm |
lightgbm |
4.6.0 |
|
logbook |
logbook |
1.9.2 |
|
lxml |
lxml |
6.0.2 |
|
lz4 |
lz4 |
4.4.5 |
|
MarkupSafe |
MarkupSafe |
3.0.3 |
|
matplotlib |
matplotlib |
3.10.8 |
|
memory-allocator |
memory-allocator |
0.2.0 |
|
ml_dtypes |
ml_dtypes |
0.5.4 |
|
mmh3 |
mmh3 |
5.2.1 |
|
msgpack |
msgpack |
1.1.2 |
|
msgspec |
msgspec |
0.20.0 |
|
msprime |
msprime |
1.4.1 |
|
multidict |
multidict |
6.7.1 |
|
ndindex |
ndindex |
1.10.1 |
|
netcdf4 |
netcdf4 |
1.7.4 |
|
nh3 |
nh3 |
0.3.4 |
|
nlopt |
nlopt |
2.9.1 |
|
numcodecs |
numcodecs |
0.15.1 |
|
numpy |
numpy |
2.4.6 |
|
opencv-python |
opencv-python |
4.11.0.86 |
|
orjson |
orjson |
3.11.8 |
|
packaging |
packaging |
26.1 |
|
patsy |
patsy |
1.0.2 |
|
pcodec |
pcodec |
1.0.1 |
|
peewee |
peewee |
4.0.4 |
|
phispy |
phispy |
5.0.6 |
|
pi-heif |
pi-heif |
1.3.0 |
|
Pillow |
Pillow |
12.2.0 |
|
pillow-heif |
pillow-heif |
1.3.0 |
|
pplpy |
pplpy |
0.8.10 |
|
primecountpy |
primecountpy |
0.1.1 |
|
protobuf |
protobuf |
7.34.1 |
|
pyclipper |
pyclipper |
1.4.0 |
|
pycryptodome |
pycryptodome |
3.23.0 |
|
pydantic |
pydantic |
2.12.5 |
|
pyerfa |
pyerfa |
2.0.1.5 |
|
pygame-ce |
pygame-ce |
2.5.7 |
|
pyheif |
pyheif |
0.8.0 |
|
pyiceberg |
pyiceberg |
0.11.1 |
|
pyinstrument |
pyinstrument |
5.1.2 |
|
pymongo |
pymongo |
4.16.0 |
|
pynacl |
pynacl |
1.6.2 |
|
pyproj |
pyproj |
3.7.2 |
|
pyroaring |
pyroaring |
1.0.4 |
|
pyrodigal |
pyrodigal |
3.7.1 |
|
pyrsistent |
pyrsistent |
0.20.0 |
|
pysam |
pysam |
0.23.0 |
|
pytaglib |
pytaglib |
3.2.0 |
|
pytest-benchmark |
pytest-benchmark |
4.0.0 |
|
python-flirt |
python-flirt |
0.9.10 |
|
python-magic |
python-magic |
0.4.27 |
|
python-solvespace |
python-solvespace |
3.0.8 |
|
pywavelets |
pywavelets |
1.9.0 |
|
pyxirr |
pyxirr |
0.10.8 |
|
pyyaml |
pyyaml |
6.0.3 |
|
rasterio |
rasterio |
1.5.0 |
|
rateslib |
rateslib |
2.7.1 |
|
rebound |
rebound |
4.4.7 |
|
reboundx |
reboundx |
4.4.1 |
|
regex |
regex |
2026.3.32 |
|
retrying |
retrying |
1.4.2 |
|
river |
river |
0.23.0 |
|
rpds-py |
rpds-py |
0.30.0 |
|
rustworkx |
rustworkx |
0.17.1 |
|
safetensors |
safetensors |
0.7.0 |
|
scikit-image |
scikit-image |
0.25.2 |
|
scikit-learn |
scikit-learn |
1.8.0 |
|
scipy |
scipy |
1.18.0 |
|
screed |
screed |
1.1.3 |
|
sentencepiece |
sentencepiece |
0.2.1 |
|
shapely |
shapely |
2.1.2 |
|
simplejson |
simplejson |
3.20.2 |
|
sisl |
sisl |
0.16.4 |
|
soundfile |
soundfile |
0.12.1 |
|
sourmash |
sourmash |
4.8.14 |
|
soxr |
soxr |
0.5.0.post1 |
|
sparseqr |
sparseqr |
1.2 |
|
sqlalchemy |
sqlalchemy |
2.0.48 |
|
statsmodels |
statsmodels |
0.14.6 |
|
swiglpk |
swiglpk |
5.0.13 |
|
termcolor |
termcolor |
3.3.0 |
|
texture2ddecoder |
texture2ddecoder |
1.0.6 |
|
tiktoken |
tiktoken |
0.12.0 |
|
traits |
traits |
7.1.0 |
|
tree-sitter |
tree-sitter |
0.23.2 |
|
tree-sitter-go |
tree-sitter-go |
0.23.3 |
|
tree-sitter-java |
tree-sitter-java |
0.23.4 |
|
tree-sitter-python |
tree-sitter-python |
0.23.4 |
|
tskit |
tskit |
1.0.2 |
|
ujson |
ujson |
5.12.0 |
|
uncertainties |
uncertainties |
3.2.3 |
|
urllib3 |
urllib3 |
2.6.3 |
|
wordcloud |
wordcloud |
1.9.6 |
|
wrapt |
wrapt |
2.1.2 |
|
xgboost |
xgboost |
2.1.4 |
|
xxhash |
xxhash |
3.6.0 |
|
xyzservices |
xyzservices |
2026.3.0 |
|
yarl |
yarl |
1.23.0 |
|
yt |
yt |
4.4.0 |
|
zarr |
zarr |
3.2.1 |
|
zengl |
zengl |
2.7.2 |
|
zfpy |
zfpy |
1.0.1 |
|
zstandard |
zstandard |
0.25.0 |
|
This issue is automatically maintained by
tools/check_pyemscripten_wheels.py.It tracks source-built recipes in this repository whose upstream project now publishes a PEP 783
pyemscriptenwheel on PyPI. Once a package ships such a wheel upstream, the recipe here can usually be removed.pyemscriptenwheel: 9pyemscripten_[0-9]+_[0-9]+_wasm32Candidates for removal (pyemscripten wheel available on PyPI)
cbor-diagpyemscripten_2026_0_wasm32jiterpyemscripten_2026_0_wasm32librtpyemscripten_2025_0_wasm32pyemscripten_2026_0_wasm32mypypyemscripten_2026_0_wasm32pandaspyemscripten_2024_0_wasm32pydantic_corepyemscripten_2026_0_wasm32PyMuPDFpyemscripten_2025_0_wasm32python-calaminepyemscripten_2026_0_wasm32python-satpyemscripten_2025_0_wasm32pyemscripten_2026_0_wasm32Recipes still without an upstream pyemscripten wheel (158)
aiohttpaiohttpargon2-cffiargon2-cffiargon2-cffi-bindingsargon2-cffi-bindingsastropyastropyatomicwritesatomicwritesaudioop-ltsaudioop-ltsb2db2dbcryptbcryptbilby.cythonbilby.cythonbiopythonbiopythonbitarraybitarraybokehbokehboost-histogramboost-histogramBottleneckBottleneckbrotlibrotliCartopyCartopycasadicasadicfficfficffi_examplecffi_examplecftimecftimeclarabelclarabelclingoclingocobscobscontourpycontourpycoolpropcoolpropcoveragecoveragecramjamcramjamcrc32ccrc32ccrcmodcrcmodcryptographycryptographycvxpy-basecvxpy-basecysignalscysignalscytoolzcytoolzewah_bool_utilsewah_bool_utilsfastparquetfastparquetfionafionafreesasafreesasafrozenlistfrozenlistfuturefuturegalpygalpygensimgensimgmpy2gmpy2google-crc32cgoogle-crc32ch3h3h5pyh5pyhealpyhealpyhighspyhighspyhttpxhttpxigraphigraphiminuitiminuitjoblibjoblibkiwisolverkiwisolverlakers-pythonlakers-pythonlazy-object-proxylazy-object-proxylibcstlibcstlightgbmlightgbmlogbooklogbooklxmllxmllz4lz4MarkupSafeMarkupSafematplotlibmatplotlibmemory-allocatormemory-allocatorml_dtypesml_dtypesmmh3mmh3msgpackmsgpackmsgspecmsgspecmsprimemsprimemultidictmultidictndindexndindexnetcdf4netcdf4nh3nh3nloptnloptnumcodecsnumcodecsnumpynumpyopencv-pythonopencv-pythonorjsonorjsonpackagingpackagingpatsypatsypcodecpcodecpeeweepeeweephispyphispypi-heifpi-heifPillowPillowpillow-heifpillow-heifpplpypplpyprimecountpyprimecountpyprotobufprotobufpyclipperpyclipperpycryptodomepycryptodomepydanticpydanticpyerfapyerfapygame-cepygame-cepyheifpyheifpyicebergpyicebergpyinstrumentpyinstrumentpymongopymongopynaclpynaclpyprojpyprojpyroaringpyroaringpyrodigalpyrodigalpyrsistentpyrsistentpysampysampytaglibpytaglibpytest-benchmarkpytest-benchmarkpython-flirtpython-flirtpython-magicpython-magicpython-solvespacepython-solvespacepywaveletspywaveletspyxirrpyxirrpyyamlpyyamlrasteriorasteriorateslibrateslibreboundreboundreboundxreboundxregexregexretryingretryingriverriverrpds-pyrpds-pyrustworkxrustworkxsafetensorssafetensorsscikit-imagescikit-imagescikit-learnscikit-learnscipyscipyscreedscreedsentencepiecesentencepieceshapelyshapelysimplejsonsimplejsonsislsislsoundfilesoundfilesourmashsourmashsoxrsoxrsparseqrsparseqrsqlalchemysqlalchemystatsmodelsstatsmodelsswiglpkswiglpktermcolortermcolortexture2ddecodertexture2ddecodertiktokentiktokentraitstraitstree-sittertree-sittertree-sitter-gotree-sitter-gotree-sitter-javatree-sitter-javatree-sitter-pythontree-sitter-pythontskittskitujsonujsonuncertaintiesuncertaintiesurllib3urllib3wordcloudwordcloudwraptwraptxgboostxgboostxxhashxxhashxyzservicesxyzservicesyarlyarlytytzarrzarrzenglzenglzfpyzfpyzstandardzstandard