Someone appears to have some interest in keeping up basemap maintenance.
I'll leave it up to the group to decide if it is worth it or if there is a
better option for Victor (cc'ed). Personally, I never attempted any sort of
repackaging work like they did in conda-forge because pip installs of
basemap have other difficulties (namely, the proj4 and by extension, the
libgeos dependency). With conda-forge handling the packaging for me, I just
never bothered even uploading new packages to PyPI.
Thoughts?
Ben Root
---------- Forwarded message ---------
From: Víctor Molina García <victor.molina(a)usal.es>
Date: Fri, Nov 6, 2020 at 3:47 PM
Subject: About basemap maintenance
To: <ben.v.root(a)gmail.com>
Dear Ben,
I write to you because you appear as the current (and last) maintainer of
basemap. I am aware that basemap has been deprecated already quite long,
but for work-related reasons I need to maintain some software that still
relies on basemap.
What should I do in order to join the matplotlib team and provide myself
some basemap maintenance for a bit more time? I do not plan to add new
features, but I think I could help in solving the current problem of
package size that prevents basemap from being available in PyPI (this is a
problem for my CI stuff because I cannot rely on PyPI to install basemap as
dependency and I need to provide my own basemap wheels to the deployment
environment).
Essentially I workaround the package size issue in the same way as it is
done in Anaconda: to split the library and separate necessary data from
"optional" data. In Anaconda, you will find "basemap" (which excludes
high-resolution data) and "basemap-data-hires" (with just these excluded
files). I was playing a bit with the basemap setup file and I could manage
to split the package in three parts:
- basemap-data: this is a package with just the basemap data of lower
resolution (approx. 20 MB).
- basemap-lite: this is just the basemap source code and the compiled
geoslib, and it has basemap-data as dependency (less than 1 MB).
- basemap-extras: this is the equivalent to basemap-data-hires in Anaconda
(about 110 MB).
This repackaging has the advantage that at least basemap-data and
basemap-lite fulfill the package size requirement of PyPI. Furthermore,
since basemap-data and basemap-extras only contain data, it is possible to
create for it just one universal wheel file valid for all Python versions
and operating systems. Then basemap-lite needs one wheel file per Python
version and operating system, but thanks to keeping the data in a separate
package a lot of file redundancy is avoided.
Kind regards,
Víctor