Skip to main content

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)

Source distribution for sqlite3-create-and-check-table 2024.2
File Size Uploaded
sqlite3_create_and_check_table-2024.2.tar.gz 7.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sqlite3-create-and-check-table 2024.2
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

2024.2 This release

2 release files

2024.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page