{ "info": { "author": "Adrian Turjak", "author_email": "adriant@catalyst.net.nz", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: OpenStack", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.6" ], "description": "CONFspirator: Plot better configs!\n==================================\n\n.. image:: http://img.shields.io/pypi/v/confspirator.svg\n :target: https://pypi.python.org/pypi/confspirator\n\nAn offshoot of OpenStack's Oslo.config with a focus on nested\nconfiguration groups, and the ability to use yaml.\n\nCONFspirator drops any command-line integrations, or file reading (for now)\nand expects you to pass in a dictionary which will be parsed against the\ndefined groups. This lets the library for now focus on in-code defaults\nand config field parsing.\n\nWhat it can do\n--------------\n\nCONFspirator focuses on ConfigGroups and registering config fields onto them.\nWith groups themselves being able to be registered on parent groups.\n\nIt can also support lazy loading of config for dynamic groups where configs\nmust be registered dynamically from plugins or for other reasons.\n\nInstallation\n------------\n\n::\n\n pip install confspirator\n\nUsage\n-----\n\nFirst lets put together a simple ConfigGroup, and register some config values::\n\n # ./root_conf.py\n from confspirator import groups, fields\n\n my_root_group = groups.ConfigGroup(\"my_app\")\n my_root_group.register_child_config(\n fields.StrConfig(\"top_level_config\", default=\"some_default\"))\n\n sub_group = groups.ConfigGroup(\"sub_section\")\n sub_group.register_child_config(fields.BoolConfig(\"bool_value\"))\n my_root_group.register_child_config(sub_group)\n\nNow we want to load in our config against this group definition and\ncheck the values::\n\n import confspirator\n from root_conf import my_root_group\n\n conf_dict = {\n \"my_app\": {\n \"top_level_config\": \"not_the_default\",\n \"sub_section\": {\n \"bool_value\": True\n }\n }\n }\n CONF = confspirator.load(my_root_group, conf_dict)\n\n print(CONF.top_level_config)\n print(CONF.sub_section.bool_value)d\n\nTODO\n----\n\n- reader logic for reading in data from yaml, json and ini files.\n- exporting an example config\n- potential command-line integrations", "description_content_type": "text/x-rst; charset=UTF-8", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/catalyst-cloud/confspirator", "keywords": "configuration,config,yaml,nesting,nested,groups,grouped,group,in-code", "license": "Apache-2", "maintainer": "", "maintainer_email": "", "name": "confspirator", "package_url": "https://pypi.org/project/confspirator/", "platform": "", "project_url": "https://pypi.org/project/confspirator/", "project_urls": { "Bug Tracker": "https://gitlab.com/catalyst-cloud/confspirator/issues", "Homepage": "https://gitlab.com/catalyst-cloud/confspirator", "Source Code": "https://gitlab.com/catalyst-cloud/confspirator" }, "release_url": "https://pypi.org/project/confspirator/0.1.6/", "requires_dist": null, "requires_python": "", "summary": "A config library for handling nested incode config groups.", "version": "0.1.6" }, "last_serial": 5925953, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "4dfad930f865ce88e986cb7a3bb3440a", "sha256": "b54ea584f61f1320010d532eb7bbbf9c23f6fb2a6f863f895f6a968a27364549" }, "downloads": -1, "filename": "confspirator-0.1.0.tar.gz", "has_sig": false, "md5_digest": "4dfad930f865ce88e986cb7a3bb3440a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22330, "upload_time": "2019-07-19T05:08:00", "url": "https://files.pythonhosted.org/packages/38/85/4d9100758f59f83d28b34df99e4fdaa786e79e0daa68a483e5b1332458f0/confspirator-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "6c36373ae452181167c7081aa75a8bd4", "sha256": "7c792e8451388bec5a0d9d2cb71c8a6fba59ecbc71f1b23566088652f9d4cf97" }, "downloads": -1, "filename": "confspirator-0.1.1.tar.gz", "has_sig": false, "md5_digest": "6c36373ae452181167c7081aa75a8bd4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22373, "upload_time": "2019-07-19T09:04:37", "url": "https://files.pythonhosted.org/packages/72/81/995077be199765e1c4119feb5d793200eca781db5601b45de94a91c9ceb3/confspirator-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "2d4d0938201c465d4dd87d6db14de2bb", "sha256": "af6b574b284294761201bc66a1f781ff031b1c35cb6b45462dd942a406c90357" }, "downloads": -1, "filename": "confspirator-0.1.2.tar.gz", "has_sig": false, "md5_digest": "2d4d0938201c465d4dd87d6db14de2bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22422, "upload_time": "2019-07-19T09:17:14", "url": "https://files.pythonhosted.org/packages/e0/78/00faa77cb20bbe992ca004e63fa16939971424c1b0885cd4516504ec8b2d/confspirator-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "34ca67a5dc786f5fc6af46dfba8b3c8f", "sha256": "392c64df937de80224149b9d0aebb5a20d94f869641efb0da421320624920bfd" }, "downloads": -1, "filename": "confspirator-0.1.3.tar.gz", "has_sig": false, "md5_digest": "34ca67a5dc786f5fc6af46dfba8b3c8f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22462, "upload_time": "2019-07-19T10:11:53", "url": "https://files.pythonhosted.org/packages/04/42/fea7f25a1087c9c362ca9153ca559937ff9665f00a6953145602b2634e94/confspirator-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "272b560228e3bd9a8555a510dbdb7784", "sha256": "1a78eeaacb827d948ada5410cf591a6daf9ebac1d69172d09ad317d7837ce6fa" }, "downloads": -1, "filename": "confspirator-0.1.4.tar.gz", "has_sig": false, "md5_digest": "272b560228e3bd9a8555a510dbdb7784", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23168, "upload_time": "2019-08-01T05:00:10", "url": "https://files.pythonhosted.org/packages/64/85/60b7e06089e7172f2991ca7099e02c966fad5682505e701913eee1d33abb/confspirator-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "9c9a70f7a126e7cfa0954670b69ee5eb", "sha256": "85c49d8eb6721b057898f00b52b17820712da6ee290de07c09c35e17ebf5a980" }, "downloads": -1, "filename": "confspirator-0.1.5.tar.gz", "has_sig": false, "md5_digest": "9c9a70f7a126e7cfa0954670b69ee5eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23297, "upload_time": "2019-08-01T23:03:48", "url": "https://files.pythonhosted.org/packages/f3/33/4a62e5b2572587c58300b2de912045972b02e035130ace75ca27593233c0/confspirator-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "2ce64b2e4a2daf01fac3a0d95a91a456", "sha256": "42530258b80d830d7eb67861691087a6bce0ab699ef8624fd50ace10f2a499cc" }, "downloads": -1, "filename": "confspirator-0.1.6.tar.gz", "has_sig": false, "md5_digest": "2ce64b2e4a2daf01fac3a0d95a91a456", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23355, "upload_time": "2019-10-04T00:27:36", "url": "https://files.pythonhosted.org/packages/d7/3b/064e28e79f32cd6017fadfdb8c2f6222b74fb3f0c9c2e568ef7fb1030460/confspirator-0.1.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2ce64b2e4a2daf01fac3a0d95a91a456", "sha256": "42530258b80d830d7eb67861691087a6bce0ab699ef8624fd50ace10f2a499cc" }, "downloads": -1, "filename": "confspirator-0.1.6.tar.gz", "has_sig": false, "md5_digest": "2ce64b2e4a2daf01fac3a0d95a91a456", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23355, "upload_time": "2019-10-04T00:27:36", "url": "https://files.pythonhosted.org/packages/d7/3b/064e28e79f32cd6017fadfdb8c2f6222b74fb3f0c9c2e568ef7fb1030460/confspirator-0.1.6.tar.gz" } ] }