conda-forge / geopandas-feedstock

A conda-smithy repository for geopandas.
BSD 3-Clause "New" or "Revised" License
16 stars 14 forks source link

Remove optional dependencies #59

Closed ocefpaf closed 5 years ago

ocefpaf commented 5 years ago

@jorisvandenbossche I understand that is a bad idea to remove functionality like this b/c people are probably relying on it. However, there is a need for lighter packages for cloud computing and this change reduces the size of an environment with geopandas drastically. (Mostly due to the removal of matplotlib.)

conda-forge-linter commented 5 years ago

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

jorisvandenbossche commented 5 years ago

Yes, I certainly understand the rationale.

For plotting, the main annoying thing is not that people have to install matplotlib (most will have that if they have a general data analysis env), but rather descartes, which is required for plotting in geopandas but will typically not be installed. We should maybe think about including that in geopandas (it's less than 100 lines of code)

For rtree, is that a big offender in size? Because without it, both spatial join and spatial overlay don't work.

ocefpaf commented 5 years ago

We should maybe think about including that in geopandas (it's less than 100 lines of code)

I'm usually against vendorzing code but descartes is so small (and the development seems to have stalled) that it makes sense in this case.

For rtree, is that a big offender in size? Because without it, both spatial join and spatial overlay don't work.

Not really. We can keep it. Would you say that rtree would be a mandatory dependence if pip installing was easier?

jorisvandenbossche commented 5 years ago

Not really. We can keep it. Would you say that rtree would be a mandatory dependence if pip installing was easier?

Yes, I think that is a good description

ocefpaf commented 5 years ago

@jorisvandenbossche are you OK merging this? I re-added rtree.

jorisvandenbossche commented 5 years ago

Yep, go ahead

ResidentMario commented 5 years ago

@ocefpaf can you describe in slightly more detail what the need is for making matplotlib an optional geopandas dependency? Not sure I quite understand...

ocefpaf commented 5 years ago

@ocefpaf can you describe in slightly more detail what the need is for making matplotlib an optional geopandas dependency? Not sure I quite understand...

Well... It is an optional dependency upstream, the conda-forge package was the one breaking that logic it. Also, there are many people now using the geospatial stack on the cloud and requesting smaller packages.

ResidentMario commented 5 years ago

Well... It is an optional dependency upstream, the conda-forge package was the one breaking that logic it.

Ah I see, I did not know that.

Also, there are many people now using the geospatial stack on the cloud and requesting smaller packages.

Smaller packages are ok, but what would really blow me away is faster environment build times. 😛 It's too bad conda has gotten so much slower over the years.

ocefpaf commented 5 years ago

Smaller packages are ok, but what would really blow me away is faster environment build times. It's too bad conda has gotten so much slower over the years.

You may be interested in:

https://www.anaconda.com/how-we-made-conda-faster-4-7/ https://www.anaconda.com/why-we-removed-the-free-channel-in-conda-4-7/

Also, if you deal with a limited set of packages, check conda-metachannel: https://github.com/regro/conda-metachannel

Last but not least, just upgrading to conda 4.7 and using strict improved my experience by 100%.