Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pytoolz/cytoolz
Cython implementation of Toolz: High performance functional utilities
https://github.com/pytoolz/cytoolz
Last synced: 4 days ago
JSON representation
Cython implementation of Toolz: High performance functional utilities
- Host: GitHub
- URL: https://github.com/pytoolz/cytoolz
- Owner: pytoolz
- License: other
- Fork: true (eriknw/cytoolz)
- Created: 2014-04-04T23:24:04.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-10-04T16:18:33.000Z (about 1 month ago)
- Last Synced: 2024-10-30T02:31:30.479Z (12 days ago)
- Language: Python
- Homepage:
- Size: 2.9 MB
- Stars: 1,006
- Watchers: 25
- Forks: 69
- Open Issues: 24
-
Metadata Files:
- Readme: README.rst
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-python-resources - GitHub - 32% open · ⏱️ 01.08.2022): (函数式编程)
README
CyToolz
=======|Build Status| |Version Status|
Cython implementation of the
|literal toolz|_ `package, `__ 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 `__
for more details.LICENSE
-------New BSD. See `License File `__.
Install
-------``cytoolz`` is on the Python Package Index (PyPI):
::
pip install cytoolz
Dependencies
------------``cytoolz`` supports Python 3.8+ 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 `__ and
`cytoolz `__
for contribution ideas.Community
---------See our `mailing list `__.
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