C++/Python toolkit for developing GIS applications
Mapnik is a Free Toolkit for developing mapping applications. It's written in C++ and there are Python bindings to facilitate fast-paced agile development. It can comfortably be used for both desktop and web development.
Essentially a collection of geographic objects (map, layer, datasource, feature, 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.