fastlite
A bit of extra usability for sqlite
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 fastliteuv
uv add fastlitepoetry
poetry add fastliteInstalling 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
Tags
More Database packages
psycopg2-binary is a PostgreSQL database…
copyleft · top 1,000 on PyPI
redisPython client library for connecting to and…
permissive · top 1,000 on PyPI
ydbYDB Python SDK is the official client library…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
sqlparsesqlparse tokenizes SQL text into a tree of…
permissive · top 1,000 on PyPI
dbt-adaptersProvides base adapter protocols and shared…
permissive · top 1,000 on PyPI
apswutilsProvides a Python interface for SQLite…
permissive · top 15,000 on PyPI
ipython-sqlAdds SQL magic commands to IPython and Jupyter…
permissive · top 15,000 on PyPI
sqlite-utilsCLI tool and Python library for creating,…
permissive · top 5,000 on PyPI
cobbleCobble is a Python library for creating data…
permissive · top 5,000 on PyPI
jupysqlAdds SQL execution to Jupyter and IPython…
permissive · top 15,000 on PyPI
aiosqliteaiosqlite provides an async interface to SQLite…
permissive · top 1,000 on PyPI
pangresUpserts pandas DataFrames into PostgreSQL,…
permissive · top 15,000 on PyPI
databricks-sqlProvides a Python interface for querying and…
permissive · top 15,000 on PyPI
sqlite-migrateA compatibility shim that re-exports the…
permissive · top 15,000 on PyPI
ipykernelProvides the IPython kernel backend that powers…
permissive · top 1,000 on PyPI