{ "info": { "author": "Dropseed", "author_email": "python@dropseed.io", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 2", "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" ], "description": "configyaml\n==========\n\n.. image:: https://travis-ci.org/dropseedlabs/configyaml.svg?branch=master\n :target: https://travis-ci.org/dropseedlabs/configyaml\n\n.. image:: https://img.shields.io/pypi/v/configyaml.svg\n :target: https://pypi.python.org/pypi/configyaml\n\n.. image:: https://img.shields.io/pypi/l/configyaml.svg\n :target: https://pypi.python.org/pypi/configyaml\n\n.. image:: https://img.shields.io/pypi/pyversions/configyaml.svg\n :target: https://pypi.python.org/pypi/configyaml\n \n\nUsage\n-----\nThe basic usage pattern is to extend these classes to create your own.\n\nYou need a loader:\n\n.. code-block:: python\n\n from configyaml import loader\n\n from .config.root import Root\n\n class SibbellConfigLoader(loader.ConfigLoader):\n config_root_class = Root\n\n\nThen design your config using additional classes. You need at least 1 to serve as the root class:\n\n.. code-block:: python\n\n from configyaml.config import DictNode\n from .dependencies import Dependencies\n from .notifications import Notifications\n\n\n class Root(DictNode):\n \"\"\"Root of the yaml file\"\"\"\n\n def __init__(self, *args, **kwargs):\n self._dict_fields = {\n 'dependencies': {\n 'class': Dependencies,\n 'required': True,\n 'default': [],\n },\n 'notifications': {\n 'class': Notifications,\n 'required': True, # no point right now if no notifications\n 'default': [],\n }\n }\n super(Root, self).__init__(*args, **kwargs)\n\n def _context_to_inject(self):\n \"\"\"Make dependencies list available to notifcations\"\"\"\n return {'dependencies': self.dependencies}\n\nThen to use it, simply create a loader using the configuration text content:\n\n.. code-block:: python\n\n loader = SibbellConfigLoader(yaml_text)\n # can now access the configuration and any other properties/method added to their classes\n loader.is_valid()\n loader.errors\n loader.config_root.dependencies\n\n\n\n=======\nHistory\n=======\n\n0.5.2 (2019-09-02)\n------------------\n\n* Fix KeyError when using as_dict() with a missing required dict field\n\n\n0.5.1 (2018-03-30)\n------------------\n\n* Fix ListNode passing wrong yaml node for child\n\n\n0.5.0 (2018-03-30)\n------------------\n\n* Add support for \"variables\"\n\n\n0.4.1 (2018-01-31)\n------------------\n\n* Give DictNode default instance access to parent and context\n* Update README badges\n\n\n0.4.0 (2017-06-07)\n------------------\n\n* Add RegexNode\n* DictNode fields know what their dict key was\n\n\n0.3.0 (2017-05-31)\n------------------\n\n* Add TypelessNode\n* Add BoolNode\n* Use yaml.safe_load\n* Allow DictNode field to have a default value of None\n\n\n0.2.0 (2017-04-05)\n------------------\n\n* Cleanup package release tooling and documentation\n* Fix a bit of broken documentation\n* Start some basic Sphinx documentation for classes\n\n\n0.1.0 (2017-03-30)\n------------------\n\n* First release on PyPI.", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/dropseedlabs/config-loader", "keywords": "configyaml", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "configyaml", "package_url": "https://pypi.org/project/configyaml/", "platform": "", "project_url": "https://pypi.org/project/configyaml/", "project_urls": { "Homepage": "https://github.com/dropseedlabs/config-loader" }, "release_url": "https://pypi.org/project/configyaml/0.5.2/", "requires_dist": null, "requires_python": "", "summary": "A config loading and parsing package", "version": "0.5.2" }, "last_serial": 5771415, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "ab0001562873687ed916173c6849bd60", "sha256": "363409dc8d4762b8ecff0f4d74d2c0adc8728435d8f5d544c3251abb822fb3e1" }, "downloads": -1, "filename": "configyaml-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ab0001562873687ed916173c6849bd60", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12577, "upload_time": "2017-04-05T19:01:52", "url": "https://files.pythonhosted.org/packages/b9/5e/bb5163547c04f1e4ef6751b70a7a39fd5b0781cb9bc3be85b01430d49c1d/configyaml-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5c83ceccd36c400302f48b37411baca9", "sha256": "66a3e81d194cade1464c5ca822d1f70ba3e6c339510a0aa65768def553d729a8" }, "downloads": -1, "filename": "configyaml-0.1.0.tar.gz", "has_sig": false, "md5_digest": "5c83ceccd36c400302f48b37411baca9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12839, "upload_time": "2017-04-05T19:01:53", "url": "https://files.pythonhosted.org/packages/84/ae/33fbb7b9ca58c3cf9a575301c58482c220f73542a6fee23233557ea7fea9/configyaml-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "347af8baa21938776e68d665fb391351", "sha256": "db896f74d9b3bea6a17a4725b849a1c775c976d4fe352da8eb608662516bae63" }, "downloads": -1, "filename": "configyaml-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "347af8baa21938776e68d665fb391351", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13063, "upload_time": "2017-04-05T20:59:22", "url": "https://files.pythonhosted.org/packages/b2/28/60323b84bf53f4ebfcb85730aba4e488827fab256e39172f4d93bab81fed/configyaml-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fc4efa58b9aec694f4c13c430be1ddf1", "sha256": "775fce4ae69547664743829eaa2eaa5f128ac5742c9a228892f055649660eda5" }, "downloads": -1, "filename": "configyaml-0.2.0.tar.gz", "has_sig": false, "md5_digest": "fc4efa58b9aec694f4c13c430be1ddf1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13171, "upload_time": "2017-04-05T20:59:24", "url": "https://files.pythonhosted.org/packages/ee/f5/4d20a228f96262af764678db011c450e1cb6a238ec980d6ebfc3d0b89935/configyaml-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "ea26b87c0afeb6d7c3b17f7571269fa3", "sha256": "fb126fe556210b91561ad0e1d89cc5b9adca8c253a7e28e4959c9dc999052457" }, "downloads": -1, "filename": "configyaml-0.3.0.tar.gz", "has_sig": false, "md5_digest": "ea26b87c0afeb6d7c3b17f7571269fa3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13473, "upload_time": "2017-05-31T16:04:44", "url": "https://files.pythonhosted.org/packages/ff/62/849bf60395c367c3d50333243f7cd8a18914b56e4942d44d26bc5499bffc/configyaml-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "1dc4d5bd5a8d08f004a6f35212d942a2", "sha256": "c50686f9c52eeee280c42a611ed8aaea95e744beea5759b10c585b7b63683afe" }, "downloads": -1, "filename": "configyaml-0.4.0.tar.gz", "has_sig": false, "md5_digest": "1dc4d5bd5a8d08f004a6f35212d942a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13903, "upload_time": "2017-06-07T19:39:25", "url": "https://files.pythonhosted.org/packages/22/c3/64ec092525f34bfbbebbf4101640d0f3e72557304fba6df4f75159a352e3/configyaml-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "b40a8abca3d888d9e5a308bb74685476", "sha256": "c02f4c34cb3ef42671e95a81fea36bde64ad05f0dfe96e8b6586852ef87cad9c" }, "downloads": -1, "filename": "configyaml-0.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b40a8abca3d888d9e5a308bb74685476", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13675, "upload_time": "2018-01-31T19:38:40", "url": "https://files.pythonhosted.org/packages/ed/3c/b8adc7104a784501b82feb9db7498164ee50869b14c5b66391864d0e57f0/configyaml-0.4.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8d8acdfa14f096c6deeec9e7773e0057", "sha256": "11ddda5a443e2f030aed528d4676d298faa2e7ebcdad6a7b2992105863b58f72" }, "downloads": -1, "filename": "configyaml-0.4.1.tar.gz", "has_sig": false, "md5_digest": "8d8acdfa14f096c6deeec9e7773e0057", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14694, "upload_time": "2018-01-31T19:38:38", "url": "https://files.pythonhosted.org/packages/c8/1d/cc916f2be683dbd13fdc12e858470a7c80b33f03efc0a1bbb90fddef77f2/configyaml-0.4.1.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "699baca74e629adc93558a8173043420", "sha256": "301f1ebea6417724dd3ded708fe3570b3f97cd7367003bc81b4d1ba060bb1b27" }, "downloads": -1, "filename": "configyaml-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "699baca74e629adc93558a8173043420", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14470, "upload_time": "2018-03-30T17:46:50", "url": "https://files.pythonhosted.org/packages/02/fb/4fac4764a56dd3737ca4ff6b40fcae50141a62b2219f1e09a61aab4e69c2/configyaml-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "54f2901560d074ea59a9c2d5b2d946fb", "sha256": "2330f519e1c9f7903d936ba37aef84f8100357028e4ba412bb639a1f8aec2e02" }, "downloads": -1, "filename": "configyaml-0.5.0.tar.gz", "has_sig": false, "md5_digest": "54f2901560d074ea59a9c2d5b2d946fb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15742, "upload_time": "2018-03-30T17:46:51", "url": "https://files.pythonhosted.org/packages/bd/02/1f64dda0a895d1dfa44725b87b0759b34a92e05ea3b767892212ce8b649b/configyaml-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "c54d4a16f812e01855fbce2476d6c510", "sha256": "aea9138f4dfdd6dc76016bc2bffbb5f8a4c7efdeae966a886e034f2c7b8921e6" }, "downloads": -1, "filename": "configyaml-0.5.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c54d4a16f812e01855fbce2476d6c510", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14541, "upload_time": "2018-03-30T18:37:17", "url": "https://files.pythonhosted.org/packages/3d/ab/59c486d14ec7debafe384b8d727cee3e943ad050dba66276f0834cd1fac1/configyaml-0.5.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e86b8b56d121563b71f94259f65d4b7c", "sha256": "1d82cbdcee2dabb52384ef4cf40134fb6ac6bc873409051f136731e2cf14d21f" }, "downloads": -1, "filename": "configyaml-0.5.1.tar.gz", "has_sig": false, "md5_digest": "e86b8b56d121563b71f94259f65d4b7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15787, "upload_time": "2018-03-30T18:37:18", "url": "https://files.pythonhosted.org/packages/5a/7b/ad3640b1bd234e093952ef2d829fc985c76d1bdcb18edcad2951f9d3a3ce/configyaml-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "dd013efbd71a7ce6b4e9a7f7cb290e9c", "sha256": "af228e723c49f5b8c12004e0975bd44e5a85073e227cfd2f0d1571045a5c73bd" }, "downloads": -1, "filename": "configyaml-0.5.2.tar.gz", "has_sig": false, "md5_digest": "dd013efbd71a7ce6b4e9a7f7cb290e9c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16637, "upload_time": "2019-09-02T15:25:18", "url": "https://files.pythonhosted.org/packages/30/c2/705dbba0c9eabf7f6a4bf2879f1eb065eaf0b26fd07488fd657436d6d3a4/configyaml-0.5.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "dd013efbd71a7ce6b4e9a7f7cb290e9c", "sha256": "af228e723c49f5b8c12004e0975bd44e5a85073e227cfd2f0d1571045a5c73bd" }, "downloads": -1, "filename": "configyaml-0.5.2.tar.gz", "has_sig": false, "md5_digest": "dd013efbd71a7ce6b4e9a7f7cb290e9c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16637, "upload_time": "2019-09-02T15:25:18", "url": "https://files.pythonhosted.org/packages/30/c2/705dbba0c9eabf7f6a4bf2879f1eb065eaf0b26fd07488fd657436d6d3a4/configyaml-0.5.2.tar.gz" } ] }