aiosqlite provides a friendly asynchronous interface to SQLite databases for Python’s AsyncIO. It mirrors the standard sqlite3 connection and cursor APIs with async methods and context managers, letting you run queries and fetch results without blocking other coroutines. It can also replicate many advanced sqlite3 features.
Project status
- Maintenance status: The source (omnilib/aiosqlite) appears actively maintained, with a recent upstream push on 2026-03-01 and continued tagged updates (latest noted v0.22.1 on 2025-12-23).
- Update cadence: The most recent period shows a fairly tight cadence (v0.22.0 on 2025-12-13, then v0.22.1 on 2025-12-23). Earlier updates have larger gaps (for example, v0.21.0 on 2025-02-03, v0.20.0 on 2024-02-20), suggesting an “as-needed” release pattern rather than frequent monthly updates.
AI summary generated 2 weeks ago
Recent updates
v0.22.1
5 months agov0.22.1 is a small bug fix release focused on safer shutdown of the background worker thread used by `aiosqlite.Connection`. It introduces a synchronous `Connection.stop()` cleanup method and adds ResourceWarning guidance for connections that are garbage collected without being properly closed.
BreakingFeaturesv0.22.0
5 months agoRelease v0.22.0 adds SQLite authorizer support (set_authorizer) and improves connection shutdown semantics by waiting for the transaction queue to drain before fully closing. It also adds a ResourceWarning when a Connection is garbage-collected without being closed, and removes the runtime dependency on typing_extensions.
Featuresv0.21.0
2/3/2025The release notes for v0.21.0 were not provided, so the specific changes and developer impact cannot be determined from the release description alone. To assess upgrade risk, you will need to review the v0.21.0 release commit diff and changelog compared to v0.20.x.
v0.20.0
2/20/2024v0.20.0 is primarily an upgrade release that targets newer Python versions (dropping Python 3.7) and improves connection handling. It also adds an idempotent Connection.close() behavior and includes various documentation and CI updates.
BreakingFeaturesv0.19.0
4/17/2023v0.19.0 adds support for setting a row_factory on cursors (in addition to the connection-level row_factory). The diff also shows several internal annotation/type tweaks plus build and documentation configuration changes. Release notes provided by the publisher are missing, so this analysis cross-references the repository changelog content versus the actual code changes.
BreakingFeaturesv0.18.0
12/19/2022v0.18.0 is primarily a tooling and typing update release. It adds an exposed `paramstyle` export and improves type annotations around `isolation_level` and `text_factory`, while also updating CI, docs build configuration, and dev dependencies.
BreakingFeaturesv0.17.0
2/22/2021v0.17.0 introduces a behavioral change around using cursors and executing commands after the connection is closed, aligning runtime behavior with the changelog statement that closed connections raise ValueError. It also updates documentation examples and refreshes some dev tooling versions.
Breakingv0.16.1
1/23/2021v0.16.1 is a small bug fix release focused on reducing noisy or expensive logging behavior. It changes how aiosqlite logs exceptions and execution results, and it bumps the package version to 0.16.1.
v0.16.0
11/2/2020v0.16.0 adds deterministic custom functions (Python 3.8+), improves performance of async iteration over cursors, and changes exception handling around connection closure. The changelog also mentions reduced logging severity and a fix for InvalidStateError when completing futures.
Featuresv0.15.0
7/15/2020No release notes were provided for v0.15.0, so there is no documented information about new features, bug fixes, breaking changes, or migrations. To assess upgrade risk, you will need to review the v0.14.0 to v0.15.0 commit diff and any changelog comparisons in the repository.