{ "info": { "author": "Alexander Schepanovski", "author_email": "suor.web@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "The Whatever Object\n===================\n\nAn easy way to make lambdas by partial application of python operators.\n\nInspired by Perl 6 one, see http://perlcabal.org/syn/S02.html#The_Whatever_Object\n\n\nUsage\n-----\n\n.. code:: python\n\n from whatever import _, that\n\n # get a list of guys names\n names = map(_.name, guys)\n names = map(that.name, guys)\n\n odd = map(_ * 2 + 1, range(10))\n\n squares = map(_ ** 2, range(100))\n small_squares = filter(_ < 100, squares)\n\n best = max(tries, key=_.score)\n sort(guys, key=-that.height)\n\n factorial = lambda n: reduce(_ * _, range(2, n+1))\n\nNOTE: chained comparisons cannot be implemented since there is no boolean overloading in python.\n\n\nCAVEATS\n-------\n\nIn some special cases whatever can cause confusion:\n\n.. code:: python\n\n _.attr # this makes callable\n obj._ # this fetches '_' attribute of obj\n\n _[key] # this works too\n d[_] # KeyError, most probably\n\n _._ # short for attrgetter('_')\n _[_] # short for lambda d, k: d[k]\n\n if _ == 'Any value':\n # You will get here, definitely\n # `_ == something` produces callable, which is true\n\n [1, 2, _ * 2, None].index('hi') # => 2, since bool(_ * 2 == 'hi') is True\n\n\nAlso, whatever sometimes fails on late binding:\n\n.. code:: python\n\n (_ * 2)('2') # -> NotImplemented\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/Suor/whatever", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "whatever", "package_url": "https://pypi.org/project/whatever/", "platform": "", "project_url": "https://pypi.org/project/whatever/", "project_urls": { "Homepage": "http://github.com/Suor/whatever" }, "release_url": "https://pypi.org/project/whatever/0.5/", "requires_dist": null, "requires_python": "", "summary": "Easy way to make anonymous functions by partial application of operators.", "version": "0.5" }, "last_serial": 3119959, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "af950e23554eda8c7e0275b7812d1bde", "sha256": "a1b2de727e8ef8c8171aabd91341d036df0a80bb33c4e4f66bd7db1074199c5a" }, "downloads": -1, "filename": "whatever-0.1.tar.gz", "has_sig": false, "md5_digest": "af950e23554eda8c7e0275b7812d1bde", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3164, "upload_time": "2012-10-14T01:01:38", "url": "https://files.pythonhosted.org/packages/61/3c/1fc2dc1484e6fdf3d81ee809b344e16e5776b96ec8903189e08ee10239a4/whatever-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "52285545bb9bdf7916bad0a204679d6f", "sha256": "f014754b41b8b05fa672e6921e869573c9a680ea322d295a364854b5f1897c30" }, "downloads": -1, "filename": "whatever-0.2.tar.gz", "has_sig": false, "md5_digest": "52285545bb9bdf7916bad0a204679d6f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3488, "upload_time": "2012-10-17T13:54:28", "url": "https://files.pythonhosted.org/packages/2f/19/75aa1942d0f24b628f2ed00c769dbf58d36749f6001f0b9ea526fcae846c/whatever-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "4eae58ab15c33b92a3dbb23b3e0fc4d0", "sha256": "9e66489ff6b83f153841abf7a37a38c0df42d70c1a2ca681cda6fd064bcf1f22" }, "downloads": -1, "filename": "whatever-0.2.1.tar.gz", "has_sig": false, "md5_digest": "4eae58ab15c33b92a3dbb23b3e0fc4d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3719, "upload_time": "2012-10-30T11:16:10", "url": "https://files.pythonhosted.org/packages/b1/1c/015d11f4550f0e4a00be0668cbad2f0170593fcf609a3e3d0c5fb71b9d8f/whatever-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "1068bb5e01726b53317ed084617560a3", "sha256": "e5e1c626ee2ba7d626344bc68eec002e2d3689bfdc62bf85f8d2fe1bbcd2d277" }, "downloads": -1, "filename": "whatever-0.2.2.tar.gz", "has_sig": false, "md5_digest": "1068bb5e01726b53317ed084617560a3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3780, "upload_time": "2013-05-22T02:53:42", "url": "https://files.pythonhosted.org/packages/b1/f0/589374cf267ed7113cb887050c3eb3aed4499d0d29eaf181885d25c09d33/whatever-0.2.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "e341545a2a4d78bdc0ff16e56ee9176e", "sha256": "61bcd24933753f066bcbfc4103547e8c10a9c66d9f5138a258297e0bc75134c3" }, "downloads": -1, "filename": "whatever-0.3.tar.gz", "has_sig": false, "md5_digest": "e341545a2a4d78bdc0ff16e56ee9176e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3914, "upload_time": "2013-11-29T10:24:10", "url": "https://files.pythonhosted.org/packages/da/f7/fab2c5b045a0c5d3d45c4fcc2cc516c0d050d9eb13245a5f63b3d3bd0c6e/whatever-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "c52005916d3b627d204956c625d9f7e8", "sha256": "4be25ef8763e67def632d2b4f1e18267a54968fd384ce3406fc4aa5f66aa6793" }, "downloads": -1, "filename": "whatever-0.4.tar.gz", "has_sig": false, "md5_digest": "c52005916d3b627d204956c625d9f7e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4585, "upload_time": "2014-02-25T05:49:58", "url": "https://files.pythonhosted.org/packages/22/2f/4b40d73fef7a7a1dbf6b305d058132cbfbe28d964c1f98dd2a6a787bcfc7/whatever-0.4.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "b95cce4cf36bca56386f9b0d82872c0e", "sha256": "739367089542920354a67472021a73437b1d326c4d55d30a2714947e2004587d" }, "downloads": -1, "filename": "whatever-0.4.1.tar.gz", "has_sig": false, "md5_digest": "b95cce4cf36bca56386f9b0d82872c0e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4877, "upload_time": "2014-08-15T15:26:53", "url": "https://files.pythonhosted.org/packages/84/d9/67cf8714247294d6059e728ff7fdffe2a1779b7aa42612e97d605e985cd9/whatever-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "4b652e439420d9b8e1c5d33e629cfcbf", "sha256": "7ddbad2e6afb122efd45a8bfead93b466b2cd18056d5cd77804e7d3878d8f3ce" }, "downloads": -1, "filename": "whatever-0.4.2.tar.gz", "has_sig": false, "md5_digest": "4b652e439420d9b8e1c5d33e629cfcbf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4971, "upload_time": "2016-11-09T14:55:56", "url": "https://files.pythonhosted.org/packages/be/f8/cff5dc8299eb24c9a9174591bdc5e0e161dc1fa9c353124255ee8d433c19/whatever-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "8de7e9ee8922a6eef715295ca46278ec", "sha256": "84b7ade155d5c529b35f013f68ebaf31b7853f410d87582e225db875ef65771f" }, "downloads": -1, "filename": "whatever-0.4.3.tar.gz", "has_sig": false, "md5_digest": "8de7e9ee8922a6eef715295ca46278ec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4544, "upload_time": "2017-06-11T14:01:27", "url": "https://files.pythonhosted.org/packages/06/6f/1888d31bed4103c6552b3b5b689da7767dcc8d1531836b93f36ba0ca3d25/whatever-0.4.3.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "991fb0b026fe4b1ba70ea87179783156", "sha256": "843f97ac3d053f62367b679ba54323ea96ba6bdbcff823e1153bc873e7b7dd23" }, "downloads": -1, "filename": "whatever-0.5.tar.gz", "has_sig": false, "md5_digest": "991fb0b026fe4b1ba70ea87179783156", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4714, "upload_time": "2017-08-24T10:31:48", "url": "https://files.pythonhosted.org/packages/46/43/afe8a5e0adc8d3e6737c22fe8a1b47a654c67825ddccdc58e9ebf8582c3e/whatever-0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "991fb0b026fe4b1ba70ea87179783156", "sha256": "843f97ac3d053f62367b679ba54323ea96ba6bdbcff823e1153bc873e7b7dd23" }, "downloads": -1, "filename": "whatever-0.5.tar.gz", "has_sig": false, "md5_digest": "991fb0b026fe4b1ba70ea87179783156", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4714, "upload_time": "2017-08-24T10:31:48", "url": "https://files.pythonhosted.org/packages/46/43/afe8a5e0adc8d3e6737c22fe8a1b47a654c67825ddccdc58e9ebf8582c3e/whatever-0.5.tar.gz" } ] }