jinja2schema 0.1.4
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
BSD license
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.