# cytoolz

> Cython implementation of Toolz: High performance functional utilities

- **URL**: https://www.freshcrate.ai/projects/cytoolz
- **Author**: CyToolz contributors
- **Category**: RAG & Memory
- **Latest version**: `1.1.0` (2026-04-21)
- **License**: Unknown
- **Source**: https://github.com/pytoolz/cytoolz/releases
- **Homepage**: https://pypi.org/project/cytoolz/
- **Language**: Python
- **GitHub**: 1,108 stars, 76 forks
- **Registry**: pypi (`cytoolz`)
- **Tags**: `curry`, `functional`, `functools`, `generator`, `iterator`, `itertools`, `memoize`, `pypi`, `utility`

## Description

CyToolz
=======

|Build Status| |Version Status|

Cython implementation of the
|literal toolz|_ `package, <https://pypi.python.org/pypi/toolz/>`__ which
provides high performance utility functions for iterables, functions,
and dictionaries.

.. |literal toolz| replace:: ``toolz``
.. _literal toolz: https://github.com/pytoolz/toolz

``toolz`` is a pure Python package that borrows heavily from contemporary
functional languanges.  It is designed to interoperate seamlessly with other
libraries including ``itertools``, ``functools``, and third party libraries.
High performance functional data analysis is possible with builtin types
like ``list`` and ``dict``, and user-defined data structures; and low memory
usage is achieved by using the iterator protocol and returning iterators
whenever possible.

``cytoolz`` implements the same API as ``toolz``.  The main differences are
that ``cytoolz`` is faster (typically 2-5x faster with a few spectacular
exceptions) and ``cytoolz`` offers a C API that is accessible to other
projects developed in Cython.  Since ``toolz`` is able to process very
large (potentially infinite) data sets, the performance increase gained by
using ``cytoolz`` can be significant.

See the PyToolz documentation at https://toolz.readthedocs.io and the full
`API Documentation <https://toolz.readthedocs.io/en/latest/api.html>`__
for more details.

*CyToolz has experimental support for Python free-threading introduced in
Python 3.13 and provides wheels for free-threaded Python. CyToolz has not
yet been developed or tested for thread-safety, so use at your own risk!
If you encounter any issues, please*
`let us know <https://github.com/pytoolz/cytoolz/issues>`__.

LICENSE
-------

New BSD. See `License File <https://github.com/pytoolz/cytoolz/blob/master/LICENSE.txt>`__.


Install
-------

``cytoolz`` is on the Python Package Index (PyPI):

::

    pip install cytoolz

Dependencies
------------

``cytoolz`` supports Python 3.9+ with a common codebase.
It is developed in Cython, but requires no dependecies other than CPython
and a C compiler.  Like ``toolz``, it is a light weight dependency.

Contributions Welcome
---------------------

``toolz`` (and ``cytoolz``) aims to be a repository for utility functions,
particularly those that come from the functional programming and list
processing traditions. We welcome contributions that fall within this scope
and encourage users to scrape their ``util.py`` files for functions that are
broadly useful.

Please take a look at our issue pages for
`toolz <https://github.com/pytoolz/toolz/issues>`__ and
`cytoolz <https://github.com/pytoolz/cytoolz/issues>`__
for contribution ideas.

Community
---------

See our `mailing list <https://groups.google.com/forum/#!forum/pytoolz>`__.
We're friendly.

.. |Build Status| image:: https://github.com/pytoolz/cytoolz/actions/workflows/test.yml/badge.svg?branch=master
   :target: https://github.com/pytoolz/cytoolz/actions
.. |Version Status| image:: https://badge.fury.io/py/cytoolz.svg
   :target: http://badge.fury.io/py/cytoolz

## Recent releases

| Version | Date | Urgency | Changes |
| --- | --- | --- | --- |
| `1.1.0` | 2026-04-21 | Low | Imported from PyPI (1.1.0) |
| `1.1.0a2` | 2025-10-17 | Low | _**This is a pre-release**_  - Add support for Python 3.14 - Drop support for Python 3.8 - Update to match `toolz` 1.1.0 - Package, tooling, infrastructure modernization  Full release notes will be included for 1.1.0 |
| `1.1.0a1` | 2025-10-17 | Low | _**This is a pre-release**_  - Add support for Python 3.14 - Drop support for Python 3.8 - Update to match `toolz` 1.1.0 - Package, tooling, infrastructure modernization  Full release notes will be included for 1.1.0 |
| `1.1.0a0` | 2025-10-17 | Low | _**This is a pre-release**_  - Add support for Python 3.14 - Drop support for Python 3.8 - Update to match `toolz` 1.1.0 - Package, tooling, infrastructure modernization  Full release notes will be included for 1.1.0 |
| `1.0.1` | 2024-12-13 | Low | - Add support for Python 3.13 by @eriknw in #216 |
| `1.0.0` | 2024-10-04 | Low | ## What's Changed * Test fixes for Python 3.13 by @opoplawski in https://github.com/pytoolz/cytoolz/pull/206 * Drop Python 3.7 by @jrbourbeau in https://github.com/pytoolz/cytoolz/pull/207 * Bump ``cibuildwheel`` in CI by @jrbourbeau in https://github.com/pytoolz/cytoolz/pull/208  ## New Contributors * @opoplawski made their first contribution in https://github.com/pytoolz/cytoolz/pull/206 * @jrbourbeau made their first contribution in https://github.com/pytoolz/cytoolz/pull/207  **Full |
| `0.12.3` | 2024-01-25 | Low | - Add support for Python 3.12, PyPy 3.9, and PyPy 3.10 - Update to match `toolz` 0.12.1 |
| `0.12.3a2` | 2024-01-24 | Low | _**This is a pre-release**_  - Support Python 3.12 - Match `toolz` 0.12.1 - Fix docstring to match `toolz` - Don't run "release" tests on PyPy when building wheels |
| `0.12.3a1` | 2024-01-24 | Low | _**This is a pre-release**_  - Support Python 3.12 - Match `toolz` 0.12.1 - Fix docstring to match `toolz` |
| `0.12.3a0` | 2024-01-24 | Low | _**This is a pre-release**_  - Support Python 3.12 - Match `toolz` 0.12.1 |

## Citation

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

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