Why yet another documentation project?

xkcd standards
Figure 1. Image (c) Randall Munroe https://imgs.xkcd.com/comics/standards.png

There are different information sources that document certain aspects of Mapnik, but none are really complete, up to date, and easily understandable at the same time …​

Other existing documentation efforts for Mapnik are:

GitHub Wiki

The Mapnik Wiki on GitHub is a weird mix of end user and developer documentation that unfortunately is neither complete nor up to date.

It is also considered dead according to GitHub issue #3543: "Cancel, abolish, destroy the Wiki"

Sphinx Docs

The Sphinx Docs project was an attempt to create a Mapnik manual using the Sphinx Documentation Generator, but this project unfortunately never really got anywhere and has seen no update for the last ten years now.

Doxygen

The mapnik source code contains structured comments from which API reference documentation can be generated using Doxygen. Generated output can be found online, but is not necessarily fully up to date.

API reference

There is also versioned API reference documentation maintained outside of the main Mapnik source, in the separate Mapnik Reference project.

XML reference

There’s a XML reference PDF created by David Eastcott, but it was written for Mapnik v0.7, while we’re at v3.0.23 at the time of this writing, so it’s really outdated by now.

Note

This list most likely isn’t complete …​