A fork of https://github.com/laggykiller/sqlcipher3, namespaced on Pypi as bouquin-sqlcipher to not namesquat the upstream later should they use it https://pypi.org/project/bouquin-sqlcipher4/
Find a file
2024-02-24 05:24:47 +08:00
.github/workflows Fix build 2024-02-24 05:16:05 +08:00
lipo-dir-merge@45fb925fd4 Build wheels for windows and macos with conan 2024-02-24 03:28:30 +08:00
sqlcipher@df092f0a7a Build wheels for windows and macos with conan 2024-02-24 03:28:30 +08:00
sqlcipher3 Don't check in the shared library :x 2019-09-03 23:31:59 -05:00
src Remove sqlite3 amalgation from source, update readme, upload pypi 2024-02-24 05:08:09 +08:00
test Fix typo in testcase name. 2023-12-15 08:24:55 -06:00
.gitignore Build wheels for windows and macos with conan 2024-02-24 03:28:30 +08:00
.gitmodules Build wheels for windows and macos with conan 2024-02-24 03:28:30 +08:00
conanfile.py Linting and fix build 2024-02-24 03:59:46 +08:00
LICENSE Initial commit. 2019-06-03 09:03:53 -05:00
MANIFEST.in Build wheels for windows and macos with conan 2024-02-24 03:28:30 +08:00
pyproject.toml Use pyproject.toml 2024-02-24 03:56:27 +08:00
README.md Update readme 2024-02-24 05:24:47 +08:00
setup.py Fix building 2024-02-24 04:24:38 +08:00

sqlcipher3

NOTICE: This is a fork of sqlcipher3 which adds github action for creating wheels for Windows, MacOS and Linux. The unofficial wheels are uploaded to sqlciipher3-wheel on pypi, while the official wheels are sqlcipher3-binary. To install openssl easily, conan is used. I made some reference with this fork of pysqlite3 by Dobatymo

NOTICE: To build from this fork, copy sqlite3.c and sqlite3.h to src/sqlcipher, then run pip wheel . or python -m build .

This library takes pysqlite3 and makes some small modifications so it is suitable for use with sqlcipher (sqlite with encryption).

Additional features:

  • User-defined window functions (requires SQLite >= 3.25)
  • Flags and VFS an be specified when opening connection
  • Incremental BLOB I/O, bpo-24905
  • Improved error messages, bpo-16379
  • Simplified detection of DML statements via sqlite3_stmt_readonly.
  • Sqlite native backup API (also present in standard library 3.7 and newer).

A completely self-contained binary package (wheel) is available for versions 0.4.0 and newer as sqlcipher3-binary. This package contains the latest release of sqlcipher compiled with numerous extensions, and requires no external dependencies.

Building with System SQLCipher

To build sqlcipher3 linked against the system SQLCipher, run:

$ python setup.py build

Building a statically-linked library

To build sqlcipher3 statically-linked against a particular version of SQLCipher, you need to obtain the SQLCipher source code and copy sqlite3.c and sqlite3.h into the source tree.

# Download the latest version of SQLCipher source code and build the source
# amalgamation files (sqlite3.c and sqlite3.h).
$ git clone https://github.com/sqlcipher/sqlcipher
$ cd sqlcipher/
$ ./configure
$ make sqlite3.c

# Copy the sqlcipher amalgamation files into the root of the sqlcipher3
# checkout and run build_static + build:
$ cp sqlcipher/sqlite3.[ch] sqlcipher3/
$ cd sqlcipher3
$ python setup.py build_static build

You now have a statically-linked, completely self-contained sqlcipher3.

Using the binary package

A binary package (wheel) is available for linux with a completely self-contained sqlcipher3, statically-linked against the most recent release of sqlcipher.

$ pip install sqlcipher3-binary