1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
|
Metadata-Version: 2.4
Name: cytoolz
Version: 1.1.0
Summary: Cython implementation of Toolz: High performance functional utilities
Author: CyToolz contributors
Author-email: Erik Welch <erik.n.welch@gmail.com>
Maintainer-email: Erik Welch <erik.n.welch@gmail.com>
License-Expression: BSD-3-Clause
Project-URL: homepage, https://github.com/pytoolz/cytoolz
Project-URL: repository, https://github.com/pytoolz/cytoolz
Project-URL: documentation, https://toolz.readthedocs.io/en/latest/
Project-URL: changelog, https://github.com/pytoolz/cytoolz/releases
Keywords: functional,utility,itertools,functools,iterator,generator,curry,memoize,lazy,streaming,bigdata,cython,toolz,cytoolz
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Cython
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Programming Language :: Python :: Free Threading :: 1 - Unstable
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Utilities
Requires-Python: >=3.9
Description-Content-Type: text/x-rst
License-File: LICENSE.txt
Requires-Dist: toolz>=0.8.0
Provides-Extra: cython
Requires-Dist: cython>=0.29; extra == "cython"
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Dynamic: license-file
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
|