Skip to main content

Cython implementation of Kitoolz: High performance functional utilities

Project description

Build Status Version Status

Cython implementation of the toolz package, which provides high performance utility functions for iterables, functions, and dictionaries.

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.5+ 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ckitoolz-0.10.1.dev0.tar.gz (480.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ckitoolz-0.10.1.dev0-cp37-cp37m-macosx_10_9_x86_64.whl (397.0 kB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

File details

Details for the file ckitoolz-0.10.1.dev0.tar.gz.

File metadata

  • Download URL: ckitoolz-0.10.1.dev0.tar.gz
  • Upload date:
  • Size: 480.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.9

File hashes

Hashes for ckitoolz-0.10.1.dev0.tar.gz
Algorithm Hash digest
SHA256 510169ba67912272919a9eb7f1916e894b9497651306eadf55af19786ca17745
MD5 8e1961859c6b1e8720885a94148861e7
BLAKE2b-256 cb7d98ea4e67404646126a5325005698c306f7476d4dfc0414a7273ec4dc702c

See more details on using hashes here.

File details

Details for the file ckitoolz-0.10.1.dev0-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: ckitoolz-0.10.1.dev0-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 397.0 kB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.9

File hashes

Hashes for ckitoolz-0.10.1.dev0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 618340552e885e6bc87612c99c5e949ed51f90cd7f79ae82391d093f5af32cee
MD5 cffbdaa96c06a3c8b4c4c270e1f7ba65
BLAKE2b-256 8f97b5c03428e058f3c5466c157ea9835f43f5a337da8cbff850286cafd9538e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page