Skip to content

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.

CI codecov Documentation Status Code style: black


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"}