{ "info": { "author": "Daniel Mizyrycki", "author_email": "mzdaniel@glidelink.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Utilities" ], "description": "==========\nloadconfig\n==========\n\n.. image:: https://readthedocs.org/projects/loadconfig/badge/?version=master\n :target: http://loadconfig.readthedocs.org/en/master\n :alt: [Docs]\n.. image:: https://img.shields.io/badge/buildbot-status-blue.jpg\n :target: http://loadconfig.glidelink.net\n :alt: [Build tests]\n.. image:: https://img.shields.io/badge/github-repo-yellowgreen.jpg\n :target: https://github.com/mzdaniel/loadconfig\n :alt: [Code repo]\n.. image:: https://img.shields.io/pypi/v/loadconfig.jpg\n :target: https://pypi.python.org/pypi/loadconfig\n :alt: [Pypi package]\n\n\nloadconfig is a tool to simplify configuration management\n=========================================================\n\nWe live in an incredible moment in software history. As never before, the\nquality and quantity of excellent open source software have unleashed massive\nadvances in pretty much all fields of human knowledge. It is overwhelming to\nhave such vast posibilities, and often having a hard time trying to understand\nhow the pieces fit together. More importantly, we are concern on how can we use\nthe software for things that matter to us.\n\nPlenty of times we find what is really needed is a small custom configuration\nwe can easily understand and a handful ways to run the software. And although\nwe barely think about it as we are too busy trying to understand all the bells\nand whistles, the interface and documentation is at the center of any software.\n\nloadconfig syntax is designed to be clean and DRY, to foster descriptive\nprogramming, and to leverage version control systems. loadconfig can be used\nas a light wrapper around programs to make them behave and to document them\nthe way we designed.\n\n.. code-block:: python\n\n >>> from loadconfig import Config\n >>> c = Config('greeter: Hi there')\n >>> c\n {greeter: Hi there}\n\n >>> c.greeter\n 'Hi there'\n\n.. code-block:: bash\n\n $ loadconfig -E=\"greeter: Welcome to the loadconfig documentation\"\n export GREETER=\"Welcome to the loadconfig documentation\"\n\n\nTechnical description\n=====================\n\nloadconfig dynamically creates a python configuration ordered dictionary from\nsources like the command line, configuration files and yaml strings that can\nbe used in python code and shell scripts. Dependencies are pyyaml and clg.\n\n\nInstallation\n============\n\nInstallation is straightforward using a wheel from pypi::\n\n pip install loadconfig\n\nAlternatively, install from github::\n\n pip install git+https://github.com/mzdaniel/loadconfig\n\n\nLocal test/build\n================\n\nAssumptions for this section: A unix system, python2.7 or 3.4, and pip >= 6.1.\nAlthough git is recommended, it is not required.\n\nloadconfig is hosted on github:\n\n.. code-block:: bash\n\n # Download the project using git\n git clone https://github.com/mzdaniel/loadconfig\n cd loadconfig\n\n # or from a tarball\n wget -O- https://github.com/mzdaniel/loadconfig/archive/0.1.tar.gz | tar xz\n cd loadconfig\n\nFor a simple way to run the tests with minimum dependencies, tests/runtests.sh\nis provided.\nNote: python programs and libraries depend on the environment where it is run.\nAt a minimun, it is adviced to run the tests and build process in a virtualenv.\ntox is the recommended way to run loadconfig tests and build its package:\n\n.. code-block:: bash\n\n\n # Install loadconfig dependencies and pytest\n pip install -r requirements.txt pytest\n\n # Run the tests\n ./tests/runtests.sh\n\nFor building a universal pip installable wheel, pbr is used:\n\n.. code-block:: bash\n\n\n # Install setup.py dependencies if needed.\n pip install pbr wheel\n\n # Build loadconfig package\n python setup.py bdist_wheel\n\nWe use tox to test loadconfig in virtualenvs for both python2.7 and python3.4.\n`Tox`_ is a generic virtualenv management and test command line tool. It\nhandles the creation of virtualenvs with proper python dependencies for\ntesting, pep8 checking, coverage and building:\n\n.. code-block:: bash\n\n\n # Install the only tox dependency if needed (tox takes care of any other\n # needed dependency using pip)\n pip install tox\n\n # Run tests, create coverage report and build universal loadconfig package\n # loadconfig package is left in dist/\n tox\n\nIf you are curious, `loadconfig buildbot`_ continuos integration server shows\nthe tox tests and build runs for each commit and pull requests done in the\nloadconfig repo.\n\n.. _tox: http://tox.readthedocs.org\n.. _loadconfig buildbot: http://loadconfig.glidelink.net/waterfall\n\n\nSecurity\n========\n\nDisclosure: loadconfig is meant for both flexibility and productivity.\nIt does not attempt to be safe with untrusted input. There are ways (linux\ncontainers, PyPy\u2019s sandboxing) that can be implemented for such environments\nand left for the user to consider.\n\n\nThanks!\n=======\n\n* `Guido van Rossum`_ and `Linus Torvalds`_\n* Raymond Hettinger and Armin Ronacher for `OrderedDict`_\n* Clark Evans and Kirill Simonov for `YAML`_ and `PyYAML`_ implementation\n* Steven Bethard and Fran\u00e7ois M\u00e9nab\u00e9 for `argparse`_ and `CLG`_ implementations\n* David Goodger & Georg Brandl for `reStructuredText`_ and `Sphinx`_\n* Solomon Hykes, Jerome Petazzoni and Sam Alba for `Docker`_\n* The awesome Python, Linux and Git communities\n\n\n.. _Guido van Rossum: http://en.wikipedia.org/wiki/Guido_van_Rossum\n.. _Linus Torvalds: http://en.wikipedia.org/wiki/Linus_Torvalds\n.. _yaml: http://yaml.org/spec/1.2/spec.html\n.. _pyyaml: http://pyyaml.org/wiki/PyYAMLDocumentation\n.. _OrderedDict: https://www.python.org/dev/peps/pep-0372\n.. _argparse: https://docs.python.org/3/library/argparse.html\n.. _CLG: https://clg.readthedocs.org\n.. _docker: https://www.docker.com/\n.. _reStructuredText: http://sphinx-doc.org/rest.html\n.. _Sphinx: http://sphinx-doc.org/tutorial.html", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://loadconfig.readthedocs.org", "keywords": "config\nodict\nyaml\nclg\ncommand-line\nargparse", "license": "MIT License", "maintainer": null, "maintainer_email": null, "name": "loadconfig", "package_url": "https://pypi.org/project/loadconfig/", "platform": "Linux", "project_url": "https://pypi.org/project/loadconfig/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://loadconfig.readthedocs.org" }, "release_url": "https://pypi.org/project/loadconfig/0.1.1/", "requires_dist": null, "requires_python": null, "summary": "Tool to simplify config management in a program.", "version": "0.1.1" }, "last_serial": 1698957, "releases": { "0.0.7": [ { "comment_text": "", "digests": { "md5": "e22414e4c95a1cf4fed68e9d9729d84e", "sha256": "cb5f503ff30c05490673106da248fcdcae0764db3a33a9313faa0c56827b4e2f" }, "downloads": -1, "filename": "loadconfig-0.0.7-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "e22414e4c95a1cf4fed68e9d9729d84e", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 13924, "upload_time": "2015-06-22T07:11:53", "url": "https://files.pythonhosted.org/packages/6a/d1/1f6415588ee75b11ac1d00d98da9af39613070c0f9af7646644c3ca6ec1e/loadconfig-0.0.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e16db64ea0c7280307283e69646bab70", "sha256": "026f6a7bb5d0d3887352c6c6fc476bdb61c74103a38ed4e657f899abddef4d14" }, "downloads": -1, "filename": "loadconfig-0.0.7.tar.gz", "has_sig": true, "md5_digest": "e16db64ea0c7280307283e69646bab70", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29924, "upload_time": "2015-06-19T03:22:54", "url": "https://files.pythonhosted.org/packages/26/3e/53b534fbca10eb88806d6e6caa999ba551a0fde9f1875d3c5cca8e332909/loadconfig-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "a5b54c9a108c6516cc42f02fab59af9e", "sha256": "9b4df125096ad4ad786e45a266b9e2da4717f6500d186ffc610850776b51a975" }, "downloads": -1, "filename": "loadconfig-0.0.8-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "a5b54c9a108c6516cc42f02fab59af9e", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 14182, "upload_time": "2015-06-27T06:16:18", "url": "https://files.pythonhosted.org/packages/8b/4f/d46e19046bd25c92b0fccd9d3493d6bb37cbf7997ce3c758bf609638ad4c/loadconfig-0.0.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a9fafe5c2dd61fb071df71e0fe3254db", "sha256": "15696105731d19f7219d7a67d1df369cb8ba90d9b0a7d701c33b13000135b456" }, "downloads": -1, "filename": "loadconfig-0.0.8.tar.gz", "has_sig": true, "md5_digest": "a9fafe5c2dd61fb071df71e0fe3254db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30438, "upload_time": "2015-06-27T06:16:14", "url": "https://files.pythonhosted.org/packages/ed/aa/b8a84781f782290cbe39fc4d3db1b4ce6cf60dacfc436d367b14d90af653/loadconfig-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "1f0136fc070d19b49d2c0e2274efcc4f", "sha256": "d6a52248fdedcbddf4efe684a0558f927e4d0fb7701d9344844ed297b8213f2f" }, "downloads": -1, "filename": "loadconfig-0.0.9-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "1f0136fc070d19b49d2c0e2274efcc4f", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 14698, "upload_time": "2015-07-08T01:41:37", "url": "https://files.pythonhosted.org/packages/a5/02/235b8db69574298da18ecaf5eb3ce6b05355c876d61dbc9fb5945d6e4939/loadconfig-0.0.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8d7f8c3b7277500bd58b50798d65a7a6", "sha256": "63e0dd84189e152f2164c08a08e66c8b0a4fe4ac983ee8ba22d20dff24df6dcf" }, "downloads": -1, "filename": "loadconfig-0.0.9.tar.gz", "has_sig": true, "md5_digest": "8d7f8c3b7277500bd58b50798d65a7a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11341, "upload_time": "2015-07-08T01:41:34", "url": "https://files.pythonhosted.org/packages/83/67/df75533e0c6f5e77a3f11d26756c313ff54beeb49ecff664e18c0dc65009/loadconfig-0.0.9.tar.gz" } ], "0.1": [ { "comment_text": "", "digests": { "md5": "d602168e057ecc9d37659b30e889a967", "sha256": "13bac59782e392728178e276d2257a6fce66a34744a937c7c26feffc63767486" }, "downloads": -1, "filename": "loadconfig-0.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "d602168e057ecc9d37659b30e889a967", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 15606, "upload_time": "2015-07-29T02:38:36", "url": "https://files.pythonhosted.org/packages/a9/e2/d2920c75f8555881b4c986c7e2e1ba6f74222d189b68e86ef17c2bf16cd7/loadconfig-0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2375cfd0d56afc0125b2ddb0d9df026b", "sha256": "3999859a78f10be37869ecfa0ad3cc91cedba3f7909f2e057a5deb86a3bba47d" }, "downloads": -1, "filename": "loadconfig-0.1.tar.gz", "has_sig": true, "md5_digest": "2375cfd0d56afc0125b2ddb0d9df026b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12366, "upload_time": "2015-07-29T02:38:32", "url": "https://files.pythonhosted.org/packages/e3/a7/e31c59930da958824d626932a34e757da253580c43e678d232ceedbe9741/loadconfig-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "c8cacd363c5ff98b81614276339ea054", "sha256": "484789e1a239c920b5e0d6bdd6b4f0d86bf9d6905849bb198a8cf20786e4d362" }, "downloads": -1, "filename": "loadconfig-0.1.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "c8cacd363c5ff98b81614276339ea054", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 16137, "upload_time": "2015-08-28T23:15:26", "url": "https://files.pythonhosted.org/packages/de/13/e18d2b0e76bc791c9616df9afabc2a67e3a85b601f0d9dd445153034f8f9/loadconfig-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "89460306cf2460991f77def064b7f3ee", "sha256": "d2b24fc42afc325a80d1882a1ae9e71668edc392de387c96850793b209969c52" }, "downloads": -1, "filename": "loadconfig-0.1.1.tar.gz", "has_sig": false, "md5_digest": "89460306cf2460991f77def064b7f3ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12917, "upload_time": "2015-08-28T23:10:03", "url": "https://files.pythonhosted.org/packages/4b/6c/23013b230e759b329fdc88fd6a037963442d203216bbe6cbd134a5a405b0/loadconfig-0.1.1.tar.gz" } ], "0.1b1": [ { "comment_text": "", "digests": { "md5": "d455cd3cad88538b2a2f7c1759f18782", "sha256": "a2b780fd3ab9a1fb280c75b96e28cd30e8f87c66464158df1b945c7153f06467" }, "downloads": -1, "filename": "loadconfig-0.1b1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "d455cd3cad88538b2a2f7c1759f18782", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 14740, "upload_time": "2015-07-19T21:33:43", "url": "https://files.pythonhosted.org/packages/ac/bd/add4af6801c4c8548f66f6b47c2f2ae704b6ec0aef90e3c405cb6bad8bb9/loadconfig-0.1b1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f9a7c8f9bb8088095b7713522ab3fb4c", "sha256": "b555c66c1510932cc21560cd086dfd44bd3bdfc95adb8744612ede4c3ad62602" }, "downloads": -1, "filename": "loadconfig-0.1b1.tar.gz", "has_sig": true, "md5_digest": "f9a7c8f9bb8088095b7713522ab3fb4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11304, "upload_time": "2015-07-19T21:33:39", "url": "https://files.pythonhosted.org/packages/f2/77/688831cb4aafe7377f6524d7cd4bf9d6b2252e5cb1d3d6299004ef5859d9/loadconfig-0.1b1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c8cacd363c5ff98b81614276339ea054", "sha256": "484789e1a239c920b5e0d6bdd6b4f0d86bf9d6905849bb198a8cf20786e4d362" }, "downloads": -1, "filename": "loadconfig-0.1.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "c8cacd363c5ff98b81614276339ea054", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 16137, "upload_time": "2015-08-28T23:15:26", "url": "https://files.pythonhosted.org/packages/de/13/e18d2b0e76bc791c9616df9afabc2a67e3a85b601f0d9dd445153034f8f9/loadconfig-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "89460306cf2460991f77def064b7f3ee", "sha256": "d2b24fc42afc325a80d1882a1ae9e71668edc392de387c96850793b209969c52" }, "downloads": -1, "filename": "loadconfig-0.1.1.tar.gz", "has_sig": false, "md5_digest": "89460306cf2460991f77def064b7f3ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12917, "upload_time": "2015-08-28T23:10:03", "url": "https://files.pythonhosted.org/packages/4b/6c/23013b230e759b329fdc88fd6a037963442d203216bbe6cbd134a5a405b0/loadconfig-0.1.1.tar.gz" } ] }