More-itertools

Latest version: v10.6.0

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

Scan your dependencies

Page 1 of 9

10.6.0

------

* New functions:
* :func:`is_prime` and :func:`nth_prime` were added (thanks to JamesParrott and rhettinger)
* :func:`loops` was added (thanks to rhettinger)

* Changes to existing functions:
* :func:`factor` was optimized to handle larger inputs and use less memory (thanks to rhettinger)
* :func:`spy` was optimized to enable nested calls (thanks to rhettinger)
* :func:`polynomial_from_roots` was made non-recursive and able to handle larger numbers of roots (thanks to pochmann3 and rhettinger)
* :func:`is_sorted` now only relies on less than comparisons (thanks to rhettinger)
* The docstring for :func:`outer_product` was improved (thanks to rhettinger)
* The type annotations for :func:`sample` were improved (thanks to rhettinger)

* Other changes:
* Python 3.13 is officially supported. Python 3.8 is no longer officially supported. (thanks to hugovk, JamesParrott, and stankudrow)
* `mypy` checks were fixed (thanks to JamesParrott)

10.5.0

------

* Bug fixes
* A missing symbol in ``more.pyi`` was fixed (thanks to eberts-google and nathanielmanistaatgoogle)

* Other changes
* :func:`all_equal` was optimized (thanks to pochmann3 and rhettinger)

10.4.0

------

* Changes to existing functions
* :func:`circular_shifts` now accepts a ``steps`` parameter (thanks to rhettinger)
* :func:`distinct_permutations` now accepts iterables with non-comparable items (thanks to hgustafsson, JamesParrott, and pochmann3)
* :class:`run_length`, :func:`totient`, :func:`sliding_window`, and :func:`triplewise` were optimized (thanks to rhettinger)
* :class:`ilen` was optimized (thanks to pochmann3 and rhettinger)
* :func:`sample` was improved, and now accepts ``counts`` and ``strict`` parameters (thanks to rhettinger)
* :func:`set_partitions` now accepts ``min_size`` and ``max_size`` parameters (thanks to Pandede)
* :func:`seekable`'s ``relative_seek`` method remembers previous calls (thanks to dkrikun)
* :func:`sort_together` now accepts a ``strict`` parameter (thanks to rhettinger and Pandede)

* Other changes
* The docs for :func:`is_sorted` and :func:`strictly_n` were improved (thanks to pochmann3 and fakuivan)
* The typing information for :func:`windowed_complete`, :func:`zip_broadcast`, and and :func:`zip_equal` were improved (thanks to m472, eyalho, akisatoon1, jbosboom, and Pandede)

10.3.0

------

* New functions
* :func:`powerset_of_sets`, :func:`dft`, and :func:`idft` (thanks to rhettinger)
* :func:`join_mappings` (thanks to NeilGirdhar and rhettinger)
* :func:`doublestarmap` (thanks to Skeen, monk-time, DamianB-BitFlipper, and ergoithz)
* :func:`unique` (thanks to rhettinger)

* Changes to existing functions
* :func:`collapse`, :func:`chunked_even`, :func:`ichunked`, :func:`padded`, and :func:`windowed` were optimized and improved (thanks to james-wasson)
* :func:`totient` was optimized (thanks to rhettinger)
* :func:`roundrobin` was updated and improved (thanks to rhettinger)
* :func:`all_equal` now accepts a *key* parameter.
* The docs for :func:`value_chain` were improved (thanks to bjrtx)
* The type annotations for :class:`countable` were improved (thanks to aidanholm)

* Other changes
* Unit tests were improved (thanks to haukex)
* Some documentation issues were fixed (thanks to bjrtx and DimitriPapadopoulos)

10.2.0

------

* New functions
* :func:`iter_suppress` (thanks to jaraco, pochmann, and rhettinger)
* :func:`filter_map` (thanks to struktured)
* :func:`classify_unique` (thanks to haukex)
* :func:`totient` (from the itertools docs)
* :func:`reshape` (from the itertools docs)

* Changes to existing functions
* :func:`factor`, :func:`iter_index`, :func:`sieve`, and :func:`unique_justseen` were updated to match the itertools docs
* :func:`first` was was optimized (thanks to pochmann)
* :func:`takewhile_inclusive` was was refactored (thanks to eltoder)
* :func:`combination_with_replacement_index` was was optimized (thanks to elliotwutingfeng and rhettinger)
* :func:`nth_permutation`, :func:`nth_combination_with_replacement`, :func:`combination_index`, and :func:`combination_with_replacement_index` were optimized (thanks to rhettinger)
* :func:`batched` now accepts a `strict` argument (adapted from itertools docs)
* :func:`time_limited` was improved for Windows (thanks to haukex)

* Other changes
* Several typing updates were made (thanks to obaltian and ilai-deutel)
* Some documentation issues were fixed (thanks to F-park, DimitriPapadopoulos, peterbygrave, shuuji3, eltoder, and homeworkprod)

10.1.0

------

* New functions
* :func:`takewhile_inclusive` (thanks to OlegAlexander)
* :func:`outer_product` (thanks to OlegAlexander)

* Changes to existing functions
* :func:`zip_broadcast` was improved (thanks to kalekundert and pochmann)
* :func:`consume` had its type annotation fixed (thanks to obaltian)

* Other changes
* Some documentation and testing issues were fixed (thanks to OlegAlexander)

Page 1 of 9

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.