rogerbinns/apsw logo

rogerbinns/apsw

Free

Another Python SQLite wrapper

FreeFree tier
Type
Open Source

About rogerbinns/apsw

APSW (Another Python SQLite Wrapper) is a Python library that provides a comprehensive and low-level binding to the complete SQLite C API. It allows developers to leverage the full capabilities of the SQLite embedded relational database engine, including advanced features such as full-text search, session, virtual tables, VFS (virtual file system), JSON, and CArray. APSW supports both synchronous and asynchronous programming models, making it suitable for a wide range of Python applications. It is actively maintained and stays up-to-date with the latest versions of SQLite and Python (CPython 3.10+). Unlike the built-in sqlite3 module, APSW is designed for developers who need direct access to SQLite's complete feature set and prefer an improved developer experience.

Key Features

Complete binding to the SQLite C API
Supports full-text search, session, virtual tables, VFS, JSON, and CArray
Async framework support (works with all async frameworks)
Up-to-date with latest SQLite and Python versions (CPython 3.10+)
Available as a Python package via PyPI
Open source under any OSI-approved license

Pros & Cons

Pros
  • Provides access to SQLite features not available in the built-in sqlite3 module
  • Improved developer experience with more straightforward API for advanced use
  • Active maintenance and frequent releases
  • Supports both synchronous and asynchronous programming
  • Open source and free to use
Cons
  • Not a drop-in replacement for sqlite3 or other database drivers
  • Requires understanding of SQLite's C API for full utilization
  • Smaller community and fewer resources compared to sqlite3

Best For

Embedding SQLite in Python applications with full feature accessBuilding Python apps that require advanced SQLite capabilities (FTS, virtual tables, etc.)Asynchronous database operations using any async frameworkDeveloping custom SQLite extensions or virtual file systems in Python

FAQ

What is APSW?
APSW stands for Another Python SQLite Wrapper. It is a Python library that provides a complete binding to the SQLite C API, giving developers access to all SQLite features.
How does APSW differ from the built-in sqlite3 module?
APSW provides a more complete and direct binding to SQLite's C API, while sqlite3 is designed to be interchangeable with other database drivers. APSW is recommended when you want to use SQLite fully and have an improved developer experience.
Does APSW support async operations?
Yes, APSW supports all async frameworks, providing full SQLite functionality in asynchronous code.
Is APSW free?
Yes, APSW is open source and available under any OSI-approved open source license.