Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Suggestions for adding packages to geospatial #16

Closed
giswqs opened this issue Apr 5, 2022 · 34 comments
Closed

Suggestions for adding packages to geospatial #16

giswqs opened this issue Apr 5, 2022 · 34 comments
Labels
Feature request New feature or request

Comments

@giswqs
Copy link
Member

giswqs commented Apr 5, 2022

If you would like to suggest new packages to be added to the geospatial stack, please leave comments down here. Here are the steps:

First, check https://geospatial.gishub.org/#installed-packages and see if the suggested packages are listed on the list. If they are already listed, then you can skip the following steps.

Second, search the suggested packages on https://conda-forge.org/feedstock-outputs and make sure they can be found there. If not, that means the suggested packages are not available on conda-forge. If this is the case, then they cannot be added to the geospatial stack. Then you can skip the following step.

Third, leave the names of suggested packages here if they meet the above requirements.

@giswqs giswqs added the Feature request New feature or request label Apr 5, 2022
@giswqs giswqs pinned this issue Apr 5, 2022
@giswqs
Copy link
Member Author

giswqs commented Apr 5, 2022

pysal would be a good addition. However, one of the pysal dependencies fails pip check. Therefore, pysal can't be added to the geospatial stack until the issue is resolved by the pointpats maintainers. See pysal/pointpats#80

@davemlz
Copy link

davemlz commented Apr 5, 2022

Hi Prof. Wu,

This is a very nice idea!

Here are some suggestions:

Earth Engine:

  • wxee
  • eemont

STAC:

  • stackstac
  • planetary_computer
  • radiant_mlhub
  • easystac (It would install the above mentioned in STAC)

Visualizations:

  • proplot
  • eomaps
  • xmovie

EO processing:

  • spyndex
  • s2cloudless
  • rasterstats

ML:

  • torchgeo
  • verde

@dkerkow
Copy link

dkerkow commented Apr 5, 2022

Hi, thanks for setting this up!

I would suggest including https://anaconda.org/conda-forge/geoalchemy2, as you have included SQLAlchemy anyway. I use the PyPI version in a couple of production apps.

@giswqs
Copy link
Member Author

giswqs commented Apr 5, 2022

@davemlz Good suggestions. I can probably add all of them except touchgeo and verde. Adding these two needs to download 199 packages with 643 MB, which can be time-consuming for users. I want the package to be as inclusive as possible, but in the meantime, I also want to make sure that it is relatively fast and easy to install.

image

@giswqs
Copy link
Member Author

giswqs commented Apr 5, 2022

@davemlz @dkerkow The suggested packages have been added. I might create another package dedicated to geospatial machine learning so that I can add torchgeo and verde to it. Most machine learning packages are relatively large. I want to keep the geospatial relatively small and fast to install.

https://github.com/conda-forge/geospatial-feedstock/pull/7/files

@giswqs
Copy link
Member Author

giswqs commented Apr 5, 2022

@davemlz The geospatial-ml package is now available on PyPI. It should be available on conda-forge in a few days. For now, it only contains four packages. Suggestions for adding more geospaital packages for machine learning are welcome.

https://github.com/giswqs/geospatial-ml

PS: Initially, I used geoml as the package name, but PyPI does not allow that due to another existing package with a similar name.

    - geospatial
    - scikit-learn
    - torchgeo
    - verde

@davemlz
Copy link

davemlz commented Apr 5, 2022

That's great! I will open an Issue with some suggestions there.

Thanks, Prof. Wu!

@joemcglinchy
Copy link

I'd like to suggest pystac-client and odc-stac

@giswqs
Copy link
Member Author

giswqs commented Apr 7, 2022

@joemcglinchy pystac-client is ready on the list. See https://geospatial.gishub.org/#installed-packages
I will add odc-stac shortly.

@joemcglinchy
Copy link

oh my bad, i was looking at the recipe not the installed packages. thanks!

@giswqs
Copy link
Member Author

giswqs commented Apr 7, 2022

@joemcglinchy No problem. The recipe only lists the top-level dependencies. I did not list secondary dependencies to avoid the recipe getting too long.

@giswqs
Copy link
Member Author

giswqs commented Apr 7, 2022

@joemcglinchy odc-stac is now available through the geospatial package on PyPI. It should be available on conda-forge in a few hours. https://github.com/conda-forge/geospatial-feedstock/pull/9/files

@geowest11
Copy link

The h3 package for working with Uber's hexagonal grid would be nice to have in there. Also, the cenpy package for census data and geographies.

@giswqs
Copy link
Member Author

giswqs commented Apr 13, 2022

