Utils for Jinja & sqlite
Must setup an .env pointing to a database file DB_FILE; otherwise, will default to test.db.
Setup Jinja Environment to fetch via .sql file
Assumes a basic Jinja environment has been setup:
from jinja2 import Environment
assert isinstance(env, Environment)
Sync
Query the environment using sqlite3,viz:
from utils_jinja_sqlite import get_rows, get_row
# base
params = dict(a="'hello world'")
sql_stmt = env.get_template("test.sql").render(params)
# get all
rows = get_rows(sql_stmt=sql_stmt)
type(rows) # generator
# get one
row = get_row(sql_stmt=sql_stmt) # gets only the first row
type(row) # dict
Async
Query the environment using a aiosqlite3,viz:
from utils_jinja_sqlite import get_rows, get_row
import asyncio
# base
params = dict(a="'hello world'")
sql_stmt = env.get_template("test.sql").render(params)
# get all
rows = a_rows(sql_stmt=sql_stmt)
type(rows) # co-routine
rows_result = asyncio.run(rows)
type(rows_result) # generator
# get one
row = a_row(sql_stmt=sql_stmt)
type(row) # co-routine
row_result = asyncio.run(row)
type(row_result) # dict
Note that this will not work:
for first_stmt_row in get_rows(sql_stmt=sql_stmt1):
for second_stmt_row in get_rows(sql_stmt=sql_stmt2):
... # the first sql_stmt has not yet terminated
SQL string literal binder funcs
Instead of quoting a string literal can use a helper function
from utils_jinja_sqlite import quote_sql_string
params = dict(a=quote_sql_string(hello world))
Metadata
Release files for utils-jinja-sqlite 0.0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| utils-jinja-sqlite-0.0.6.tar.gz | 4.7 kB | Without provenance | Details for utils-jinja-sqlite-0.0.6.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| utils_jinja_sqlite-0.0.6-py3-none-any.whl | Python 3 | none | any | Details for utils_jinja_sqlite-0.0.6-py3-none-any.whl |
Total release size: 9.5 kB
Release files / utils-jinja-sqlite-0.0.6.tar.gz
| Download URL | utils-jinja-sqlite-0.0.6.tar.gz |
|---|---|
| Size | 4.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4439f2ffc9c2ed12e1eb2aa263760a5580e51526b8ee30dfcb62c8ce35f9430c
|
|
BLAKE2b-256 checksum How to use checksums |
9bd04143b9d2f03a90c80d9412a5e10a39ab1155ddc4bb367d4b34e779b19328
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.2.0b3 CPython/3.10.5 Darwin/21.5.0
|
Release files / utils_jinja_sqlite-0.0.6-py3-none-any.whl
| Download URL | utils_jinja_sqlite-0.0.6-py3-none-any.whl |
|---|---|
| Size | 4.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
35b5ec3c687a199c6ebd00578c84e9da32a88560b828ecd3749af39c1b072770
|
|
BLAKE2b-256 checksum How to use checksums |
d273e8831d23d96c91f22d7167a3c6e00094ab772cab4884f06bbe5dd9466266
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.2.0b3 CPython/3.10.5 Darwin/21.5.0
|
Security for utils-jinja-sqlite 0.0.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.