template-dict

Data templates for Python - dynamically fill complex dictionaries with values


Keywords
templates, config, python
License
MIT
Install
pip install template-dict==0.1.2

Documentation

pypi docs codecov tests mypy code style: black

python

template-dict - JSON compatible Python dictionary templates. You can use them to fill some schema with data dynamically. Template dicts support nested data, lists. functions and eval of simple Python data types.

Installation

With pip and python 3.8+:

pip3 install template-dict

How to use

See the user guide for more info.

Template objects can be used to fill dictionary-like schema with dynamic data.

Note that these are not Jinja templates but rather a tool to manipulate Python data dynamically. To create a template you must define a schema and then feed it with some data mapping.

from template_dict import Template

t = Template({'value': '[key.nested]'})
t.eval({'key': {'nested': True}})  # -> {'value': True}

Template can accept a string or an iterable as a schema.

t = Template(['[name]', '[name]', '[name]'])
t.eval({'name': 'dogs'})  # -> ["dogs", "dogs", "dogs"]

You can access template keys before evaluating it.

t = Template({'value': '[key]'})
t.keys  # -> ['key']