Mako ist eine in Python geschriebene Template-Bibliothek (Vorlagenbibliothek). Mako-Templates, gekennzeichnet durch die Dateiendung '.mako', werden zur dynamischen Generierung von Textausgaben verwendet, typischerweise für Markup-Sprachen wie HTML, XML oder andere Formate. Das Besondere an Mako-Templates ist die direkte Einbettung von Python-Code in den Text. Dies ermöglicht eine leistungsstarke dynamische Inhaltserzeugung, basierend auf gängigen Python-Konstrukten wie Variablen, Schleifen (Loops) und bedingten Anweisungen (Conditional Statements).
Diese Templates werden häufig in Python-Webentwicklungs-Frameworks wie Pyramid und Pylons eingesetzt, um eine klare Trennung zwischen der Präsentationslogik und der Anwendungslogik (Application Logic) zu gewährleisten. Die Verarbeitung erfolgt durch die Mako Template Engine, die den eingebetteten Python-Code interpretiert und die finale Ausgabe generiert. Mako ist bekannt für seine Geschwindigkeit und Flexibilität und unterstützt erweiterte Funktionen wie Template-Vererbung (Template Inheritance), Caching und Vorkompilierung (Precompilation) zur Optimierung der Performance. Die Syntax ist für Entwickler, die mit Python vertraut sind, leicht zugänglich und macht Mako zu einer populären Wahl für dynamische Inhalte in Python-Anwendungen.