Skip to main content

Aid writing boilerplate SQL items from create tables, inserts and updates.

Project description

devtools_shorthand_sql

image image image Travis readthedocs codecov

Overview

Aid for writing boilerplate python code for SQL work, including creation of tables, insert functions, unit testing and SQL, dependent on relational database management system selected.

Quickstart

Install the latest version of this software from the Python package index (PyPI):

pip install --upgrade devtools_shorthand_sql

Create a shorthand sql file e.g. shorthand.txt.

# photo
id,id
size,int
filename,text
date_taken,int

Run

devtools_shorthand_sql shorthand.txt

Notification that file created:

Info: Output saved to: shorthand_sql_created_functions.txt

Created file contains:

SQL statement for table creation:

CREATE TABLE IF NOT EXISTS photo (
id INTEGER PRIMARY KEY,
size INT,
filename TEXT,
date_taken INT
);

Python function for data insertion:

def insert_photo(id: int, size: int, filename: str, date_taken: int) -> int:
    params = (id, size, filename, date_taken)
    id = YOUR_CONNECTOR_EXECUTOR("""INSERT INTO photo (id, size, filename, date_taken) VALUES(?,?,?,?);""",
                                 params)
    return id

Python function for unit testing (pytest only):

def test_insert_photo(YOUR_CLEAN_DB_FIXTURE):
    expected = (1, 160, '3RWL0C6QSU', 374)
    new_id = YOUR_MODULE.insert_photo(size=160, filename="3RWL0C6QSU", date_taken=374)
    result = YOUR_CONNECTOR_QUERY('SELECT * FROM photo').fetchall()[0]
    assert result == expected
    assert new_id == 1

Requirements

Python 3.6 or later is required to run devtools_shorthand_sql.

No other third party packages are required.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

devtools_shorthand_sql-0.4.0.tar.gz (17.2 kB view hashes)

Uploaded Source

Built Distribution

devtools_shorthand_sql-0.4.0-py2.py3-none-any.whl (10.3 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page