Skip to content

Commit

Permalink
Flesh out "setup.py" and "README.rst" in preparation for distributing…
Browse files Browse the repository at this point in the history
… to PyPI.

Also, bump version to 0.6.0
  • Loading branch information
eriknw committed Apr 30, 2014
1 parent ce7fd63 commit 488cf4f
Show file tree
Hide file tree
Showing 5 changed files with 116 additions and 6 deletions.
3 changes: 3 additions & 0 deletions AUTHORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Erik Welch [@eriknw](https://github.com/eriknw/)

[Matthew Rocklin](http://matthewrocklin.com) [@mrocklin](http://github.com/mrocklin/)
74 changes: 71 additions & 3 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,74 @@
CyToolz
=====
=======

Cython implementation of the `toolz <https://github.com/pytoolz/toolz>`__ package.
|Build Status| |Coverage Status| |Downloads|

**CURRENTLY IN ALPHA** (but feedback and pull requests are most welcome!)
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 seemlessly 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 spectactular
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 http://toolz.readthedocs.org and the full
`API Documentation <http://toolz.readthedocs.org/en/latest/api.html>`__
for more details.

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 2.6+ and Python 3.2+ 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
ang 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.

.. |Build Status| image:: https://travis-ci.org/pytoolz/cytoolz.png
:target: https://travis-ci.org/pytoolz/cytoolz
.. |Version Status| image:: https://pypip.in/v/cytoolz/badge.png
:target: https://pypi.python.org/pypi/cytoolz/
.. |Downloads| image:: https://pypip.in/d/cytoolz/badge.png
:target: https://pypi.python.org/pypi/cytoolz/
2 changes: 1 addition & 1 deletion cytoolz/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@
# Aliases
comp = compose

from ._version import __version__
from ._version import __version__, __toolz_version__
3 changes: 2 additions & 1 deletion cytoolz/_version.py
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
__version__ = '0.5.3dev'
__version__ = '0.6.0dev'
__toolz_version__ = '0.6.0'
40 changes: 39 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
""" Build `cytoolz` with or without Cython.
""" Build ``cytoolz`` with or without Cython.
Deployed versions of CyToolz do not rely on Cython by default even if the
user has Cython installed. A C compiler is used to compile the distributed
Expand Down Expand Up @@ -64,8 +64,46 @@
if __name__ == '__main__':
setup(
name='cytoolz',
version=VERSION,
description=('Cython implementation of Toolz: '
'High performance functional utilities'),
cmdclass=cmdclass,
ext_modules=ext_modules,
long_description=(open('README.rst').read() if exists('README.rst')
else ''),
url='https://github.com/pytoolz/cytoolz',
author='https://raw.github.com/pytoolz/cytoolz/master/AUTHORS.md',
author_email='[email protected]',
maintainer='Erik Welch',
maintainer_email='[email protected]',
licence = 'BSD',
packages=['cytoolz'],
package_data={'cytoolz': ['*.pxd']},
# include_package_data = True,
keywords=('functional utility itertools functools iterator generator'
'curry memoize lazy streaming bigdata cython toolz cytoolz'),
classifiers = [
'Development Status :: 4 - Beta',
'Intended Audience :: Developers',
'Intended Audience :: Education',
'Intended Audience :: Science/Research',
'License :: OSI Approved :: BSD License',
'Operating System :: OS Independent',
'Programming Language :: Cython',
'Programming Language :: Python',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.6',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.2',
'Programming Language :: Python :: 3.3',
# 'Programming Language :: Python :: 3.4',
'Topic :: Scientific/Engineering',
'Topic :: Scientific/Engineering :: Information Analysis',
'Topic :: Software Development',
'Topic :: Software Development :: Libraries',
'Topic :: Software Development :: Libraries :: Python Modules',
'Topic :: Utilities',
],
zip_safe=False
)

0 comments on commit 488cf4f

Please sign in to comment.