Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-aiostream for
openSUSE:Factory checked in at 2025-11-14 16:13:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-aiostream (Old)
and /work/SRC/openSUSE:Factory/.python-aiostream.new.2061 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-aiostream"
Fri Nov 14 16:13:50 2025 rev:5 rq:1317639 version:0.7.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-aiostream/python-aiostream.changes
2025-07-21 20:01:32.318177713 +0200
+++
/work/SRC/openSUSE:Factory/.python-aiostream.new.2061/python-aiostream.changes
2025-11-14 16:13:53.590744100 +0100
@@ -1,0 +2,9 @@
+Thu Nov 13 13:59:03 UTC 2025 - John Paul Adrian Glaubitz
<[email protected]>
+
+- Update to 0.7.1
+ * Fix typing for stream.create.just by @vxgmichel in (#134)
+ * Fix: strict zip of items that fail on __eq__ by @vthemelis in (#135)
+ * Fix: Use is instead of isinstance by @vthemelis in (#136)
+ * Add python 3.14 support by @vxgmichel in (#138)
+
+-------------------------------------------------------------------
Old:
----
aiostream-0.7.0.tar.gz
New:
----
aiostream-0.7.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-aiostream.spec ++++++
--- /var/tmp/diff_new_pack.HNSjfv/_old 2025-11-14 16:14:05.087225963 +0100
+++ /var/tmp/diff_new_pack.HNSjfv/_new 2025-11-14 16:14:05.099226465 +0100
@@ -19,7 +19,7 @@
%global modname aiostream
%{?sle15_python_module_pythons}
Name: python-aiostream
-Version: 0.7.0
+Version: 0.7.1
Release: 0
Summary: Generator-based operators for asynchronous iteration
License: Apache-2.0
++++++ aiostream-0.7.0.tar.gz -> aiostream-0.7.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/aiostream-0.7.0/.github/workflows/ci.yml
new/aiostream-0.7.1/.github/workflows/ci.yml
--- old/aiostream-0.7.0/.github/workflows/ci.yml 2025-06-25
13:46:47.000000000 +0200
+++ new/aiostream-0.7.1/.github/workflows/ci.yml 2025-10-13
21:51:53.000000000 +0200
@@ -20,7 +20,7 @@
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
- python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "pypy-3.9"]
+ python-version: ["3.9", "3.10", "3.11", "3.12", "3.13",
"3.14","pypy-3.9"]
env:
OS: ${{ matrix.os }}
@@ -45,6 +45,11 @@
runs-on: ubuntu-latest
needs: [Quality, Tests]
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
+ environment:
+ name: pypi
+ url: https://pypi.org/p/aiostream
+ permissions:
+ id-token: write
steps:
- uses: actions/checkout@v4
- name: Set up Python
@@ -56,7 +61,4 @@
pip install build
python -m build --sdist --wheel
- name: Publish source package on PyPI
- uses: pypa/gh-action-pypi-publish@release/v1
- with:
- user: __token__
- password: ${{ secrets.pypi_password }}
+ uses:
pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # v1.12.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/aiostream-0.7.0/.pre-commit-config.yaml
new/aiostream-0.7.1/.pre-commit-config.yaml
--- old/aiostream-0.7.0/.pre-commit-config.yaml 2025-06-25 13:46:47.000000000
+0200
+++ new/aiostream-0.7.1/.pre-commit-config.yaml 2025-10-13 21:51:53.000000000
+0200
@@ -6,7 +6,7 @@
- id: end-of-file-fixer
- id: trailing-whitespace
- repo: https://github.com/ambv/black
- rev: 24.10.0
+ rev: 25.9.0
hooks:
- id: black
language_version: python3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/aiostream-0.7.0/aiostream/__init__.py
new/aiostream-0.7.1/aiostream/__init__.py
--- old/aiostream-0.7.0/aiostream/__init__.py 2025-06-25 13:46:47.000000000
+0200
+++ new/aiostream-0.7.1/aiostream/__init__.py 2025-10-13 21:51:53.000000000
+0200
@@ -26,7 +26,7 @@
streamcontext,
)
-__version__ = "0.7.0"
+__version__ = "0.7.1"
__all__ = [
"stream",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/aiostream-0.7.0/aiostream/stream/combine.py
new/aiostream-0.7.1/aiostream/stream/combine.py
--- old/aiostream-0.7.0/aiostream/stream/combine.py 2025-06-25
13:46:47.000000000 +0200
+++ new/aiostream-0.7.1/aiostream/stream/combine.py 2025-10-13
21:51:53.000000000 +0200
@@ -91,9 +91,9 @@
if strict:
coros = (anext(streamer, STOP_SENTINEL) for streamer in
streamers)
_items = await asyncio.gather(*coros)
- if all(item == STOP_SENTINEL for item in _items):
+ if all(item is STOP_SENTINEL for item in _items):
break
- elif any(item == STOP_SENTINEL for item in _items):
+ elif any(item is STOP_SENTINEL for item in _items):
raise ValueError("The provided sources have different
lengths")
# This holds because we've ruled out STOP_SENTINEL above:
items = cast("list[T]", _items)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/aiostream-0.7.0/aiostream/stream/create.py
new/aiostream-0.7.1/aiostream/stream/create.py
--- old/aiostream-0.7.0/aiostream/stream/create.py 2025-06-25
13:46:47.000000000 +0200
+++ new/aiostream-0.7.1/aiostream/stream/create.py 2025-10-13
21:51:53.000000000 +0200
@@ -3,7 +3,6 @@
from __future__ import annotations
import asyncio
-import inspect
import builtins
import itertools
@@ -80,9 +79,9 @@
@operator
-async def just(value: T) -> AsyncIterator[T]:
+async def just(value: Awaitable[T] | T) -> AsyncIterator[T]:
"""Await if possible, and generate a single value."""
- if inspect.isawaitable(value):
+ if isinstance(value, Awaitable):
yield await value
else:
yield value
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/aiostream-0.7.0/pyproject.toml
new/aiostream-0.7.1/pyproject.toml
--- old/aiostream-0.7.0/pyproject.toml 2025-06-25 13:46:47.000000000 +0200
+++ new/aiostream-0.7.1/pyproject.toml 2025-10-13 21:51:53.000000000 +0200
@@ -7,7 +7,7 @@
dynamic = ["version"]
description = "Generator-based operators for asynchronous iteration"
readme = {file = "README.rst", content-type = "text/x-rst"}
-license = {file = "LICENSE"}
+license = "GPL-3.0-or-later"
requires-python = ">=3.9"
authors = [
{ name = "Vincent Michel", email = "[email protected]" },
@@ -20,6 +20,7 @@
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
+ "Programming Language :: Python :: 3.14",
]
dependencies = [
"typing-extensions",
@@ -66,7 +67,7 @@
[tool.black]
line-length = 88
-target_version = ["py39", "py310", "py311", "py312", "py313"]
+target_version = ["py39", "py310", "py311", "py312", "py313", "py314"]
[tool.coverage.report]
exclude_also = ["if TYPE_CHECKING:", "assert False"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/aiostream-0.7.0/tests/test_combine.py
new/aiostream-0.7.1/tests/test_combine.py
--- old/aiostream-0.7.0/tests/test_combine.py 2025-06-25 13:46:47.000000000
+0200
+++ new/aiostream-0.7.1/tests/test_combine.py 2025-10-13 21:51:53.000000000
+0200
@@ -1,3 +1,4 @@
+from functools import partial
from typing import Awaitable
import pytest
import asyncio
@@ -22,6 +23,29 @@
await assert_run(xs, [])
+class ThrowsInEquality:
+
+ def __eq__(self, other):
+ raise Exception("We should not reach this!")
+
+
[email protected](
+ params=[stream.range, partial(stream.repeat, ThrowsInEquality())],
+ ids=["range", "iterator_of_items_that_throw"],
+)
+def make_range(request):
+ return request.param
+
+
[email protected]
+async def test_zip_strict(make_range):
+ xs = make_range(3)
+ ys = make_range(2)
+ zs = stream.zip(xs, ys, strict=True)
+ with pytest.raises(ValueError, match="The provided sources have different
lengths"):
+ await zs
+
+
@pytest.mark.asyncio
async def test_zip(assert_run):
xs = stream.range(5) | add_resource.pipe(1.0)