------------------------------------------------------------------- Fri Dec 15 13:01:06 UTC 2023 - Victor Zhestkov - Update to 9.1.0: * See PR #678 for details. - 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) - 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) - Update to 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) - Update to 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) - Update to 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) ------------------------------------------------------------------- Tue Sep 19 07:58:05 UTC 2023 - Victor Zhestkov - Replace fix fdups call in the spec to prevent build fails on openSUSE Tumbleweed ------------------------------------------------------------------- Fri Jul 22 08:43:52 UTC 2022 - Victor Zhestkov - Place a mildly useful text in the %description section. - 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) - 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) - 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 - 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. - 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) - 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) - 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) - 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. - 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. - 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) - 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 - 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 - update to version 4.3.0 * new itertools: last, replace, rlocate * locate can now search for multiple items * The docs now include a nice table of tools - Added: * more-itertools-8.10.0.tar.gz - Removed: * more-itertools-4.2.0.tar.gz ------------------------------------------------------------------- Mon Apr 4 12:43:54 UTC 2022 - Victor Zhestkov - Strictly require Python 3.10 with saltbundlepy requrement ------------------------------------------------------------------- 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