Skip to main content
Join the official Python Developers Survey 2018 and win valuable prizes: Start the survey!

Pre-compile Jinja2 templates to Python byte code

Project description

Pre-compile Jinja2 templates to Python byte code.

Usage

Jinja2 pre-compiler comes with a utility script called jinja2precompiler. Please type jinja2precompiler --help at the shell prompt to know more about this tool.

Compiling the Jinja2 template

Then run jinja2precompiler command:

$ jinja2precompiler templates
Compiling into folder "templates"
...
Compiled "templates/template.html" as tmpl_5f0fcb0ed56efa600c50d9f2870192327823c063.py
...
Finished compiling templates

Will compiling to Python byte code with --pyc option:

$ jinja2precompiler --pyc templates
Compiling into folder "templates"
...
Compiled "templates/template.html" as tmpl_5f0fcb0ed56efa600c50d9f2870192327823c063.pyc
...
Finished compiling templates

Get the compiled module name

Will return a module file name with --modulename option:

$ jinja2precompiler --modulename templates/template.html
tmpl_41d3b4a4b71afe0c223778e57c23244caee1baec.py

$ jinja2precompiler --modulename --pyc templates/template.html
tmpl_41d3b4a4b71afe0c223778e57c23244caee1baec.pyc

And you can prepend directory path with --base option:

$ jinja2precompiler --modulename --base=templates templates/template.html
templates/tmpl_5f0fcb0ed56efa600c50d9f2870192327823c063.py

Will return module file names you specify the argument more than one:

$ jinja2precompiler --modulename a.html b.html c.html
tmpl_25e7e8960b03ecb19189f36b8ef611389397c95c.py tmpl_83d0d31e29a7746a19536d616218a384f62d4694.py tmpl_45ecd51cee2d33904a8cd1af7c441dd3fc320870.py

With Make

An example Makefile file:

templates_compiled.zip: $(wildcard templates/*.html)
      jinja2precompiler -c templates
      zip -FS -j templates_compiled.zip templates/*.pyc

Will compiling only updated files and storing into the zip file.

Installation

Installing from PyPI using pip:

pip install jinja2precompiler

Installing from PyPI using easy_install:

easy_install jinja2precompiler

Installing from source:

python setup.py install

Dependencies

  1. Jinja2

Changes

0.2: supports walking symlink directories

Licensing

Jinja2 pre-compiler is licensed under the terms of the BSD 3-Clause.

Copyright 2012 ENDOH takanao.

Project source code is available at Github. Please report bugs and file enhancement requests at the issue tracker.

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
jinja2-precompiler-0.2.tar.gz (154.7 kB) Copy SHA256 hash SHA256 Source None Jan 6, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page