# more-itertools

> More routines for operating on iterables, beyond itertools

- **URL**: https://www.freshcrate.ai/projects/more-itertools
- **Author**: pypi
- **Category**: Developer Tools
- **Latest version**: `v11.1.0` (2026-05-22)
- **License**: Unknown
- **Source**: https://github.com/more-itertools/more-itertools
- **Homepage**: https://pypi.org/project/more-itertools/
- **Language**: Python
- **GitHub**: 4,057 stars, 316 forks
- **Registry**: pypi (`more-itertools`)
- **Tags**: `chunk`, `chunked`, `filter`, `iteration`, `iterator`, `itertools`, `peek`, `peekable`, `pypi`

## Description

==============
More Itertools
==============

.. image:: https://readthedocs.org/projects/more-itertools/badge/?version=latest
  :target: https://more-itertools.readthedocs.io/en/stable/

Python's ``itertools`` library is a gem - you can compose elegant solutions
for a variety of problems with the functions it provides. In ``more-itertools``
we collect additional building blocks, recipes, and routines for working with
Python iterables.

+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Grouping               | `chunked <https://more-itertools.readthedocs.io/en/stable/api.html#more_itertools.chunked>`_,                                                                               |
|                        | `ichunked <https://more-itertools.readthedocs.io/en/stable/api.html#more_itertools.ichunked>`_,                                                                             |
|                        | `chunked_even <https://more-itertools.readthedocs.io/en/stable/api.html#more_itertools.chunked_even>`_,                                                                     |
|                        | `sliced <https://more-itertools.readthedocs.io/en/stable/api.html#more_itertools.sliced>`_,                                                                                 |
|                        | `constrained_batches <https://more-itertools.readthedocs.io/en/stable/api.html#more_itertools.constrained_batches>`_,                                                       |
|                        | `distribute <https://more-itertools.readthedocs.io/en/stable/api.html#more_itertools.distribute>`_,                                                                         |
|                        | `divide <https://more-itertools.readthedocs.io/en/stable/api.html#more_itertools.divide>`_,                                                                                 |
|                        | `split_at <https://more-itertools.readthedocs.io/en/stable/api.html#more_itertools.split_at>`_,                                                                             |
|                        | `split_before <https://more-itertools.readthedocs.io/en/stable/api.html#more_itertools.split_before>`_,                                                                     |
|                        | `split_after <https://more-itertools.readthedocs.io/en/stable/api.html#more_itertools.split_after>`_,                                                                       |
|                        | `split_into <https://more-itertools.readthedocs.io/en/stable/api.html#more_itertools.split_into>`_,                                                                         |
|                        | `split_when <https://more-itertools.readthedocs.io/en/stable/api.html#more_itertools.split_when>`_,                                                                         |
|                        | `bucket <https://more-itertools.readthedocs.io/en/stable/api.html#more_itertools.bucket>`_,                                                                                 |
|                        | `unzip <https://more-itertools.readthedocs.io/en/stable/api.html#more_itertools.unzip>`_,                                                                                   |
|                        | `batched <https://more-itertools.readthedocs.io/en/stable/api.html#more_itertools.batched>`_,                                                                               |
|                        | `grouper <https://more-itertools.readthedocs.io/en/stable/api.html#more_itertools.grouper>`_,                                                                               |
|                        | `partition <https://more-itertools.readthedocs.io/en/stable/api.html#more_itertools.partition>`_                                                                            |
+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Lookahead and lookback | `spy <https://more-itertools.readthedocs.io/en/stable/api.html#more_itertools.spy>`_,                                                                                       |
|                        | `peekable <https://more-itertools.readthedocs.io/en/stable/api.html#more_itertools.peekable>`_,                                                                             |
|                        | `seekable <https://more-itertools.readthedocs.io/en/stable/api.html#more_itertools.seekable>`_                                                                              |
+------------------------+---------------------------------------------------------------------------------------------------------------

## Recent releases

