antiSMASH, a python-based tool to mine micro-organisms genomes, currently uses pyQuery to generate static HTML pages. Consequently, several difficulties are found when improvements/changes need to be performed. This library is commonly described as too verbose, implying most of the times, string concatenations and mixed code for both presentation and logic. Subsequently, it is not much intuitive. In addition, recent patch update from 1.2.9 to 1.2.10 resulted in a backward compatibility break, and as a minor patch should not raise compatibility issues, the trust in this library is somehow compromised. Template Engines overcome the majority of the issues related to output generation. They are powerful tools that allow the developers to speed up their work in an easier and much cleaner way.
This project proposes moving antiSMASH to jinja2, a well known, widely used and developer-friendly templating language for Python. With this migration, we intend to facilitate the future development of antiSMASH as well as the onboarding of new developers to the team. Moreover, considering jinja2 enormous user-base and applications, a backwards compatibility break in a minor version is unlikely.