{ "info": { "author": "Beau Barker", "author_email": "", "bugtrack_url": null, "classifiers": [], "description": "# apply_defaults\n\nApply default values to functions.\n\nMakes configuration easy! Application settings come from a config file into\nyour code cleanly.\n\n```sh\npip install apply_defaults\n```\n\n## @apply_config\n\nThis decorator applies options from a ConfigParser object.\n\n```python\nfrom apply_defaults import apply_config\nfrom configparser import ConfigParser\n\nconfig = ConfigParser()\nconfig.read_dict({\"general\": {\"option\": True}})\n\n@apply_config(config)\ndef func(option: bool = False) -> bool:\n return option\n```\n\nThe `option` parameter takes the value from the configuration.\n\n```python\n>>> func()\nTrue\n```\n\nOverride the configuration by passing a value.\n\n```python\n>>> func(option=False)\n'False'\n```\n\nIf the option is not in the configuration, the default value from the parameter\nlist is used.\n\n```python\n>>> config.remove_option(\"general\", \"option\")\n>>> func()\nFalse\n```\n\n_ConfigParser's options are strings. Type hints in the function signature allow\nthe apply_config decorator to cast options to the desired type. Alternatively\ncast the value yourself._\n\n## @apply_self\n\nThis decorator applies attributes from the bound object.\n\n```python\nfrom apply_defaults import apply_self\n\nclass MyObject:\n def __init__(self):\n self.option = True\n\n @apply_self\n def func(self, option=False):\n return value\n```\n\nThe parameter takes the value from the bound object, i.e. `self.foo`.\n\n```python\n>>> obj = MyObject()\n>>> obj.func()\nTrue\n```\n\nOverride by passing a value.\n\n```python\n>>> obj.func(option=False)\nFalse\n```\n\nIf the attribute is not in the bound object, the default value from the\nparameter list is used.\n\n```python\n>>> del obj.option\n>>> obj.func()\nFalse\n```", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/bcb/apply_defaults", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "apply-defaults", "package_url": "https://pypi.org/project/apply-defaults/", "platform": "", "project_url": "https://pypi.org/project/apply-defaults/", "project_urls": { "Homepage": "https://github.com/bcb/apply_defaults" }, "release_url": "https://pypi.org/project/apply-defaults/0.1.4/", "requires_dist": null, "requires_python": "", "summary": "Apply values to optional params", "version": "0.1.4" }, "last_serial": 5927884, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "eeb26f365c75fb732c0534ccc81f21a7", "sha256": "8325354bc10cbd5c570cd5112b1f887dd2f267bc2605b15adc2b16a2cef8f134" }, "downloads": -1, "filename": "apply_defaults-0.1.0.tar.gz", "has_sig": false, "md5_digest": "eeb26f365c75fb732c0534ccc81f21a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1969, "upload_time": "2018-08-14T04:59:50", "url": "https://files.pythonhosted.org/packages/8e/e5/9dca6b7c4a63f18b2e0d5f8b0c6a016c0625a0ee0c0a929ab23e5ddeae76/apply_defaults-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "5c3d60fa1875f17ec93de70cf6006fe7", "sha256": "b8c1bc511a0368dabe1af4d80b97186296e25182d7e371d920a9633cf6a2a385" }, "downloads": -1, "filename": "apply_defaults-0.1.1.tar.gz", "has_sig": false, "md5_digest": "5c3d60fa1875f17ec93de70cf6006fe7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2364, "upload_time": "2018-08-16T10:14:37", "url": "https://files.pythonhosted.org/packages/6f/a1/059eaf24fe528b68df5ccd2014e36241bf92261bd85f8e4d11721b9227b4/apply_defaults-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "cbb8331607071d35fc10152736465838", "sha256": "9880967bf08788b949d90a883d153e510b669785639c9080f8dd096fcad5a932" }, "downloads": -1, "filename": "apply_defaults-0.1.2.tar.gz", "has_sig": false, "md5_digest": "cbb8331607071d35fc10152736465838", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2352, "upload_time": "2019-09-10T00:50:50", "url": "https://files.pythonhosted.org/packages/51/a6/bb358c9fb16fb7bdf2fa00c5c0b489a41256b9c7305cbae49efe11549f4d/apply_defaults-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "75d31bbeb2bdf1a414327d77dd16833b", "sha256": "ce7eed01ab3830a701f5c5b7a0322061fbdb1639458350ec76ea27526b2373c8" }, "downloads": -1, "filename": "apply_defaults-0.1.3.tar.gz", "has_sig": false, "md5_digest": "75d31bbeb2bdf1a414327d77dd16833b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3234, "upload_time": "2019-09-10T01:26:11", "url": "https://files.pythonhosted.org/packages/d7/fc/87dcc12b6ec6a28fa794ba9e593c6af110c5ca013a63cb92ee303c98baec/apply_defaults-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "719abb133f4b46283ebd940fcdf30a78", "sha256": "1ce26326a61d8773d38a9726a345c6525a91a6120d7333af79ad792dacb6246c" }, "downloads": -1, "filename": "apply_defaults-0.1.4.tar.gz", "has_sig": false, "md5_digest": "719abb133f4b46283ebd940fcdf30a78", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3144, "upload_time": "2019-10-04T11:23:37", "url": "https://files.pythonhosted.org/packages/f6/da/badf3e4dbefdcfd911c07c542782e7f31fcd232a7d081ea78261561c73e5/apply_defaults-0.1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "719abb133f4b46283ebd940fcdf30a78", "sha256": "1ce26326a61d8773d38a9726a345c6525a91a6120d7333af79ad792dacb6246c" }, "downloads": -1, "filename": "apply_defaults-0.1.4.tar.gz", "has_sig": false, "md5_digest": "719abb133f4b46283ebd940fcdf30a78", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3144, "upload_time": "2019-10-04T11:23:37", "url": "https://files.pythonhosted.org/packages/f6/da/badf3e4dbefdcfd911c07c542782e7f31fcd232a7d081ea78261561c73e5/apply_defaults-0.1.4.tar.gz" } ] }