asyncio-extensions 0.3.1__tar.gz → 0.3.2__tar.gz
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.
- {asyncio_extensions-0.3.1 → asyncio_extensions-0.3.2}/CHANGELOG.md +8 -1
- {asyncio_extensions-0.3.1 → asyncio_extensions-0.3.2}/PKG-INFO +1 -1
- {asyncio_extensions-0.3.1 → asyncio_extensions-0.3.2}/src/asyncio_extensions/_iterators.py +2 -1
- {asyncio_extensions-0.3.1 → asyncio_extensions-0.3.2}/tests/test_iterators.py +7 -0
- {asyncio_extensions-0.3.1 → asyncio_extensions-0.3.2}/.github/dependabot.yml +0 -0
- {asyncio_extensions-0.3.1 → asyncio_extensions-0.3.2}/.github/workflows/release.yml +0 -0
- {asyncio_extensions-0.3.1 → asyncio_extensions-0.3.2}/.github/workflows/tests.yml +0 -0
- {asyncio_extensions-0.3.1 → asyncio_extensions-0.3.2}/.gitignore +0 -0
- {asyncio_extensions-0.3.1 → asyncio_extensions-0.3.2}/.pre-commit-config.yaml +0 -0
- {asyncio_extensions-0.3.1 → asyncio_extensions-0.3.2}/AGENTS.md +0 -0
- {asyncio_extensions-0.3.1 → asyncio_extensions-0.3.2}/CLAUDE.md +0 -0
- {asyncio_extensions-0.3.1 → asyncio_extensions-0.3.2}/LICENSE.txt +0 -0
- {asyncio_extensions-0.3.1 → asyncio_extensions-0.3.2}/README.md +0 -0
- {asyncio_extensions-0.3.1 → asyncio_extensions-0.3.2}/codecov.yml +0 -0
- {asyncio_extensions-0.3.1 → asyncio_extensions-0.3.2}/pyproject.toml +0 -0
- {asyncio_extensions-0.3.1 → asyncio_extensions-0.3.2}/src/asyncio_extensions/__init__.py +0 -0
- {asyncio_extensions-0.3.1 → asyncio_extensions-0.3.2}/src/asyncio_extensions/_compat.py +0 -0
- {asyncio_extensions-0.3.1 → asyncio_extensions-0.3.2}/src/asyncio_extensions/_scheduling.py +0 -0
- {asyncio_extensions-0.3.1 → asyncio_extensions-0.3.2}/src/asyncio_extensions/_sync.py +0 -0
- {asyncio_extensions-0.3.1 → asyncio_extensions-0.3.2}/src/asyncio_extensions/_task_groups.py +0 -0
- {asyncio_extensions-0.3.1 → asyncio_extensions-0.3.2}/src/asyncio_extensions/py.typed +0 -0
- {asyncio_extensions-0.3.1 → asyncio_extensions-0.3.2}/tests/__init__.py +0 -0
- {asyncio_extensions-0.3.1 → asyncio_extensions-0.3.2}/tests/test_scheduling.py +0 -0
- {asyncio_extensions-0.3.1 → asyncio_extensions-0.3.2}/tests/test_sync.py +0 -0
- {asyncio_extensions-0.3.1 → asyncio_extensions-0.3.2}/tests/test_task_groups.py +0 -0
|
@@ -8,6 +8,12 @@ This project adheres to both [Semantic Versioning](https://semver.org/spec/v2.0.
|
|
|
8
8
|
|
|
9
9
|
## [UNRELEASED]
|
|
10
10
|
|
|
11
|
+
## [0.3.2] - 2026-09-24
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
|
|
15
|
+
- `merge_iterables` no longer raises `ValueError` when called with no arguments.
|
|
16
|
+
|
|
11
17
|
## [0.3.1] - 2026-09-23
|
|
12
18
|
|
|
13
19
|
### Changed
|
|
@@ -98,7 +104,8 @@ This project adheres to both [Semantic Versioning](https://semver.org/spec/v2.0.
|
|
|
98
104
|
- `checkpoint` function to yield control to the event loop.
|
|
99
105
|
- `sleep_forever` function.
|
|
100
106
|
|
|
101
|
-
[unreleased]: https://github.com/hartungstenio/asyncio-extensions/compare/0.3.
|
|
107
|
+
[unreleased]: https://github.com/hartungstenio/asyncio-extensions/compare/0.3.2...HEAD
|
|
108
|
+
[0.3.2]: https://github.com/hartungstenio/asyncio-extensions/compare/0.3.1...0.3.2
|
|
102
109
|
[0.3.1]: https://github.com/hartungstenio/asyncio-extensions/compare/0.3.0...0.3.1
|
|
103
110
|
[0.3.0]: https://github.com/hartungstenio/asyncio-extensions/compare/0.2.0...0.3.0
|
|
104
111
|
[0.2.0]: https://github.com/hartungstenio/asyncio-extensions/compare/0.1.0...0.2.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: asyncio-extensions
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.2
|
|
4
4
|
Summary: Some (maybe) useful extensions for asyncio
|
|
5
5
|
Project-URL: Changelog, https://github.com/hartungstenio/asyncio-extensions/blob/main/CHANGELOG.md
|
|
6
6
|
Project-URL: Documentation, https://github.com/hartungstenio/asyncio-extensions#readme
|
|
@@ -150,7 +150,8 @@ async def merge_iterables(
|
|
|
150
150
|
tasks = [tg.create_task(fill_queue(itr, queue)) for itr in itrs]
|
|
151
151
|
|
|
152
152
|
async def join() -> None:
|
|
153
|
-
|
|
153
|
+
if tasks:
|
|
154
|
+
await asyncio.wait(tasks)
|
|
154
155
|
await queue.put(STOP) # type: ignore[arg-type]
|
|
155
156
|
|
|
156
157
|
tg.create_task(join())
|
|
@@ -206,6 +206,13 @@ async def test_merge_iterables_empty_sources_yields_nothing() -> None:
|
|
|
206
206
|
assert results == []
|
|
207
207
|
|
|
208
208
|
|
|
209
|
+
async def test_merge_iterables_no_sources_yields_nothing() -> None:
|
|
210
|
+
async with merge_iterables() as stream:
|
|
211
|
+
results = [item async for item in stream]
|
|
212
|
+
|
|
213
|
+
assert results == []
|
|
214
|
+
|
|
215
|
+
|
|
209
216
|
async def test_merge_iterables_early_exit_cancels_background_tasks() -> None:
|
|
210
217
|
initial_tasks = len(asyncio.all_tasks())
|
|
211
218
|
itrs = [count(), count(1)]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{asyncio_extensions-0.3.1 → asyncio_extensions-0.3.2}/src/asyncio_extensions/_task_groups.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|