Demo | Documentation | GitHub | PyPI
A library that provides a heuristic type inference algorithm for Jinja2 templates.
>>> from jinja2schema import infer, to_json_schema
>>> s = infer('{{ (x.a.b|first).name }}')
>>> s
{'x': {'a': {'b': [{'name': <scalar>}]}}
>>> s = infer('''
... {% for x in xs %}
... {{ x }}
... {% endfor %}
''')
>>> s
{'xs': [<scalar>]}
>>> to_json_schema(s)
{
'type': 'object',
'required': ['xs'],
'properties': {
'xs': {
'type': 'array'
'title': 'xs',
'items': {
'title': 'x',
'anyOf': [
{'type': 'string'},
{'type': 'number'},
{'type': 'boolean'},
{'type': 'null'}
],
},
}
}
}
More examples can be found at the demo page.
Installing
pip install jinja2schema
License
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
jinja2schema-0.1.4.tar.gz
(19.8 kB
view details)
File details
Details for the file jinja2schema-0.1.4.tar.gz.
File metadata
- Download URL: jinja2schema-0.1.4.tar.gz
- Upload date:
- Size: 19.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
236e4ee6612a0ab5a5664c453c954a2c7e42b6be986c12f7b31f34f9082043bc
|
|
| MD5 |
66d51d65a02b61607909c4a4e966670a
|
|
| BLAKE2b-256 |
606f8db433c9b644654f77a5a85a251298b278b6fefe668c1d856ad34c61c811
|