Skip to main content

Wrapper around sqlite3 to work with dictionaries

Project description

sqlite3dict

Wrapper around sqlite3 which allows working simply with python dictionaries as well as combining it with sql syntax.

Installation

Use the package manager pip to install sqlite3dict.

pip install sqlite3dict

Usage

from sqlite3dict import Storage

from datetime import datetime

# ******************************************************************************
# * Test
# ******************************************************************************
with Storage("test.sqlite") as store:

    definitions = {
        "name": "TEXT", 
        "age": "INTEGER", 
        "amount": "DOUBLE", 
        "createdate": "DATETIME",
        "resident": "BOOLEAN"
    }

    # This creates the table (collection) only if it does not exist already
    collection = store.init_collection("test", definitions)

    # Insert data
    collection.insert({
        "name": "John Doe", 
        "age": 25, 
        "amount": 100.23, 
        "createdate": datetime.now(),
        "resident": True,
        "additional": {
            "prop1": 1,
            "prop2": 1,
            "other": ["A", "B"]
        }
    })

    collection.insert({
        "name": "John Doe", 
        "age": 10, 
        "amount": 100.00, 
        "createdate": datetime.now(),
        "resident": True
    })

    # Update inserted data by given criteria
    collection.update().data({
        "createdate": datetime.now(), 
        "age": 15, 
        "amount": 99.38, 
        "resident": False
    }).where("age = 25").execute()

    # Simple query for data
    list = collection.query().where("age = 15").limit(10).offset(0).order("createdate", "ASC").order("ID").execute()

    for item in list:
        print("item:", item)

    # Delete data by given criteria
    collection.delete().where("age = 15").execute()

    # Native SQL query in case you still need it
    items = store.query_native("select * from test")
    for item in items:
        print("native item:", item)

    # Drop table (collection)    
    store.delete_collection("test") 

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

MIT

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

sqlite3dict-1.0.1.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

sqlite3dict-1.0.1-py2.py3-none-any.whl (9.6 kB view details)

Uploaded Python 2Python 3

File details

Details for the file sqlite3dict-1.0.1.tar.gz.

File metadata

  • Download URL: sqlite3dict-1.0.1.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.1

File hashes

Hashes for sqlite3dict-1.0.1.tar.gz
Algorithm Hash digest
SHA256 9cc282a9ff3edc9567ac62f53a4a9ad65e5a55161d4b3479de2452f9b0baa3f2
MD5 6adbd7decb6144eef2007297805890a4
BLAKE2b-256 115233f537996c3b55f4b8bd2d2990c49e13e66fcd29dbc5bdcd8aebebb0398a

See more details on using hashes here.

File details

Details for the file sqlite3dict-1.0.1-py2.py3-none-any.whl.

File metadata

  • Download URL: sqlite3dict-1.0.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.1

File hashes

Hashes for sqlite3dict-1.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 27a3b1d54b162a256be421e864e9f010252ec5c119edae36e10464f4d6a18833
MD5 e1929ecbe8d78187c6113038a03a1a83
BLAKE2b-256 c1b6b00c0da8870b815c71171baebe2354115d0d1877b26077003df01c05c307

See more details on using hashes here.

Supported by

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