Preppy - a text pre-processor

Static vs. dynamic text

It's a common situation for software developers - you need to 'fill in' bits of text in a static document, using dynamic data from text files, databases, xml or cvs.

Many solutions have been invented to tackle this problem; amongst them are JSP, ASP, DTML, and PHP. All of these provide some kind of mechanism for embedding executable code into text files and then expanding it with data fetched from somewhere else.

Unfortunately, many of these solutions are severely limited, because they restrict the complexity of the statements you're allowed to embed.

Preppy offers unlimited generality

With Preppy, you can embed not only functions, loops and conditions, but any arbitrary programming code. As Preppy is a single Python module, the code you can embed also needs to be Python. Make use of any Python feature you like, from simple control flow statements like loops and conditions, to namespaces and code imported from the Python standard library or any other external modules.

At ReportLab, we have made heavy use of Preppy in serious large-scale time-critical applications in the financial and other industries; this is a solid and reliable tool.

License

Released as open source under the FreeBSD license.

Case Studies:

Who's doing what with ReportLab...?