LibSQL.org for SQLAlchemy
Project description
sqlalchemy-libsql
A LibSQL dialect for SQLAlchemy.
This dialect requires SQLAlchemy 2.0 or later.
Pre-requisites
Running instance of https://github.com/libsql/sqld. You can easily get one at https://turso.tech/
Alternatively a https://github.com/libsql/hrana-test-server, a pure-python implementation
Co-requisites
This dialect requires SQLAlchemy and libsql_client. They are specified as requirements so pip will install them if they are not already in place. To install, just:
pip install sqlalchemy-libsql
Getting Started
Create an URL that points to your libsql database. Then, in your Python app, you can connect to the database via:
from sqlalchemy import create_engine engine = create_engine("sqlite+libsql://your-db.your-server.com?authToken=JWT_HERE&secure=true")
Note that secure=true query/search parameter will force the usage of secure WebSockets (wss://) to connect to the remote server.
Development
This project uses poetry, can be tested with pytest and should be checked with pre-commit. A pure-python test server is used as a submodule:
git clone https://github.com/libsql/sqlalchemy-libsql.git cd sqlalchemy-libsql git submodule init && git submodule update # hrana-test-server pre-commit install # install git-hooks poetry install --with dev # pytest pre-commit run -a # check all files in the project, runs pytest poetry run pytest poetry run pytest --log-debug=libsql_client # debug libsql_client usage # run against WSS server: poetry run pytest --dburi "sqlite+libsql://server.com?secure=true&authToken=JWT_HERE"
The SQLAlchemy Project
SQLAlchemy-libsql is part of the SQLAlchemy Project and adheres to the same standards and conventions as the core project.
Development / Bug reporting / Pull requests
Please refer to the SQLAlchemy Community Guide for guidelines on coding and participating in this project.
Code of Conduct
Above all, SQLAlchemy places great emphasis on polite, thoughtful, and constructive communication between users and developers. Please see our current Code of Conduct at Code of Conduct.
Credits
This project structure is based on https://github.com/gordthompson/sqlalchemy-access, a project cited at README.dialects.rst.
License
SQLAlchemy-libsql is distributed under the MIT license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for sqlalchemy_libsql-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a4d5cf4089cf3a229d5b1b20e9b8ca7ac8e2c0784a11c5ead3c66c5c9b18ae19 |
|
MD5 | 83492d31d2dd1f9b9db08983f2c7b2c1 |
|
BLAKE2b-256 | 08954476bb94c2da3dbc164f7174ccc7860aea28f1cb2302c5b895755f28ae36 |