recipes icon indicating copy to clipboard operation
recipes copied to clipboard

Package `geopandas`

Open jtpio opened this issue 1 year ago • 13 comments

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.

jtpio avatar Apr 17 '23 10:04 jtpio

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?

jsignell avatar Aug 01 '23 14:08 jsignell

That would be great! Happy to help reviewing PRs

martinRenou avatar Aug 01 '23 15:08 martinRenou

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!

jtpio avatar Aug 01 '23 15:08 jtpio

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.

jsignell avatar Aug 01 '23 17:08 jsignell

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

jsignell avatar Aug 02 '23 19:08 jsignell

those all have pyodide recipes, so I'll make some PRs.

jsignell avatar Aug 02 '23 19:08 jsignell

I created #603 and #604. Will try to do the proj ones tomorrow

jsignell avatar Aug 02 '23 21:08 jsignell

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)

m0lentum avatar Mar 13 '24 12:03 m0lentum

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).

jtpio avatar Mar 13 '24 12:03 jtpio

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.

m0lentum avatar Mar 13 '24 12:03 m0lentum

Thanks @m0lentum for the help!

jtpio avatar Mar 13 '24 13:03 jtpio

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).

m0lentum avatar Mar 19 '24 10:03 m0lentum

I think we now have pyproj, shapely and geos ... so we would only need libproj to support geopandas-base @jsignell

anutosh491 avatar Jul 12 '24 11:07 anutosh491