make basemap dependency optional?
Closed this issue · 6 comments
basemap
isn't getting developed or maintained very regularly. It's becoming increasingly difficult to maintain compatibility between basemap
and other packages as a result (e.g. ncl
). Many packages are moving to cartopy
instead, though I have also found cartopy
development to proceed more slowly than I would like.
Looking through cdat
's code base, it looks like the only places basemap
is currently used are in examples and tests. Could basemap
be made an optional dependency of a future release? This would allow installation of cdat
alongside more recent versions of pyproj
and proj4
that aren't supported by the most recent release of basemap
.
@xylar I think the basemap dependency was only added originally to make local matplotlib users happy. I will remove it from CDAT.
That sounds great!
think the basemap dependency was only added originally to make local matplotlib users happy.
Yep, I know the feeling. That's the difficulty with a metapackage -- include too little and users want more, too much and you potentially cause conflicts.
I agree, basemap should be optional, especially now that is is being phased out in favor of cartopy
What I do for my multi-user CDAT installation anyway is to install CDAT as my base distribution, and then add other packages that our users want when there is no conflict: basemap, cartopy, iris, netcdf4, pyferret... (full list here). This keeps everybody happy and help me keep on promoting the CDAT specific packages
CDAT is the "BIG" distribution, LLNL's plus a bunch of useful libraries. @downiec @muryanto1 @davis278 please take a look at @jypeter list we should make sure it's all included as part of CDAT.
@jypeter if you want "just" LLNL's components do
conda create -n cdat_llnl -c cdat/label/nightly -c conda-forge vcsaddons wk
I would encourage at the minimum to add ipython
but it's up to you.
@muryanto1, I had forgotten that this didn't happen as part of the CDAT 8.2 release. Could you make sure that basemap
gets dropped as a dependency in the next release? It has a dependency, proj4=5.2.0
that isn't compatible with conda-forge pinnings (proj=6.2.1
currently) and this makes supporting it in a large environment like e3sm-unified
pretty much impossible.
basemap
was removed from CDAT 8.2.1.