A simple and easy to use async wrapper for sqlite3
.
This is basically the same as sqlite3
except you use async with
and await
in front of most operations.
import asyncio
import asqlite
async def main():
async with asqlite.connect('example.db') as conn:
async with conn.cursor() as cursor:
# Create table
await cursor.execute('''CREATE TABLE stocks
(date text, trans text, symbol text, qty real, price real)''')
# Insert a row of data
await cursor.execute("INSERT INTO stocks VALUES ('2006-01-05','BUY','RHAT',100,35.14)")
# Save (commit) the changes
await conn.commit()
asyncio.run(main())
To install this via PyPI, use the asqlite
package:
python3 -m pip install -U asqlite
This module differs from sqlite3
in a few ways:
- Connections are created with
journal_mode
set towal
. - Connections have foreign keys enabled by default.
- Implicit transactions are turned off
- The
row_factory
is set tosqlite3.Row
. - A
asqlite.Pool
is provided for connection pooling
MIT