124 lines
4.2 KiB
Plaintext
124 lines
4.2 KiB
Plaintext
Metadata-Version: 2.3
|
|
Name: aiosqlite
|
|
Version: 0.21.0
|
|
Summary: asyncio bridge to the standard sqlite3 module
|
|
Author-email: Amethyst Reese <amethyst@n7.gg>
|
|
Requires-Python: >=3.9
|
|
Description-Content-Type: text/x-rst
|
|
Classifier: Development Status :: 5 - Production/Stable
|
|
Classifier: Framework :: AsyncIO
|
|
Classifier: Intended Audience :: Developers
|
|
Classifier: License :: OSI Approved :: MIT License
|
|
Classifier: Topic :: Software Development :: Libraries
|
|
Requires-Dist: typing_extensions >= 4.0
|
|
Requires-Dist: attribution==1.7.1 ; extra == "dev"
|
|
Requires-Dist: black==24.3.0 ; extra == "dev"
|
|
Requires-Dist: build>=1.2 ; extra == "dev"
|
|
Requires-Dist: coverage[toml]==7.6.10 ; extra == "dev"
|
|
Requires-Dist: flake8==7.0.0 ; extra == "dev"
|
|
Requires-Dist: flake8-bugbear==24.12.12 ; extra == "dev"
|
|
Requires-Dist: flit==3.10.1 ; extra == "dev"
|
|
Requires-Dist: mypy==1.14.1 ; extra == "dev"
|
|
Requires-Dist: ufmt==2.5.1 ; extra == "dev"
|
|
Requires-Dist: usort==1.0.8.post1 ; extra == "dev"
|
|
Requires-Dist: sphinx==8.1.3 ; extra == "docs"
|
|
Requires-Dist: sphinx-mdinclude==0.6.1 ; extra == "docs"
|
|
Project-URL: Documentation, https://aiosqlite.omnilib.dev
|
|
Project-URL: Github, https://github.com/omnilib/aiosqlite
|
|
Provides-Extra: dev
|
|
Provides-Extra: docs
|
|
|
|
aiosqlite\: Sqlite for AsyncIO
|
|
==============================
|
|
|
|
.. image:: https://readthedocs.org/projects/aiosqlite/badge/?version=latest
|
|
:target: https://aiosqlite.omnilib.dev/en/latest/?badge=latest
|
|
:alt: Documentation Status
|
|
.. image:: https://img.shields.io/pypi/v/aiosqlite.svg
|
|
:target: https://pypi.org/project/aiosqlite
|
|
:alt: PyPI Release
|
|
.. image:: https://img.shields.io/badge/change-log-blue
|
|
:target: https://github.com/omnilib/aiosqlite/blob/master/CHANGELOG.md
|
|
:alt: Changelog
|
|
.. image:: https://img.shields.io/pypi/l/aiosqlite.svg
|
|
:target: https://github.com/omnilib/aiosqlite/blob/master/LICENSE
|
|
:alt: MIT Licensed
|
|
|
|
aiosqlite provides a friendly, async interface to sqlite databases.
|
|
|
|
It replicates the standard ``sqlite3`` module, but with async versions
|
|
of all the standard connection and cursor methods, plus context managers for
|
|
automatically closing connections and cursors:
|
|
|
|
.. code-block:: python
|
|
|
|
async with aiosqlite.connect(...) as db:
|
|
await db.execute("INSERT INTO some_table ...")
|
|
await db.commit()
|
|
|
|
async with db.execute("SELECT * FROM some_table") as cursor:
|
|
async for row in cursor:
|
|
...
|
|
|
|
It can also be used in the traditional, procedural manner:
|
|
|
|
.. code-block:: python
|
|
|
|
db = await aiosqlite.connect(...)
|
|
cursor = await db.execute('SELECT * FROM some_table')
|
|
row = await cursor.fetchone()
|
|
rows = await cursor.fetchall()
|
|
await cursor.close()
|
|
await db.close()
|
|
|
|
aiosqlite also replicates most of the advanced features of ``sqlite3``:
|
|
|
|
.. code-block:: python
|
|
|
|
async with aiosqlite.connect(...) as db:
|
|
db.row_factory = aiosqlite.Row
|
|
async with db.execute('SELECT * FROM some_table') as cursor:
|
|
async for row in cursor:
|
|
value = row['column']
|
|
|
|
await db.execute('INSERT INTO foo some_table')
|
|
assert db.total_changes > 0
|
|
|
|
|
|
Install
|
|
-------
|
|
|
|
aiosqlite is compatible with Python 3.8 and newer.
|
|
You can install it from PyPI:
|
|
|
|
.. code-block:: console
|
|
|
|
$ pip install aiosqlite
|
|
|
|
|
|
Details
|
|
-------
|
|
|
|
aiosqlite allows interaction with SQLite databases on the main AsyncIO event
|
|
loop without blocking execution of other coroutines while waiting for queries
|
|
or data fetches. It does this by using a single, shared thread per connection.
|
|
This thread executes all actions within a shared request queue to prevent
|
|
overlapping actions.
|
|
|
|
Connection objects are proxies to the real connections, contain the shared
|
|
execution thread, and provide context managers to handle automatically closing
|
|
connections. Cursors are similarly proxies to the real cursors, and provide
|
|
async iterators to query results.
|
|
|
|
|
|
License
|
|
-------
|
|
|
|
aiosqlite is copyright `Amethyst Reese <https://noswap.com>`_, and licensed under the
|
|
MIT license. I am providing code in this repository to you under an open source
|
|
license. This is my personal repository; the license you receive to my code
|
|
is from me and not from my employer. See the `LICENSE`_ file for details.
|
|
|
|
.. _LICENSE: https://github.com/omnilib/aiosqlite/blob/master/LICENSE
|
|
|