{ "info": { "author": "Akif Patel", "author_email": "akifpatel@supernovaapps.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "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.\n\nExample:\n\n\timport pypartial #use <_ notation to partial apply functions\n\n\tbinary = int<_(base=2) #you can pass keyword arguemnts\n\tprint(binary('101010100101'))\n\n\timport random\n\tdice=random.randint<_(1, 6) #you can also pass non-keywords\n\tprint(dice())\n\tprint(dice())\n\n\tup_to_ten = range<_(_, 11) #you can leave args blank with '_'\n\tprint(list(up_to_ten(5)))\n\n\timport operator\n\tdouble = operator.mul<_(2)\n\tprint(double(7))\n\n\tclass Foo(object):\n\t def bar(self, a, b):\n\t print([a,b])\n\n\t def egg(self, a, b, c=9):\n\t print([a,b,c])\n\n\tfoo=Foo()\n\tbar7 = foo.bar<_(_, b=7) #works with methods too\n\tbar7(2)\n\n\tegg1 = foo.egg<_(_, 5)\n\tegg2 = egg1<_(c=9) #you can partially apply multiple times\n\tegg2(6)\n\n\tprint(egg2) #nice string representation\n\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://pypi.python.org/pypi/pypartial", "keywords": "python,functional programming,library,notation", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "pypartial", "package_url": "https://pypi.org/project/pypartial/", "platform": "", "project_url": "https://pypi.org/project/pypartial/", "project_urls": { "Homepage": "https://pypi.python.org/pypi/pypartial" }, "release_url": "https://pypi.org/project/pypartial/1.0.3/", "requires_dist": null, "requires_python": "", "summary": "Use partial function application in Python", "version": "1.0.3" }, "last_serial": 3193020, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "08aa5cf7d945126f40024756d981680e", "sha256": "39afd0380e14a64248bd65014a952e90046531df7c3b061d2315d30dd612dc3d" }, "downloads": -1, "filename": "pypartial-1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "08aa5cf7d945126f40024756d981680e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3628, "upload_time": "2017-09-21T21:36:52", "url": "https://files.pythonhosted.org/packages/05/a7/920b29904523928f29cf19de7a6f2d57a71bc485fe2a66e83ba70a289f25/pypartial-1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2ad21941d9660a142ebe36b6550206cf", "sha256": "a9cf037fb3e11671b505269bc37d7679024dbf33e708e83a8f92336ff4524817" }, "downloads": -1, "filename": "pypartial-1.0.tar.gz", "has_sig": false, "md5_digest": "2ad21941d9660a142ebe36b6550206cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6137, "upload_time": "2017-09-21T21:36:53", "url": "https://files.pythonhosted.org/packages/05/05/c2f9e6673d361a02c66209ae0de6ded4a755c20ae8f0eaae704efb6b4237/pypartial-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "c8c8f6ff994dcd57bd67f58bfbd7f7f8", "sha256": "73962c56ef0ce36a623e1ac1ce03158a0cf234c953e0498a55e5ec30de8e3dc8" }, "downloads": -1, "filename": "pypartial-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c8c8f6ff994dcd57bd67f58bfbd7f7f8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3655, "upload_time": "2017-09-21T21:39:11", "url": "https://files.pythonhosted.org/packages/01/57/6793e16c9c1a0f62bfcddcd3254b960e1c3d46917107e61f38f637d288b1/pypartial-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "22e1629fb09f30bea1f81e3876429f8b", "sha256": "41ffb345450aa129544b0c4d8894287d6be6b5b783a15cee5a7452600f3c4ac6" }, "downloads": -1, "filename": "pypartial-1.0.1.tar.gz", "has_sig": false, "md5_digest": "22e1629fb09f30bea1f81e3876429f8b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6145, "upload_time": "2017-09-21T21:39:13", "url": "https://files.pythonhosted.org/packages/66/51/44b7c958921f79627a1b30843d76b23cb63d10e0ffaf1cafb09ae84239d9/pypartial-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "dc0908d3f1bd99a62dc18a6e2c4dbfdd", "sha256": "50688c30b3db486cf581ca889c07845a2534196f02c733c88dfe6da02fb08e77" }, "downloads": -1, "filename": "pypartial-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "dc0908d3f1bd99a62dc18a6e2c4dbfdd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3653, "upload_time": "2017-09-21T21:42:17", "url": "https://files.pythonhosted.org/packages/2c/22/b06fe8aee0ef85b8e532e77d036a635cc7e3d211873b46bd4a442f7ca1dd/pypartial-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d8b270df73b97ffb4196aaeb1322286f", "sha256": "59ecda96e71112da8b59e83bf89ad87979a269bdc2cdafd5f073a008ad070fb1" }, "downloads": -1, "filename": "pypartial-1.0.2.tar.gz", "has_sig": false, "md5_digest": "d8b270df73b97ffb4196aaeb1322286f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6147, "upload_time": "2017-09-21T21:42:18", "url": "https://files.pythonhosted.org/packages/56/23/106bb6b893bc1347600e64d06458beaf3a8e9316b9e69336dcc624f6071d/pypartial-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "0a8ccdb8eff0db0a55484355c2764c7c", "sha256": "0342efecf5a8dac280e3f2891acd780550b17ac9df7a8e2439c48a5ff4461fc9" }, "downloads": -1, "filename": "pypartial-1.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0a8ccdb8eff0db0a55484355c2764c7c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3643, "upload_time": "2017-09-21T21:45:55", "url": "https://files.pythonhosted.org/packages/1a/3a/924cbdb4ca61e78befc4a647838a29de12bc1dde086a15dbe16da2a92dd7/pypartial-1.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "18cc3a7b026786ec9946a2fc3534d483", "sha256": "00f136d02ff67c3f3031fa6af7649a9f06d0b953e5906907e582d67dc6c37e9f" }, "downloads": -1, "filename": "pypartial-1.0.3.tar.gz", "has_sig": false, "md5_digest": "18cc3a7b026786ec9946a2fc3534d483", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6137, "upload_time": "2017-09-21T21:45:56", "url": "https://files.pythonhosted.org/packages/4a/d2/64ff730b41463f0bc972e2799a909015e6a72a4bffabddc77a10b4e6a544/pypartial-1.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0a8ccdb8eff0db0a55484355c2764c7c", "sha256": "0342efecf5a8dac280e3f2891acd780550b17ac9df7a8e2439c48a5ff4461fc9" }, "downloads": -1, "filename": "pypartial-1.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0a8ccdb8eff0db0a55484355c2764c7c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3643, "upload_time": "2017-09-21T21:45:55", "url": "https://files.pythonhosted.org/packages/1a/3a/924cbdb4ca61e78befc4a647838a29de12bc1dde086a15dbe16da2a92dd7/pypartial-1.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "18cc3a7b026786ec9946a2fc3534d483", "sha256": "00f136d02ff67c3f3031fa6af7649a9f06d0b953e5906907e582d67dc6c37e9f" }, "downloads": -1, "filename": "pypartial-1.0.3.tar.gz", "has_sig": false, "md5_digest": "18cc3a7b026786ec9946a2fc3534d483", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6137, "upload_time": "2017-09-21T21:45:56", "url": "https://files.pythonhosted.org/packages/4a/d2/64ff730b41463f0bc972e2799a909015e6a72a4bffabddc77a10b4e6a544/pypartial-1.0.3.tar.gz" } ] }