Design goals

  • Cover 80% of use cases, don’t become too complex
  • Ability to use templates not only from eggs, but also folders and similar
  • Python 3 support
  • Jinja2 renderer by default, but replaceable
  • Ability to render multiple templates to the same target directory

Why another tool

  • PasteScript is a big package with lots of legacy code and noone seems to care about maintaining it (and porting it to python3)
  • a tool should do one thing and that thing good, which is where PasteScript fails
  • PasteScript works only with Python eggs, mr.bob can also render templates from folder and zip files
  • PasteScript uses Cheetah which doesn’t work on PyPy and has C extensions that need to be compiled
  • PasteScript in unmaintainable, with really dodgy code
  • PasteScript doesn’t preserve permissions when copying/rendering files
  • mr.bob is just 200 lines of code with some extra features in mind that PasteScript cannot provide, such as a Python API for use by higher level libraries