skillfed

fastlite

A bit of extra usability for sqlite

fastlite v0.2.4 739.8K downloads/30d#5,184 on PyPI230
Permissive license Apache Software License 2.0 Active released

What it is and what it does

fastlite is a convenience layer over sqlite-utils that makes interactive SQLite exploration smoother in Jupyter notebooks and IPython. It provides auto-complete for tables, columns, and views; lets you navigate database structure through properties like `.t` (tables), `.c` (columns), and `.v` (views); and automatically generates dataclasses that match your table schemas. You can reference tables and columns directly in f-strings for SQL queries, and call tables as functions to fetch records as dataclass instances.

The package is built for developers who want to explore and manipulate SQLite databases interactively without boilerplate. It handles common operations like create, insert, update, upsert, and lookup through a fluent API, and supports filtering via an `.xtra()` method that applies conditions to subsequent operations. It's particularly useful in notebook workflows where you're prototyping queries or building data pipelines incrementally.

Use it for:

  • Explore and query SQLite databases interactively in Jupyter with auto-complete for tables and columns
  • Generate dataclasses from database tables for type-safe record handling in notebooks
  • Prototype SQL queries and data transformations without writing raw SQL strings
  • Build and manipulate SQLite tables programmatically using Python dicts or dataclass instances
  • Create views and perform joins with auto-complete-friendly syntax in interactive environments

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

fastlite wraps sqlite-utils to provide interactive SQLite database access with auto-complete, convenient table/column navigation, and dataclass generation for Jupyter and IPython environments.

Yes, if you work with SQLite in Jupyter or IPython. It genuinely improves the interactive experience with auto-complete and convenient table/column access, has low install friction, is actively maintained, carries no security vulnerabilities, and uses a permissive license. Not necessary for non-interactive SQLite work or if you prefer raw sqlite-utils.

Install

fastlite on PyPI

pip

pip install fastlite

uv

uv add fastlite

poetry

poetry add fastlite

Installing fastlite

Before you install

Low install friction with only two runtime dependencies (fastcore and apswutils). Actively maintained with recent commits and a stable release cadence; last update was 2026-01-12.

License in practice

Apache Software License 2.0 is permissive, allowing free use, modification, and distribution in both open-source and commercial projects with minimal restrictions.

Quickstart

pip install fastlite

from fastlite import *

db = database("chinook.sqlite")
dt = db.t  # list all tables
artist = dt.Artist  # access a table
db.q(f"select * from {artist}")  # query with auto-complete-friendly syntax

Requires Python 3.10 or later; designed primarily for interactive environments like Jupyter or IPython.

Verify before relying

  • Whether sqlite-utils is installed as a transitive dependency or must be installed separately
  • Performance characteristics when working with large databases
  • Compatibility with non-Jupyter interactive Python environments beyond IPython

Package facts

License Apache Software License 2.0 (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 2 — fastcore, apswutils
Maintenance actively maintained — 214 days since the last release
Last repo commit
First released
Downloads 739,816/month — #5,184 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: fastlite-0.2.4-py3-none-any.whl

Keywords: nbdev, jupyter, notebook, python, sqlite, sql

Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseNatural Language :: EnglishProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12

Tags

sqlite interactive jupytersqlite auto-complete notebooksqlite-utils wrappersqlite dataclass generationjupyter sqlite convenienceinteractive database explorationsqlite table navigation
jupyter-friendlysqlite-wrapperinteractive-shell

More Database packages