Skip to main content

An improved Python interface to SQLite

Project description

isqlite

isqlite is an improved Python interface to SQLite. It has a more convenient API, support for schema diffing and migrations, and a command-line interface.

from isqlite import Database

with Database(":memory:") as db:
    pk = db.insert("employees", {"name": "John Doe", "age": 30})

    person = db.get_by_pk("employees", pk)
    print(person["name"], person["age"])

    db.update_by_pk("employees", pk, {"age": 35})

    employees = db.select(
        "employees",
        where="name LIKE :name_pattern AND age > 40",
        values={"name_pattern": "John%"},
    )

    pairs = db.sql(
        """
        SELECT
          teams.name, employees.name
        FROM
          employees
        INNER JOIN
          teams
        ON
          employees.team = teams.id
        """
    )

Features

  • A convenient Python API
  • Database migrations with automatic schema diffing
  • A command-line interface

Installation

Install isqlite with Pip:

$ pip install isqlite

Documentation

Comprehensive documentation, including an API reference, is available at https://isqlite.readthedocs.io/en/stable/.

Version history

Version 1.0.0 of isqlite was released on October 17, 2021, after six months of development. isqlite adheres to semantic versioning, and detailed information about individual releases can be viewed in the change log.

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

isqlite-1.1.0.tar.gz (22.6 kB view details)

Uploaded Source

Built Distribution

isqlite-1.1.0-py3-none-any.whl (47.5 kB view details)

Uploaded Python 3

File details

Details for the file isqlite-1.1.0.tar.gz.

File metadata

  • Download URL: isqlite-1.1.0.tar.gz
  • Upload date:
  • Size: 22.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

File hashes

Hashes for isqlite-1.1.0.tar.gz
Algorithm Hash digest
SHA256 5b2545d1a95b90f874d53a3d38428ee91ac98f75dee8e8477422fb972cba2048
MD5 d44c5479ade09008f056ee2df6d85941
BLAKE2b-256 1d8b50233e8127027d2eaae890fb9452544bae3032d16a4623e30371a9d5bf39

See more details on using hashes here.

File details

Details for the file isqlite-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: isqlite-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 47.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

File hashes

Hashes for isqlite-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3969ab196e36e952afcc77f75522728872eefde97c9f7fde015731bd7bccb140
MD5 e0f51b902cae29132aa396d9c89cc6dd
BLAKE2b-256 caaa90998ec0362f381502da95bace14f9f60a48e8479b848a8c8e4f23948443

See more details on using hashes here.

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