| Version | Date | Urgency | Changes |
| --- | --- | --- | --- |
| `v11.1.0` | 2026-05-22 | High | Changes: * `numeric_range` was updated to fix its handling of empty ranges (thanks to rhettinger) * `peekable` was updated to fix typing issues (thanks to DORI2001, powellnorma, Pandede, m9810223, and rhettinger) * `islice_extended` was optimized for memory usage and speed (thanks to ben42code, rhettinger, and pochmann) * `serialize` now supports the generator methods `throw`, `send`, and `close` (thanks to rhettinger) * `seekable` now supports implements `__getitem__` for cached elements ( |
| `11.0.2` | 2026-04-21 | Low | Imported from PyPI (11.0.2) |
| `v11.0.2` | 2026-04-09 | Medium | * The changes to the type hints for `always_iterable` in 11.0.0 have been reverted due to reported problems (thanks to ngoldbaum and rhettinger) * `zip_equal` was removed in 11.0.0. It had been deprecated and raising ``DeprecationWarning`` since 2021, but it's removal shoul have been documented in 11.0.0's release notes. We regret the error. * `running_statistics` has been moved from ``more_itertools.more`` to ``more_itertools.recipes``. Its docstring was also improved (thanks to mastash3ff an |
| `v11.0.2` | 2026-04-09 | Medium | * The changes to the type hints for `always_iterable` in 11.0.0 have been reverted due to reported problems (thanks to ngoldbaum and rhettinger) * `zip_equal` was removed in 11.0.0. It had been deprecated and raising ``DeprecationWarning`` since 2021, but it's removal shoul have been documented in 11.0.0's release notes. We regret the error. * `running_statistics` has been moved from ``more_itertools.more`` to ``more_itertools.recipes``. Its docstring was also improved (thanks to mastash3ff an |
| `v11.0.2` | 2026-04-09 | Medium | * The changes to the type hints for `always_iterable` in 11.0.0 have been reverted due to reported problems (thanks to ngoldbaum and rhettinger) * `zip_equal` was removed in 11.0.0. It had been deprecated and raising ``DeprecationWarning`` since 2021, but it's removal shoul have been documented in 11.0.0's release notes. We regret the error. * `running_statistics` has been moved from ``more_itertools.more`` to ``more_itertools.recipes``. Its docstring was also improved (thanks to mastash3ff an |
| `v11.0.2` | 2026-04-09 | Medium | * The changes to the type hints for `always_iterable` in 11.0.0 have been reverted due to reported problems (thanks to ngoldbaum and rhettinger) * `zip_equal` was removed in 11.0.0. It had been deprecated and raising ``DeprecationWarning`` since 2021, but it's removal shoul have been documented in 11.0.0's release notes. We regret the error. * `running_statistics` has been moved from ``more_itertools.more`` to ``more_itertools.recipes``. Its docstring was also improved (thanks to mastash3ff an |
| `v11.0.2` | 2026-04-09 | Medium | * The changes to the type hints for `always_iterable` in 11.0.0 have been reverted due to reported problems (thanks to ngoldbaum and rhettinger) * `zip_equal` was removed in 11.0.0. It had been deprecated and raising ``DeprecationWarning`` since 2021, but it's removal shoul have been documented in 11.0.0's release notes. We regret the error. * `running_statistics` has been moved from ``more_itertools.more`` to ``more_itertools.recipes``. Its docstring was also improved (thanks to mastash3ff an |
| `v11.0.2` | 2026-04-09 | Medium | * The changes to the type hints for `always_iterable` in 11.0.0 have been reverted due to reported problems (thanks to ngoldbaum and rhettinger) * `zip_equal` was removed in 11.0.0. It had been deprecated and raising ``DeprecationWarning`` since 2021, but it's removal shoul have been documented in 11.0.0's release notes. We regret the error. * `running_statistics` has been moved from ``more_itertools.more`` to ``more_itertools.recipes``. Its docstring was also improved (thanks to mastash3ff an |
| `v11.0.2` | 2026-04-09 | Medium | * The changes to the type hints for `always_iterable` in 11.0.0 have been reverted due to reported problems (thanks to ngoldbaum and rhettinger) * `zip_equal` was removed in 11.0.0. It had been deprecated and raising ``DeprecationWarning`` since 2021, but it's removal shoul have been documented in 11.0.0's release notes. We regret the error. * `running_statistics` has been moved from ``more_itertools.more`` to ``more_itertools.recipes``. Its docstring was also improved (thanks to mastash3ff an |
| `v11.0.2` | 2026-04-09 | Medium | * The changes to the type hints for `always_iterable` in 11.0.0 have been reverted due to reported problems (thanks to ngoldbaum and rhettinger) * `zip_equal` was removed in 11.0.0. It had been deprecated and raising ``DeprecationWarning`` since 2021, but it's removal shoul have been documented in 11.0.0's release notes. We regret the error. * `running_statistics` has been moved from ``more_itertools.more`` to ``more_itertools.recipes``. Its docstring was also improved (thanks to mastash3ff an |

## Citation

- HTML: https://www.freshcrate.ai/projects/more-itertools
- Markdown: https://www.freshcrate.ai/projects/more-itertools.md
- Dependencies JSON: https://www.freshcrate.ai/api/projects/more-itertools/deps

_Generated by freshcrate.ai. Indexes pypi releases for AI-agent ecosystem packages._
