{"library":"pyramid-mako","title":"Mako Template Bindings for Pyramid","description":"Pyramid_mako provides a set of bindings that integrate the Mako templating system with the Pyramid web framework. It enables Pyramid applications to render dynamic content using Mako templates, which compile into Python modules for optimal performance. The library is currently at version 1.1.0 and is actively maintained by the Pylons Project, receiving updates to ensure compatibility with newer Python versions and Pyramid releases.","language":"python","status":"maintenance","last_verified":"Thu May 14","install":{"commands":["pip install pyramid-mako"],"cli":null},"imports":["config.include('pyramid_mako')","from pyramid.renderers import render","config.add_mako_renderer('.html', settings_prefix='mako.')"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nfrom wsgiref.simple_server import make_server\nfrom pyramid.config import Configurator\nfrom pyramid.response import Response\nfrom pyramid.view import view_config\n\n# --- myapp/__init__.py ---\n@view_config(route_name='home', renderer='templates/home.mako')\ndef home_view(request):\n    name = request.matchdict.get('name', 'World')\n    return {'project': 'Pyramid Mako App', 'user_name': name}\n\ndef main(global_config, **settings):\n    with Configurator(settings=settings) as config:\n        config.include('pyramid_mako')\n\n        # Configure mako.directories for template lookup if using relative paths\n        # For this example, 'templates' is relative to the current package.\n        # If using asset specs like 'mypackage:templates', no mako.directories needed for that specific template.\n        config.add_settings({'mako.directories': 'myapp:templates'})\n\n        config.add_route('home', '/howdy/{name}')\n        config.add_route('root', '/')\n        config.scan('.') # Scan current package for @view_config decorators\n    return config.make_wsgi_app()\n\n# To run: Save this as myapp/__init__.py\n# Create myapp/templates/home.mako:\n# <h1>Hello, ${user_name} from ${project}!</h1>\n# From your project root (one level above 'myapp'), run:\n# pserve development.ini (assuming development.ini is configured to point to myapp.main)\n# Or create a minimal development.ini:\n# [app:main]\n# use = egg:myapp#main\n# \n# [server:main]\n# use = egg:waitress#main\n# host = 0.0.0.0\n# port = 6543\n# \n# [loggers]\n# keys = root, myapp\n# \n# [handlers]\n# keys = console\n# \n# [formatters]\n# keys = generic\n# \n# [logger_root]\n# level = INFO\n# handlers = console\n# \n# [logger_myapp]\n# level = DEBUG\n# handlers = console\n# qualname = myapp\n# \n# [handler_console]\n# class = StreamHandler\n# args = (sys.stderr,)\n# level = NOTSET\n# formatter = generic\n# \n# [formatter_generic]\n# format = %(asctime)s %(levelname)-5.5s [%(name)s:%(lineno)s][%(threadName)s] %(message)s\n\n\nif __name__ == '__main__':\n    # This block is typically replaced by 'pserve development.ini'\n    # For a truly minimal runnable example without an .ini file or folder structure:\n    class RootView:\n        def __init__(self, request):\n            self.request = request\n\n        @view_config(route_name='hello', renderer='string:<h1>Hello, ${user_name}!</h1>')\n        def hello(self):\n            return {'user_name': 'Anonymous'}\n\n    with Configurator() as config:\n        config.include('pyramid_mako')\n        config.add_route('hello', '/')\n        config.add_view(RootView, attr='hello')\n        app = config.make_wsgi_app()\n\n    server = make_server('0.0.0.0', 6543, app)\n    print('Serving on http://0.0.0.0:6543')\n    server.serve_forever()","lang":"python","description":"This quickstart demonstrates how to set up a basic Pyramid application using `pyramid_mako`. It shows how to include `pyramid_mako` in your configuration, define a template directory using `mako.directories`, and render a Mako template from a Pyramid view. Views that use a renderer should return a dictionary, whose keys become top-level variables in the template. The example provides a small, self-contained Pyramid application. Note that for real-world applications, you'd typically use a `development.ini` file and a proper project structure created by a Pyramid cookiecutter.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-14","installed_version":"1.1.0","pypi_latest":"1.1.0","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":50,"avg_install_s":3,"avg_import_s":null,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pyramid-mako","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"24.4M"},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pyramid-mako","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pyramid-mako","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":2.7,"import_time_s":null,"mem_mb":null,"disk_size":"25M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pyramid-mako","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pyramid-mako","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"27.5M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pyramid-mako","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pyramid-mako","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":2.8,"import_time_s":null,"mem_mb":null,"disk_size":"28M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pyramid-mako","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pyramid-mako","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"28.4M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pyramid-mako","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pyramid-mako","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":3.2,"import_time_s":null,"mem_mb":null,"disk_size":"29M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pyramid-mako","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pyramid-mako","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"28.3M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pyramid-mako","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pyramid-mako","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":3.3,"import_time_s":null,"mem_mb":null,"disk_size":"29M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pyramid-mako","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pyramid-mako","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"24.0M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pyramid-mako","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pyramid-mako","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":3.2,"import_time_s":null,"mem_mb":null,"disk_size":"25M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pyramid-mako","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null}]}}