sqlite_rx
For documentation, usage and examples refer https://aosingh.github.io/sqlite_rx/
Introduction
SQLite is a lightweight database written in C. Python has in-built support to interact with the database (locally) which is either stored on disk or in memory.
With sqlite_rx, clients should be able to communicate with an SQLiteServer in a fast, simple and secure manner and execute queries remotely.
Key Features
- Client and Server for SQLite database built using ZeroMQ as the transport layer and msgpack for serialization/deserialization.
- Authentication using ZeroMQ Authentication Protocol (ZAP)
- Encryption using CurveZMQ
- Generic authorization policy during server startup
- Schedule regular backups for on-disk databases
Install
pip install -U sqlite_rx
Server
SQLiteServer runs in a single thread and follows an event-driven concurrency model (using tornado's event loop) which minimizes the cost of concurrent client connections. Following snippet shows how you can start the server process.
# server.py
from sqlite_rx.server import SQLiteServer
def main():
# database is a path-like object giving the pathname
# of the database file to be opened.
# You can use ":memory:" to open a database connection to a database
# that resides in RAM instead of on disk
server = SQLiteServer(database=":memory:",
bind_address="tcp://127.0.0.1:5000")
server.start()
server.join()
if __name__ == '__main__':
main()
Client
The following snippet shows how you can instantiate an SQLiteClient and execute a simple CREATE TABLE query.
# client.py
from sqlite_rx.client import SQLiteClient
client = SQLiteClient(connect_address="tcp://127.0.0.1:5000")
with client:
query = "CREATE TABLE stocks (date text, trans text, symbol text, qty real, price real)"
result = client.execute(query)
>> python client.py
{'error': None, 'items': []}
Release files for sqlite-rx 1.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sqlite_rx-1.3.0.tar.gz | 20.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sqlite_rx-1.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 49.2 kB
Release files / sqlite_rx-1.3.0.tar.gz
| Download URL | sqlite_rx-1.3.0.tar.gz |
|---|---|
| Size | 20.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b7d4a71174c8881837b3a2f7bfe843d74f675b32d5e552af435402ca639f8aa3
|
|
BLAKE2b-256 checksum How to use checksums |
fdf0c3b5a1356abd8b842413a0a7859817cbbeea50e2b48efb82c0c1ba385070
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / sqlite_rx-1.3.0-py3-none-any.whl
| Download URL | sqlite_rx-1.3.0-py3-none-any.whl |
|---|---|
| Size | 28.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
44ba297fcaf9dd5c396628723eac7dde2c06c4cb13a7deb8a3d9155ed428f146
|
|
BLAKE2b-256 checksum How to use checksums |
1f42f0e27988c82603cf1ec6fb9a2a8a98879a4690651c002b041bf0d96d8371
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|