Skip to content

Data templates for Python - dynamically fill complex dictionaries with values

License

Notifications You must be signed in to change notification settings

violet-black/template-dict

Repository files navigation

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']

About

Data templates for Python - dynamically fill complex dictionaries with values

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages