Mapnik
Mapnik is an open source mapping toolkit for desktop- and server-based map rendering, written in C++. One of its many users is the OpenStreetMap project (OSM), which uses it in combination with an Apache Web Server module (mod_tile) to render tiles that make up the OSM 'Slippy Map' Layer. An XML file can also be used to define a collection of mapping objects that determine the appearance of a map, or objects can be constructed programmatically in C++, Python, and Node.js. Artem Pavlenko, the original developer of Mapnik, set out with the explicit goal of creating beautiful maps by employing the sub-pixel anti-aliasing of the Anti-Grain Geometry (AGG) library. Mapnik now also has a Cairo rendering backend. For handling common software tasks such as memory management, file system access, regular expressions, and XML parsing, Mapnik utilizes the Boost C++ libraries.
Data Format
A number of data formats are supported in Mapnik using a plugin framework. Current plugins exist that utilize OGR and GDAL to read a range of vector and raster datasets. Mapnik also has custom Shapefile, PostGIS and GeoTIFF readers. More data access plug-ins will be available in the future. There is also an osm2pgsql utility, that converts OpenStreetMap data into a format that can be loaded into PostgreSQL. Mapnik can then be used to render the OSM data into maps with the appearance the user wants.