Package `geopandas`
At the moment geopandas appears to be missing:
__
__ ______ ___ ____ _____ ___ / /_ ____ _
/ / / / __ `__ \/ __ `/ __ `__ \/ __ \/ __ `/
/ /_/ / / / / / / /_/ / / / / / / /_/ / /_/ /
/ .___/_/ /_/ /_/\__,_/_/ /_/ /_/_.___/\__,_/
/_/
https://repo.mamba.pm/emscripten-forge/emscripte.. 14.7kB @ 30.0kB/s 0.5s
conda-forge/emscripten-32 359.0 B @ 703.0 B/s 404 failed 0.5s
https://repo.mamba.pm/emscripten-forge/noarch 441.0 B @ 807.0 B/s 0.5s
https://repo.mamba.pm/conda-forge/emscripten-32 93.0 B @ 141.0 B/s 404 failed 0.7s
https://repo.mamba.pm/conda-forge/noarch 11.0MB @ 1.4MB/s 8.0s
conda-forge/noarch 11.9MB @ 1.1MB/s 10.2s
Encountered problems while solving:
- nothing provides fiona needed by geopandas-0.10.0-pyhd8ed1ab_0
It would be great to add it to Emscripten Forge.
Pyodide has the recipe here: https://github.com/pyodide/pyodide/blob/main/packages/geopandas/meta.yaml
Looks like we might need to package a few others before such as shapely.
I am really excited about voici, but the lack of geopandas is a blocker for me. Would it be helpful to open PRs for geopandas and deps?
That would be great! Happy to help reviewing PRs
For reference we had a quick look at it during the JupyterCon 2023 sprint and tried to package protobuf first as it is a dependency:
- https://github.com/emscripten-forge/recipes/issues/455
- https://github.com/emscripten-forge/recipes/pull/454
But then haven't made progress since. So if you would like to have a look that would be great, thanks!
Ok! That is good context. I don't have any expertise to bring, but I can certainly copy recipes from pyodide if that is helpful.
I was looking a bit more into this and just wanted to point out that conda-forge there are two separate packages: geopandas-base and geopandas. For my purposes geopandas-base would be sufficient. I did a little digging and I think the non-python libraries that are missing are:
- shapely
- geos
- pyproj
- libproj
https://github.com/conda-forge/geopandas-feedstock/blob/main/recipe/meta.yaml
those all have pyodide recipes, so I'll make some PRs.
I created #603 and #604. Will try to do the proj ones tomorrow
How much work is left to be done on this? I find myself needing geopandas for a voici project and I'd be happy to help with whatever I can to get it running (although I'm new to this whole ecosystem, so it will take a little while to learn how to do anything useful)
Looks like https://github.com/emscripten-forge/recipes/pull/604 is still open.
There might be some other dependencies to also package for emscripten-forge. Then adding the recipe for geopandas itself should hopefully be straightforward (according to the one in Pyodide: https://github.com/pyodide/pyodide/tree/main/packages/geopandas).
Thanks for the pointers. I'll work through the instructions for local builds and see if I can make any progress on top of #604.
Thanks @m0lentum for the help!
Update: I had to move to a different task and unfortunately didn't manage to finish packaging geopandas, but I was able to set up local builds and identify a few more missing dependencies besides geos and shapely, namely fiona, gdal, and libproj. We still have potential projects that could use this, so I'll try to make time to get back to this later (if nobody else gets to it by then).
I think we now have pyproj, shapely and geos ... so we would only need libproj to support geopandas-base @jsignell