# # spec file for package python-more-itertools # # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # 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 http://bugs.opensuse.org/ # %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-more-itertools Version: 4.2.0 Release: 1.1 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} BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: python-rpm-macros BuildArch: noarch %python_subpackages %description I love itertools; it's one of the most beautiful, composable standard libs. Whenever I have an iteration problem, there's almost always an itertools routine that fits it perfectly. Sometimes, however, neither itertools nor the recipes included in its docs do quite what I need. Here I've collected several routines I've reached for but not found. Since they are deceptively tricky to get right, I've wrapped them up into a library. We've also included implementations of the recipes from the itertools documentation. Enjoy! Any additions are welcome; just file a pull request. %prep %setup -q -n more-itertools-%{version} rm -rf more_itertools.egg-info %build %python_build %install %python_install %python_exec %fdupes -s %{buildroot}%{$python_sitelib} %check %python_exec setup.py test %files %{python_files} %doc README.rst %license LICENSE %{python_sitelib}/more_itertools/ %{python_sitelib}/more_itertools-%{version}-py%{python_version}.egg-info %changelog * Thu May 31 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 2018 mimi.vx@gmail.com - spec-cleaned - use of %%license macro - removed unneded dependency * Sat Mar 24 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 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 2014 toddrme2178@gmail.com - initial version