title: README author: Jan-Michael Rye
Synopsis
A Python package that provides a simple utility function for creating SQLite tables. The function will compare an existing table's SQL statement from the sqlite_master table to the one expected for a given SQL table creation statement. If the existing table does not match the expected SQL statement then it can either be dropped an recreated, or a ValueError can be raised.
The primary purpose of this function is to facilitate the creation of tables for caching temporary data that can be discarded, such as memoizing calls to remote server APIs.
Links
GitLab
Other Repositories
Usage
import sqlite3
from sqlite3_create_and_check_table import create_and_check_table
sql = "CREATE TABLE test (prim TEXT PRIMARY KEY, int INTEGER, blob BLOB NON NULL)"
conn = sqlite3.connect("/path/to/some/sqlite3/db.sqlite")
with conn as cur:
# Create the table with the given SQL statement. If a table with the same
# name exists but differs from what would result from the given SQL table
# creation statement, it will be dropped and recreated to match the given
# statement.
# If drop is set to False then a ValueError will be raised instead.
create_and_check_table(cur, sql, drop=True)
The package also provides a row factory function for returning rows in the table as dicts as well as an sqlite3 cursor context manager for temporarily setting the the row factory to the provided dict factory:
import sqlite3
from sqlite3_create_and_check_table import dict_factory, dict_factory_cursor
conn = sqlite3.connect("/path/to/some/sqlite3/db.sqlite")
# Set the row factory within a context and restore the previous row factory when
# leaving the context.
with dict_factory_cursor(conn) as cur:
# cur.execute(...)
# Set the row factory for all queries.
conn.row_factory = dict_factory
Metadata
Release files for sqlite3-create-and-check-table 2024.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sqlite3_create_and_check_table-2024.2.tar.gz | 7.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sqlite3_create_and_check_table-2024.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.4 kB
Release files / sqlite3_create_and_check_table-2024.2.tar.gz
| Download URL | sqlite3_create_and_check_table-2024.2.tar.gz |
|---|---|
| Size | 7.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aff9220521f2eb5660695e948f65652347f9458e3dd434f4d6784cb4a9969bf2
|
|
BLAKE2b-256 checksum How to use checksums |
53b68680762b237c7657686ea35320b1fac096ecc8a4f15c58ed3e6657fa9f16
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.7
|
Release files / sqlite3_create_and_check_table-2024.2-py3-none-any.whl
| Download URL | sqlite3_create_and_check_table-2024.2-py3-none-any.whl |
|---|---|
| Size | 5.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fd499c6b9e3abe4afb77ba977acb07c6144ff71b4ab95dbc26a4f1755e4dfeb1
|
|
BLAKE2b-256 checksum How to use checksums |
92ebdc11f49b15a879ae24187a08063e9f662c1fc695de381388de8f246594cb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.7
|