Skip to content

Commit

Permalink
retire AsyncDictionary
Browse files Browse the repository at this point in the history
  • Loading branch information
belm0 committed Oct 26, 2020
1 parent cd8f273 commit f884cf8
Show file tree
Hide file tree
Showing 7 changed files with 5 additions and 101 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@
- `@trio_async_generator` is a decorator which adapts a generator containing
Trio constructs for safe use. (Normally, it's not allowed to yield from a
nursery or cancel scope when implementing async generators.)
### Removed
- `AsyncDictionary` has been removed. It didn't work well for the advertised
use case of multiplexing a network connection, and trying to address that
while keeping the regular dict interface (itself of unproven value) seemed to
result in an overly complex API. See [discussion](https://github.com/groove-x/trio-util/issues/4).

## trio-util 0.2.0 (2020-09-09)
### Added
Expand Down
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ including:
* `wait_any`, `wait_all` - avoid nursery blocks for simple cases
* `AsyncBool`, `AsyncValue` - value wrappers with the ability to wait for
a specific value or transition
* `AsyncDictionary` - dictionary with waitable get and pop
* `periodic` - periodic loop which accounts for its own execution
time
* `@trio_async_generator` - decorator which adapts a generator containing
Expand Down
9 changes: 0 additions & 9 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -44,15 +44,6 @@ This can be achieved without resorting to polling by employing the
.. autofunction:: compose_values
:async-with: composed

collections
-----------
:class:`AsyncDictionary` has many uses, such as multiplexing a networking
connection among tasks.

.. autoclass:: AsyncDictionary
:show-inheritance:
:members:

repeated events
---------------
:class:`trio.Event` does not offer a clear() method, so it can't be
Expand Down
1 change: 0 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
* wait_any, wait_all - avoid nursery blocks for simple cases
* AsyncBool, AsyncValue - value wrappers with the ability to wait for
a specific value or transition
* AsyncDictionary - dictionary with waitable get and pop
* periodic - periodic loop which accounts for its own execution
time
* @trio_async_generator - decorator which adapts a generator containing
Expand Down
1 change: 0 additions & 1 deletion src/trio_util/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from ._version import __version__
from ._async_bool import AsyncBool
from ._async_dictionary import AsyncDictionary
from ._async_itertools import azip, azip_longest
from ._async_value import AsyncValue, compose_values
from ._awaitables import wait_all, wait_any
Expand Down
57 changes: 0 additions & 57 deletions src/trio_util/_async_dictionary.py

This file was deleted.

32 changes: 0 additions & 32 deletions tests/test_async_dictionary.py

This file was deleted.

0 comments on commit f884cf8

Please sign in to comment.