skillfed

sqlcipher3-binary

DB-API 2.0 interface for SQLCipher 3.x

sqlcipher3-binary v0.6.0 134.4K downloads/30d#11,479 on PyPI125
Permissive license MIT License AGING released

What it is and what it does

sqlcipher3-binary is a Python binding to SQLCipher, an encrypted variant of SQLite. It wraps pysqlite3 with modifications to work with SQLCipher's encryption layer, providing a DB-API 2.0 compatible interface for encrypted database operations. The package ships as a self-contained binary wheel that includes a pre-compiled SQLCipher with numerous extensions, eliminating the need to build or link against system libraries.

The library adds several enhancements over standard sqlite3: user-defined window functions, VFS and flags support when opening connections, incremental BLOB I/O, improved error messages, and access to SQLite's native backup API. Because SQLCipher 4.7.0 changed its build system and no longer provides a separate libsqlcipher, the binary wheel approach is now the recommended installation path for most users.

Use it for:

  • Building applications that require encrypted-at-rest SQLite databases without managing separate encryption layers
  • Migrating from pysqlite3 to add encryption to existing Python database code
  • Prototyping or deploying encrypted local databases in desktop or embedded Python applications
  • Using SQLite's window functions and backup API in encrypted database contexts

Worth the install?

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

A Python DB-API 2.0 interface to SQLCipher, providing encrypted SQLite database access with a self-contained binary wheel requiring no external dependencies.

Yes, if you need encrypted SQLite with minimal setup. The self-contained binary wheel eliminates build complexity. However, verify platform support matches your target (wheels shown are Linux x86_64 only), and note the package is aging—last release was 226 days ago. No known vulnerabilities. MIT license is permissive. Consider this if encryption at rest and DB-API 2.0 compatibility are your priorities.

Install

sqlcipher3-binary on PyPI

pip

pip install sqlcipher3-binary

uv

uv add sqlcipher3-binary

poetry

poetry add sqlcipher3-binary

Installing sqlcipher3-binary

Before you install

Medium install friction due to compiled binary wheels. Package is aging (226 days since last release), though the repository remains active with recent commits. Wheels are available for multiple Python versions on Linux x86_64.

License in practice

MIT License permits commercial and private use with minimal restrictions, making it suitable for most projects that can accept permissive licensing.

Quickstart

pip install sqlcipher3-binary

import sqlcipher3
conn = sqlcipher3.connect(':memory:')
conn.execute('PRAGMA key = "password"')
cursor = conn.cursor()
cursor.execute('CREATE TABLE test (id INTEGER PRIMARY KEY, data TEXT)')
conn.commit()

Wheels are currently available only for Linux x86_64 with multiple Python versions; other platforms or Python versions may require building from source, which requires SQLCipher amalgamation sources.

Verify before relying

  • Whether wheels are available for platforms beyond Linux x86_64 (macOS, Windows, ARM)
  • Exact Python version support range (requires_python field is unspecified)
  • Whether the bundled SQLCipher version and its extensions are documented
  • Performance characteristics compared to standard sqlite3 or other encrypted alternatives

Package facts

License MIT License (permissive)
Python support not specified
Install friction medium — platform-specific wheel
Runtime dependencies none
Maintenance aging — 226 days since the last release
Last repo commit
First released
Downloads 134,354/month — #11,479 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: sqlcipher3_binary-0.6.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; sqlcipher3_binary-0.6.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; sqlcipher3_binary-0.6.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; sqlcipher3_binary-0.6.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; sqlcipher3_binary-0.6.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; sqlcipher3_binary-0.6.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; sqlcipher3_binary-0.6.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Development Status :: 4 - BetaIntended Audience :: DevelopersOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIXProgramming Language :: CProgramming Language :: PythonTopic :: Database :: Database Engines/ServersTopic :: Software Development :: Libraries :: Python Modules

Tags

encrypted sqlite database pythonsqlcipher python bindingencrypted sql databasesqlcipher3 db-apisqlite encryptionpython sqlcipher interfaceencrypted database access
encryptionsqlitedb-api

More Python Modules packages