Mapnik is an open source mapping toolkit, written in C++ and can be scripted using binding languages such as JavaScript (Node.js), Python, Ruby, and Java. Useful for both Desktop- and Server-based map rendering. It is used by Tilemill, OpenStreetMap, Mapbox, CartoDB, Stamen, MapQuest and Kosmtik.


It's available on Linux, Mac, and Windows.