import os.path import cytoolz __all__ = ['raises', 'no_default', 'include_dirs', 'consume'] try: # Attempt to get the no_default sentinel object from toolz from toolz.utils import no_default except ImportError: no_default = '__no__default__' def raises(err, lamda): try: lamda() return False except err: return True def include_dirs(): """ Return a list of directories containing the *.pxd files for ``cytoolz`` Use this to include ``cytoolz`` in your own Cython project, which allows fast C bindinds to be imported such as ``from cytoolz cimport get``. Below is a minimal "setup.py" file using ``include_dirs``: from distutils.core import setup from distutils.extension import Extension from Cython.Distutils import build_ext import cytoolz.utils ext_modules=[ Extension("mymodule", ["mymodule.pyx"], include_dirs=cytoolz.utils.include_dirs() ) ] setup( name = "mymodule", cmdclass = {"build_ext": build_ext}, ext_modules = ext_modules ) """ return os.path.split(cytoolz.__path__[0]) cpdef object consume(object seq): """ Efficiently consume an iterable """ for _ in seq: pass