A refreshingly simple static site generator, for those who like to work in HTML.


The full documentation is at


Try it out:

$ pip install complexity
$ git clone my_proj
$ cd my_proj
$ complexity project/ www/

Once you’ve done that, open a web browser to to see the newly generated Complexity static site.


  • Works on Python 2.6, 2.7, and 3.3, and on PyPy.
  • Takes simple HTML templates as input.
  • Data from .json files turns into template context data.
  • Template inheritance, filters, etc. (Brought to you by Jinja2.)
  • Auto-expands .html file URLs into cleaner URLs (e.g. about.html gets expanded to /about/)
  • Minifies .html files
  • Can optionally be used as a library instead of from the command line. See Using Complexity as a Library for details.

Best Used With

Complexity is designed to be used with these packages:

  • Simplicity: Converts ReStructuredText into JSON, which Complexity can use as input.
  • A Lot of Effort: Deploys a static website (e.g. the output of Complexity) to Amazon S3.
  • Cookiecutter: Creates projects from project templates.

Sure, they could have all been built into Complexity, but decoupling them seemed like a nice thing to do.


  • Stuck? Don’t know where to begin? File an issue and we’ll help you.
  • We love contributions. Read about how to contribute.