commit d192b5bee218ec7e8101a2f3a276f6782478fa0039bbad1ba9389f1fd9b8a9c8 Author: Adrian Schröter Date: Fri May 3 21:32:26 2024 +0200 Sync from SUSE:SLFO:Main python-more-itertools revision 418c802cca4cc494ab02e9ff8375da07 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/more-itertools-9.1.0.tar.gz b/more-itertools-9.1.0.tar.gz new file mode 100644 index 0000000..7fc7f2b --- /dev/null +++ b/more-itertools-9.1.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cabaa341ad0389ea83c17a94566a53ae4c9d07349861ecb14dc6d0345cf9ac5d +size 107389 diff --git a/python-more-itertools.changes b/python-more-itertools.changes new file mode 100644 index 0000000..57ba3a9 --- /dev/null +++ b/python-more-itertools.changes @@ -0,0 +1,465 @@ +------------------------------------------------------------------- +Fri Apr 21 12:28:15 UTC 2023 - Dirk Müller + +- add sle15_python_module_pythons (jsc#PED-68) + +------------------------------------------------------------------- +Thu Apr 13 22:42:37 UTC 2023 - Matej Cepl + +- Make calling of %{sle15modernpython} optional. + +------------------------------------------------------------------- +Tue Mar 7 12:12:32 UTC 2023 - Dirk Müller + +- update to 9.1.0: + * See PR #678 for details. + +------------------------------------------------------------------- +Fri Oct 28 18:32:55 UTC 2022 - Yogalakshmi Arunachalam + +- Update to 9.0.0 + * Potentially breaking changes + grouper() no longer accepts an integer as its first argument. Previously this raised a DeprecationWarning. + collate() has been removed. Use the built-in heapq.merge() instead. + windowed() now yields nothing when its iterable is empty. + This library now advertises support for Python 3.7+. + * New functions + constrained_batches() + batched() (from the Python itertools docs) + polynomial_from_roots() (from the Python itertools docs) + sieve() (from the Python itertools docs) + * Other changes + Some documentation issues were fixed (thanks to nanouasyn) + +------------------------------------------------------------------- +Fri Sep 16 18:26:20 UTC 2022 - Dirk Müller + +- update to 8.14.0: + * :func:`longest_common_prefix` (thanks to nanouasyn) + * :func:`iequals` (thanks to nanouasyn) + * `concurrent.futures.ThreadPoolExecutor` is now imported lazily in :func:`callback_iter`. + * :func:`tail` is now optimized for iterables with a fixed length. + * Some documentation issues were fixed (thanks to pochmann and timgates42) + * This library is now marked for Python 3.10 compatibility in PyPI (thanks to chayim) + +------------------------------------------------------------------- +Mon Jun 13 13:15:41 UTC 2022 - Ben Greiner + +- Clean up specfile, only requires flit-core (flit not in Ring1) + +------------------------------------------------------------------- +Sun Jun 5 14:27:12 UTC 2022 - Arun Persaud + +- specfile: + * build with flit + +- update to version 8.13.0: + * New functions + + The :func:`subslices` recipe from the itertools docs was added + (thanks to rhettinger) + * Changes to existing functions + + The :func:`ichunked` function is now more efficient (thanks to + hjtran0 and seanmacavaney) + + The :func:`difference` function is now more efficient (thanks to + Masynchin) + + The :func:`grouper` recipe now has more features, mirroring the + one in the itertools docs (thanks to rhettinger) + * Other changes + + Some documentation issues were fixed (thanks to medvied and + Freed-Wu) + + The more_itertools package is now built with flit (thanks to + mgorny) + +------------------------------------------------------------------- +Tue Mar 15 08:49:48 UTC 2022 - Dirk Müller + +- use python_expand for fdupes + +------------------------------------------------------------------- +Thu Feb 3 20:13:01 UTC 2022 - Arun Persaud + +- specfile: + * update copyright year + +- update to version 8.12.0: + * Bug fixes + + Some documentation issues were fixed (thanks to Masynchin, + spookylukey, astrojuanlu, and stephengmatthews) + + Python 3.5 support was temporarily restored (thanks to + mattbonnell) + +- changes from version 8.11.0: + * New functions + + The before_and_after, sliding_window, and triplewise recipes + from the Python 3.10 docs were added + + duplicates_everseen and duplicates_justseen (thanks to OrBin and + DavidPratt512) + + minmax (thanks to Ricocotam, MSeifert04, and ruancomelli) + + strictly_n (thanks to hwalinga and NotWearingPants) + + unique_in_window + * Changes to existing functions + + groupby_transform had its type stub improved (thanks to mjk4 and + ruancomelli) + + is_sorted now accepts a strict parameter (thanks to Dutcho and + ruancomelli) + + zip_broadcast was updated to fix a bug (thanks to kalekundert) + +------------------------------------------------------------------- +Sat Oct 16 19:09:54 UTC 2021 - Dirk Müller + +- update to 8.10.0: + * The type stub for :func:`iter_except` was improved (thanks to MarcinKonowalczyk) + * Type stubs now ship with the source release (thanks to saaketp) + * The Sphinx docs were improved (thanks to MarcinKonowalczyk) + * New functions + * :func:`interleave_evenly` (thanks to mbugert) + * :func:`repeat_each` (thanks to FinalSh4re) + * :func:`chunked_even` (thanks to valtron) + * :func:`map_if` (thanks to sassbalint) + * :func:`zip_broadcast` (thanks to kalekundert) + * Changes to existing functions + * The type stub for :func:`chunked` was improved (thanks to PhilMacKay) + * The type stubs for :func:`zip_equal` and `zip_offset` were improved (thanks to maffoo) + * Building Sphinx docs locally was improved (thanks to MarcinKonowalczyk) + +------------------------------------------------------------------- +Sun Jun 6 12:43:51 UTC 2021 - Dirk Müller + +- update to 8.8.0: + * :func:`countable` (thanks to krzysieq) + * :func:`split_before` was updated to handle empy collections (thanks to TiunovNN) + * :func:`unique_everseen` got a performance boost (thanks to Numerlor) + * The type hint for :func:`value_chain` was corrected (thanks to vr2262) + +------------------------------------------------------------------- +Thu Jun 3 11:51:31 UTC 2021 - pgajdos@suse.com + +- %check: use %pyunittest rpm macro + +------------------------------------------------------------------- +Thu Mar 4 21:03:34 UTC 2021 - Dirk Müller + +- update to 8.7.0: + * New functions + * :func:`convolve` + * :func:`product_index`, :func:`combination_index`, and :func:`permutation_index` + * :func:`value_chain` + * Changes to existing functions + * :func:`distinct_combinations` now uses a non-recursive algorithm + * :func:`pad_none` is now the preferred name for :func:`padnone`, though the latter remains available. + * :func:`pairwise` will now use the Python standard library implementation on Python 3.10+ + * :func:`sort_together` now accepts a ``key`` argument + * :func:`seekable` now has a ``peek`` method, and can indicate whether the iterator it's wrapping is exhausted + * :func:`time_limited` can now indicate whether its iterator has expired + * The implementation of :func:`unique_everseen` was improved + * Other changes: + * Various documentation updates + +------------------------------------------------------------------- +Sat Dec 19 10:51:38 UTC 2020 - Dirk Müller + +- update to 8.6.0: + * :func:`all_unique` (thanks to brianmaissy) + * :func:`nth_product` and :func:`nth_permutation` (thanks to N8Brooks) + * :func:`chunked` and :func:`sliced` now accept a ``strict`` parameter (thanks to shlomif and jtwool) + * Python 3.5 has reached its end of life and is no longer supported. + * Python 3.9 is officially supported. + +------------------------------------------------------------------- +Wed Sep 16 11:13:30 UTC 2020 - Dirk Mueller + +- update to 8.5.0: + * windowed_complete() (thanks to MarcinKonowalczyk) + Changes to existing itertools: + * The is_sorted() implementation was improved (thanks to cool-RR) + * The groupby_transform() now accepts a reducefunc parameter. + * The last() implementation was improved (thanks to brianmaissy) + * Various documentation fixes (thanks to craigrosie, samuelstjean, PiCT0) + * The tests for distinct_combinations() were improved (thanks to Minabsapi) + +------------------------------------------------------------------- +Thu Aug 6 08:16:47 UTC 2020 - Dirk Mueller + +- update to 8.4.0: + * New itertools + * :func:`mark_ends` (thanks to kalekundert) + * :func:`is_sorted` + * Changes to existing itertools: + * :func:`islice_extended` can now be used with real slices (thanks to cool-RR) + * The implementations for :func:`filter_except` and :func:`map_except` were improved (thanks to SergBobrovsky) + * Other changes + * Automated tests now enforce code style (using `black `__) + * The various signatures of :func:`islice_extended` and :func:`numeric_range` now appear in the docs (thanks to dsfulf) + * The test configuration for mypy was updated (thanks to blueyed) + +------------------------------------------------------------------- +Tue Jun 2 16:30:25 UTC 2020 - Dirk Mueller + +- update to 8.3.0: + * New itertools + * :func:`zip_equal` (thanks to frankier and alexmojaki) + * :func:`split_at`, :func:`split_before`, :func:`split_after`, and :func:`split_when` all got a ``maxsplit`` paramter (thanks to jferard and ilai-deutel) + * :func:`split_at` now accepts a ``keep_separator`` parameter (thanks to jferard) + * :func:`distinct_permutations` can now generate ``r``-length permutations (thanks to SergBobrovsky and ilai-deutel) + * The :func:`windowed` implementation was improved (thanks to SergBobrovsky) + * The :func:`spy` implementation was improved (thanks to has2k1) + * Type stubs are now tested with ``stubtest`` (thankjs to ilai-deutel) + * Tests now run with ``python -m unittest`` instead of ``python setup.py test`` (thanks to jdufresne) + +------------------------------------------------------------------- +Fri Feb 28 21:37:22 UTC 2020 - Dirk Mueller + +- update to 8.2.0: + * The .pyi files for typing were updated. (thanks to blueyed and ilai-deutel) + * :func:`numeric_range` now behaves more like the built-in :func:`range`. (thanks to jferard) + * :func:`bucket` now allows for enumerating keys. (thanks to alexchandel) + * :func:`sliced` now should now work for numpy arrays. (thanks to sswingle) + * :func:`seekable` now has a ``maxlen`` parameter. + +------------------------------------------------------------------- +Wed Jan 22 15:56:53 UTC 2020 - Martin Sirringhaus + +- update to 8.1.0: + * Bug fixes + :func:`partition` works with pred=None again. (thanks + to MSeifert04) + * New itertools + :func:`sample` (thanks to tommyod) + :func:`nth_or_last` (thanks to d-ryzhikov) + * Changes to existing itertools: + The implementation for :func:`divide` was improved. + +------------------------------------------------------------------- +Fri Dec 20 19:18:54 UTC 2019 - Dirk Mueller + +- update to 8.0.2: + * Bug fixes + * The type stub files are now part of the wheel distribution (thanks to keisheiled) + * The type stub files now work for functions imported from the + root package (thanks to keisheiled) + * New itertools and other additions + * This library now ships type hints for use with mypy. + (thanks to ilai-deutel for the implementation, and to gabbard and fmagin for assistance) + * :func:`split_when` (thanks to jferard) + * :func:`repeat_last` (thanks to d-ryzhikov) + * Changes to existing itertools: + * The implementation for :func:`set_partitions` was improved. (thanks to jferard) + * :func:`partition` was optimized for expensive predicates. (thanks to stevecj) + * :func:`unique_everseen` and :func:`groupby_transform` were re-factored. (thanks to SergBobrovsky) + * The implementation for :func:`difference` was improved. (thanks to Jabbey92) + +------------------------------------------------------------------- +Thu Aug 29 15:01:51 UTC 2019 - Jan Engelhardt + +- Place a mildly useful text in the %description section. + +------------------------------------------------------------------- +Tue Aug 27 12:15:12 UTC 2019 - Marketa Calabkova + +- update to version 7.2.0 + * new itertools: distinct_combinations, set_partitions, filter_except, + map_except, ichunked, only, time_limited, partitions, substrings_indexes + * Python 2.7 is no longer supported. All future releases will target + the active versions of Python 3. + * The six library is no longer a dependency. + * collapse now treats bytes objects the same as str objects. + * numeric_range now supports ranges specified by datetime.datetime + and datetime.timedelta objects + +------------------------------------------------------------------- +Fri May 24 12:20:33 UTC 2019 - Marketa Calabkova + +- update to version 5.0.0 + * new itertools: split_into, unzip, substrings + * first_true now returns None by default. + * Some code for old Python versions was removed + * Tests now run properly on 32-bit versions of Python + * Newer versions of CPython and PyPy are now tested against + 4.3.0 + * new itertools: last, replace, rlocate + * locate can now search for multiple items + * The docs now include a nice table of tools + +- There are newer versions of more-itertools but this is the last + version which supports Python 2.7 + +------------------------------------------------------------------- +Thu May 31 04:34:12 UTC 2018 - toddrme2178@gmail.com + +- Update to version 4.2.0 + + New itertools: + * map_reduce (thanks to pylang) + * prepend (from the `Python 3.7 docs `_) + + Improvements to existing itertools: + * :func:`bucket` now complies with PEP 479 (thanks to irmen) + + Other changes: + * Python 3.7 is now supported (thanks to irmen) + * Python 3.3 is no longer supported + * The test suite no longer requires third-party modules to run + * The API docs now include links to source code + +------------------------------------------------------------------- +Thu Mar 29 13:32:39 UTC 2018 - mimi.vx@gmail.com + +- spec-cleaned +- use of %license macro +- removed unneded dependency + +------------------------------------------------------------------- +Sat Mar 24 19:55:52 UTC 2018 - arun@gmx.de + +- specfile: + * update copyright year + +- update to version 4.1.0: + * New itertools: + + split_at (thanks to michael-celani) + + circular_shifts (thanks to hiqua) + + make_decorator - see the blog post Yo, I heard you like + decorators for a tour (thanks to pylang) + + always_reversible (thanks to michael-celani) + + nth_combination (from the Python 3.7 docs) + * Improvements to existing itertools: + + seekable now has an elements method to return cached items. + + The performance tradeoffs between roundrobin and + interleave_longest are now documented (thanks michael-celani, + pylang, and MSeifert04) + +- changes from version 4.0.1: + * No code changes - this release fixes how the docs display on PyPI. + +- changes from version 4.0.0: + * New itertools: + + consecutive_groups (Based on the example in the Python 2.4 docs) + + seekable (If you’re looking for how to “reset” an iterator, + you’re in luck!) + + exactly_n (thanks to michael-celani) + + run_length.encode and run_length.decode + + difference + * Improvements to existing itertools: + + The number of items between filler elements in intersperse can + now be specified (thanks to pylang) + + distinct_permutations and peekable got some minor adjustments + (thanks to MSeifert04) + + always_iterable now returns an iterator object. It also now + allows different types to be considered iterable (thanks to + jaraco) + + bucket can now limit the keys it stores in memory one now allows + for custom exceptions (thanks to kalekundert) + * Other changes: + + A few typos were fixed (thanks to EdwardBetts) + + All tests can now be run with python setup.py test + +------------------------------------------------------------------- +Tue Jul 4 17:15:27 UTC 2017 - aloisio@gmx.com + +- Update to version 3.2.0 + * New itertools: + + :func:`lstrip`, :func:`rstrip`, and :func:`strip` + (thanks to MSeifert04 and pylang) + + :func:`islice_extended` + * Improvements to existing itertools: + + Some bugs with slicing :func:`peekable`-wrapped iterables + were fixed + 3.1.0: + * New itertools: + + :func:`numeric_range` (Thanks to BebeSparkelSparkel and + MSeifert04) + + :func:`count_cycle` (Thanks to BebeSparkelSparkel) + + :func:`locate` (Thanks to pylang and MSeifert04) + * Improvements to existing itertools: + + A few itertools are now slightly faster due to some + function optimizations. (Thanks to MSeifert04) + * The docs have been substantially revised with installation + notes, categories for library functions, links, and more. + (Thanks to pylang) + 3.0.0: + * Removed itertools: + + ``context`` has been removed due to a design flaw - see + below for replacement options. (thanks to NeilGirdhar) + * Improvements to existing itertools: + + ``side_effect`` now supports ``before`` and ``after`` + keyword arguments. (Thanks to yardsale8) + * PyPy and PyPy3 are now supported. + The major version change is due to the removal of the + ``context`` function. + + Replace it with standard ``with`` statement context management: + .. code-block:: python + + # Don't use context() anymore + file_obj = StringIO() + consume(print(x, file=f) for f in context(file_obj) for x in + u'123') + + # Use a with statement instead + file_obj = StringIO() + with file_obj as f: + consume(print(x, file=f) for x in u'123') + 2.6.0: + * New itertools: + + ``adjacent`` and ``groupby_transform`` (Thanks to diazona) + + ``always_iterable`` (Thanks to jaraco) + + (Removed in 3.0.0) ``context`` (Thanks to yardsale8) + + ``divide`` (Thanks to mozbhearsum) + * Improvements to existing itertools: + + ``ilen`` is now slightly faster. (Thanks to wbolster) + + ``peekable`` can now prepend items to an iterable. (Thanks + to diazona) + 2.5.0: + * New itertools: + + ``distribute`` (Thanks to mozbhearsum and coady) + + ``sort_together`` (Thanks to clintval) + + ``stagger`` and ``zip_offset`` (Thanks to joshbode) + + ``padded`` + * Improvements to existing itertools: + + ``peekable`` now handles negative indexes and slices with + negative components properly. + + ``intersperse`` is now slightly faster. (Thanks to pylang) + + ``windowed`` now accepts a ``step`` keyword argument. + (Thanks to pylang) + * Python 3.6 is now supported. + 2.4.1: + * Move docs 100% to readthedocs.io. + 2.4: + * New itertools: + + ``accumulate``, ``all_equal``, ``first_true``, + ``partition``, and + ``tail`` from the itertools documentation. + + ``bucket`` (Thanks to Rosuav and cvrebert) + + ``collapse`` (Thanks to abarnet) + + ``interleave`` and ``interleave_longest`` (Thanks to + abarnet) + + ``side_effect`` (Thanks to nvie) + + ``sliced`` (Thanks to j4mie and coady) + + ``split_before`` and ``split_after`` (Thanks to + astronouth7303) + + ``spy`` (Thanks to themiurgo and mathieulongtin) + * Improvements to existing itertools: + + ``chunked`` is now simpler and more friendly to garbage + collection. + (Contributed by coady, with thanks to piskvorky) + + ``collate`` now delegates to ``heapq.merge`` when possible. + (Thanks to kmike and julianpistorius) + + ``peekable``-wrapped iterables are now indexable and + sliceable. Iterating through ``peekable``-wrapped iterables + is also faster. + + ``one`` and ``unique_to_each`` have been simplified. + (Thanks to coady) + 2.3: + * Added ``one`` from ``jaraco.util.itertools``. (Thanks, jaraco!) + * Added ``distinct_permutations`` and ``unique_to_each``. + (Contributed by bbayles) + * Added ``windowed``. (Contributed by bbayles, with thanks to + buchanae, jaraco, and abarnert) + * Simplified the implementation of ``chunked``. (Thanks, nvie!) + * Python 3.5 is now supported. Python 2.6 is no longer supported. + * Python 3 is now supported directly; there is no 2to3 step. + +- Converted to single-spec + +------------------------------------------------------------------- +Fri May 30 14:11:03 UTC 2014 - toddrme2178@gmail.com + +- initial version + diff --git a/python-more-itertools.spec b/python-more-itertools.spec new file mode 100644 index 0000000..a160a6f --- /dev/null +++ b/python-more-itertools.spec @@ -0,0 +1,62 @@ +# +# spec file for package python-more-itertools +# +# Copyright (c) 2023 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%{?!python_module:%define python_module() python3-%{**}} +%define skip_python2 1 +%{?sle15_python_module_pythons} +Name: python-more-itertools +Version: 9.1.0 +Release: 0 +Summary: More routines for operating on iterables, beyond itertools +License: MIT +Group: Development/Languages/Python +URL: https://github.com/erikrose/more-itertools +Source: https://files.pythonhosted.org/packages/source/m/more-itertools/more-itertools-%{version}.tar.gz +BuildRequires: %{python_module base >= 3.6} +BuildRequires: %{python_module flit-core} +BuildRequires: %{python_module pip} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +BuildArch: noarch +%python_subpackages + +%description +Additional building blocks, recipes, and routines for working with +Python iterables. + +%prep +%setup -q -n more-itertools-%{version} +chmod -x more_itertools/more.py + +%build +%pyproject_wheel + +%install +%pyproject_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} + +%check +%pyunittest -v + +%files %{python_files} +%doc README.rst +%license LICENSE +%{python_sitelib}/more_itertools/ +%{python_sitelib}/more_itertools-%{version}*-info/ + +%changelog