This is a wrapper library to use LiteSync on Python 3
It is based on pysqlite3
- 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).
You must install some LiteSync library for this one to work. It can be either pre-compiled binaries or you can compile it by yourself. You can start with the free version.
pip install litesync
Optionally you can clone the repo and build it:
git clone --depth=1 https://gitlab.com/litesync/litesync-python3
cd litesync-python3
python3 setup.py build install
import litesync
import json
import time
conn = litesync.connect('file:app.db?node=secondary&connect=tcp://server:port')
# check if the db is ready
while True:
result = conn.cursor().execute("PRAGMA sync_status").fetchone()
status = json.loads(result[0])
if status["db_is_ready"]: break
time.sleep(0.250)
# now we can use the db connection
...