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

Uploaded Source

Built Distribution

isqlite-1.5.0-py3-none-any.whl (50.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: isqlite-1.5.0.tar.gz
  • Upload date:
  • Size: 25.0 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.5.0.tar.gz
Algorithm Hash digest
SHA256 ff10343e6d1a237843d11b4841e46db6e33ffcefd7c968df1eb579727c2a4765
MD5 15975adf15d49ec84bec125d60a34de6
BLAKE2b-256 154db283bb21c8e54d5710a992a87c9653155a294c481fd04b84c63405131a1f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: isqlite-1.5.0-py3-none-any.whl
  • Upload date:
  • Size: 50.0 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.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 061f7663e20b7bcc25eecf3e672405e449704a9506034fed4abf437cc30b3c17
MD5 a7b8cd28805feb932c6d6786631b9a5e
BLAKE2b-256 80501fecef77c6a5ee382c4ce244f4e47ac72a14272fb47add16c48742fba31e

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