{ "info": { "author": "Daniel Pepper", "author_email": "", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Topic :: Utilities" ], "description": "ambiguous\n======\nbecause magic is fun\n\n\n### Install\n```pip install ambiguous```\n\n\n### Usage\n\n#### decorator: because decorators should accept args too\n```\n@decorator\ndef suffix(fn, str_='xyz'):\n '''add a suffix to the result of the wrapped fn'''\n def wrapper(*args, **kwargs):\n return '%s_%s' % (fn(*args, **kwargs), str_)\n return wrapper\n\n@suffix\ndef abc(): return 'abc'\n\nabc()\n> 'abc_xyz'\n\n@suffix('123')\ndef count(repeat=1): return '0' * repeat\n\ncount()\n> '0_123'\ncount(3)\n> '000_123'\n```\n\n#### thing_or_things: merges gets and multigets\n\n```\n@thing_or_things\ndef itself(args):\n return { x : x for x in args }\n\nitself(1)\n> 1\nitself([1, 2])\n> { 1 : 1, 2 : 2 }\n\n\n# specified argument\n@thing_or_things('args')\ndef prefix(prefix, args):\n return { x : \"%s_%s\" % (prefix, x) for x in args }\n\nprefix('abc', [1, 2])\n> { 1 : 'abc_1', 2 : 'abc_2' }\n\n\n# works with default args\n@thing_or_things\ndef multiply(args, factor=1):\n return { x : x * factor for x in args }\n\nmultiply(2)\n> 2\nmultiply(2, factor=2)\n> 4\nmultiply([1, 2], factor=3)\n> { 1 : 3, 2 : 6 }\n```\n\n#### what, parentheses optional?! (warning: still highly experimental)\n```\nimport ambiguous\n\n@ambiguous\ndef foo():\n return 'foo'\n\nprint foo\n> 'foo'\nprint foo()\n> 'foo'\nfoo + 'abc'\n> 'fooabc'\n```\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/dpep/pyambiguous", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "ambiguous", "package_url": "https://pypi.org/project/ambiguous/", "platform": "any", "project_url": "https://pypi.org/project/ambiguous/", "project_urls": { "Homepage": "https://github.com/dpep/pyambiguous" }, "release_url": "https://pypi.org/project/ambiguous/0.4.0/", "requires_dist": null, "requires_python": "", "summary": "python dark magic", "version": "0.4.0" }, "last_serial": 4827488, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "85d5776897146c24b5adbd194af541cc", "sha256": "25df06d1f6b1cbbf135248f060a1673242fc6bc68dabfe6aa412c746bf73a79f" }, "downloads": -1, "filename": "ambiguous-0.1.0.tar.gz", "has_sig": true, "md5_digest": "85d5776897146c24b5adbd194af541cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3277, "upload_time": "2018-02-23T04:33:40", "url": "https://files.pythonhosted.org/packages/40/92/45943aed5b45c1ce458b6cd3a79a1a1377c3a326f80a0b00779f7194834d/ambiguous-0.1.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "1f249ed49355596b093e278f042e7243", "sha256": "cf71e22aec802263e16880b1c411e4f8511d1589a4f8f53eaedbee9368937c9e" }, "downloads": -1, "filename": "ambiguous-0.2.1.tar.gz", "has_sig": true, "md5_digest": "1f249ed49355596b093e278f042e7243", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6913, "upload_time": "2018-03-24T00:47:34", "url": "https://files.pythonhosted.org/packages/62/a1/e4dd6f591f83e916139d86b235654d14dc08330812ceea55ec360db98cf7/ambiguous-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "29e350f594b4992e5b26b94ec7524151", "sha256": "9e6160217898545c6284e8a3b7ffee778df2fe6c83c5c3aa68cb0cb8c60bfdaa" }, "downloads": -1, "filename": "ambiguous-0.3.0.tar.gz", "has_sig": true, "md5_digest": "29e350f594b4992e5b26b94ec7524151", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6577, "upload_time": "2018-04-17T00:54:45", "url": "https://files.pythonhosted.org/packages/08/08/b45790a1cddc52f97db624126a6203d351077273933f1a79f24aae8b5446/ambiguous-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "e3f379166f4761ba6f6518699748aba7", "sha256": "b1e11ed454e85df907753c9e6ba770450ee9fc9fecad354bab80bb34249ee91f" }, "downloads": -1, "filename": "ambiguous-0.3.1.tar.gz", "has_sig": true, "md5_digest": "e3f379166f4761ba6f6518699748aba7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6644, "upload_time": "2018-04-25T04:25:35", "url": "https://files.pythonhosted.org/packages/72/6c/0bf742dd9c3b8a118bacd48521ea2e1f23e126a4be36830333cc34555cd3/ambiguous-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "07d382dc4b2f0cd4ddcef422380f3536", "sha256": "bd7f016783ae7057c492547f6f7d85cf9a14d13ca22063abff79aa9d9f133623" }, "downloads": -1, "filename": "ambiguous-0.3.2.tar.gz", "has_sig": true, "md5_digest": "07d382dc4b2f0cd4ddcef422380f3536", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7015, "upload_time": "2018-09-11T02:02:38", "url": "https://files.pythonhosted.org/packages/dd/31/507f331e0aeaaae0d02091d096c131ce0a4cee22eb313c770f78eba7b244/ambiguous-0.3.2.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "cd29c9bfdb1a91bee3604b502377ee6d", "sha256": "d7a5a8f2625ef69d53d2bfd52730b8bcf5727c260e5c1209cdf149a32fb9f163" }, "downloads": -1, "filename": "ambiguous-0.4.0.tar.gz", "has_sig": true, "md5_digest": "cd29c9bfdb1a91bee3604b502377ee6d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6715, "upload_time": "2019-02-16T00:51:08", "url": "https://files.pythonhosted.org/packages/b8/4c/23191436adf4d7391a45312570c2e5a0baf6dc44144a66f122836821c87e/ambiguous-0.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cd29c9bfdb1a91bee3604b502377ee6d", "sha256": "d7a5a8f2625ef69d53d2bfd52730b8bcf5727c260e5c1209cdf149a32fb9f163" }, "downloads": -1, "filename": "ambiguous-0.4.0.tar.gz", "has_sig": true, "md5_digest": "cd29c9bfdb1a91bee3604b502377ee6d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6715, "upload_time": "2019-02-16T00:51:08", "url": "https://files.pythonhosted.org/packages/b8/4c/23191436adf4d7391a45312570c2e5a0baf6dc44144a66f122836821c87e/ambiguous-0.4.0.tar.gz" } ] }