skillfed

pysqlite3

DB-API 2.0 interface for Sqlite 3.x

pysqlite3 v0.6.0 461.3K downloads/30d#6,534 on PyPI
Permissive license MIT AGING released

What it is and what it does

pysqlite3 is a repackaging of Python's sqlite3 module as a standalone, installable library. It lets you decouple your SQLite version from what ships with Python, which is useful when you need a newer SQLite release, specific extensions, or a self-contained binary that works across environments. The package offers precompiled wheels for multiple Python versions on macOS (ARM), Linux, Windows, and musl-based systems, eliminating the need to compile from source in most cases.

The library implements the standard DB-API 2.0 interface, so code written for the built-in sqlite3 module works unchanged. It adds features like user-defined window functions (requires SQLite >= 3.25), VFS and flags support for connection tuning, incremental BLOB I/O, and the native SQLite backup API. You can also build it statically linked against a specific SQLite version by providing the amalgamation source files.

Use it for:

  • Use it when your application requires a SQLite version newer than what ships with your Python release.
  • Use it to deploy a self-contained application that doesn't depend on system SQLite libraries being present.
  • Use it to enable SQLite extensions or features not available in the standard library module.
  • Use it in containerized or embedded environments where you need reproducible SQLite behavior across platforms.

Worth the install?

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

pysqlite3 packages SQLite as a standalone Python module, letting you use a specific SQLite version independently of the system library or Python's bundled sqlite3.

Yes, if you need a specific SQLite version or features beyond the standard library. The precompiled wheels make installation straightforward on common platforms. The MIT license is permissive, there are no known vulnerabilities, and it's a drop-in replacement for sqlite3. Install only if you have a concrete reason—the standard library module is sufficient for most applications.

Install

pysqlite3 on PyPI

pip

pip install pysqlite3

uv

uv add pysqlite3

poetry

poetry add pysqlite3

Installing pysqlite3

Before you install

Medium install friction due to compiled wheels for multiple Python versions and platforms; the package is aging (221 days since last release) but remains in the top-15000 tier with no known vulnerabilities.

License in practice

MIT license permits commercial and private use with minimal restrictions; you must include the license notice in distributions.

Quickstart

pip install pysqlite3

import pysqlite3.dbapi2 as sqlite3
conn = sqlite3.connect(':memory:')
cursor = conn.cursor()
cursor.execute('SELECT 1')
print(cursor.fetchone())

Requires Python 3.9 or later; building from source requires a C compiler and SQLite development headers if not using the precompiled wheel.

Verify before relying

  • Whether the aging maintenance status (221 days since release) signals reduced active development or stable maturity.
  • Performance characteristics compared to the standard library sqlite3 module.
  • Compatibility guarantees with specific SQLite versions when using the amalgamation build option.
  • Which Python versions are covered by the precompiled wheels beyond what the classifiers indicate.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.9)
Install friction medium — platform-specific wheel
Runtime dependencies none
Maintenance aging — 221 days since the last release
First released
Downloads 461,334/month — #6,534 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pysqlite3-0.6.0-cp310-cp310-macosx_11_0_arm64.whl; pysqlite3-0.6.0-cp310-cp310-manylinux_2_28_x86_64.whl; pysqlite3-0.6.0-cp310-cp310-musllinux_1_2_x86_64.whl; pysqlite3-0.6.0-cp310-cp310-win32.whl; pysqlite3-0.6.0-cp310-cp310-win_amd64.whl; pysqlite3-0.6.0-cp311-cp311-macosx_11_0_arm64.whl; pysqlite3-0.6.0-cp311-cp311-manylinux_2_28_x86_64.whl; pysqlite3-0.6.0-cp311-cp311-musllinux_1_2_x86_64.whl; pysqlite3-0.6.0-cp311-cp311-win32.whl; pysqlite3-0.6.0-cp311-cp311-win_amd64.whl; pysqlite3-0.6.0-cp312-cp312-macosx_11_0_arm64.whl; pysqlite3-0.6.0-cp312-cp312-manylinux_2_28_x86_64.whl; pysqlite3-0.6.0-cp312-cp312-musllinux_1_2_x86_64.whl; pysqlite3-0.6.0-cp312-cp312-win32.whl; pysqlite3-0.6.0-cp312-cp312-win_amd64.whl; pysqlite3-0.6.0-cp313-cp313-macosx_11_0_arm64.whl; pysqlite3-0.6.0-cp313-cp313-manylinux_2_28_x86_64.whl; pysqlite3-0.6.0-cp313-cp313-musllinux_1_2_x86_64.whl; pysqlite3-0.6.0-cp313-cp313-win32.whl; pysqlite3-0.6.0-cp313-cp313-win_amd64.whl

Programming Language :: CProgramming Language :: Python :: 3Topic :: Database :: Database Engines/Servers

Tags

sqlite3 standalone modulecustom sqlite version pythonsqlite3 independent installationsqlite3 self-contained wheelsqlite3 binary package
sqlitedatabase-driverself-contained

More Database Engines/Servers packages