sqlcipher3-wheels
DB-API 2.0 interface for SQLCipher 3.x
What it is and what it does
sqlcipher3-wheels is a Python binding to SQLCipher, an encrypted variant of SQLite. It adapts pysqlite3 to work with SQLCipher, exposing the same DB-API 2.0 interface developers expect from the standard sqlite3 module. The package is distributed as pre-built wheels for multiple platforms and architectures, eliminating the need to compile SQLCipher from source during installation.
The binding includes several enhancements over the standard library sqlite3: user-defined window functions, VFS and flags support for connection customization, incremental BLOB I/O, improved error messages, and native backup API. The wheels are built with sqlcipher version 4, which means databases encrypted with version 3 require a compatibility pragma before use. No external runtime dependencies are required—everything is self-contained in the wheel.
Use it for:
- Store sensitive application data (credentials, API keys, personal information) in an encrypted local database
- Build desktop or mobile applications requiring client-side encryption without server infrastructure
- Migrate from standard SQLite to encrypted storage while keeping existing DB-API code largely unchanged
- Implement compliance requirements for data-at-rest encryption in Python applications
- Develop offline-first applications where encrypted local storage protects user data on untrusted devices
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides a Python DB-API 2.0 interface to SQLCipher, enabling encrypted SQLite database operations with a familiar sqlite3-like API.
Yes, with conditions. The package provides a straightforward path to encrypted SQLite if you need DB-API 2.0 compatibility and pre-built wheels for your platform. However, the aging maintenance status (219 days since last release, 34 stars) suggests evaluating alternatives for new projects. No known vulnerabilities and permissive licensing are positive signals. Install if you have an existing codebase using this fork or need wheels for a specific architecture.
Install
sqlcipher3-wheels on PyPI
pip
pip install sqlcipher3-wheelsuv
uv add sqlcipher3-wheelspoetry
poetry add sqlcipher3-wheelsInstalling sqlcipher3-wheels
Before you install
Medium friction: pre-built wheels are available for multiple platforms (macOS, Linux, Windows across architectures), but the package is aging—last release was 219 days ago and the repository shows limited activity (34 stars). No runtime dependencies simplifies installation.
License in practice
Licensed under zlib/libpng (permissive), allowing use in both open-source and proprietary projects without significant restrictions.
Quickstart
from sqlcipher3 import dbapi2 as sqlite
conn = sqlite.connect('test.db')
c = conn.cursor()
c.execute("PRAGMA key='password'")
c.execute("PRAGMA cipher_compatibility = 3")
c.execute("CREATE TABLE stocks (date text, symbol text, qty real)")
c.execute("INSERT INTO stocks VALUES ('2006-01-05', 'RHAT', 100)")
conn.commit()
c.close()
SQLCipher version 4 is built into the wheels; if working with databases encrypted by SQLCipher version 3, you must execute PRAGMA cipher_compatibility = 3 after PRAGMA key before any operations.
Verify before relying
- Whether this fork remains actively maintained or if alternatives are recommended for new projects
- Full Python version support range beyond cp310 and cp311 visible in wheel filenames
- Performance characteristics and feature parity with other SQLCipher bindings
Package facts
| License | zlib/libpng (permissive) |
| Python support | not specified |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | aging — 219 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 125,278/month — #11,827 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: sqlcipher3_wheels-0.5.7-cp310-cp310-macosx_10_9_universal2.whl; sqlcipher3_wheels-0.5.7-cp310-cp310-macosx_10_9_x86_64.whl; sqlcipher3_wheels-0.5.7-cp310-cp310-macosx_11_0_arm64.whl; sqlcipher3_wheels-0.5.7-cp310-cp310-manylinux_2_28_aarch64.whl; sqlcipher3_wheels-0.5.7-cp310-cp310-manylinux_2_28_i686.whl; sqlcipher3_wheels-0.5.7-cp310-cp310-manylinux_2_28_ppc64le.whl; sqlcipher3_wheels-0.5.7-cp310-cp310-manylinux_2_28_s390x.whl; sqlcipher3_wheels-0.5.7-cp310-cp310-manylinux_2_28_x86_64.whl; sqlcipher3_wheels-0.5.7-cp310-cp310-musllinux_1_2_aarch64.whl; sqlcipher3_wheels-0.5.7-cp310-cp310-musllinux_1_2_i686.whl; sqlcipher3_wheels-0.5.7-cp310-cp310-musllinux_1_2_ppc64le.whl; sqlcipher3_wheels-0.5.7-cp310-cp310-musllinux_1_2_s390x.whl; sqlcipher3_wheels-0.5.7-cp310-cp310-musllinux_1_2_x86_64.whl; sqlcipher3_wheels-0.5.7-cp310-cp310-win32.whl; sqlcipher3_wheels-0.5.7-cp310-cp310-win_amd64.whl; sqlcipher3_wheels-0.5.7-cp310-cp310-win_arm64.whl; sqlcipher3_wheels-0.5.7-cp311-cp311-macosx_10_9_universal2.whl; sqlcipher3_wheels-0.5.7-cp311-cp311-macosx_10_9_x86_64.whl; sqlcipher3_wheels-0.5.7-cp311-cp311-macosx_11_0_arm64.whl; sqlcipher3_wheels-0.5.7-cp311-cp311-manylinux_2_28_aarch64.whl
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
sqlcipher3sqlcipher3 is a Python DB-API 2.0 interface to…
permissive · top 15,000 on PyPI
sqlcipher3-binaryA Python DB-API 2.0 interface to SQLCipher,…
permissive · top 15,000 on PyPI
pysqlite3pysqlite3 packages SQLite as a standalone…
permissive · top 15,000 on PyPI
sqlean.pyA drop-in replacement for Python's sqlite3…
permissive · top 5,000 on PyPI
pysqlite3-binaryProvides a self-contained SQLite database…
permissive · top 5,000 on PyPI
django-fernet-fields-v2Provides Fernet symmetric encryption for Django…
permissive · top 5,000 on PyPI
djfernetProvides Fernet symmetric encryption for Django…
permissive · top 15,000 on PyPI
django-encrypted-model-fieldsWraps Django model fields with transparent…
permissive · top 15,000 on PyPI
dynamodb-encryption-sdkEncrypts and decrypts DynamoDB items…
permissive · top 15,000 on PyPI
pymssqlpymssql provides a Python DB-API interface to…
copyleft · top 1,000 on PyPI