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.2.0.tar.gz (22.6 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: isqlite-1.2.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.2.0.tar.gz
Algorithm Hash digest
SHA256 7a8048d4c6f83d5b61a8f2f3e24eab35eab4d2ebbc77322b788adeadf14687fb
MD5 d24791317c46336e9dd8aa7d9ebc1cce
BLAKE2b-256 8caac1fa834f5777c5ef188ddf24614a49fcb2cb6a2d0d7d68a612cdbc221751

See more details on using hashes here.

File details

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

File metadata

  • Download URL: isqlite-1.2.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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7258628ad973286533d3be195f097636c37e4ba706c62d2bed1d6525b067e905
MD5 9637001629e9747931f75601118fb7ae
BLAKE2b-256 9cd85c24e7ac4a7850c96431564b6e35096ca4cafbb3069851779df053c13596

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