Mustache templating language renderer
Project description
A python implementation of the mustache templating language.
Why chevron?
I’m glad you asked!
chevron is fast
Chevron runs in less than half the time of pystache (Which is not even up to date on the spec). And in about 70% the time of Stache (A ‘trimmed’ version of mustache, also not spec compliant).
chevron is pep8
The flake8 command is run by travis to ensure consistency.
chevron is spec compliant
Chevron passes all the unittests provided by the spec (in every version listed below).
If you find a test that chevron does not pass, please report it.
chevron is Python 2 and 3 compatible
Python 2.6, 2.7, 3.2, 3.3, 3.4, 3.5, and 3.6 are all tested by travis.
USAGE
Commandline usage: (if installed via pypi)
usage: chevron [-h] [-v] [-d DATA] [-p PARTIALS_PATH] [-e PARTIALS_EXT] [-l DEF_LDEL] [-r DEF_RDEL] template positional arguments: template The mustache file optional arguments: -h, --help show this help message and exit -v, --version show program's version number and exit -d DATA, --data DATA The json data file -p PARTIALS_PATH, --path PARTIALS_PATH The directory where your partials reside -e PARTIALS_EXT, --ext PARTIALS_EXT The extension for your mustache partials, 'mustache' by default -l DEF_LDEL, --left-delimiter DEF_LDEL The default left delimiter, "{{" by default. -r DEF_RDEL, --right-delimiter DEF_RDEL The default right delimiter, "}}" by default.
Python usage with strings
import chevron
chevron.render('Hello, {{ mustache }}!', {'mustache': 'World'})
Python usage with file
import chevron
with open('file.mustache', 'r') as f:
chevron.render(f, {'mustache': 'World'})
Python usage with unpacking
import chevron
args = {
template: 'Hello, {{ mustache }}!',
data: {
'mustache': 'World'
}
}
chevron.render(**args)
chevron supports partials (via dictionaries)
import chevron
args = {
template: 'Hello, {{> thing }}!',
partials_dict: {
'thing': 'World'
}
}
chevron.render(**args)
chevron supports partials (via the filesystem)
import chevron
args = {
template: 'Hello, {{> thing }}!',
# defaults to .
partials_path: 'partials/',
# defaults to mustache
partials_ext: 'ms',
}
# ./partials/thing.ms will be read and rendered
chevron.render(**args)
INSTALL
with git
$ git clone https://github.com/noahmorrison/chevron.git
or using submodules
$ git submodules add https://github.com/noahmorrison/chevron.git
Also available on pypi!
with pip
$ pip install chevron
TODO
get popular
have people complain
fix those complaints
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file chevron-0.12.1.tar.gz
.
File metadata
- Download URL: chevron-0.12.1.tar.gz
- Upload date:
- Size: 8.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce71efbdb090399d2f09c0a4ba99d90bf3a976e580fe593b73d791d0fa672f9c |
|
MD5 | bba40a2dc88c24a9d130e23c0347c3d3 |
|
BLAKE2b-256 | 9171be48be86ce04d3a4df91c9517aa93c524b1d6824980bd783415ffbe558f3 |
File details
Details for the file chevron-0.12.1-py3-none-any.whl
.
File metadata
- Download URL: chevron-0.12.1-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75d377c9a0ef6010d676044586b17348f27681d51ccf2410901f1d3f71115f2d |
|
MD5 | 23e52511fd50eba56828cd3e69144ed4 |
|
BLAKE2b-256 | 4d42c9d25827b8c07809d2318d6e704999e3e3c358d37ffa6584dbd44e82f961 |