mirror of
https://github.com/PiBrewing/craftbeerpi4.git
synced 2024-11-26 08:55:28 +01:00
114 lines
4 KiB
Text
114 lines
4 KiB
Text
|
Metadata-Version: 2.1
|
||
|
Name: aiosqlite
|
||
|
Version: 0.16.0
|
||
|
Summary: asyncio bridge to the standard sqlite3 module
|
||
|
Home-page: https://aiosqlite.omnilib.dev
|
||
|
License: UNKNOWN
|
||
|
Author: John Reese
|
||
|
Author-email: john@noswap.com
|
||
|
Requires-Python: >=3.6
|
||
|
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>=3.7.2
|
||
|
Project-URL: Documentation, https://aiosqlite.omnilib.dev/en/latest/
|
||
|
Project-URL: Github, https://github.com/omnilib/aiosqlite
|
||
|
|
||
|
aiosqlite\: Sqlite for AsyncIO
|
||
|
==============================
|
||
|
|
||
|
.. image:: https://img.shields.io/pypi/v/aiosqlite.svg
|
||
|
:target: https://pypi.org/project/aiosqlite
|
||
|
:alt: PyPI Release
|
||
|
.. 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/badge/change-log-blue
|
||
|
:target: https://github.com/omnilib/aiosqlite/blob/master/CHANGELOG.md
|
||
|
:alt: Changelog
|
||
|
.. image:: https://img.shields.io/codecov/c/github/omnilib/aiosqlite/master.svg
|
||
|
:target: https://codecov.io/gh/omnilib/aiosqlite
|
||
|
:alt: Code Coverage
|
||
|
.. image:: https://github.com/omnilib/aiosqlite/workflows/Build/badge.svg
|
||
|
:target: https://github.com/omnilib/aiosqlite/actions
|
||
|
:alt: Build Status
|
||
|
.. image:: https://img.shields.io/pypi/l/aiosqlite.svg
|
||
|
:target: https://github.com/omnilib/aiosqlite/blob/master/LICENSE
|
||
|
:alt: MIT Licensed
|
||
|
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
|
||
|
:target: https://github.com/ambv/black
|
||
|
:alt: Code Style Black
|
||
|
|
||
|
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::
|
||
|
|
||
|
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::
|
||
|
|
||
|
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``::
|
||
|
|
||
|
async with aiosqlite.connect(...) as db:
|
||
|
db.row_factory = aiosqlite.Row
|
||
|
async with db.execute('SELECT * FROM some_table') as cursor:
|
||
|
value = row['column']
|
||
|
|
||
|
await db.execute('INSERT INTO foo some_table')
|
||
|
assert db.total_changes > 0
|
||
|
|
||
|
|
||
|
Install
|
||
|
-------
|
||
|
|
||
|
aiosqlite is compatible with Python 3.6 and newer.
|
||
|
You can install it from PyPI:
|
||
|
|
||
|
.. code-block:: bash
|
||
|
|
||
|
$ 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 `John Reese <https://jreese.sh>`_, 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
|