{ "info": { "author": "Alexander Bryazgin", "author_email": "bryazgin64@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "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", "Topic :: Software Development" ], "description": "coalesce\n========\n\nSimple Python library with coalesce function and \"magic\" empty value and\nothers features\n\nInstallation\n------------\n\n::\n\n pip install coalesce\n\nFeatures\n--------\n\nUniqueValue\n~~~~~~~~~~~\n\nThis is a factory of some abstract unique values\n\nExample:\n\n.. code:: python\n\n from coalesce import UniqueValue\n\n Yes = UniqueValue(truthful=True)\n MayBe = UniqueValue()\n IDontKnow = UniqueValue()\n Unlikely = UniqueValue()\n No = UniqueValue(truthful=False)\n\n\n def answer_lottery():\n import random\n return random.choice((Yes, MayBe, IDontKnow, Unlikely, No))\n\n\n print(\"- Are you hungry?\")\n hungry_answer = answer_lottery()\n try:\n if hungry_answer:\n print(\"- YES, i would eat an elephant!\")\n else:\n print(\"- I'm fed up...\")\n except TypeError:\n print(\"- Well, I want only coffee\")\n\n\n print(\"- Will you marry me?\")\n marry_answer = answer_lottery()\n if marry_answer == Yes:\n print(\"- Well, finally, YES!\")\n elif marry_answer == MayBe:\n print(\"- Well, only if you really are rich...\")\n elif marry_answer == IDontKnow:\n print(\"- I need to think...\")\n elif marry_answer == Unlikely:\n print(\"- When the cancer on the mountain whistles.\")\n elif marry_answer == No:\n print(\"- Who are you, boy?\")\n\nempty\n~~~~~\n\nThe ``empty`` is conrete falsely UniqueValue.\n\nUsing in situations, when we want differ None and real \"empty\" value.\nFor example set a dynamically calculated default value:\n\n.. code:: python\n\n from coalesce import empty\n from random import randint\n\n\n def f(value=empty):\n if value == empty:\n value = randint(1,10)\n print('value={}'.format(value))\n\n f() # value=\n f(None) # value=None\n\ncoalesce\n~~~~~~~~\n\nFunction returns first not ignoring value from iterable object. By\ndefault ignoring ``empty`` value\n\nExample:\n\n.. code:: python\n\n from coalesce import coalesce, empty\n from random import randint\n\n\n def f(value=empty):\n value = coalesce([value, randint(1,10)])\n print('value={}'.format(value))\n\n f() # value=\n f(None) # value=None\n\n print coalesce([None, 1, 2], ignore=None, default=-7) # 1\n print coalesce([None, None], ignore=None, default=-7) # -7\n\nfirst\n~~~~~\n\nFunction returns first value from iterable for which the\n``function(value)`` is truthful from iterable object. Else it returns\ndefault value\n\nExample:\n\n.. code:: python\n\n from coalesce import first\n\n print first(lambda x: x > 1, [None, 1, 2], default=-7) # 2\n print first(lambda x: x > 2, [None, 1, 2], default=-7) # -7\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://github.com/bryazginnn/coalesce", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "Coalesce", "package_url": "https://pypi.org/project/Coalesce/", "platform": "", "project_url": "https://pypi.org/project/Coalesce/", "project_urls": { "Homepage": "https://github.com/bryazginnn/coalesce" }, "release_url": "https://pypi.org/project/Coalesce/0.3/", "requires_dist": null, "requires_python": "", "summary": "simple Python library with coalesce function and \"magic\" empty value", "version": "0.3" }, "last_serial": 3098096, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "72314ec6c6e27ca96e2daeb945b2dfaa", "sha256": "7433b4b4fb43b3f6c2498e2aadd8847c661d7c0db6e5c49f3ca7bdb3d20529ff" }, "downloads": -1, "filename": "Coalesce-0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "72314ec6c6e27ca96e2daeb945b2dfaa", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4167, "upload_time": "2017-08-03T20:25:22", "url": "https://files.pythonhosted.org/packages/04/49/cf11fbad65ea7a0f777096b7b1c565a41bff716031c25edd7f3b15112328/Coalesce-0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4d0f08b8b71ba2406c7477329d02db43", "sha256": "8fb70abd1094ef171d9893371c764fc7c91af17a5a56684b21a58440681baaf3" }, "downloads": -1, "filename": "Coalesce-0.1.tar.gz", "has_sig": false, "md5_digest": "4d0f08b8b71ba2406c7477329d02db43", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2146, "upload_time": "2017-08-03T20:25:24", "url": "https://files.pythonhosted.org/packages/7c/8a/e170045370fd61c302eac33e9a06ab86040f33a349742d1fafcf3f9e341f/Coalesce-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "aa6fd4ebd3519f272a83222b2d721d56", "sha256": "816011ff2283faf1b572a352ada5e6325b6872116dd6b3591d0df811b5fcc530" }, "downloads": -1, "filename": "coalesce-0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "aa6fd4ebd3519f272a83222b2d721d56", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4210, "upload_time": "2017-08-03T20:45:03", "url": "https://files.pythonhosted.org/packages/4b/72/e36a4bb690c5e9d55641360c2cb16e6cba50089933e13fa1907f464f8e14/coalesce-0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b69e1dea10bb811175b902d4d118de1a", "sha256": "f16d5e0752d4ad34d68e3c3a8ac048fdfba7bdccc2632c1a441ad8dadc478aa4" }, "downloads": -1, "filename": "coalesce-0.2.tar.gz", "has_sig": false, "md5_digest": "b69e1dea10bb811175b902d4d118de1a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2536, "upload_time": "2017-08-03T20:45:04", "url": "https://files.pythonhosted.org/packages/30/ed/dc241df7e04e5d74221cd6c1045a5c24b3c9635013cf50c09c1a564a82a8/coalesce-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "edb6df941cb97e1cfb10715582af90b7", "sha256": "54cb849db8297235c147dddf079bc03ce977bf158ae92822deb33f567915142c" }, "downloads": -1, "filename": "coalesce-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "edb6df941cb97e1cfb10715582af90b7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4491, "upload_time": "2017-08-15T13:10:15", "url": "https://files.pythonhosted.org/packages/ed/34/6dbd6748861d55e2ba596c4a4d2a8cae21fdf4416c18601b2b58f0beed20/coalesce-0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "221db79ccaeaf22ae02644c3a3d06718", "sha256": "77559bcef4b18475767469492acb657405704677f33431faccaf4a9471e08173" }, "downloads": -1, "filename": "coalesce-0.3.tar.gz", "has_sig": false, "md5_digest": "221db79ccaeaf22ae02644c3a3d06718", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2936, "upload_time": "2017-08-15T13:10:17", "url": "https://files.pythonhosted.org/packages/0c/cf/7a83865668cdf32e0061fd74ad56b6f6ceb211fd5e0de08ee972e15082f4/coalesce-0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "edb6df941cb97e1cfb10715582af90b7", "sha256": "54cb849db8297235c147dddf079bc03ce977bf158ae92822deb33f567915142c" }, "downloads": -1, "filename": "coalesce-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "edb6df941cb97e1cfb10715582af90b7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4491, "upload_time": "2017-08-15T13:10:15", "url": "https://files.pythonhosted.org/packages/ed/34/6dbd6748861d55e2ba596c4a4d2a8cae21fdf4416c18601b2b58f0beed20/coalesce-0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "221db79ccaeaf22ae02644c3a3d06718", "sha256": "77559bcef4b18475767469492acb657405704677f33431faccaf4a9471e08173" }, "downloads": -1, "filename": "coalesce-0.3.tar.gz", "has_sig": false, "md5_digest": "221db79ccaeaf22ae02644c3a3d06718", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2936, "upload_time": "2017-08-15T13:10:17", "url": "https://files.pythonhosted.org/packages/0c/cf/7a83865668cdf32e0061fd74ad56b6f6ceb211fd5e0de08ee972e15082f4/coalesce-0.3.tar.gz" } ] }