{ "info": { "author": "podhmo", "author_email": "ababjam61+github@gmail.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python", "Programming Language :: Python :: Implementation :: CPython" ], "description": "yieldfixture\n========================================\n\n.. image:: https://travis-ci.org/podhmo/yieldfixture.svg?branch=master\n :target: https://travis-ci.org/podhmo/yieldfixture\n\nhow to use\n----------------------------------------\n\n.. code-block:: python\n\n from yieldfixture import create\n run, yield_fixture = create()\n \n \n @yield_fixture\n def f():\n print(\">>> f\")\n yield 1\n print(\">>> f\")\n \n \n @yield_fixture\n def g():\n print(\" >>> g\")\n yield 2\n print(\" >>> g\")\n \n \n @run\n def use_it(x, y):\n print(\"{} + {} = {}\".format(x, y, x + y))\n\noutput\n\n.. code-block::\n\n >>> f\n >>> g\n 1 + 2 = 3\n >>> g\n >>> f\n\nwith context\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n.. code-block:: python\n\n from yieldfixture import create, with_context\n run, yield_fixture = create()\n \n \n @yield_fixture\n @with_context\n def f(ctx):\n i = ctx[\"i\"] = 0\n print(\"{}>>> f\".format(\" \" * i))\n yield 1\n print(\"{}>>> f\".format(\" \" * i))\n \n \n @yield_fixture\n @with_context\n def g(ctx):\n i = ctx[\"i\"] = ctx[\"i\"] + 1\n print(\"{}>>> g\".format(\" \" * i))\n yield 2\n print(\"{}>>> g\".format(\" \" * i))\n \n \n @run\n def use_it(x, y, *, i=0):\n print(\"{}{} + {} = {}\".format(\" \" * (i + 1), x, y, x + y))\n\noutput\n\n.. code-block::\n\n >>> f\n >>> g\n 1 + 2 = 3\n >>> g\n >>> f\n\nwhen a exception is raised\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n.. code-block:: python\n\n from yieldfixture import create, with_context\n run, yield_fixture = create()\n \n \n @yield_fixture\n @with_context\n def f(ctx):\n i = ctx[\"i\"] = 0\n print(\"{}>>> f\".format(\" \" * i))\n yield 1\n print(\"{}>>> f\".format(\" \" * i))\n \n \n @yield_fixture\n @with_context\n def g(ctx):\n i = ctx[\"i\"] = ctx[\"i\"] + 1\n print(\"{}>>> g\".format(\" \" * i))\n yield 2\n print(\"{}>>> g\".format(\" \" * i))\n \n \n @run\n def use_it(x, y, *, i=0):\n print(\"{}{} + {} = {}\".format(\" \" * (i + 1), x, y, x + y))\n 1 / 0\n\noutput\n\n.. code-block::\n\n >>> f\n >>> g\n 1 + 2 = 3\n >>> g\n >>> f\n Traceback (most recent call last):\n File \"examples/02withexception.py\", line 24, in \n def use_it(x, y, *, i=0):\n File \"$HOME/vboxshare/venvs/my3/yieldfixture/yieldfixture/__init__.py\", line 125, in run_with\n return fn(*ctx.args, **ctx.kwargs)\n File \"examples/02withexception.py\", line 26, in use_it\n 1 / 0\n ZeroDivisionError: division by zero\n\nselective fixture activation\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n.. code-block:: python\n\n from yieldfixture import create, with_context\n run, yield_fixture = create()\n \n \n @yield_fixture\n @with_context\n def f(ctx):\n i = ctx[\"i\"] = ctx.get(\"i\", -1) + 1\n print(\"{}>>> f\".format(\" \" * i))\n yield 1\n print(\"{}>>> f\".format(\" \" * i))\n \n \n @yield_fixture\n @with_context\n def g(ctx):\n i = ctx[\"i\"] = ctx.get(\"i\", -1) + 1\n print(\"{}>>> g\".format(\" \" * i))\n yield 2\n print(\"{}>>> g\".format(\" \" * i))\n \n \n @run\n def use_it(x, y, *, i=0):\n print(\"{}{} + {} = {}\".format(\" \" * (i + 1), x, y, x + y))\n \n \n @run([g, f])\n def use_it2(x, y, *, i=0):\n print(\"{}{} + {} = {}\".format(\" \" * (i + 1), x, y, x + y))\n\noutput\n\n.. code-block::\n\n >>> f\n >>> g\n 1 + 2 = 3\n >>> g\n >>> f\n >>> g\n >>> f\n 2 + 1 = 3\n >>> f\n >>> g\n\n\n0.3.2\n\n- only tuple treated as multiple values\n\n0.3.1\n\n- dispatch hook\n\n0.3.0\n\n- some internal refactoring(mainly, rename methods)\n\n0.2.0\n\n- calling teardown action, absolutely\n\n0.1.1\n\n- first release\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/podhmo/yieldfixture", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "yieldfixture", "package_url": "https://pypi.org/project/yieldfixture/", "platform": "", "project_url": "https://pypi.org/project/yieldfixture/", "project_urls": { "Homepage": "https://github.com/podhmo/yieldfixture" }, "release_url": "https://pypi.org/project/yieldfixture/0.3.2/", "requires_dist": null, "requires_python": "", "summary": "tiny yield fixture", "version": "0.3.2" }, "last_serial": 3043110, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "2157661651d15bc867cdee26f53e887f", "sha256": "8d8856d76a4251eb694bce4a6e240f58a977c5a95eca2996a88561e98c1e7a04" }, "downloads": -1, "filename": "yieldfixture-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2157661651d15bc867cdee26f53e887f", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 4483, "upload_time": "2017-07-22T11:15:20", "url": "https://files.pythonhosted.org/packages/19/bd/9d811d69ddcaeec9c2d0664cc4615b92b40d7a0841f1e00a80b6daf143b5/yieldfixture-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e305ddfcb83e06e4d815ce24fb3a83b6", "sha256": "deac2ae3d8953bf985f2f22fa5e27302efb154391d3a5df67df2b0c441327b25" }, "downloads": -1, "filename": "yieldfixture-0.1.0.tar.gz", "has_sig": false, "md5_digest": "e305ddfcb83e06e4d815ce24fb3a83b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3117, "upload_time": "2017-07-22T11:15:17", "url": "https://files.pythonhosted.org/packages/11/7a/62827299271c3a045aa421f0fc5240c0856574705506b5b2a35c493dd1a2/yieldfixture-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "9c6823ad0296c0ba2d844df6e93cf86d", "sha256": "e49a2ab5ad8b7bbf95f4caccc677a0016b8f2d8142375f0ef0a8a021ab853f96" }, "downloads": -1, "filename": "yieldfixture-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9c6823ad0296c0ba2d844df6e93cf86d", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 4486, "upload_time": "2017-07-22T11:21:28", "url": "https://files.pythonhosted.org/packages/4b/3a/a811c39e8fbc57ff9751f91c6f7d4f1727e7143eb33db30421ee911e31c1/yieldfixture-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d86e9cd8acf94cf093fa356fab446ad7", "sha256": "de0383b9fbb0229ff405815c6cf00d0650b312a9daa9969e1256ef0fe62c8e36" }, "downloads": -1, "filename": "yieldfixture-0.1.1.tar.gz", "has_sig": false, "md5_digest": "d86e9cd8acf94cf093fa356fab446ad7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3111, "upload_time": "2017-07-22T11:21:26", "url": "https://files.pythonhosted.org/packages/17/b6/ea5b9bef6a7ddead2e183080bcbaa96785ae1d81e64054f9df7b7cb4a3f7/yieldfixture-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "9be70c61b20d9481afec9ecdfd17a802", "sha256": "3794061c3b7a73825ff56d7a5d7e46a0ef7481cc78896c0aceffee410312b097" }, "downloads": -1, "filename": "yieldfixture-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9be70c61b20d9481afec9ecdfd17a802", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 4791, "upload_time": "2017-07-22T16:25:54", "url": "https://files.pythonhosted.org/packages/8d/76/faf5e5faa7f8296e0c574751b5fd14e91f0967a11418e321f697012fa6c8/yieldfixture-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7e62f627cb33cd2b0110fb705b294bbf", "sha256": "5737f3217ed8e20b8c7bbd1716b5cade3728fdd2b21d12a1bbe8af7ac7894489" }, "downloads": -1, "filename": "yieldfixture-0.2.0.tar.gz", "has_sig": false, "md5_digest": "7e62f627cb33cd2b0110fb705b294bbf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3374, "upload_time": "2017-07-22T16:25:51", "url": "https://files.pythonhosted.org/packages/9c/20/eabc63c806e815614a60460f1acea0aa56faac6f71eddde1f5804636636d/yieldfixture-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "befe01dc867a1bed6f498016b097da97", "sha256": "12ecd679dc72057c4caf74dd1ca71e5ccfd1dde0f0d1b67b1829eb7d127d3d50" }, "downloads": -1, "filename": "yieldfixture-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "befe01dc867a1bed6f498016b097da97", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 4830, "upload_time": "2017-07-23T08:08:05", "url": "https://files.pythonhosted.org/packages/7a/c0/ed3d7350907699e111f241e627197be81f844df1e6fe8285e651a69a5892/yieldfixture-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1ce41fe197d8a719b924d0bb8d72177c", "sha256": "70f9fb3d19a34511a63966bdc3b65d244813f3add14ba2426def69967c4062b7" }, "downloads": -1, "filename": "yieldfixture-0.3.0.tar.gz", "has_sig": false, "md5_digest": "1ce41fe197d8a719b924d0bb8d72177c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3376, "upload_time": "2017-07-23T08:08:01", "url": "https://files.pythonhosted.org/packages/d8/0a/78bdab100c22ecebb7c760f1727d83264db45056dc9aceca8b31d0e6e60d/yieldfixture-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "0899eb8317fbd226a1838f5a46772848", "sha256": "d5c3b6d887576335d26380deceff53222ec2f8032ef2679d46804bf13d30635a" }, "downloads": -1, "filename": "yieldfixture-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0899eb8317fbd226a1838f5a46772848", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 4887, "upload_time": "2017-07-23T12:07:56", "url": "https://files.pythonhosted.org/packages/82/38/9106325ee8305550dc28f7dc06f7933bdefff8db97d10b4d3cda15f27b8d/yieldfixture-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "697b05046ed4dd7d28f860fef953e776", "sha256": "182035ccb53c4ff81f2c1e8793d6f0d19b9888af99474fd2d50dbf658117235b" }, "downloads": -1, "filename": "yieldfixture-0.3.1.tar.gz", "has_sig": false, "md5_digest": "697b05046ed4dd7d28f860fef953e776", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3415, "upload_time": "2017-07-23T12:07:53", "url": "https://files.pythonhosted.org/packages/68/be/f0c2caa3124673e29b769b0a1684301edd21afc6efc290e149197c3d2012/yieldfixture-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "2f0ef051d715129616dcbc6e6acd37af", "sha256": "38e7e669c7e3cb95e391e7910119979de58db9d3a29675d13556ce563f0eb693" }, "downloads": -1, "filename": "yieldfixture-0.3.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2f0ef051d715129616dcbc6e6acd37af", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 4933, "upload_time": "2017-07-23T14:29:42", "url": "https://files.pythonhosted.org/packages/e9/bb/8f0b70c5ee8e2cd4db5c882825bed0cd20a5ff4a7fa94fe0cdd432101d3a/yieldfixture-0.3.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ca4e5a7856fe7540e572e38379965dc4", "sha256": "8ddabe36c1f93c26a25d438efa2b26644446358bad3c00adf215c3a14d355dd9" }, "downloads": -1, "filename": "yieldfixture-0.3.2.tar.gz", "has_sig": false, "md5_digest": "ca4e5a7856fe7540e572e38379965dc4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3439, "upload_time": "2017-07-23T14:29:38", "url": "https://files.pythonhosted.org/packages/2f/e5/118f3f164ba2ba38aa01aea7566feb2e712919dd39dc5df91d4e73531099/yieldfixture-0.3.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2f0ef051d715129616dcbc6e6acd37af", "sha256": "38e7e669c7e3cb95e391e7910119979de58db9d3a29675d13556ce563f0eb693" }, "downloads": -1, "filename": "yieldfixture-0.3.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2f0ef051d715129616dcbc6e6acd37af", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 4933, "upload_time": "2017-07-23T14:29:42", "url": "https://files.pythonhosted.org/packages/e9/bb/8f0b70c5ee8e2cd4db5c882825bed0cd20a5ff4a7fa94fe0cdd432101d3a/yieldfixture-0.3.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ca4e5a7856fe7540e572e38379965dc4", "sha256": "8ddabe36c1f93c26a25d438efa2b26644446358bad3c00adf215c3a14d355dd9" }, "downloads": -1, "filename": "yieldfixture-0.3.2.tar.gz", "has_sig": false, "md5_digest": "ca4e5a7856fe7540e572e38379965dc4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3439, "upload_time": "2017-07-23T14:29:38", "url": "https://files.pythonhosted.org/packages/2f/e5/118f3f164ba2ba38aa01aea7566feb2e712919dd39dc5df91d4e73531099/yieldfixture-0.3.2.tar.gz" } ] }