Mapnik is a toolkit for developing GIS applications. At the core is a C++ shared library providing algorithms/patterns for spatial data access and visualization. Essentially a collection of geographic objects (map, layer, datasource, feature, and geometry), the library doesn't rely on "windowing systems" and can be deployed in any server environment. It is intended to play fair in a multi-threaded environment and is aimed primarily, but not exclusively, at Web-based development. High-level Python bindings (boost.python) facilitate rapid application development, targeting zope3, django, etc.