Skip to main content

DB-API 2.0 interface for Sqlite 3.x, pre-compiled wheels available for win/linux/macos.

Project description

pysqlite3

This library takes the SQLite module from Python 3 and packages it as a separately-installable module. The binary package is statically compiled which make it easy to embedded the library in certain circumstances.

This may be useful for creating SQLite modules capable of working with other versions of SQLite (via the amalgamation option). Meanwhile, the included SQLite library is compiled with all features enabled, that user may benefit from more features, like the score based database FTS (Full-Text Search).

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.1 and newer as pysqlite3-binary. This package contains the latest release of SQLite compiled with numerous extensions, and requires no external dependencies.

Building with System SQLite

To build pysqlite3 linked against the system SQLite, run:

$ python setup.py build

Building a statically-linked library

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

# Download the latest release of SQLite source code and build the source
# amalgamation files (sqlite3.c and sqlite3.h).
$ wget https://www.sqlite.org/src/tarball/sqlite.tar.gz?r=release \
    -O sqlite.tar.gz
$ tar xzf sqlite.tar.gz
$ cd sqlite/
$ ./configure
$ make sqlite3.c

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

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

Using the binary package

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

$ pip install pysqlite3-binary

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pysqlite-binary-0.5.1.3380300.tar.gz (2.4 MB view hashes)

Uploaded Source

Built Distributions

pysqlite_binary-0.5.1.3380300-cp310-cp310-win_amd64.whl (827.1 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

pysqlite_binary-0.5.1.3380300-cp310-cp310-win32.whl (662.9 kB view hashes)

Uploaded CPython 3.10 Windows x86

pysqlite_binary-0.5.1.3380300-cp310-cp310-musllinux_1_1_x86_64.whl (3.9 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

pysqlite_binary-0.5.1.3380300-cp310-cp310-musllinux_1_1_i686.whl (3.9 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

pysqlite_binary-0.5.1.3380300-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pysqlite_binary-0.5.1.3380300-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (3.9 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

pysqlite_binary-0.5.1.3380300-cp310-cp310-macosx_10_9_x86_64.whl (970.2 kB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

pysqlite_binary-0.5.1.3380300-cp39-cp39-win_amd64.whl (827.1 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

pysqlite_binary-0.5.1.3380300-cp39-cp39-win32.whl (662.9 kB view hashes)

Uploaded CPython 3.9 Windows x86

pysqlite_binary-0.5.1.3380300-cp39-cp39-musllinux_1_1_x86_64.whl (3.9 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

pysqlite_binary-0.5.1.3380300-cp39-cp39-musllinux_1_1_i686.whl (3.9 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

pysqlite_binary-0.5.1.3380300-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pysqlite_binary-0.5.1.3380300-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (3.9 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

pysqlite_binary-0.5.1.3380300-cp39-cp39-macosx_10_9_x86_64.whl (970.3 kB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

pysqlite_binary-0.5.1.3380300-cp38-cp38-win_amd64.whl (827.2 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

pysqlite_binary-0.5.1.3380300-cp38-cp38-win32.whl (662.9 kB view hashes)

Uploaded CPython 3.8 Windows x86

pysqlite_binary-0.5.1.3380300-cp38-cp38-musllinux_1_1_x86_64.whl (3.9 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

pysqlite_binary-0.5.1.3380300-cp38-cp38-musllinux_1_1_i686.whl (3.9 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

pysqlite_binary-0.5.1.3380300-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

pysqlite_binary-0.5.1.3380300-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (3.9 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

pysqlite_binary-0.5.1.3380300-cp38-cp38-macosx_10_9_x86_64.whl (970.2 kB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

pysqlite_binary-0.5.1.3380300-cp37-cp37m-win_amd64.whl (827.4 kB view hashes)

Uploaded CPython 3.7m Windows x86-64

pysqlite_binary-0.5.1.3380300-cp37-cp37m-win32.whl (662.8 kB view hashes)

Uploaded CPython 3.7m Windows x86

pysqlite_binary-0.5.1.3380300-cp37-cp37m-musllinux_1_1_x86_64.whl (3.9 MB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ x86-64

pysqlite_binary-0.5.1.3380300-cp37-cp37m-musllinux_1_1_i686.whl (3.8 MB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ i686

pysqlite_binary-0.5.1.3380300-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

pysqlite_binary-0.5.1.3380300-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (3.9 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

pysqlite_binary-0.5.1.3380300-cp37-cp37m-macosx_10_9_x86_64.whl (969.8 kB view hashes)

Uploaded CPython 3.7m macOS 10.9+ x86-64

pysqlite_binary-0.5.1.3380300-cp36-cp36m-win_amd64.whl (905.9 kB view hashes)

Uploaded CPython 3.6m Windows x86-64

pysqlite_binary-0.5.1.3380300-cp36-cp36m-win32.whl (715.8 kB view hashes)

Uploaded CPython 3.6m Windows x86

pysqlite_binary-0.5.1.3380300-cp36-cp36m-musllinux_1_1_x86_64.whl (3.9 MB view hashes)

Uploaded CPython 3.6m musllinux: musl 1.1+ x86-64

pysqlite_binary-0.5.1.3380300-cp36-cp36m-musllinux_1_1_i686.whl (3.8 MB view hashes)

Uploaded CPython 3.6m musllinux: musl 1.1+ i686

pysqlite_binary-0.5.1.3380300-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

pysqlite_binary-0.5.1.3380300-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (3.9 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

pysqlite_binary-0.5.1.3380300-cp36-cp36m-macosx_10_9_x86_64.whl (969.4 kB view hashes)

Uploaded CPython 3.6m macOS 10.9+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page