Ten years ago everybody made maps with Mapnik. There were several scripts that simplified the task, but all had issues. So I wrote another.
Nik4 makes preparing a map image easy. No calculations needed, just choose an area, put physical or pixel dimensions, and you got the exact map you expected.
https://github.com/Zverik/Nik4
There were many little features inside that removed hassles. Like partial rendering, scale factors, ppi and route fitting. And fixing cairo's SVG output.
Of course another question that was heard from every business, "how do we get the tiles". Mapnik had a sample python script packaged, but it was slow and hard to use. I'm pretty good at APIs, so I made my own.
Polytiles can render regular raster tiles for a given bbox in multiple threads. Obviously. It also can use a polygon file or a relation from OSM, it can render retina tiles, generate an mbtiles file, or just produce multiple lists for other tools.
https://github.com/Zverik/polytiles