Metadata-Version: 2.1
Name: aiodiskqueue
Version: 0.1.0a2
Summary: Persistent queues for Python AsyncIO.
Author-email: Erik Kalkoken <kalkoken87@gmail.com>
Requires-Python: >=3.8
Description-Content-Type: text/x-rst
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: aiosqlite>=0.19.0
Project-URL: Documentation, https://aiodiskqueue.readthedocs.io/en/latest/
Project-URL: Source, https://github.com/ErikKalkoken/aiodiskqueue
Project-URL: Tracker, https://github.com/ErikKalkoken/aiodiskqueue/issues

aiodiskqueue
============

Persistent queues for Python AsyncIO.

|release| |python| |tests| |codecov| |docs| |pre-commit| |Code style: black|

Description
-----------

This library provides a persistent queue for Python AsyncIO.

It's main advantage is that it's content will survive a normal process restart and potentially even a process crash.

Each queue is stored in it's own SQLite database on disk to provide maximum isolation between queues. Using SQLite should also make the queue inherently process safe [needs confirmation].

Usage
-----

Here is a basic example on how to use the queue:

.. code:: python

   import asyncio
   from aiodiskqueue import Queue

   async def main():
       q = await Queue.create("example_queue.sqlite")
       await q.put("some item")
       item = await q.get()
       print(item)

   asyncio.run(main())

Please see the examples folder for more usage examples.

Installation
------------

You can install directly from PyPI with the following command:

.. code:: shell

   pip install aiodiskqueue



.. |release| image:: https://img.shields.io/pypi/v/aiodiskqueue?label=release
   :target: https://pypi.org/project/aiodiskqueue/
.. |python| image:: https://img.shields.io/pypi/pyversions/aiodiskqueue
   :target: https://pypi.org/project/aiodiskqueue/
.. |tests| image:: https://github.com/ErikKalkoken/aiodiskqueue/actions/workflows/main.yml/badge.svg
   :target: https://github.com/ErikKalkoken/aiodiskqueue/actions
.. |codecov| image:: https://codecov.io/gh/ErikKalkoken/aiodiskqueue/branch/main/graph/badge.svg?token=V43h7hl1Te
   :target: https://codecov.io/gh/ErikKalkoken/aiodiskqueue
.. |docs| image:: https://readthedocs.org/projects/aiodiskqueue/badge/?version=latest
   :target: https://aiodiskqueue.readthedocs.io/en/latest/?badge=latest
.. |pre-commit| image:: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white
   :target: https://github.com/pre-commit/pre-commit
.. |Code style: black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
   :target: https://github.com/psf/black

