Convenient Wrapper around AioSQL and a Database Connection
Project description
AnoDB
Convenient Wrapper around aiosql and a Database Connection.
Description
This class creates a persistent database connection and imports SQL queries from a file.
If the connection is broken, a new connection is attempted.
Compared do aiosql, the point is not to need to pass a connection
as an argument on each call: The DB
class embeds both connection
and query methods.
Example
Install the module with pip install anodb
or whatever method you like.
Once available, you can use it:
import anodb
db = anodb.DB('sqlite3', 'test.db', 'test.sql')
db.do_some_insert(key=1, val='hello')
db.do_some_update(key=1, val='world')
print("data", db.do_some_select(key=1))
db.commit()
db.close()
With file test.sql
containing something like:
-- name: do_some_select
SELECT * FROM Stuff WHERE key = :key;
-- name: do_some_insert!
INSERT INTO Stuff(key, val) VALUES (:key, :val);
-- name: do_some_update!
UPDATE Stuff SET val = :val WHERE key = :key;
Versions
Sources are available on GitHub.
4.2.0 on 2021-01-16
Put back __version__
automatic extraction from package.
Add __version__
attribute to DB class.
Refactor tests.
4.1.0 on 2021-12-12
Add untested support for MySQL through aiosql_mysql
.
Temporary work around an issue between pkg_resources
, typing_extensions
and aiosql
.
4.0.2 on 2021-12-12
Add type hint for mypy.
4.0.1 on 2021-12-11
Add package __version__
.
Minor update for pytest_postgresql
4.0.0.
4.0 on 2021-10-14
Add psycopg 3 support, and make it the default for Postgres.
3.0 on 2021-04-20
Package as a simple module.
Use simpler setup.cfg
packaging.
Include tests in package.
Add coverage test and make test coverage reach 100%.
2.2 on 2021-02-20
Setup explicit logger instead of relying on default.
2.1 on 2021-02-14
Make cursor()
reconnect if needed.
Add automatic reconnection tests.
2.0 on 2021-02-13
Swith from AnoSQL
to AioSQL
.
1.3 on 2020-08-02
Make options
accept different types.
Make queries
optional, and allow to load from files or strings.
1.2 on 2020-07-31
Add options
string parameter to constructor.
1.1 on 2020-07-28
Add **conn_options
parameter to constructor.
Add cursor()
method.
1.0 on 2020-07-27
Initial release.
TODO
- add support for other drivers? eg. pg8000, pygresql
- add support for psycopg3 connection pool?
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
File details
Details for the file anodb-4.2.0.tar.gz
.
File metadata
- Download URL: anodb-4.2.0.tar.gz
- Upload date:
- Size: 7.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.30.0 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f51f5010021bff8e0f01e2d2ac183bf708ee187ea62f49f9ee2c1f0a5a1ecbf3 |
|
MD5 | c0bae1d1aac9ed492e62b7453067527e |
|
BLAKE2b-256 | 5def8b1c704126e69544ce792ec20dc56f0f882c99168f57e7149cfbcd74284a |
Provenance
File details
Details for the file anodb-4.2.0-py3-none-any.whl
.
File metadata
- Download URL: anodb-4.2.0-py3-none-any.whl
- Upload date:
- Size: 5.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.30.0 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b3347a0bccfecee4abf457be464d539621fdb39eab9d36ee4d5b57a60b9c200 |
|
MD5 | d1cd911f6ea95b14ab48aab27d173871 |
|
BLAKE2b-256 | 00be8ac506833c4bd943c9550a8dc7e4bf314c5260a209d524409fccbef65286 |