queutils 0.8.2__py3-none-any.whl → 0.8.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: queutils
3
- Version: 0.8.2
3
+ Version: 0.8.3
4
4
  Summary: Handy Python Queue utilies
5
5
  Project-URL: Homepage, https://github.com/Jylpah/queutils
6
6
  Project-URL: Bug Tracker, https://github.com/Jylpah/queutils/issues
@@ -31,7 +31,7 @@ Description-Content-Type: text/markdown
31
31
 
32
32
  # Queutils
33
33
 
34
- Queutils *[Queue Utils]* is a package if handy Python queue classes:
34
+ Queutils *[Queue Utils]* is a package of handy Python queue classes:
35
35
 
36
36
  - **[AsyncQueue](docs/asyncqueue.md)** - An `async` wrapper for non-async `queue.Queue`
37
37
  - **[IterableQueue](docs/iterablequeue.md)** - An `AsyncIterable` queue that terminates when finished
@@ -41,7 +41,7 @@ Queutils *[Queue Utils]* is a package if handy Python queue classes:
41
41
  # AsyncQueue
42
42
 
43
43
  [`AsyncQueue`](docs/asyncqueue.md) is a async wrapper for non-async `queue.Queue`. It can be used to create
44
- an `asyncio.Queue` compatible out of a (non-async) `multiprocessing.Queue`. This is handy to have `async` code running in `multiprocessing` processes and yet be able to communicate with the parent via (non-async) managed `multiprocessing.Queue` queue.
44
+ an `asyncio.Queue` compatible interface to a (non-async) managed `multiprocessing.Queue` and thus enable `async` code in parent/child processes to communicate over `multiprocessing.Queue` as it were an `asyncio.Queue`.
45
45
 
46
46
  ## Features
47
47
 
@@ -54,6 +54,12 @@ an `asyncio.Queue` compatible out of a (non-async) `multiprocessing.Queue`. This
54
54
 
55
55
  [`IterableQueue`](docs/iterablequeue.md) is an `asyncio.Queue` subclass that is `AsyncIterable[T]` i.e. it can be
56
56
  iterated in `async for` loop. `IterableQueue` terminates automatically when the queue has been filled and emptied.
57
+
58
+ The `IterableQueue` requires "producers" (functions adding items to the queue) to register themselves and it
59
+ keeps count of registered producers which are "finished" adding items to the queue. Once all the registered
60
+ producers are "finished", the queue enters into "filled" state and no new items can be added. Once an
61
+ "filled" queue is emptied, the queue becomes "done" and all new `get()` calls to the queue will
62
+ `raise QueueDone` exception.
57
63
 
58
64
  ## Features
59
65
 
@@ -68,7 +74,9 @@ iterated in `async for` loop. `IterableQueue` terminates automatically when the
68
74
 
69
75
  # FileQueue
70
76
 
71
- [`FileQueue`](docs/filequeue.md) builds a queue (`IterableQueue[pathlib.Path]`) of the matching files found based on search parameters given. It can search both list of files or directories or mixed. Async method `FileQueue.mk_queue()` searches subdirectories of given directories.
77
+ [`FileQueue`](docs/filequeue.md) builds a queue (`IterableQueue[pathlib.Path]`) of the matching
78
+ files found based on search parameters given. It can search both list of files or directories or
79
+ mixed. Async method `FileQueue.mk_queue()` searches subdirectories of given directories.
72
80
 
73
81
  ## Features
74
82
 
@@ -3,7 +3,7 @@ queutils/asyncqueue.py,sha256=cZPrXJgRCK0iOtE6k-VTzA9kcDDg818h9v0cwYzm2g0,2813
3
3
  queutils/countable.py,sha256=YSi7ILf9CuB5Tm3T4UUMEFlveqzqcmomfqJAlLGHEz8,172
4
4
  queutils/filequeue.py,sha256=q2ly9H-lSCq6xuOqT1IlWgyCVyLoZiKbc0NuzmkF4aw,5360
5
5
  queutils/iterablequeue.py,sha256=hygOtgRRuqaPebcK27Ixm_KOOW0MnlKmBNcYreQoWOA,8677
6
- queutils-0.8.2.dist-info/METADATA,sha256=NJNmRBMR-23XGHMU4IOQrC58sbURtHOaamULhW3ez9s,3771
7
- queutils-0.8.2.dist-info/WHEEL,sha256=uNdcs2TADwSd5pVaP0Z_kcjcvvTUklh2S7bxZMF8Uj0,87
8
- queutils-0.8.2.dist-info/licenses/LICENSE,sha256=J1zeIKU2JVQmhwO2hHQDK8WR6zjVZ-wX8r7ZlL45AbI,1063
9
- queutils-0.8.2.dist-info/RECORD,,
6
+ queutils-0.8.3.dist-info/METADATA,sha256=xpuVY8uEdK0HZcY9Kv5YvUJpaW5_2T_bSQ04bzLVtRM,4191
7
+ queutils-0.8.3.dist-info/WHEEL,sha256=uNdcs2TADwSd5pVaP0Z_kcjcvvTUklh2S7bxZMF8Uj0,87
8
+ queutils-0.8.3.dist-info/licenses/LICENSE,sha256=J1zeIKU2JVQmhwO2hHQDK8WR6zjVZ-wX8r7ZlL45AbI,1063
9
+ queutils-0.8.3.dist-info/RECORD,,