Jinja2SQL (Jinja To SQL)
Jinja2SQL
is a simple and efficient library for generating SQL queries from Jinja2 templates. It is type-friendly and offers async
support, drawing significant inspiration from the excellent library at jinjasql.
Documentation
http://jinja2sql.readthedocs.io/
Requirements
Python 3.8+
and Jinja2 3.1.2+
.
Installation
Install using pip
:
pip install jinja2sql
or using poetry
:
poetry add jinja2sql
Quick Example
from jinja2sql import Jinja2SQL
j2sql = Jinja2SQL(param_style="named") # default param style is "named"
query, params = j2sql.from_string(
"SELECT * FROM {{ table | identifier }} WHERE email = {{ email }}",
context={"table": "users", "email": "user@mail.com"},
)
assert query == "SELECT * FROM users WHERE email = :email"
assert params == {"email": "user@mail.com"}