Skip to main content
Help the Python Software Foundation raise $60,000 USD by December 31st!  Building the PSF Q4 Fundraiser

Mustache for Python

Project description

Inspired by ctemplate and et, Mustache is a framework-agnostic way to render logic-free views.

As ctemplates says, “It emphasizes separating logic from presentation: it is impossible to embed application logic in this template language.”

Pystache is a Python implementation of Mustache. It has been tested with Python 2.6.1.


The different Mustache tags are documented at mustache(5).

Use It

>>> import pystache
>>> pystache.render('Hi {{person}}!', {'person': 'Mom'})
'Hi Mom!'

You can also create dedicated view classes to hold your view logic.

Here’s your

import pystache
class Simple(pystache.View):
    def thing(self):
        return "pizza"

Then your template, simple.mustache:

Hi {{thing}}!

Pull it together:

>>> Simple().render()
'Hi pizza!'

Test It

nose works great!

easy_install nose
cd pystache


context = { 'author': 'Chris Wanstrath', 'email': '' }
pystache.render("{{author}} :: {{email}}", context)


0.3.0 (2010-05-03)

  • View.template_path can now hold a list of path
  • Add {{& blah}} as an alias for {{{ blah }}}
  • Higher Order Sections
  • Inverted sections

0.2.0 (2010-02-15)

  • Bugfix: Methods returning False or None are not rendered
  • Bugfix: Don’t render an empty string when a tag’s value is 0. [enaeseth]
  • Add support for using non-callables as View attributes. [joshthecoder]
  • Allow using View instances as attributes. [joshthecoder]
  • Support for Unicode and non-ASCII-encoded bytestring output. [enaeseth]
  • Template file encoding awareness. [enaeseth]

0.1.1 (2009-11-13)

  • Ensure we’re dealing with strings, always
  • Tests can be run by executing the test file directly

0.1.0 (2009-11-12)

  • First release

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pystache, version 0.3.0
Filename, size File type Python version Upload date Hashes
Filename, size pystache-0.3.0.tar.gz (4.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page