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

Uploaded Source

Built Distribution

isqlite-1.4.0-py3-none-any.whl (49.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: isqlite-1.4.0.tar.gz
  • Upload date:
  • Size: 24.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.4.0.tar.gz
Algorithm Hash digest
SHA256 c1d02be72509196b0eda7a5459f32710e062171dacb0533b0193dfba6d964d83
MD5 e04054c1c8b80db473fcc1d052cb7781
BLAKE2b-256 7bfd8c53c4b14cb49cd504f68649e212462672cd7d907ad77cff33b3b792a12c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: isqlite-1.4.0-py3-none-any.whl
  • Upload date:
  • Size: 49.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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2ad7966537eccb90f667549a8cdbe9d16bb5ac851796597f9180a4af65c5248b
MD5 4f8d19193f6717d5e05360f12a43552a
BLAKE2b-256 931cf508469da685585e4f555484f47b9df91c0411ac9504df3506fe7857a91a

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