.. image::  https://raw.githubusercontent.com/rogerbinns/apsw/master/doc/apswlogo.png
  :width: 215 px
  :align: left
  :alt: APSW logo - links to documentation
  :target: https://rogerbinns.github.io/apsw/

APSW stands for **A**\ nother **P**\ ython **S**\ QLite **W**\ rapper.   APSW
supports CPython 3.10 onwards.

About
=====

APSW lets you get the most out of the `SQLite <https://sqlite.org/>`__
embedded relational database engine from Python, and the most out of
Python from SQLite.  APSW glues together the complete `SQLite C API
<https://sqlite.org/c3ref/intro.html>`__ and `Python's C API
<https://docs.python.org/3/c-api/index.html>`__, staying up to date
with both SQLite and Python.  This includes `full text search
<https://rogerbinns.github.io/apsw/textsearch.html>`__, `session
<https://rogerbinns.github.io/apsw/session.html>`__, `virtual tables
<https://rogerbinns.github.io/apsw/vtable.html>`__, `VFS (virtual file
system) <https://rogerbinns.github.io/apsw/vfs.html>`__, `JSON
<https://rogerbinns.github.io/apsw/jsonb.html>`__, and `CArray
<https://rogerbinns.github.io/apsw/apsw.html#apsw.carray>`__.  All
functionality is available in regular synchronous code, as well as
full support for all the `async frameworks
<https://rogerbinns.github.io/apsw/async.html>`__.

It is recommended to use the builtin `sqlite3 module
<https://docs.python.org/3/library/sqlite3.html>`__ if you want SQLite
to appear interchangeable with the other database drivers.

Use APSW when you want to use SQLite fully, and have an improved
developer experience.  The `documentation
<https://rogerbinns.github.io/apsw/pysqlite.html>`__ has a section on
the differences between APSW and sqlite3.

Help/Documentation
==================

There is a tour and example code using APSW at
https://rogerbinns.github.io/apsw/example.html

The latest documentation is at https://rogerbinns.github.io/apsw/

Mailing lists/contacts
======================

* `Python SQLite discussion group
  <https://groups.google.com/group/python-sqlite>`__  (preferred)
* `Github discussions <https://github.com/rogerbinns/apsw/discussions>`__
* You can also email the author at `rogerb@rogerbinns.com
  <mailto:rogerb@rogerbinns.com>`__

Releases and Changes
====================

Releases are made to `PyPI <https://pypi.org/project/apsw/>`__
(install using pip) and `Github
<https://github.com/rogerbinns/apsw/releases>`__

New release announcements are sent to the `Python SQLite discussion
group <https://groups.google.com/group/python-sqlite>`__ and there is
an `RSS feed from PyPI
<https://pypi.org/rss/project/apsw/releases.xml>`__.

`Full detailed list of changes
<https://rogerbinns.github.io/apsw/changes.html>`__

Bugs
====

You can find existing and fixed bugs by clicking on `Issues
<https://github.com/rogerbinns/apsw/issues>`__ and using "New Issue"
to report previously unknown issues.

License
=======

See `LICENSE
<https://github.com/rogerbinns/apsw/blob/master/LICENSE>`__ - in
essence any OSI approved open source license.