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

Uploaded Source

Built Distribution

isqlite-1.3.0-py3-none-any.whl (48.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: isqlite-1.3.0.tar.gz
  • Upload date:
  • Size: 23.3 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.3.0.tar.gz
Algorithm Hash digest
SHA256 60827546a02261514abafcc2b1d59988b23c4cac9c5d59ed242296a5963e13dd
MD5 5c1f5256ab3c497145f691758d017edf
BLAKE2b-256 40e9661d231800373fb0ca56e1ef61c943b64d6ee32895cdc726cd63201f43b3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: isqlite-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 48.3 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6e994b317089bd1611fcf3abd847a078c120e26bef7eeea07d5519498693c5c9
MD5 9b831a657da71dcce3eeb259c336c417
BLAKE2b-256 13f9dec1d2f48f0d6048cf47afb80b0e745142cace5e6e0c765635c4148f602a

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