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.0a0.tar.gz (24.8 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: isqlite-1.5.0a0.tar.gz
  • Upload date:
  • Size: 24.8 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.0a0.tar.gz
Algorithm Hash digest
SHA256 89444bd16691ab00b5d99c1d2b53cd08369c6346a1f8985e609a474e55db8e6c
MD5 bc034ab2fec1cfbbf43523a04e5a33ae
BLAKE2b-256 b6ee6a2928f7ea530ed85eb888643c8a96a216746f260b7868a66c001ad0d5cb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: isqlite-1.5.0a0-py3-none-any.whl
  • Upload date:
  • Size: 49.9 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.0a0-py3-none-any.whl
Algorithm Hash digest
SHA256 59827abc8811b30dd6fce4885ae8d7704dff6f8e70657b3d6d697e1bd18ef9bf
MD5 670e892cd799fcdd8fde4dbc101cd82d
BLAKE2b-256 5c87534292a39e047a75fc55c954a77589446fc2bb4679130ffcdae979212f27

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