{ "info": { "author": "Jazeps Basko", "author_email": "jazeps.basko@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "***************\nruntime-context\n***************\n\n.. code-block:: shell\n\n pip install runtime-context\n\n\n--------------------------\n``RuntimeContextWrapper`` Example\n--------------------------\n\n.. code-block:: python\n\n from runtime_context import RuntimeContextWrapper\n\n runtime_context = RuntimeContextWrapper()\n\n\n def do_something(i):\n if runtime_context.dry_run:\n print('{} - dry run'.format(i))\n else:\n print('{} - for real'.format(i))\n\n\n with runtime_context(dry_run=False):\n do_something(1) # for real\n\n with runtime_context(dry_run=True):\n do_something(2) # dry run\n\n runtime_context.dry_run = False\n do_something(3) # for real\n\n with runtime_context():\n do_something(4) # for real\n\n runtime_context.dry_run = True\n do_something(5) # dry run\n\n do_something(6) # for real\n\n\n-------------------------------\n``runtime_context_env`` Example\n-------------------------------\n\n.. code-block:: python\n\n import json\n from typing import Union # noqa\n\n from runtime_context import EnvBase, runtime_context_env # noqa\n\n\n @runtime_context_env\n class YourApp:\n dry_run = False\n db_name = None\n config_file = None\n\n\n env = YourApp() # type: Union[YourApp, EnvBase]\n\n\n @env.context_var_set.listener(predicate=lambda name: name == 'config_file')\n def reload_config():\n if not env.config_file:\n return\n\n print('Reloading config from {}'.format(env.config_file))\n with open(env.config_file) as f:\n config = json.load(f)\n for k, v in config.items():\n env.set(k, v)\n\n\n with env():\n assert env.dry_run is False\n assert env.db_name is None\n\n env.config_file = 'config.json' # prints 'Reloading config from config.json'\n\n assert env.db_name == 'products' # read from config.json file\n\n with env(dry_run=True):\n assert env.dry_run is True", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jbasko/runtime-context", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "runtime-context", "package_url": "https://pypi.org/project/runtime-context/", "platform": "", "project_url": "https://pypi.org/project/runtime-context/", "project_urls": { "Homepage": "https://github.com/jbasko/runtime-context" }, "release_url": "https://pypi.org/project/runtime-context/3.0.0/", "requires_dist": null, "requires_python": "", "summary": "Runtime context", "version": "3.0.0" }, "last_serial": 3496611, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "b6505c6b6ef8a5baaa923208835aaa78", "sha256": "d63d18e6032d01fe7d8622df9438377d19f57f6f555f30477fd96181d7ef7fe6" }, "downloads": -1, "filename": "runtime-context-0.2.0.tar.gz", "has_sig": false, "md5_digest": "b6505c6b6ef8a5baaa923208835aaa78", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5464, "upload_time": "2018-01-01T13:21:32", "url": "https://files.pythonhosted.org/packages/22/d6/82b23479a6db6ec0eddd50825998511381249671379069b036bd288f7dfd/runtime-context-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "85c3d8ea7ec25b3593ace5a2e2fc31fd", "sha256": "faca3fb7fe6d79c85fc2cb749231070c122e5a3d46ad0178a94b4802ba16907c" }, "downloads": -1, "filename": "runtime-context-0.2.1.tar.gz", "has_sig": false, "md5_digest": "85c3d8ea7ec25b3593ace5a2e2fc31fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5520, "upload_time": "2018-01-02T06:59:48", "url": "https://files.pythonhosted.org/packages/4b/dd/5fb0a5ae32ef07bd680700b150306ca857d2f17a4ccea02c9bbafa294319/runtime-context-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "fc5b894620bbf40d9bda96a37e154f15", "sha256": "d0d3a48c6b234f1af55023ca79d2fefe01efb1852dc681fce6ee5fe641ba9280" }, "downloads": -1, "filename": "runtime-context-0.2.2.tar.gz", "has_sig": false, "md5_digest": "fc5b894620bbf40d9bda96a37e154f15", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5554, "upload_time": "2018-01-02T07:57:16", "url": "https://files.pythonhosted.org/packages/16/19/bf9b68301e4839458789edd3f5069e7079a8c7913076635da1f60529a7d9/runtime-context-0.2.2.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "1131ee1dac36c5accc6fb265f63aee3a", "sha256": "51199af24bc8dff9befb48f4f8bca18d8a74b231efbebdc454ad13758281521f" }, "downloads": -1, "filename": "runtime-context-0.3.0.tar.gz", "has_sig": false, "md5_digest": "1131ee1dac36c5accc6fb265f63aee3a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5474, "upload_time": "2018-01-02T08:00:28", "url": "https://files.pythonhosted.org/packages/e7/c5/4be4b8194b8472e7f38d2cac3b8a6273ed3079b1577371836c58d60a67f4/runtime-context-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "197bf4a50416454fd99f8ff8416317cb", "sha256": "c70c6cab882039078d2e4bf37e8e98b38803df96b4cd80bf124ddac046b187d5" }, "downloads": -1, "filename": "runtime-context-0.4.0.tar.gz", "has_sig": false, "md5_digest": "197bf4a50416454fd99f8ff8416317cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5811, "upload_time": "2018-01-04T08:48:12", "url": "https://files.pythonhosted.org/packages/2b/15/f06d84d4298c1df3f69f3992b6b2464baba1773692d276705bc790952d07/runtime-context-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "c1b1294a82b171c441e04aa80f88b50a", "sha256": "a046619e4e611942150bca6449b369c59858b06fe6180fecbe9f8edcd86eb9de" }, "downloads": -1, "filename": "runtime-context-0.4.1.tar.gz", "has_sig": false, "md5_digest": "c1b1294a82b171c441e04aa80f88b50a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5779, "upload_time": "2018-01-07T10:58:45", "url": "https://files.pythonhosted.org/packages/0b/6a/c3a9cb57df7b077f8dee41d54d576a341dd2d4d5d0a6554eff7c75e1a987/runtime-context-0.4.1.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "f227bea5fc2380110ac3d64989a306d8", "sha256": "99ceb3d88eb8e78abad9b801e44634329ab02264abbae6415101cc26adde01fa" }, "downloads": -1, "filename": "runtime-context-0.5.0.tar.gz", "has_sig": false, "md5_digest": "f227bea5fc2380110ac3d64989a306d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5842, "upload_time": "2018-01-14T13:57:07", "url": "https://files.pythonhosted.org/packages/0e/c4/90d711b7121be8b296527b81fab72f12aa172c3c38e8b350680988bd1012/runtime-context-0.5.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "f731605b6c1a0f0262f6d8fd004852d3", "sha256": "edf72e4feb9fd5176fbc67732d9a5000b4fac14f70082cf28d66171dfebcc0a9" }, "downloads": -1, "filename": "runtime-context-1.0.0.tar.gz", "has_sig": false, "md5_digest": "f731605b6c1a0f0262f6d8fd004852d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4412, "upload_time": "2018-01-14T15:29:41", "url": "https://files.pythonhosted.org/packages/3a/44/008ca219ef635d9f8478f852cd10176ee33cd1cff978e9958b8bf225af96/runtime-context-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "88e505b6eb0c70b67e75ef5e61f3ef8e", "sha256": "94475d612353ef602d4c2bf6337602438978c1434eabb95a7ba88bf84c3d50ba" }, "downloads": -1, "filename": "runtime-context-1.1.0.tar.gz", "has_sig": false, "md5_digest": "88e505b6eb0c70b67e75ef5e61f3ef8e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4662, "upload_time": "2018-01-14T22:23:51", "url": "https://files.pythonhosted.org/packages/6e/6b/4b339a5b7a29f24cd2a078d36f6d445717011088bd1d4e1fbedda5a5ca0b/runtime-context-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "f79ca18f685027a9b3f0464cc8c3c89e", "sha256": "72c05194ade0f76bdf11927a9d760757d255957ace97c7f938cce76f31b3d2f7" }, "downloads": -1, "filename": "runtime-context-1.2.0.tar.gz", "has_sig": false, "md5_digest": "f79ca18f685027a9b3f0464cc8c3c89e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5074, "upload_time": "2018-01-15T09:23:06", "url": "https://files.pythonhosted.org/packages/a9/88/4f01695df3f590010c85142277e719a93512185c1657c72850f1a2913311/runtime-context-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "64ad39d67c80f0827f28b11a1019450a", "sha256": "167fc6aac6c7fa8149d0bb3cb4cb341d99262a7aa0f9a65de83fc96fc60a5d07" }, "downloads": -1, "filename": "runtime-context-1.2.1.tar.gz", "has_sig": false, "md5_digest": "64ad39d67c80f0827f28b11a1019450a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5079, "upload_time": "2018-01-15T09:25:15", "url": "https://files.pythonhosted.org/packages/db/ef/afb31afc2aae15364ad02286bee8002109701b49d95e83249df617cfcb0b/runtime-context-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "fb675f04d575c0e3d52b2355d04bcedb", "sha256": "4c9aa3fbbea92bdc83847eb2be015b93cab3c0ecc5d1824eba223beda851e0ee" }, "downloads": -1, "filename": "runtime-context-1.2.2.tar.gz", "has_sig": false, "md5_digest": "fb675f04d575c0e3d52b2355d04bcedb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5085, "upload_time": "2018-01-16T06:19:06", "url": "https://files.pythonhosted.org/packages/da/fd/a4ceb6b612a340506eeb6b1297a0f28b6e0363b6338edc2a054cad433a9b/runtime-context-1.2.2.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "36423f996596f8c532de0f39edc4f6d0", "sha256": "b6c7042729d4d702ff7900817f57de471af4af65a0dabc8678e7a28b4d00ad39" }, "downloads": -1, "filename": "runtime-context-1.3.0.tar.gz", "has_sig": false, "md5_digest": "36423f996596f8c532de0f39edc4f6d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5987, "upload_time": "2018-01-16T07:21:30", "url": "https://files.pythonhosted.org/packages/49/66/828ad55324d10639f5a6c5d3c36c3d9ac14af94d943a9b9ef956cd581709/runtime-context-1.3.0.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "a43458fecfe15db7a84ce49ba1dccc4c", "sha256": "0482878c9ff849c844115e2bb7ebfc0a331a5596245ea12272529b3aeab71b07" }, "downloads": -1, "filename": "runtime-context-2.0.0.tar.gz", "has_sig": false, "md5_digest": "a43458fecfe15db7a84ce49ba1dccc4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7354, "upload_time": "2018-01-16T08:28:57", "url": "https://files.pythonhosted.org/packages/9f/17/ebc8c1ddf512b42ae5780146c88abc8d1d04207b6e6b3bdda76411cf0956/runtime-context-2.0.0.tar.gz" } ], "3.0.0": [ { "comment_text": "", "digests": { "md5": "31a7b29e7196deb688e0e46645965600", "sha256": "67b874abc357a648776549a0c8fa64e2161467d93cec289d6cd3c2faf7889a06" }, "downloads": -1, "filename": "runtime-context-3.0.0.tar.gz", "has_sig": false, "md5_digest": "31a7b29e7196deb688e0e46645965600", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7936, "upload_time": "2018-01-17T09:40:56", "url": "https://files.pythonhosted.org/packages/71/93/5ef03c181cb0f908c14c5cc15e0435464b5f1e592d4ce6a8104e9255ac88/runtime-context-3.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "31a7b29e7196deb688e0e46645965600", "sha256": "67b874abc357a648776549a0c8fa64e2161467d93cec289d6cd3c2faf7889a06" }, "downloads": -1, "filename": "runtime-context-3.0.0.tar.gz", "has_sig": false, "md5_digest": "31a7b29e7196deb688e0e46645965600", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7936, "upload_time": "2018-01-17T09:40:56", "url": "https://files.pythonhosted.org/packages/71/93/5ef03c181cb0f908c14c5cc15e0435464b5f1e592d4ce6a8104e9255ac88/runtime-context-3.0.0.tar.gz" } ] }