Skip to main content

Config files renderer based on Jinja2

Project description

Config files renderer based on Jinja2.

It renders template files with context loaded from simple INI-style config files. Config files support inheritance and interpolation.

Getting started

Install this package with pip:

$ pip install jingle

Check usage:

$ jingle --help

Run some examples:

$ jingle examples/hello.conf < examples/hello.j2

Config files

Jingle supports single-group INI config files. For example:

one: 1
two: dos
three: trzy

Interpolation

Basic interpolation is supported thanks to SafeConfigParser used under the hood:

name: Jon
surname: Snow
fullname: %(name)s %(surname)s

Inheritance

Config files can be inherited, or saying precisely included one into another with #inherit directive.

In defaults.conf:

host: 0.0.0.0
port: 3000

In production.conf:

#inherit defaults.conf
port: 80

Compiled config will use host: 0.0.0.0 and port: 80.

Of course interpolation works across inherited files.

Hacking

If you plan to contribute to the project or just wanna play around, it’s dead simple.

  1. Install dependencies with pip:

    $ pip install distutils jinja2
  2. Hack your way through.

  3. Feel free to add new ones to test.sh, then check if they’re passing:

    $ ./test.sh
  4. Install locally to make sure everything works:

    $ python setup.py install

Enjoy!

License

Copyright (c) 2014 by Kris Kovalik.

Released under MIT license, check license file file for details.

Project details


Download files

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

Source Distribution

jingle-0.0.3.tar.gz (4.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page