Mako est une bibliothèque de modèles (template library) écrite en Python. Les modèles Mako sont utilisés pour générer des sorties textuelles, typiquement du HTML, du XML, ou d'autres langages de balisage (markup languages), de manière dynamique. L'extension de fichier '.mako' désigne un fichier contenant un modèle Mako. Ces modèles intègrent du code Python directement dans le texte, permettant la génération de contenu dynamique basée sur des variables, des boucles, des instructions conditionnelles et d'autres constructions Python. Les modèles Mako sont souvent employés dans des frameworks de développement web tels que Pyramid et Pylons afin de séparer la logique de présentation de la logique applicative. Ils offrent une méthode flexible et puissante pour créer des pages web dynamiques et d'autres sorties basées sur du texte. Les modèles sont traités par le moteur de modèles Mako (Mako template engine), qui interprète le code Python et génère le résultat final. Mako prend en charge des fonctionnalités avancées telles que l'héritage de modèles (template inheritance), la mise en cache (caching) et la précompilation pour des performances améliorées. Il est reconnu pour sa vitesse et sa flexibilité, ce qui en fait un choix populaire pour la génération de contenu dynamique dans les applications Python. Sa syntaxe est conçue pour être relativement facile à apprendre pour les développeurs familiers avec Python.