Skip to main content

asyncsqlite3 - asynchronous driver for sqlite3.

Asynchronous interface with context managers for sqlite database:

async with asyncsqlite3.connect(...) as conn:
    async with conn.execute("INSERT INTO some_table ..."):
        await conn.commit()

    async with conn.execute("SELECT * FROM some_table") as cursor:
        rows = await cursor.fetchall()

And without context managers:

conn = await asyncsqlite3.connect(...)
cursor = await conn.execute("SELECT * FROM some_table")
rows = await cursor.fetchall()
await cursor.close()
await conn.close()

Connection pool and transaction:

async with asyncsqlite3.create_pool(..., min_size=1, max_size=2) as pool:
    async with pool.acquire(timeout=1.5) as conn: # You can use a timeout when getting a connection from queue.
        async with conn.transaction():
            async with conn.execute("INSERT INTO some_table ..."):
                ...
    
    async with pool.acquire() as conn:
        async with conn.execute("SELECT id, name FROM some_table") as cursor:
            async for row in cursor:
                print(row) # <Record id=1 name='alex'>
                print(row[0], row["id"], row.get("id")) # 1 1 1
                print(dict(row)) # {'id': 1, 'name': 'alex'}
                print(tuple(row), list(row), set(row)) # (1, 'alex') [1, 'alex'] {1, 'alex'}

Installation

asyncsqlite3 is compatible with Python 3.7 and newer. Use pip to install:

$ pip install asyncsqlite3

You can speed up asyncsqlite3 as follows:

$ pip install asyncsqlite3[uvloop]

Details

How you see this module very look like aiosqlite and asyncpg.

Implicit transactions are turned off, but you can use Connection method transaction.

License

MIT

Release files for asyncsqlite3 0.1.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for asyncsqlite3 0.1.8
File Size Uploaded
asyncsqlite3-0.1.8.tar.gz 11.7 kB Details

Release files / asyncsqlite3-0.1.8.tar.gz

Download URL asyncsqlite3-0.1.8.tar.gz
Size 11.7 kB
Tags Source
SHA-256 checksum
How to use checksums
11e2a587c97aa945567e31e873ad3b0e25ff10c8368b3a2db1296efcc0229f21
BLAKE2b-256 checksum
How to use checksums
ff4bdaf52fbfcebcffe40735b839da92072c9d7220e05126582f7dba672ef24c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.12.0a0

Release history Release notifications | RSS feed

This release

0.1.8 This release

1 release file

0.1.7

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page