Skip to main content

asyncio.Queue with history

Project description

========
Overview
========



``asyncio.Queue`` with history::

Objects put on a ``HistoryQueue`` are gathered in tuples,
with the first element being the next item on the queue,
followed by items add previously.

``HistoryQueue`` can also be thought of as as asynchronous ``collections.deque``,
with ``put`` analogous to ``deque.appendleft``
and ``get`` returning the entire deque (as a tuple).

>>> from hqueue import HistoryQueue
>>> hq = HistoryQueue(history_size=2)
>>> hq.put_nowait(0)
>>> hq.put_nowait(1)
>>> hq.get_nowait()
(0,)
>>> hq.get_nowait()
(1, 0)
>>> hq.put_nowait(2)
>>> hq.put_nowait(3)
>>> hq.put_nowait(4)
>>> hq.get_nowait()
(2, 1, 0)
>>> hq.get_nowait()
(3, 2, 1)

For ease of illustration, in the above examples we use ``put_nowait`` and ``get_nowait``,
the synchronous counterparts of ``put`` and ``wait``, respectively.
In a coroutine, ``await put()`` could be used to block until the queue is not full,
and ``await get()`` to block until there is an item in the queue.

See Also
--------
``asyncio.Queue``
``collections.deque``



Changelog
=========

0.1.0 (2016-06-28)
------------------

* First prototype.

0.2.0 (2016-07-01)
------------------

* First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hqueue-0.2.0.tar.gz (12.4 kB view details)

Uploaded Source

Built Distribution

hqueue-0.2.0-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file hqueue-0.2.0.tar.gz.

File metadata

  • Download URL: hqueue-0.2.0.tar.gz
  • Upload date:
  • Size: 12.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for hqueue-0.2.0.tar.gz
Algorithm Hash digest
SHA256 39e7cb66d39672b0c1fb2f306d89badeba656f99f81efaad50dac0a31ea4efc9
MD5 f822e36de0ccd8ca6ddadbb5d19891d5
BLAKE2b-256 5bde9ae69d544e51e932eecf9b36ac3a15ecdd9f428b03b5d48d8560ee9f5278

See more details on using hashes here.

File details

Details for the file hqueue-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for hqueue-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 06004af167c5b66e6684330fcf65f74d56be43f71099df85ef80199a2ce8cca1
MD5 c6b280960a7daf0794fe23a2a00d88ad
BLAKE2b-256 95308c8fa3669624275273ea491ff06cf7e4aa161e6cc48c60b9cad0e369579f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page