More-itertools

Latest version: v10.5.0

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

Scan your dependencies

Page 3 of 8

8.10.0

------

* Changes to existing functions
* The type stub for :func:`iter_except` was improved (thanks to MarcinKonowalczyk)

* Other changes:
* Type stubs now ship with the source release (thanks to saaketp)
* The Sphinx docs were improved (thanks to MarcinKonowalczyk)

8.9.0

-----

* 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)

8.8.0

-----

* New functions
* :func:`countable` (thanks to krzysieq)

* Changes to existing functions
* :func:`split_before` was updated to handle empty 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)

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`)

Page 3 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.