@geowest11 Thank you for the suggestions. cenpy and h3 have been added. Should be available on conda-forge in a few hours.
https://github.com/conda-forge/geospatial-feedstock/pull/10/files

@RichardScottOZ
Copy link

Geocube for a nice rasterising api

@giswqs
Copy link
Member Author

giswqs commented Apr 15, 2022

@RichardScottOZ geocube has been added. Should be available on conda-forge soon.
conda-forge/geospatial-feedstock#13

@jameshgrn
Copy link

Hey Qiusheng! What do you think about supporting sliderule? It's for icesat-2 data retrieval. I'm not sure it's possible, but if its easy enough, would be great!

Also, cheers. I said this on twitter but it's worth repeating—this is a much needed contribution to the community, thanks again!

@pancheliuga
Copy link

First off, thank you for your giant impact and contribution to Geospatial!

I would like to see "contextily" in your package

@giswqs
Copy link
Member Author

giswqs commented Apr 16, 2022

@jameshgrn @pancheliuga Both contextily and sliderule have been added. Should be available shortly.
https://github.com/conda-forge/geospatial-feedstock/pull/14/files

@monocilindro
Copy link

Qiusheng, what do you think of adding pygmt? It is based on Generic Mapping Tools, a widely used tool in Geophysics
Great work of yours, BTW

@giswqs
Copy link
Member Author

giswqs commented Apr 22, 2022

@monocilindro Thanks for the suggestion. I am a bit hesitant to add pygmt. It has several large dependencies, which will add 172 MB to geospatial. I am trying to keep geospatial relatively small and easy to install.

image

@ArterialMapping
Copy link

ArterialMapping commented Apr 27, 2022

@giswqs
Copy link
Member Author

giswqs commented Apr 27, 2022

@ArterialMapping It appears that routingpy requires ipykernel >=5.3.4,<6, which was released over a year ago. Many packages in the geospatial stack require a much newer version of ipykernel. routingpy needs to bring ipykernel up to date before it can be added to geospatial.

https://github.com/conda-forge/routingpy-feedstock/blob/c32ee1d1500c3f6bbda723b342886b9b45488513/recipe/meta.yaml#L30
image

[image

@nilsnolde
Copy link

For routingpy we don’t support conda anymore unless community steps up for maintenance. It’s a pointless hassle for us, as a python-only lib.

I like this consolidation though. Is conda support a requirement to add to geospatial?

@giswqs
Copy link
Member Author

giswqs commented Apr 27, 2022

@nilsnolde Yes, supporting conda is a requirement to add to geospatial. Many geospatial packages are challenging to install via pip. The advantage of using conda is that it can resolve dependency conflicts, while pip cannot.

You can set up automerge for your package on conda-forge. It will automatically update conda-forge whenever you release a new version to PyPI. This requires minimal efforts to maintain the package on conda-forge.
https://conda-forge.org/docs/maintainer/infrastructure.html#conda-forge-admin-please-add-bot-automerge

@nilsnolde
Copy link

thanks, think I was a bit too sleepy still this morning.. of course this is all about conda 😅 I figured there'd be some some automagic by now, my conda experience is 4-5 years ago. given the pervasiveness of conda I'll set up the workflow again and inform back again (actually we only have requests as actual dependency, the conda recipe is crazy outdated). thanks @giswqs and @ArterialMapping , was being pretty lazy on that one.

@giswqs
Copy link
Member Author

giswqs commented May 29, 2022

Just added pysal. Closing this issue for now. Feel free to open a new issue if you would like to suggest new packages to be added to geospatial.

@giswqs giswqs closed this as completed May 29, 2022
@tariah7
Copy link

tariah7 commented Sep 20, 2022

Good day sir,
I'd like to suggest PCraster be added to the list.

@giswqs
Copy link
Member Author

giswqs commented Sep 20, 2022

PCRaster is not a Python package.

@andyrich
Copy link

@ravish-bapna
Copy link

Please explore the possibility of adding "earthaccess" package; more info available at https://pypi.org/project/earthaccess/

@edwardpmorris
Copy link

PDAL (Python bindings) for processing PointClouds (Lidar data). Although admittedly its really a wrapper and also depends on GDAL.
image

@giswqs
Copy link
Member Author

giswqs commented Feb 22, 2024

@edwardpmorris pdal has been added. conda-forge/geospatial-feedstock#37

@radwinskis
Copy link

Hi @giswqs I would like to suggest adding RadGEEToolbox to geospatial for Google Earth Engine processing workflows: conda-forge/radgeetoolbox-feedstock

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature request New feature or request
Projects
None yet
Development

No branches or pull requests