An async sqlite3 module
Project description
Purpose
An asynchronous way to connect to an sqlite3 database. Normally, this would block the asyncio event loop and slow down the execution speed of the script. This is because asyncio isn’t meant for I/O bound tasks. threading is more efficient for that, which is exactly why this module uses it under the hood.
Features
A similar syntax to the sqlite3 module in the Standard library
Has asyncio idioms such as async for, await, and async with
Provides all features of the built-in sqlite3 module
Installation
Installing asqlite3 should be done through PIP:
$ pip install asqlite3
Make sure you have Python version 3.6+ before installing!
Contributing
Contributions are always encouraged and open.
Examples
import asyncio
import asqlite3
conn = asqlite3.connect(':memory:')
async def connection():
async with conn:
await conn.execute("CREATE TABLE table (plate INT)")
await conn.execute("INSERT INTO table VALUES (5)")
# connection is automatically closed
loop = asyncio.get_event_loop()
loop.run_until_complete(connection())
import asyncio
import asqlite3
conn = asqlite3.connect(':memory:')
async def cursor():
cur = await conn.cursor()
rows = [i async for i in cur]
return rows
loop = asyncio.get_event_loop()
loop.run_until_complete(cursor())
License
asqlite is currently 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
File details
Details for the file asqlite3-0.0.1.tar.gz
.
File metadata
- Download URL: asqlite3-0.0.1.tar.gz
- Upload date:
- Size: 5.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 569b26c1f69f4728434a44aeeb65bfef54dd2c605efc0f80baad94c41dfa63a0 |
|
MD5 | 7075e311cb6ae1526be389fab0c9735f |
|
BLAKE2b-256 | f176ace956ceb49f3f30b7211d0689df2b1dbace5f0f7df60c50532bbbe8b0a2 |