From the Cartopy website:
Cartopy is a Python package designed for geospatial data processing in order to produce maps and other geospatial data analyses.
Cartopy makes use of the powerful PROJ.4, NumPy and Shapely libraries and includes a programmatic interface built on top of Matplotlib for the creation of publication quality maps.
Key features of Cartopy are its object-oriented projection definitions, and its ability to transform points, lines, vectors, polygons and images between those projections.
You should have a basic familiarity with Matplotlib prior to working through the Cartopy notebooks presented here.
Cartopy’s cartographic features library includes shapefiles directly served by Natural Earth.