Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A collection of predicate factories, functions, and partials, for functional programming.
Python
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
docs
predicates
reqs
tests
.gitignore
.travis.yml
LICENSE.rst
MANIFEST.in
README.rst
setup.cfg
setup.py

README.rst

predicates

A collection of predicate factories, functions, and partials, for functional programming.

https://travis-ci.org/agoraplex/predicates.png?branch=master https://coveralls.io/repos/agoraplex/predicates/badge.png?branch=master

The predicates module provides a variety of predicates, predicate factories, and predicate partials.

"A predicate is a function that returns the truth value of some condition."

—Andrew M. Kuchling, Python Functional Programming HOWTO

Predicate factories are functions which create new predicates based on their arguments (e.g., _and, _nargs). Predicate partials are functions created by partial application of a predicate's arguments.

Complete project documentation is available. Project source is available at the github project page.

Install

To install from PyPI:

$ pip install predicates

Developer installation

To install the development version from the github repository:

$ git clone https://github.com/agoraplex/predicates.git predicates
$ cd predicates
$ virtualenv-2.7 --no-site-packages venv
$ pip install -e '.[docs,tests]'

Note

Pay particular attention to that pip install line. That's a period, followed by [docs,tests] [1] (and it's in single-quotes to keep bash from misunderstanding the square brackets).

Use nosetests to run the test suite:

$ python setup.py nosetests

Use Sphinx to generate the HTML docs:

# to build in build/sphinx/html/...:
$ python setup.py build_sphinx

# to build in docs/_build/html/... (which is what I do):
$ make -C docs
[1]Yes, it's a hack. See the python setup.py develop and extras thread on the python-distutils-sig mailing list).
Something went wrong with that request. Please try again.