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
2019-06-03 09:09:36 -05:00
lib Rename sqlcipher3. 2019-06-03 09:06:39 -05:00
src Initial commit. 2019-06-03 09:03:53 -05:00
test Update test imports. 2019-06-03 09:09:36 -05:00
LICENSE Initial commit. 2019-06-03 09:03:53 -05:00
MANIFEST.in Initial commit. 2019-06-03 09:03:53 -05:00
README.md Rename sqlcipher3. 2019-06-03 09:06:39 -05:00
setup.cfg Initial commit. 2019-06-03 09:03:53 -05:00
setup.py Rename sqlcipher3. 2019-06-03 09:06:39 -05:00

sqlcipher3

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

Additional features:

  • Support for user-defined window functions (requires SQLite >= 3.25)
  • Support specifying flags when opening connection
  • Support specifying VFS when opening connection

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.

Original code (c) Gerhard Häring