diff --git a/.travis.yml b/.travis.yml index 362214a50..4ca5250cc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -47,11 +47,6 @@ matrix: - NUMPY=numpy==1.7.0 - MPL=matplotlib==1.2.0 - BUILD_LIBGEOS=internal - - python: 3.3 - env: - - NUMPY=numpy==1.7.0 - - MPL=matplotlib==1.2.0 - - BUILD_LIBGEOS=internal # "middle of the road" environment # use prepackaged binaries @@ -60,6 +55,7 @@ matrix: env: - MPL=matplotlib==1.4.3 - NUMPY=numpy==1.9.3 + - BUILD_LIBGEOS=internal # "latest and greatest" stable environments # this uses the current stable versions @@ -70,7 +66,10 @@ matrix: - python: 3.5 env: - BUILD_LIBGEOS=3.5.0 - + - python: 3.6 + env: + - BUILD_LIBGEOS=3.5.0 + # "current development" environment # this test is diagnostic for development versions and is not required to pass - python: "nightly" diff --git a/Changelog b/Changelog index 88965d52e..46190814a 100644 --- a/Changelog +++ b/Changelog @@ -1,20 +1,27 @@ -version 1.0.8 (not yet released) +version 1.1.0 (git tag v1.1.0rel) -------------------------------- -* removes inline pyshp and pyproj code and uses makes these packages required - external dependencies (handling issue 230). -* add 'textcolor' kwarg to drawmeridians and drawparallels (issue 145). +* Updated packaged data to use GSHHG v2.3.6 (PR #311 & #320) +* pyshp/pyproj are now external dependencies (PR #234) +* Proper clipping of plots regardless of projection (issue #175) +* drawmapscale() supports "feet" as an input unit (PR #289) +* nightshade() supports datetime timezone-aware datetime objects + as long as the timezone is UTC. Still assumes timezone-naive + objects are UTC as well. (issue #272) +* Properly perform input validation/casting (issue #260) +* Support newer versions of OWSLib (PR #259) +* Use integer indexes (PR #246) +* Stop ResourceWarnings for unclosed files in py3k (PR #244) +* add 'textcolor' kwarg to drawmeridians and drawparallels (issue #145). * don't assume grid is regular when adding cyclic point in addcyclic. New kwargs 'axis' and 'cyclic' added. More than one array - can be handled at a time, as long as the last one is longitude. Issue 139. -* fix for coastline drawing glitch (issue 123). -* update shapefile.py to version 1.2.0 from pyshp.googlecode.com. Add back - in modification clobbered in upgrade to version 1.1.7 (issue 30). + can be handled at a time, as long as the last one is longitude. (issue #139). +* fix for coastline drawing glitch (issue #123). * added 'facecolor' keyward argument to drawcounties() method; gives user ability to fill counties with specified matplotlib color argument. * fix drawgreatcircle bug so that lines exiting and reentering a projection region don't draw horizontally across the map. * on non-windows platforms, only link against libgeos C API (and not against - C++ API anymore; issue 140). This is recommended by the authors/maintainers + C++ API anymore; issue #140). This is recommended by the authors/maintainers of GEOS. Also, this means that on e.g. Debian Linux, basemap can now be installed from source simply using 'pip install basemap' when the libgeos packages are installed globally using the package management. diff --git a/doc/conf.py b/doc/conf.py index e259b8a56..6d12a54cc 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -42,7 +42,7 @@ # General substitutions. project = 'Basemap Matplotlib Toolkit' -copyright = '2011, Jeffrey Whitaker' +copyright = '2011, Jeffrey Whitaker; 2016 The matplotlib development team' # The default replacements for |version| and |release|, also used in various # other places throughout the built documents. diff --git a/doc/index.rst b/doc/index.rst index 0a9e7625a..65f6b2c3c 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -1,5 +1,5 @@ -Welcome to the Matplotlib Basemap Toolkit documentation! -======================================================== +Welcome to the Matplotlib Basemap Toolkit documentation +======================================================= .. toctree:: :maxdepth: 2 diff --git a/doc/users/installing.rst b/doc/users/installing.rst index 9b402c19e..5298c43eb 100644 --- a/doc/users/installing.rst +++ b/doc/users/installing.rst @@ -21,7 +21,9 @@ Python 2.4 (or later, including Python 3) numpy 1.2.1 (or later) array support for python (`download `__) -**Required libraries that ship with basemap** +`PROJ4 `__ Cartographic Projections Library. + +**Required library that ships with basemap** `GEOS `__ (Geometry Engine - Open Source) library 3.1.1 or later. Source code is included in the geos-3.3.3 directory. @@ -29,20 +31,17 @@ numpy 1.2.1 (or later) from basemap (see build instructions below). Included in Windows binary installers. -`PROJ4 `__ Cartographic Projections Library. - Patched version automatically built into basemap. - **Optional libraries** -PIL - Python Imaging Library (`download `__), +Pillow + Python Imaging Library (`download `__), only needed for :func:`~mpl_toolkits.basemap.Basemap.bluemarble`, :func:`~mpl_toolkits.basemap.Basemap.etopo`, :func:`~mpl_toolkits.basemap.Basemap.shadedrelief` and :func:`~mpl_toolkits.basemap.Basemap.warpimage` instance methods. Installation ============ Download either Windows binary installers or source tarballs -`here `__. +`here `__. To install from the source, follow these steps: diff --git a/doc/users/intro.rst b/doc/users/intro.rst index dd4d25bdc..14a8eb240 100644 --- a/doc/users/intro.rst +++ b/doc/users/intro.rst @@ -21,14 +21,30 @@ datasets (from `Generic Mapping Tools `_) are provided, along with methods for plotting them. The `GEOS library `_ is used internally to clip the coastline and polticial boundary features to the desired map projection region. -Basemap provides facilities for reading `shapefiles -`_. - -Basemap is geared toward the needs of earth scientists, particular -oceanographers and meteorologists. I originally wrote Basemap to help in my -research (climate and weather forecasting), since at the time +Basemap is geared toward the needs of earth scientists, particularly +oceanographers and meteorologists. Jeff Whitaker originally wrote Basemap +to help in his research (climate and weather forecasting), since at the time `CDAT `_ was the only other tool in python for plotting data on map projections. Over the years, the capabilities of Basemap have evolved as scientists in other disciplines (such as biology, geology and geophysics) requested and -contributed new features. +contributed new features. + +Cartopy, New Management, and EoL Announcement +============================================= + +Starting in 2016, Basemap came under new management. The +`Cartopy project `_ will replace +Basemap, but it hasn't yet implemented all of Basemap's features. +All new software development should try to use Cartopy whenever possible, +and existing software should start the process of switching over to use +Cartopy. All maintenance and development efforts should be focused on +Cartopy. + +Ben Root has volunteered to take over maintenance of Basemap until 2020. +Pull requests will be reviewed, and bugs will be fixed. Also, the +maintenance will ensure compatibility with packages like NumPy and Matplotlib. +New features will be accepted, but we stress that new development efforts +should be focused on Cartopy. When Python 2.7 is officially EoL'ed in 2020, +a release of Basemap will be made and support from Ben Root will end. + diff --git a/lib/mpl_toolkits/basemap/__init__.py b/lib/mpl_toolkits/basemap/__init__.py index 4b4efd436..e31dbb9ec 100644 --- a/lib/mpl_toolkits/basemap/__init__.py +++ b/lib/mpl_toolkits/basemap/__init__.py @@ -47,7 +47,7 @@ else: basemap_datadir = os.sep.join([os.path.dirname(__file__), 'data']) -__version__ = '1.0.8' +__version__ = '1.1.0' # module variable that sets the default value for the 'latlon' kwarg. # can be set to True by user so plotting functions can take lons,lats diff --git a/setup.py b/setup.py index 0338334c4..3b23b5816 100644 --- a/setup.py +++ b/setup.py @@ -115,7 +115,7 @@ def checkversion(GEOS_dir): "pyshp >= 1.2.0" ] -__version__ = "1.0.8" +__version__ = "1.1.0" setup( name = "basemap", version = __version__, @@ -123,12 +123,14 @@ def checkversion(GEOS_dir): long_description = """ An add-on toolkit for matplotlib that lets you plot data on map projections with coastlines, lakes, rivers and political boundaries. - See http://www.scipy.org/wikis/topical_software/Maps for an - example of what it can do.""", - url = "http://matplotlib.sourceforge.net/toolkits.html", - download_url = "https://downloads.sourceforge.net/project/matplotlib/matplotlib-toolkits/basemap-{0}/basemap-{0}.tar.gz".format(__version__), + See http://matplotlib.org/basemap/users/examples.html for + examples of what it can do.""", + url = "http://matplotlib.org/basemap/", + download_url = "https://github.com/matplotlib/basemap/archive/v{0}rel.tar.gz".format(__version__), author = "Jeff Whitaker", author_email = "jeffrey.s.whitaker@noaa.gov", + maintainer = "Ben Root", + maintainer_email = "ben.v.root@gmail.com", install_requires = requirements, platforms = ["any"], license = "OSI Approved",