Metadata-Version: 2.0
Name: pypartial
Version: 1.0.2
Summary: Use partial function application in Python
Home-page: https://pypi.python.org/pypi/pypartial
Author: Akif Patel
Author-email: akifpatel@supernovaapps.com
License: Apache 2.0
Keywords: python,functional programming,library,notation
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Libraries :: Python Modules

Pypartial is a simple Python library that allows the use of partial function application notation in native Python. It is extremely useful when trying to write concise and clear code, and extends the ease offered by Python's functional programming features.

Example:

	import pypartial #use <_ notation to partial apply functions

	binary = int<_(base=2) #you can pass keyword arguemnts
	print(binary('101010100101'))

	import random
	dice=random.randint<_(1, 6) #you can also pass non-keywords
	print(dice())
	print(dice())

	up_to_ten = range<_(_, 11) #you can leave args blank with '_'
	print(list(up_to_ten(5)))

	import operator
	double = operator.mul<_(2)
	print(double(7))

	class Foo(object):
	  def bar(self, a, b):
	    print([a,b])

	  def egg(self, a, b, c=9):
	    print([a,b,c])

	foo=Foo()
	bar7 = foo.bar<_(_, b=7) #works with methods too
	bar7(2)

	egg1 = foo.egg<_(_, 5)
	egg2 = egg1<_(c=9) #you can partially apply multiple times
	egg2(6)

	print(egg2) #nice string representation



