{ "info": { "author": "Alexander Schepanovski", "author_email": "suor.web@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Overload\n========\n\nOverload python functions to behave diffrently depending on number and types of arguments.\n\n\nInstall\n-------\n\n::\n\n pip install p2-overload\n\n\nUsage\n-----\n\n::\n\n from overload import *\n\n # types and number or agrs:\n @overload(int)\n def quantify(n):\n return 'quantify' * n\n\n @overload(str)\n def quantify(s):\n return s * 2\n\n @overload(str, int)\n def quantify(s, n):\n return s * n\n\n assert quantify(2) == 'quantifyquantify'\n assert quantify('bye') == 'byebye'\n assert quantify('xy', 3) == 'xyxyxy'\n\n # predicates on args\n @overload(int, int)\n def step(start, step):\n return start + step\n\n @overload(int, callable)\n def step(start, succ):\n return succ(start)\n\n # use tuple of types\n @overload((list, tuple))\n def twice(coll):\n return coll + coll\n\n # use custom predicates\n from whatever import _\n\n @overload(_ < 2) # same as lambda x: x < 2\n def fib(n):\n return n\n\n @overload(int)\n def fib(n):\n return fib(n-1) + fib(n-2)\n\n\nTODO\n----\n\n- support named and optional arguments\n- ellipsis", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/Suor/overload", "keywords": null, "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "p2-overload", "package_url": "https://pypi.org/project/p2-overload/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/p2-overload/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/Suor/overload" }, "release_url": "https://pypi.org/project/p2-overload/0.1/", "requires_dist": null, "requires_python": null, "summary": "Overload python 2 functions with decorator.", "version": "0.1" }, "last_serial": 795932, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "133a76a22e020eb9b2c4e5b6a4fd0d3d", "sha256": "3312f723e426b77c2eaeebc539be55f305067e2fc4941d54cc417d8f34ca8e55" }, "downloads": -1, "filename": "p2-overload-0.1.tar.gz", "has_sig": false, "md5_digest": "133a76a22e020eb9b2c4e5b6a4fd0d3d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2983, "upload_time": "2012-10-31T07:14:17", "url": "https://files.pythonhosted.org/packages/e6/5f/07d07ef3a660b2713df3a17ab8c89e06c5186b26cfab868b7f124f20e547/p2-overload-0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "133a76a22e020eb9b2c4e5b6a4fd0d3d", "sha256": "3312f723e426b77c2eaeebc539be55f305067e2fc4941d54cc417d8f34ca8e55" }, "downloads": -1, "filename": "p2-overload-0.1.tar.gz", "has_sig": false, "md5_digest": "133a76a22e020eb9b2c4e5b6a4fd0d3d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2983, "upload_time": "2012-10-31T07:14:17", "url": "https://files.pythonhosted.org/packages/e6/5f/07d07ef3a660b2713df3a17ab8c89e06c5186b26cfab868b7f124f20e547/p2-overload-0.1.tar.gz" } ] }