More-itertools

Latest version: v10.2.0

Safety actively analyzes 630254 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 8

8.7.0

-----

* New functions
* :func:`convolve` (from the Python itertools docs)
* :func:`product_index`, :func:`combination_index`, and :func:`permutation_index` (thanks to N8Brooks)
* :func:`value_chain` (thanks to jenstroeger)

* Changes to existing functions
* :func:`distinct_combinations` now uses a non-recursive algorithm (thanks to knutdrand)
* :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 (thanks to brianmaissy)
* :func:`seekable` now has a ``peek`` method, and can indicate whether the iterator it's wrapping is exhausted (thanks to gsakkis)
* :func:`time_limited` can now indicate whether its iterator has expired (thanks to roysmith)
* The implementation of :func:`unique_everseen` was improved (thanks to plammens)

* Other changes:
* Various documentation updates (thanks to cthoyt, Evantm, and cyphase)

8.6.0

-----

* New itertools
* :func:`all_unique` (thanks to brianmaissy)
* :func:`nth_product` and :func:`nth_permutation` (thanks to N8Brooks)

* Changes to existing itertools
* :func:`chunked` and :func:`sliced` now accept a ``strict`` parameter (thanks to shlomif and jtwool)

* Other changes
* Python 3.5 has reached its end of life and is no longer supported.
* Python 3.9 is officially supported.
* Various documentation fixes (thanks to timgates42)

8.5.0

-----

* New itertools
* :func:`windowed_complete` (thanks to MarcinKonowalczyk)

* Changes to existing itertools:
* The :func:`is_sorted` implementation was improved (thanks to cool-RR)
* The :func:`groupby_transform` now accepts a ``reducefunc`` parameter.
* The :func:`last` implementation was improved (thanks to brianmaissy)

* Other changes
* Various documentation fixes (thanks to craigrosie, samuelstjean, PiCT0)
* The tests for :func:`distinct_combinations` were improved (thanks to Minabsapi)
* Automated tests now run on GitHub Actions. All commits now check:
* That unit tests pass
* That the examples in docstrings work
* That test coverage remains high (using `coverage`)
* For linting errors (using `flake8`)
* For consistent style (using `black`)
* That the type stubs work (using `mypy`)
* That the docs build correctly (using `sphinx`)
* That packages build correctly (using `twine`)

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 <https://github.com/psf/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)

8.3.0

-----

* New itertools
* :func:`zip_equal` (thanks to frankier and alexmojaki)

* Changes to existing itertools:
* :func:`split_at`, :func:`split_before`, :func:`split_after`, and :func:`split_when` all got a ``maxsplit`` parameter (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)

* Other changes
* Type stubs are now tested with ``stubtest`` (thanks to ilai-deutel)
* Tests now run with ``python -m unittest`` instead of ``python setup.py test`` (thanks to jdufresne)

8.2.0

-----

* Bug fixes
* The .pyi files for typing were updated. (thanks to blueyed and ilai-deutel)

* Changes to existing itertools:
* :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.

Page 3 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.