{ "info": { "author": "Andras Tim", "author_email": "andras.tim@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3" ], "description": "|Logo|\n\noctoconf\n========\n\n|PyPi| |Build| |DependencyStatus2| |CodeQuality| |Coverage| |License|\n\nMulti-profile supported, flexible config library for Python 2 & 3.\n\n\nFeatures\n--------\n\n* Allow multiple config profiles in one YAML file\n* Allow include multiple YAML files\n* Overridable profile selection from code for special use-cases (e.g. config for testing)\n* Inheritable config profiles, what makes profile merges by dictionaries. (the native YAML bookmarking is also available)\n* Can use variables in the config file\n\n\nInstallation\n------------\n\n``pip install octoconf``\n\n\nConfig format\n-------------\n\nAn **octoconf** config file is pure YAML file with some reserved keywords:\n\n* ``USED_CONFIG>: `` in the file root\n you can specify the name of default config profile\n\n* ```` in the file root\n this octoconf file(s) will be included\n\n* ```` in the 2nd level\n this will used for making (merge based) inheritance between profiles\n\n*The profile nodes should be on 1st level!*\n\n\nUsage\n-----\n\n* You can load config from string with ``loads()``:\n .. code-block:: python\n\n import octoconf\n\n config = octoconf.loads(yaml_string)\n print(config)\n\n* Or directly from StringIO (e.g. from file) with ``load()``:\n .. code-block:: python\n\n import octoconf\n\n with open('config.yml') as fd:\n config = octoconf.load(fd)\n print(config)\n\n\nPlease check the `features docs `__ for explain **octoconf**'s features.\n\n\nExamples YAML files\n~~~~~~~~~~~~~~~~~~~\n\n.. code-block:: yaml\n\n USED_CONFIG>: UserConfig\n `__ directory.\n\n\nBugs\n----\n\nBugs or suggestions? Visit the `issue tracker `__.\n\n\n.. |Logo| image:: https://raw.githubusercontent.com/andras-tim/octoconf/master/img/logo_100.png\n :target: https://raw.githubusercontent.com/andras-tim/octoconf/master/img/logo.png\n\n.. |Build| image:: https://travis-ci.org/andras-tim/octoconf.svg?branch=master\n :target: https://travis-ci.org/andras-tim/octoconf/branches\n :alt: Build Status\n.. |DependencyStatus1| image:: https://gemnasium.com/andras-tim/octoconf.svg\n :target: https://gemnasium.com/andras-tim/octoconf\n :alt: Dependency Status\n.. |DependencyStatus2| image:: https://requires.io/github/andras-tim/octoconf/requirements.svg?branch=master\n :target: https://requires.io/github/andras-tim/octoconf/requirements/?branch=master\n :alt: Server Dependency Status\n.. |PyPi| image:: https://img.shields.io/pypi/dm/octoconf.svg\n :target: https://pypi.python.org/pypi/octoconf\n :alt: Python Package\n.. |License| image:: https://img.shields.io/badge/license-GPL%203.0-blue.svg\n :target: https://github.com/andras-tim/octoconf/blob/master/LICENSE\n :alt: License\n\n.. |CodeQuality| image:: https://api.codacy.com/project/badge/grade/2f707d3bf0f84a43a1dca6b8789eaba2\n :target: https://www.codacy.com/app/andras-tim/octoconf\n :alt: Code Quality\n.. |CodeClimate| image:: https://codeclimate.com/github/andras-tim/octoconf/badges/gpa.svg\n :target: https://codeclimate.com/github/andras-tim/octoconf/coverage\n :alt: Code Climate\n.. |Coverage| image:: https://coveralls.io/repos/andras-tim/octoconf/badge.svg?branch=master&service=github\n :target: https://coveralls.io/r/andras-tim/octoconf?branch=master&service=github\n :alt: Server Test Coverage\n.. |IssueStats| image:: https://img.shields.io/github/issues/andras-tim/octoconf.svg\n :target: http://issuestats.com/github/andras-tim/octoconf\n :alt: Issue Stats", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/andras-tim/octoconf", "keywords": "yaml config multi-profile inheritance", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "octoconf", "package_url": "https://pypi.org/project/octoconf/", "platform": "any", "project_url": "https://pypi.org/project/octoconf/", "project_urls": { "Homepage": "https://github.com/andras-tim/octoconf" }, "release_url": "https://pypi.org/project/octoconf/0.2.2/", "requires_dist": null, "requires_python": "", "summary": "Multi-profile supported, flexible config library", "version": "0.2.2" }, "last_serial": 4036477, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "b4d44487336aafd9fb5683860325b9e8", "sha256": "df84e865d21d8488aa87690bc31201befaecfc6baa8bb4f3c11321d256ecd44a" }, "downloads": -1, "filename": "octoconf-0.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "b4d44487336aafd9fb5683860325b9e8", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 6811, "upload_time": "2016-03-23T21:47:16", "url": "https://files.pythonhosted.org/packages/d8/8d/81c489c90150f37e5963e3698b4c8b62f6d4236b3b05f05428bc9f4d8809/octoconf-0.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "39e02ec8786034f846b033266baa480e", "sha256": "ab44e948b43e95d593cd4c3232dd04e242b57e15a75d20a2ba6b98db053ae689" }, "downloads": -1, "filename": "octoconf-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "39e02ec8786034f846b033266baa480e", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 6813, "upload_time": "2016-03-23T21:48:09", "url": "https://files.pythonhosted.org/packages/65/ee/f844f2d4a2e9330fc2e5c81833543571310102f337afddf619ea2046f8ac/octoconf-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "88669a8b49fc336ba12930b640426349", "sha256": "4612480a3141e3974e82cd30ec9894fd1afb1c956b5645ef140a09dbb163766e" }, "downloads": -1, "filename": "octoconf-0.1.0.tar.gz", "has_sig": false, "md5_digest": "88669a8b49fc336ba12930b640426349", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17053, "upload_time": "2016-03-23T21:47:10", "url": "https://files.pythonhosted.org/packages/9b/ba/c9c36f77e467eb20353f62d4239de96eb43107bf708dcef194ee81494818/octoconf-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "e26f4b20902b02b8c83e951a82ec9e49", "sha256": "b86c62f129cf235db6920ffb7d76c5356a96f8c4c61cfdf5c8fa5c6036a45591" }, "downloads": -1, "filename": "octoconf-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e26f4b20902b02b8c83e951a82ec9e49", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 7309, "upload_time": "2016-03-28T00:30:46", "url": "https://files.pythonhosted.org/packages/b8/da/b7e08ed1d3b2cd1a0f41eec090fed5ec043be0a9d86aa508e2ccf10cde76/octoconf-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "82d5bb0c56d6916f2ad8958d3d6842b4", "sha256": "3fe4c0ac4cc3cf58746d476ee9f9179800039907160a05723ffb06d14ee0d566" }, "downloads": -1, "filename": "octoconf-0.2.0.tar.gz", "has_sig": false, "md5_digest": "82d5bb0c56d6916f2ad8958d3d6842b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17447, "upload_time": "2016-03-28T00:30:29", "url": "https://files.pythonhosted.org/packages/7b/bb/412285d392dacc100fd4a24497724bd7e188903c330e0a5954d89513f5d3/octoconf-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "c6af34c3c3f87653cdc1ffff3df14eeb", "sha256": "45b0d4383f9e4e9ab96cbfcc05de1c546e1a77f0054118b7373720102130af85" }, "downloads": -1, "filename": "octoconf-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c6af34c3c3f87653cdc1ffff3df14eeb", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 4892, "upload_time": "2018-06-27T13:43:07", "url": "https://files.pythonhosted.org/packages/5c/27/0abc80d831c5b84249c422f0543eaf4a86714adc2d4adc021638f456668d/octoconf-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "499a1b6d7d05ae55a92b4b09d952512f", "sha256": "168f1183430073c52c37749a072d3d5857031860883622962aff96eaf413a2c8" }, "downloads": -1, "filename": "octoconf-0.2.1.tar.gz", "has_sig": false, "md5_digest": "499a1b6d7d05ae55a92b4b09d952512f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17651, "upload_time": "2018-06-27T13:43:05", "url": "https://files.pythonhosted.org/packages/7f/09/ac5e91874044fb21c1a67e1dba9843f55d8c9ec72dac1d4be9bb664a3157/octoconf-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "caaa04f8fe731d71ac23789bb00b60e2", "sha256": "6468868972a1229650781cc91ac48eb7f9df7094e79bc5f7bc968edd3364859c" }, "downloads": -1, "filename": "octoconf-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "caaa04f8fe731d71ac23789bb00b60e2", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 4896, "upload_time": "2018-07-06T13:42:39", "url": "https://files.pythonhosted.org/packages/59/be/51a2956a229a915d8452209e342389fffe192f6265428bc850af414279e5/octoconf-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a4d4aa3537a8fd4ba12b8e3946be9153", "sha256": "48163c2c03775c4904650bed40403d187602d90a958193f2c5458781be5dc970" }, "downloads": -1, "filename": "octoconf-0.2.2.tar.gz", "has_sig": false, "md5_digest": "a4d4aa3537a8fd4ba12b8e3946be9153", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17655, "upload_time": "2018-07-06T13:42:37", "url": "https://files.pythonhosted.org/packages/44/c3/e6cfc400c01129d0950c8bc75371482d5ef94fcf0bd5408e2b4ddba770e3/octoconf-0.2.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "caaa04f8fe731d71ac23789bb00b60e2", "sha256": "6468868972a1229650781cc91ac48eb7f9df7094e79bc5f7bc968edd3364859c" }, "downloads": -1, "filename": "octoconf-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "caaa04f8fe731d71ac23789bb00b60e2", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 4896, "upload_time": "2018-07-06T13:42:39", "url": "https://files.pythonhosted.org/packages/59/be/51a2956a229a915d8452209e342389fffe192f6265428bc850af414279e5/octoconf-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a4d4aa3537a8fd4ba12b8e3946be9153", "sha256": "48163c2c03775c4904650bed40403d187602d90a958193f2c5458781be5dc970" }, "downloads": -1, "filename": "octoconf-0.2.2.tar.gz", "has_sig": false, "md5_digest": "a4d4aa3537a8fd4ba12b8e3946be9153", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17655, "upload_time": "2018-07-06T13:42:37", "url": "https://files.pythonhosted.org/packages/44/c3/e6cfc400c01129d0950c8bc75371482d5ef94fcf0bd5408e2b4ddba770e3/octoconf-0.2.2.tar.gz" } ] }