Releases: vxgmichel/aiostream
v0.6.4
v0.6.3
What's Changed
- Add
MANIFEST.in
to includetests/conftests.py
in source dist by @vxgmichel (issue #121, PR #122)
Full Changelog: v0.6.2...v0.6.3
v0.6.2
What's Changed
- Fixing the issue of the lack of installation sections by @thepapermen in #113
- Configure pytest test paths so test_utils.py is not mistaken for a test file by @vxgmichel in #117
- Add strict parameter to stream.zip by @smheidrich in #119
New Contributors
- @thepapermen made their first contribution in #113
- @smheidrich made their first contribution in #119
Full Changelog: v0.6.1...v0.6.2
v0.6.1
v0.6.0
Changes:
- Support python 3.12 (PR #93)
- Support pyright and improve typing in general (PR #99)
- Move from
setup.*
topyproject.toml
(PR #101, #102, #103, #110) - Add typing to
aiostream.test_utils
(PR #104) - Make operators a singleton object instead of a class (PR #106)
- Add sources operator to fix a breaking change in v0.5.x (PR #108, issue #95)
Thanks to @hf-kklein for the valuable contributions :)
v0.5.2
v0.5.1
v0.5.0
Changes:
- Drop python 3.7 support
- Add type annotations (issue #36, PR #84)
- Add task_limit argument to action operator (issue #85, PR #86)
Warning
A breaking change has slipped into this release: The merge
, chain
and ziplatest
operators used to work with no sources provided:
assert await (stream.merge() | pipe.list()) == []
assert await (stream.chain() | pipe.list()) == []
assert await (stream.ziplatest() | pipe.list()) == []
This is no longer the case for releases 0.5.x
, where at least one async iterable has to be provided for those operators.
This can be a problem for code that passes an arbitrary list of arguments to the operator, as this list might be empty.
A workaround exists for the merge
operator, which works by adding stream.empty()
to the list of arguments:
args = []
new_args = stream.empty(), *args
assert await (stream.merge(*new_args) | pipe.list()) == []
The zip
operator should have also been affected, although the former version had a bug that caused an empty zip to block indefinitely.
This change has been fixed in v0.6.0