Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-aioitertools for openSUSE:Factory checked in at 2021-05-13 22:18:49 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-aioitertools (Old) and /work/SRC/openSUSE:Factory/.python-aioitertools.new.2988 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-aioitertools" Thu May 13 22:18:49 2021 rev:2 rq:892943 version:0.7.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-aioitertools/python-aioitertools.changes 2020-07-20 21:11:06.477685230 +0200 +++ /work/SRC/openSUSE:Factory/.python-aioitertools.new.2988/python-aioitertools.changes 2021-05-13 22:18:59.163495261 +0200 @@ -1,0 +2,8 @@ +Thu May 13 17:58:59 UTC 2021 - Matej Cepl <mc...@suse.com> + +- Update to 0.7.1: + - Fix groupby() not working with empty iterables (#39) +- Add stdlib-typing_extensions.patch making typing_extensions + package just an optional requirement (gh#omnilib/aioitertools#49). + +------------------------------------------------------------------- Old: ---- aioitertools-0.7.0.tar.gz New: ---- aioitertools-0.7.1.tar.gz stdlib-typing_extensions.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-aioitertools.spec ++++++ --- /var/tmp/diff_new_pack.Ko2vSi/_old 2021-05-13 22:18:59.615493688 +0200 +++ /var/tmp/diff_new_pack.Ko2vSi/_new 2021-05-13 22:18:59.619493675 +0200 @@ -1,7 +1,7 @@ # # spec file for package python-aioitertools # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,19 +19,22 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} %define skip_python2 1 Name: python-aioitertools -Version: 0.7.0 +Version: 0.7.1 Release: 0 Summary: itertools and builtins for AsyncIO and mixed iterables License: MIT Group: Development/Languages/Python URL: https://aioitertools.omnilib.dev Source: https://files.pythonhosted.org/packages/source/a/aioitertools/aioitertools-%{version}.tar.gz +# PATCH-FIX-UPSTREAM stdlib-typing_extensions.patch gh#omnilib/aioitertools#49 mc...@suse.com +# Improve dependencies for Python 3.8+ +Patch0: stdlib-typing_extensions.patch BuildRequires: %{python_module asyncio} BuildRequires: %{python_module setuptools} -BuildRequires: %{python_module typing_extensions >= 3.7} +BuildRequires: %{python_module typing_extensions if %python-base < 3.8} BuildRequires: fdupes BuildRequires: python-rpm-macros -Requires: python-typing_extensions >= 3.7 +Requires: (python3-typing_extensions >= 3.7 if python3-base < 3.8) BuildArch: noarch %python_subpackages @@ -39,7 +42,7 @@ Implementation of itertools, builtins, and more for AsyncIO and mixed-type iterables. %prep -%setup -q -n aioitertools-%{version} +%autosetup -p1 -n aioitertools-%{version} %build %python_build @@ -49,7 +52,7 @@ %python_expand %fdupes %{buildroot}%{$python_sitelib} %check -%python_expand PYTHONPATH=%{buildroot}%{$python_sitelib} $python -m unittest discover +%pyunittest discover -v %files %{python_files} %doc README.md CHANGELOG.md ++++++ aioitertools-0.7.0.tar.gz -> aioitertools-0.7.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aioitertools-0.7.0/.pylint new/aioitertools-0.7.1/.pylint --- old/aioitertools-0.7.0/.pylint 2019-10-27 02:51:54.650138100 +0200 +++ new/aioitertools-0.7.1/.pylint 2020-11-09 00:29:24.175778200 +0100 @@ -141,7 +141,8 @@ unused-argument, missing-docstring, function-redefined, - line-too-long + line-too-long, + raise-missing-from # Enable the message, report, category or checker with the given id(s). You can # either give multiple identifier separated by comma (,) or put this option diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aioitertools-0.7.0/.pyup.yml new/aioitertools-0.7.1/.pyup.yml --- old/aioitertools-0.7.0/.pyup.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/aioitertools-0.7.1/.pyup.yml 2020-11-09 00:25:34.080435000 +0100 @@ -0,0 +1,3 @@ +assignees: jreese +label_prs: update +schedule: "every two weeks on saturday" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aioitertools-0.7.0/CHANGELOG.md new/aioitertools-0.7.1/CHANGELOG.md --- old/aioitertools-0.7.0/CHANGELOG.md 2020-05-06 05:13:35.299045300 +0200 +++ new/aioitertools-0.7.1/CHANGELOG.md 2020-11-09 04:56:44.066201000 +0100 @@ -1,6 +1,22 @@ aioitertools ============ +v0.7.1 +------ + +Bugfix release: + +* Fix groupby() not working with empty iterables (#39) +* Tested on Python 3.9 + +``` +$ git shortlog -s v0.7.0...v0.7.1 + 8 John Reese + 1 Roger Aiudi + 2 pyup-bot +``` + + v0.7.0 ------ @@ -164,4 +180,3 @@ 1 John Reese ``` - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aioitertools-0.7.0/PKG-INFO new/aioitertools-0.7.1/PKG-INFO --- old/aioitertools-0.7.0/PKG-INFO 1970-01-01 01:00:00.000000000 +0100 +++ new/aioitertools-0.7.1/PKG-INFO 1970-01-01 01:00:00.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: aioitertools -Version: 0.7.0 +Version: 0.7.1 Summary: itertools and builtins for AsyncIO and mixed iterables Home-page: https://aioitertools.omnilib.dev Author: John Reese diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aioitertools-0.7.0/aioitertools/__init__.py new/aioitertools-0.7.1/aioitertools/__init__.py --- old/aioitertools-0.7.0/aioitertools/__init__.py 2020-05-06 05:11:23.764130400 +0200 +++ new/aioitertools-0.7.1/aioitertools/__init__.py 2020-11-09 04:47:28.899267000 +0100 @@ -6,9 +6,8 @@ """ __author__ = "John Reese" -__version__ = "0.7.0" - from . import asyncio +from .__version__ import __version__ from .builtins import enumerate, iter, list, map, max, min, next, set, sum, zip from .itertools import ( accumulate, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aioitertools-0.7.0/aioitertools/__version__.py new/aioitertools-0.7.1/aioitertools/__version__.py --- old/aioitertools-0.7.0/aioitertools/__version__.py 1970-01-01 01:00:00.000000000 +0100 +++ new/aioitertools-0.7.1/aioitertools/__version__.py 2020-11-09 04:56:44.081393200 +0100 @@ -0,0 +1 @@ +__version__ = "0.7.1" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aioitertools-0.7.0/aioitertools/builtins.py new/aioitertools-0.7.1/aioitertools/builtins.py --- old/aioitertools-0.7.0/aioitertools/builtins.py 2020-05-06 05:01:15.658111000 +0200 +++ new/aioitertools-0.7.1/aioitertools/builtins.py 2020-11-09 04:47:28.821214700 +0100 @@ -142,14 +142,14 @@ @overload async def max( - itr: AnyIterable[Orderable], *, key: Optional[Callable] = None, + itr: AnyIterable[Orderable], *, key: Optional[Callable] = None ) -> Orderable: # pragma: no cover pass @overload async def max( - itr: AnyIterable[Orderable], *, default: T, key: Optional[Callable] = None, + itr: AnyIterable[Orderable], *, default: T, key: Optional[Callable] = None ) -> Union[Orderable, T]: # pragma: no cover pass @@ -201,14 +201,14 @@ @overload async def min( - itr: AnyIterable[Orderable], *, key: Optional[Callable] = None, + itr: AnyIterable[Orderable], *, key: Optional[Callable] = None ) -> Orderable: # pragma: no cover pass @overload async def min( - itr: AnyIterable[Orderable], *, default: T, key: Optional[Callable] = None, + itr: AnyIterable[Orderable], *, default: T, key: Optional[Callable] = None ) -> Union[Orderable, T]: # pragma: no cover pass diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aioitertools-0.7.0/aioitertools/itertools.py new/aioitertools-0.7.1/aioitertools/itertools.py --- old/aioitertools-0.7.0/aioitertools/itertools.py 2020-04-08 07:43:09.453564000 +0200 +++ new/aioitertools-0.7.1/aioitertools/itertools.py 2020-11-09 04:47:29.179919700 +0100 @@ -279,7 +279,10 @@ grouping: List[T] = [] it = iter(itr) - item = await next(it) + try: + item = await next(it) + except StopAsyncIteration: + return grouping = [item] j = await maybe_await(key(item)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aioitertools-0.7.0/aioitertools/tests/asyncio.py new/aioitertools-0.7.1/aioitertools/tests/asyncio.py --- old/aioitertools-0.7.0/aioitertools/tests/asyncio.py 2019-11-13 04:02:18.135740500 +0100 +++ new/aioitertools-0.7.1/aioitertools/tests/asyncio.py 2020-11-09 04:47:29.478941200 +0100 @@ -6,7 +6,6 @@ import aioitertools as ait import aioitertools.asyncio as aio - from .helpers import async_test slist = ["A", "B", "C"] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aioitertools-0.7.0/aioitertools/tests/builtins.py new/aioitertools-0.7.1/aioitertools/tests/builtins.py --- old/aioitertools-0.7.0/aioitertools/tests/builtins.py 2020-05-06 04:56:38.985271200 +0200 +++ new/aioitertools-0.7.1/aioitertools/tests/builtins.py 2020-11-09 04:47:29.375778400 +0100 @@ -6,7 +6,6 @@ from unittest import TestCase import aioitertools as ait - from .helpers import async_test slist = ["A", "B", "C"] @@ -101,9 +100,9 @@ def __anext__(self): if self.index > 2: raise StopAsyncIteration() - return self.next() + return self.fake_next() - async def next(self): + async def fake_next(self): value = slist[self.index] self.index += 1 return value diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aioitertools-0.7.0/aioitertools/tests/itertools.py new/aioitertools-0.7.1/aioitertools/tests/itertools.py --- old/aioitertools-0.7.0/aioitertools/tests/itertools.py 2019-10-20 04:31:52.201895500 +0200 +++ new/aioitertools-0.7.1/aioitertools/tests/itertools.py 2020-11-09 04:47:30.139533000 +0100 @@ -6,7 +6,6 @@ from unittest import TestCase import aioitertools as ait - from .helpers import async_test slist = ["A", "B", "C"] @@ -341,6 +340,15 @@ await ait.next(it) @async_test + async def test_groupby_empty(self): + async def gen(): + for _ in range(0): + yield # Force generator with no actual iteration + + async for _ in ait.groupby(gen()): + self.fail("No iteration should have happened") + + @async_test async def test_islice_bad_range(self): with self.assertRaisesRegex(ValueError, "must pass stop index"): async for _ in ait.islice([1, 2]): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aioitertools-0.7.0/aioitertools/tests/more_itertools.py new/aioitertools-0.7.1/aioitertools/tests/more_itertools.py --- old/aioitertools-0.7.0/aioitertools/tests/more_itertools.py 2020-04-08 07:43:09.454731200 +0200 +++ new/aioitertools-0.7.1/aioitertools/tests/more_itertools.py 2020-11-09 04:47:29.533481100 +0100 @@ -5,7 +5,6 @@ from unittest import TestCase import aioitertools.more_itertools as mit - from .helpers import async_test diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aioitertools-0.7.0/makefile new/aioitertools-0.7.1/makefile --- old/aioitertools-0.7.0/makefile 2020-04-29 07:51:29.498735000 +0200 +++ new/aioitertools-0.7.1/makefile 2020-11-09 00:25:34.085005300 +0100 @@ -18,12 +18,12 @@ flit publish format: - python -m isort --apply --recursive aioitertools + python -m usort format aioitertools python -m black aioitertools lint: python -m pylint --rcfile .pylint aioitertools - python -m isort --diff --recursive aioitertools + python -m usort check aioitertools python -m black --check aioitertools test: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aioitertools-0.7.0/pyproject.toml new/aioitertools-0.7.1/pyproject.toml --- old/aioitertools-0.7.0/pyproject.toml 2020-05-06 04:54:05.963701200 +0200 +++ new/aioitertools-0.7.1/pyproject.toml 2020-11-09 04:54:38.147944200 +0100 @@ -27,6 +27,11 @@ ".github/", ] +[tool.attribution] +name = "aioitertools" +package = "aioitertools" +version_file = true + [tool.coverage.run] branch = true include = ["aioitertools/*"] @@ -43,4 +48,4 @@ multi_line_output = 3 force_grid_wrap = false include_trailing_comma = true -use_parentheses = true \ No newline at end of file +use_parentheses = true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aioitertools-0.7.0/requirements-dev.txt new/aioitertools-0.7.1/requirements-dev.txt --- old/aioitertools-0.7.0/requirements-dev.txt 2020-04-28 23:24:03.447921000 +0200 +++ new/aioitertools-0.7.1/requirements-dev.txt 2020-11-09 04:44:53.892360200 +0100 @@ -1,9 +1,10 @@ -black==19.10b0 -codecov==2.0.22 -coverage[toml]==5.1 -flit==2.3.0 -isort==4.3.20 -mypy==0.770 -pylint==2.4.4 -sphinx==3.0.3 -git+https://github.com/miyakogi/m2r \ No newline at end of file +attribution==1.4.0 +black==20.8b1 +codecov==2.1.10 +coverage[toml]==5.3 +flit==3.0.0 +mypy==0.790 +pylint==2.4.4 # pyup: <2.5 +sphinx==3.3.0 +usort==0.6.0 +git+https://github.com/miyakogi/m2r@66f4a5a500cdd9fc59085106bff082c9cadafaf3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aioitertools-0.7.0/setup.py new/aioitertools-0.7.1/setup.py --- old/aioitertools-0.7.0/setup.py 1970-01-01 01:00:00.000000000 +0100 +++ new/aioitertools-0.7.1/setup.py 1970-01-01 01:00:00.000000000 +0100 @@ -13,7 +13,7 @@ ['typing_extensions>=3.7'] setup(name='aioitertools', - version='0.7.0', + version='0.7.1', description='itertools and builtins for AsyncIO and mixed iterables', author='John Reese', author_email='j...@noswap.com', ++++++ stdlib-typing_extensions.patch ++++++ >From b8a14c2bee11a954b01288669f4b35a5e4d4c493 Mon Sep 17 00:00:00 2001 From: Bryan Forbes <br...@reigndropsfall.net> Date: Mon, 4 Jan 2021 19:26:31 -0600 Subject: [PATCH] Improve dependencies for Python 3.8+ --- aioitertools/helpers.py | 8 ++++++-- pyproject.toml | 2 +- requirements.txt | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) --- a/aioitertools/helpers.py +++ b/aioitertools/helpers.py @@ -2,12 +2,16 @@ # Licensed under the MIT license import inspect +import sys from typing import Awaitable, Union -from typing_extensions import Protocol - from .types import T +if sys.version_info < (3, 8): + from typing_extensions import Protocol +else: + from typing import Protocol # pylint: disable=no-name-in-module + class Orderable(Protocol): # pragma: no cover def __lt__(self, other): --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ author = "John Reese" author-email = "j...@noswap.com" description-file = "README.md" home-page = "https://aioitertools.omnilib.dev" -requires = ["typing_extensions>=3.7"] +requires = ["typing_extensions>=3.7; python_version < '3.8'"] requires-python = ">=3.6" classifiers = [ "Development Status :: 4 - Beta", --- a/requirements.txt +++ b/requirements.txt @@ -1 +1 @@ -typing_extensions>=3.7 \ No newline at end of file +typing_extensions>=3.7;python_version<"3.8"