Getting started with maps in Python
maxberggren.github.io
maxberggren.github.io
Edit: Scratch the Winkel Tripel projection support. Proj4 doesn't define an inverse method for that projection (it's non-trivial), so it can't be used correctly by cartopy.
However, it's aimed at a very different audience (web-based interactive rendering of vector graphics, as opposed to desktop-based interactive rendering of scientific data). For example, as far as I know (I could be very wrong about this), there's no way to display image/raster data in kartograph.
That having been said, kartograph is a very slick library, and its built-in clustering methods for point data are particularly nice.
I'd love to switch to Cartopy, but its documentation isn't comprehensive or well-presented. I check back every six months or so, and then forget about it again.
The lib uses openstreetmaps as background, can display scatters, heatmaps, shapefiles, calculate and display voronoi tesselation, and does a ton of other things.
(that dataset and more examples are freely available from OSGeo) http://live.osgeo.org