{ "info": { "author": "Manu Phatak", "author_email": "bionikspoon@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "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 :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Database", "Topic :: Database :: Database Engines/Servers", "Topic :: Software Development", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Software Development :: Widget Sets", "Topic :: Utilities" ], "description": ".. START Source defined in docs/github_docs.py\n\n\n.. This document was procedurally generated by docs/github_docs.py on Friday, January 01, 2016\n\n\n.. END Source defined in docs/github_docs.py\n.. START Source defined in docs/github_docs.py\n\n\n.. role:: mod(literal)\n.. role:: func(literal)\n.. role:: data(literal)\n.. role:: const(literal)\n.. role:: class(literal)\n.. role:: meth(literal)\n.. role:: attr(literal)\n.. role:: exc(literal)\n.. role:: obj(literal)\n.. role:: envvar(literal)\n\n\n.. END Source defined in docs/github_docs.py\n.. START Source defined in docs/source/_partial/readme_title.rst\n\n===========\njson_config\n===========\n\n.. image:: https://badge.fury.io/py/json_config.svg\n :target: https://pypi.python.org/pypi/json_config/\n :alt: Latest Version\n\n.. image:: https://img.shields.io/pypi/status/json_config.svg\n :target: https://pypi.python.org/pypi/json_config/\n :alt: Development Status\n\n.. image:: https://travis-ci.org/bionikspoon/json_config.svg?branch=develop\n :target: https://travis-ci.org/bionikspoon/json_config?branch=develop\n :alt: Build Status\n\n.. image:: https://coveralls.io/repos/bionikspoon/json_config/badge.svg?branch=develop\n :target: https://coveralls.io/github/bionikspoon/json_config?branch=develop&service=github\n :alt: Coverage Status\n\n.. image:: https://readthedocs.org/projects/json_config/badge/?version=develop\n :target: https://json_config.readthedocs.org/en/develop/?badge=develop\n :alt: Documentation Status\n\n\nA convenience utility for working with JSON config files.\n\n\n.. END Source defined in docs/source/_partial/readme_title.rst\n.. START Source defined in docs/source/_partial/readme_features.rst\n\nFeatures\n--------\n\n- Documentation: https://json_config.readthedocs.org\n- Open Source: https://github.com/bionikspoon/json_config\n- MIT license\n\n..\n\n- Automatically syncs file on changes.\n- Automatically handles complicated nested data structures.\n- Designed to be easily extended. Use different serializer libraries to easily switch to yaml, ini, etc.\n- Lightweight (<5KB) and Fast.\n- Takes advantage of Python's native dictionary syntax.\n- Tested against python 2.6, 2.7, 3.3, 3.4, 3.5, and PYPY!\n- Unit Tested with high coverage.\n- Idiomatic, self-descriptive code & api\n\n.. code-block:: python\n\n >>> import json_config\n >>> config = json_config.connect('categories.json')\n >>> config\n Connect({})\n >>> config['comics']['dc']['batman']['antagonists'] = ['Scarecrow', 'The Joker', 'Bane']\n >>> config['comics']['marvel']['ironman']['antagonists'] = 'Ultron'\n >>> print(config.serialize())\n {\n \"comics\": {\n \"dc\": {\n \"batman\": {\n \"antagonists\": [\n \"Scarecrow\",\n \"The Joker\",\n \"Bane\"\n ]\n }\n },\n \"marvel\": {\n \"ironman\": {\n \"antagonists\": \"Ultron\"\n }\n }\n }\n }\n\n\n\n.. END Source defined in docs/source/_partial/readme_features.rst\n.. START Source defined in docs/source/installation.rst\n\n\n============\nInstallation\n============\n\nAt the command line either via easy_install or pip\n\n.. code-block:: shell\n\n $ pip install json_config\n\n\n\n.. code-block:: shell\n\n $ easy_install json_config\n\nOr, if you have virtualenvwrapper installed\n\n.. code-block:: shell\n\n $ mkvirtualenv json_config\n $ pip install json_config\n\n**Uninstall**\n\n.. code-block:: shell\n\n $ pip uninstall json_config\n\n\n\n.. END Source defined in docs/source/installation.rst\n.. START Source defined in docs/source/usage.rst\n\n=====\nUsage\n=====\n\nTo use json_config in a project:\n\n.. code-block:: python\n\n import json_config\n\n config = json_config.connect('config.json')\n config['root'] = '/var/www/html/'\n\n print(config['root'])\n #OUT: '/var/www/html/'\n config\n #OUT: Connect({'root': '/var/www/html/'})\n\n\n.. END Source defined in docs/source/usage.rst\n.. START Source defined in docs/source/_partial/readme_credits.rst\n\nCredits\n-------\n\nTools used in rendering this package:\n\n* Cookiecutter_\n* `bionikspoon/cookiecutter-pypackage`_ forked from `audreyr/cookiecutter-pypackage`_\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`bionikspoon/cookiecutter-pypackage`: https://github.com/bionikspoon/cookiecutter-pypackage\n.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n\n\n.. END Source defined in docs/source/_partial/readme_credits.rst\n\n\n.. START Source defined in docs/github_docs.py\n\n\n.. This document was procedurally generated by docs/github_docs.py on Friday, January 01, 2016\n\n\n.. END Source defined in docs/github_docs.py\n.. START Source defined in docs/github_docs.py\n\n\n.. role:: mod(literal)\n.. role:: func(literal)\n.. role:: data(literal)\n.. role:: const(literal)\n.. role:: class(literal)\n.. role:: meth(literal)\n.. role:: attr(literal)\n.. role:: exc(literal)\n.. role:: obj(literal)\n.. role:: envvar(literal)\n\n\n.. END Source defined in docs/github_docs.py\n.. START Source defined in docs/source/history.rst\n\n=======\nHistory\n=======\n\nNext Release\n------------\n- Stay tuned\n\n2.0.0 (2016-01-01)\n------------------\n- BREAKING: (Internal API) ``connect.block`` removed\n- BREAKING: (Internal API) ``connect.write_file`` renamed to ``connect.save``\n- Feature: Rewrote the entire library to encapsulate logic\n- Feature: Extendable serializer contract, to allow any config format.\n- Feature: Upgrade to stable.\n- Feature: Removed threading in favor of a smarter locking mechanism\n- Feature: Add support for py26 and py35\n- Feature: Pin dependencies\n- Feature: Reorganized package and tests\n- Fix: Updated doc builds\n- Fix: Readme badge links\n- 2.0.1: Fix: Failed deploy (travis requirements)\n\n\n1.2.0 (2015-05-18)\n------------------\n\n- Feature: Improved compatibility to py27, py32, py33, py34, and pypy\n- Feature: Supports multiple config files.\n- Feature: Writes less, smarter logic on deciding if a write is necessary.\n- Feature: Delegates writes to a background process.\n- Testing: Renamed tests to be more descriptive of expectations.\n- Testing: Added a bunch of tests describing different scenarios.\n- Massive Refactoring\n\n1.1.0 (2015-04-15)\n------------------\n\n- Massive improvement to documentation and presentation.\n\n1.0.0 (2015-04-13)\n------------------\n\n- First working version.\n\n0.1.0 (2015-04-11)\n------------------\n\n- First release on PyPI.\n\n\n.. END Source defined in docs/source/history.rst", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/bionikspoon/json_config", "keywords": "json_config Manu Phatak", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "json_config", "package_url": "https://pypi.org/project/json_config/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/json_config/", "project_urls": { "Homepage": "https://github.com/bionikspoon/json_config" }, "release_url": "https://pypi.org/project/json_config/2.0.1/", "requires_dist": [ "future" ], "requires_python": "", "summary": "A convenience utility for working with JSON config files.", "version": "2.0.1" }, "last_serial": 1884725, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "6a25182c119249826be1d583c8dabe30", "sha256": "da26fd5258e711c8cbb8360cc691200a4ec0701448f68ab60f234cb528cbfbbb" }, "downloads": -1, "filename": "json_config-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6a25182c119249826be1d583c8dabe30", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 3960, "upload_time": "2015-04-13T06:53:52", "url": "https://files.pythonhosted.org/packages/6b/10/7ae1e6d1860a7478ffbfb6686b469b4f914ec10a71f75a6ceab942ec2c51/json_config-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "de5dda79ef859040d7eaf73580915cbd", "sha256": "d41bce72834700c5a4947517e9afd504c7f56db020f91ef2ed48e483c8a2a619" }, "downloads": -1, "filename": "json_config-0.1.0.tar.gz", "has_sig": false, "md5_digest": "de5dda79ef859040d7eaf73580915cbd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5595, "upload_time": "2015-04-13T06:53:48", "url": "https://files.pythonhosted.org/packages/0b/03/721a185aca5c09e4ccb32a2ed0f8c2d512fd84945ad02fd269e12bce657a/json_config-0.1.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "8112dfd9a649612cc9f0c9e256b3f1d3", "sha256": "23594e86654e324b14b6f2e37c30415ec072667c62010a3cbcc8618e8db7152b" }, "downloads": -1, "filename": "json_config-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8112dfd9a649612cc9f0c9e256b3f1d3", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 4119, "upload_time": "2015-04-14T04:56:22", "url": "https://files.pythonhosted.org/packages/51/85/e34bd3a65f542bb13a861211556c4ad9c1abaede67385e259d6b734e0845/json_config-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "65b5e212699ed8335b3b7a2f4c118d78", "sha256": "864d5e11f2704f7a2153394f47c6fc2a68cd438e2a3ef2dce4e8050dc2b156ca" }, "downloads": -1, "filename": "json_config-1.0.0.tar.gz", "has_sig": false, "md5_digest": "65b5e212699ed8335b3b7a2f4c118d78", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5745, "upload_time": "2015-04-14T04:56:18", "url": "https://files.pythonhosted.org/packages/60/c6/b6e7c2e7f8d6729da9b357fe8c80702b75e85f7c0413b1334a86d2e1f0d3/json_config-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "01a9e59e5168aa05b05bba4cd26e2fa2", "sha256": "ad9bd2282852ceedd7b13eb559d9fd8670ea38ced5c8ac1dd3eb68e3af7e7ce1" }, "downloads": -1, "filename": "json_config-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "01a9e59e5168aa05b05bba4cd26e2fa2", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5333, "upload_time": "2015-04-15T21:15:51", "url": "https://files.pythonhosted.org/packages/7f/ed/522ccfba5692f94a554d095457b4d28a4109359ad0b2cc4d4bbc016a472e/json_config-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d479d31c58880c9a53004864972cc25f", "sha256": "9c4878992975d6cb357dbcd53c461eabb4cb34c30a4f7f7e2aa9d4463834ffca" }, "downloads": -1, "filename": "json_config-1.1.0.tar.gz", "has_sig": false, "md5_digest": "d479d31c58880c9a53004864972cc25f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6564, "upload_time": "2015-04-15T21:15:47", "url": "https://files.pythonhosted.org/packages/28/ce/4c9c96a9237d99557139308a73b47694c6010eaac67b1f88a1dd2858a28d/json_config-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "ae3919f0f91eaad4ba9031763a869c82", "sha256": "1bb1a5991cdfb6ffd345dc26d0326bae143bb1380fd20e2e1ff41d8190f91c86" }, "downloads": -1, "filename": "json_config-1.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ae3919f0f91eaad4ba9031763a869c82", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 6681, "upload_time": "2015-05-19T01:48:18", "url": "https://files.pythonhosted.org/packages/e9/0a/cdf44b22b3a2640445109120fc39a9ecc65acbcb7ca893cf43c321887f92/json_config-1.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dce3754c9be22d1aaa6ab7d70f585099", "sha256": "1c31583a0a5a1aeeb40e32a03b802259db9de224b1ed18284ef91d319ec0331c" }, "downloads": -1, "filename": "json_config-1.2.0.tar.gz", "has_sig": false, "md5_digest": "dce3754c9be22d1aaa6ab7d70f585099", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8235, "upload_time": "2015-05-19T01:48:15", "url": "https://files.pythonhosted.org/packages/2e/cd/1a566db636dc8a2585892b11b5549a78ae8b0107a5e60a369553c103e4b7/json_config-1.2.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "2937e9848a53137854ae705a1928305f", "sha256": "db006461ba2dc77bb63ee65f483da30f31b8ad8b4a2e724f6db2898c7456e679" }, "downloads": -1, "filename": "json_config-2.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2937e9848a53137854ae705a1928305f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9682, "upload_time": "2016-01-01T22:48:58", "url": "https://files.pythonhosted.org/packages/6a/1e/3d254b26a773d1ee4ddf110ab5c947b22b6634a04503811294ac9497c30b/json_config-2.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7f612bdd605c354a5302fc834b822c87", "sha256": "2b71cfd942720054f2c3dfb0a2fd610241ddd1b61f1c28197f35841d920fdd1e" }, "downloads": -1, "filename": "json_config-2.0.1.tar.gz", "has_sig": false, "md5_digest": "7f612bdd605c354a5302fc834b822c87", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32644, "upload_time": "2016-01-01T22:49:24", "url": "https://files.pythonhosted.org/packages/7c/07/ac294f4a9c5a533c6a6810c2064f4d6be2197b91c36f3df4d383be649c56/json_config-2.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2937e9848a53137854ae705a1928305f", "sha256": "db006461ba2dc77bb63ee65f483da30f31b8ad8b4a2e724f6db2898c7456e679" }, "downloads": -1, "filename": "json_config-2.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2937e9848a53137854ae705a1928305f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9682, "upload_time": "2016-01-01T22:48:58", "url": "https://files.pythonhosted.org/packages/6a/1e/3d254b26a773d1ee4ddf110ab5c947b22b6634a04503811294ac9497c30b/json_config-2.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7f612bdd605c354a5302fc834b822c87", "sha256": "2b71cfd942720054f2c3dfb0a2fd610241ddd1b61f1c28197f35841d920fdd1e" }, "downloads": -1, "filename": "json_config-2.0.1.tar.gz", "has_sig": false, "md5_digest": "7f612bdd605c354a5302fc834b822c87", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32644, "upload_time": "2016-01-01T22:49:24", "url": "https://files.pythonhosted.org/packages/7c/07/ac294f4a9c5a533c6a6810c2064f4d6be2197b91c36f3df4d383be649c56/json_config-2.0.1.tar.gz" } ] }