{ "info": { "author": "Emre Yilmaz", "author_email": "mail@emreyilmaz.me", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "kaptan\n======\n\n|pypi| |docs| |build-status| |coverage| |license|\n\nconfiguration parser.\n\ninstallation\n------------\n\n.. code-block:: console\n\n $ pip install kaptan\n\nAlso available as a package on FreeBSD, Debian, Arch Linux and Slackware.\n\nusage\n-----\n\n**supported handlers**\n\n- dict\n- json\n- yaml\n- .ini\n- python file\n\n**default (dict) handler**\n\n.. code-block:: python\n\n config = kaptan.Kaptan()\n config.import_config({\n 'environment': 'DEV',\n 'redis_uri': 'redis://localhost:6379/0',\n 'debug': False,\n 'pagination': {\n 'per_page': 10,\n 'limit': 20,\n }\n })\n\n print config.get(\"pagination.limit\")\n\n # output: 20\n\n**json handler**\n\n.. code-block:: python\n\n config = kaptan.Kaptan(handler=\"json\")\n config.import_config('{\"everything\": 42}')\n\n print config.get(\"everything\")\n # output: 42\n\n**yaml handler**\n\n.. code-block:: python\n\n config = kaptan.Kaptan(handler=\"yaml\")\n config.import_config(\"\"\"\n product:\n price:\n value: 12.65\n currency_list:\n 1. TL\n 2. EURO\n \"\"\")\n print config.get(\"product.price.currency_list.0\")\n # output: TL\n\nor you can get from directly from the filename:\n\n``config.import_config(\"configuration.yaml\")``\n\n**.ini handler**\n\nconfig.ini\n\n.. code-block:: ini\n\n [development]\n database_uri = mysql://root:123456@localhost/posts\n\n [production]\n database_uri = mysql://poor_user:poor_password@localhost/poor_posts\n\n.. code-block:: python\n\n config = kaptan.Kaptan(handler=\"ini\")\n config.import_config('config.ini')\n\n print config.get(\"production.database_uri\")\n # output: mysql://poor_user:poor_password@localhost/poor_posts\n\n**file handler**\n\nconfig.py\n\n.. code-block:: python\n\n DATABASE = 'mysql://root:123456@localhost/posts'\n DEBUG = False\n PAGINATION = {\n 'per_page': 10,\n 'limit': 20,\n }\n\n.. code-block:: python\n\n config = kaptan.Kaptan(handler=\"file\")\n config.import_config('config')\n\n print config.get(\"DEBUG\")\n # output: False\n\nexporting configuration\n-----------------------\n\n.. code-block:: python\n\n config = kaptan.Kaptan(handler=\"file\")\n config.import_config({\n 'environment': 'DEV',\n 'redis_uri': 'redis://localhost:6379/0',\n 'debug': False,\n 'pagination': {\n 'per_page': 10,\n 'limit': 20,\n }\n })\n\n print config.export(\"yaml\")\n\n**output**:\n\n.. code-block:: yaml\n\n debug: false\n environment: DEV\n pagination: {limit: 20, per_page: 10}\n redis_uri: redis://localhost:6379/0\n\n``print config.export(\"json\")``\n\noutputs unindented json. ``.export`` accepts kwargs which pass into\n`json.dumps`.\n\n.. _json.dumps: http://docs.python.org/2/library/json.html#json.dump\n\n.. code-block:: python\n\n print config.export(\"json\", indent=4)\n\n**output**:\n\n.. code-block:: json\n\n {\n \"environment\": \"DEV\",\n \"debug\": false,\n \"pagination\": {\n \"per_page\": 10,\n \"limit\": 20\n },\n \"redis_uri\": \"redis://localhost:6379/0\"\n }\n\n``config.export('yaml')`` also supports the `kwargs for pyyaml`_.\n\n.. _kwargs for pyyaml: http://pyyaml.org/wiki/PyYAMLDocumentation#Dumper\n\nNew in Version 0.5.7: ``config.export('yaml', safe=True)`` will use ``.safe_dump``.\n\ncli\n---\n\nexporting (defaults to json)\n\n.. code-block:: console\n\n $ echo \"environment: DEV\" > config.yaml\n $ kaptan config.yaml --export json > config.json\n $ cat config.json\n {\"environment\": \"DEV\"}\n\ngetting a value\n\n.. code-block:: console\n\n $ kaptan config.yaml --key environment\n DEV\n\nspecifying the handler\n\n.. code-block:: console\n\n $ mv config.yaml config.settings\n $ kaptan config.settings:yaml --export json\n {\"environment\": \"DEV\"}\n\nconfig from stdin\n\n.. code-block:: console\n\n $ echo '{\"source\": \"stdin\"}' | kaptan -\n {\"source\": \"stdin\"}\n $ echo 'source: stdin' | kaptan -:yaml\n {\"source\": \"stdin\"}\n\nmerging configs\n\n.. code-block:: console\n\n $ echo \"environment: PROD\" > config.settings\n $ echo '{\"source\": \"stdin\"}' | kaptan - config.json config.settings:yaml\n {\"environment\": \"PROD\", \"source\": \"stdin\"}\n\nsetting default handler\n\n.. code-block:: console\n\n $ echo \"source: stdin\" | kaptan --handler yaml - config.settings\n {\"environment\": \"PROD\", \"source\": \"stdin\"}\n\nwriting json with yaml\n\n.. code-block:: console\n\n $ kaptan -:yaml -e json\n \n \n \n\nrunning tests\n-------------\n\nwith ``py.test``:\n\n.. code-block:: console\n\n $ py.test\n\ncontributors\n------------\n\n- `Cenk Alt\u0131 `_\n- `Wesley Bitter `_\n- `Mark Steve `_\n- `Tony Narlock `_\n- `Berker Peksag `_\n- `Pradyun S. Gedam `_\n\nsee more at https://github.com/emre/kaptan/graphs/contributors.\n\n.. |pypi| image:: https://img.shields.io/pypi/v/kaptan.svg\n :alt: Python Package\n :target: http://badge.fury.io/py/kaptan\n\n.. |build-status| image:: https://img.shields.io/travis/emre/kaptan.svg\n :alt: Build Status\n :target: https://travis-ci.org/emre/kaptan\n\n.. |coverage| image:: https://codecov.io/gh/emre/kaptan/branch/master/graph/badge.svg\n :alt: Code Coverage\n :target: https://codecov.io/gh/emre/kaptan\n\n.. |license| image:: https://img.shields.io/github/license/emre/kaptan.svg\n :alt: License \n\n.. |docs| image:: https://readthedocs.org/projects/kaptan/badge/?version=latest\n :alt: Documentation Status\n :scale: 100%\n :target: https://readthedocs.org/projects/kaptan/", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/emre/kaptan", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "kaptan", "package_url": "https://pypi.org/project/kaptan/", "platform": "", "project_url": "https://pypi.org/project/kaptan/", "project_urls": { "Homepage": "https://github.com/emre/kaptan" }, "release_url": "https://pypi.org/project/kaptan/0.5.12/", "requires_dist": null, "requires_python": "", "summary": "Configuration manager", "version": "0.5.12" }, "last_serial": 5175329, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "a16f36e65cf802da621707d1f33e4fc2", "sha256": "e0e2a1e0fff1c2477fd4f2e09031a304f760d9564767f59abb156837f36687a8" }, "downloads": -1, "filename": "kaptan-0.1.tar.gz", "has_sig": false, "md5_digest": "a16f36e65cf802da621707d1f33e4fc2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1692, "upload_time": "2013-05-14T16:18:59", "url": "https://files.pythonhosted.org/packages/15/17/a79d03de04e4cb0c1170dd6f4b14d68aa0014c9dd762b2158f38e590c994/kaptan-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "69131e6b3f2f525023c6c67642169c78", "sha256": "4f3010f8fd271fb16e60a0049fb3b4307c150d1da63f2d5ad521d0c82cb39a02" }, "downloads": -1, "filename": "kaptan-0.2.tar.gz", "has_sig": false, "md5_digest": "69131e6b3f2f525023c6c67642169c78", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1662, "upload_time": "2013-05-14T16:20:15", "url": "https://files.pythonhosted.org/packages/30/61/44fbcac0f9e62e1744cffb6ed1671f0d27506941deeafb8b1949fb6195ca/kaptan-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "825339dd093857b0f3e61dbcbff577df", "sha256": "8e5592b903a40c0b10536a0841814a84f36a26f6f7b8291064a9543f330414c2" }, "downloads": -1, "filename": "kaptan-0.3.tar.gz", "has_sig": false, "md5_digest": "825339dd093857b0f3e61dbcbff577df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1663, "upload_time": "2013-05-14T16:21:08", "url": "https://files.pythonhosted.org/packages/d1/12/4191161e968a3e2337084b21a743d147982becb551213d469e57ed73d47c/kaptan-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "aeeb0521bcfa882255d344b53da66543", "sha256": "3ef9280bb0646d2cd4b106477926b763c757be84b5b99f5fd68892ed7fc071a9" }, "downloads": -1, "filename": "kaptan-0.4.tar.gz", "has_sig": false, "md5_digest": "aeeb0521bcfa882255d344b53da66543", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1691, "upload_time": "2013-06-24T09:45:26", "url": "https://files.pythonhosted.org/packages/85/e2/94fea84a44f1df3462e68bf8bd54f8a62de36a20278d40eeaa7801dc7905/kaptan-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "650dd74628ac6e5c6c46740215a9fdcc", "sha256": "db49daeb3663f1e30325a33c2efb923f1e4c56e9d6254bf1578e5c14f57a200c" }, "downloads": -1, "filename": "kaptan-0.5.tar.gz", "has_sig": false, "md5_digest": "650dd74628ac6e5c6c46740215a9fdcc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1729, "upload_time": "2013-06-25T14:44:17", "url": "https://files.pythonhosted.org/packages/3b/fb/9dcfd8bb9956029ee766a1eea351f358fa2d0c2a14e979403cdf6370dd06/kaptan-0.5.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "2e879d86c1d19221901a2bf1066dcc7c", "sha256": "3a7e881a4c31eaad04bef18fed6ca1cfd5ab2ac79a5a466a18b94a49e298e66b" }, "downloads": -1, "filename": "kaptan-0.5.1.tar.gz", "has_sig": false, "md5_digest": "2e879d86c1d19221901a2bf1066dcc7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1775, "upload_time": "2013-06-27T06:38:07", "url": "https://files.pythonhosted.org/packages/ad/b6/7be0d729cf54ca742e190055bc08553599ac608947576da7c56fcbb2a25b/kaptan-0.5.1.tar.gz" } ], "0.5.10": [ { "comment_text": "", "digests": { "md5": "d8c9eab27e915b9aae5b65fdb7b0e834", "sha256": "44df200d030975650a3a832c13b48cafdeb1a237b23de181d6a2346107e39da3" }, "downloads": -1, "filename": "kaptan-0.5.10.tar.gz", "has_sig": false, "md5_digest": "d8c9eab27e915b9aae5b65fdb7b0e834", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10102, "upload_time": "2018-07-06T23:27:56", "url": "https://files.pythonhosted.org/packages/52/1f/1faa2c65aabaf685725586fc2c19b3b8bc70d2aa0eea39d480d2e4a55077/kaptan-0.5.10.tar.gz" } ], "0.5.11": [ { "comment_text": "", "digests": { "md5": "fe76e39c5687793dad7f75fe1d06f9af", "sha256": "8403d6e48200c3f49cb6d6b3dcb5898aa5ab9d820831655bf9a2403e00cd4207" }, "downloads": -1, "filename": "kaptan-0.5.11.tar.gz", "has_sig": false, "md5_digest": "fe76e39c5687793dad7f75fe1d06f9af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10202, "upload_time": "2018-12-30T22:52:46", "url": "https://files.pythonhosted.org/packages/f7/bb/7189969578a644bc9e001a9c910e59fb8a99d5a69b69510ba4dec51122c3/kaptan-0.5.11.tar.gz" } ], "0.5.12": [ { "comment_text": "", "digests": { "md5": "a58cba3a3f975d5765ce0befef7d8825", "sha256": "1abd1f56731422fce5af1acc28801677a51e56f5d3c3e8636db761ed143c3dd2" }, "downloads": -1, "filename": "kaptan-0.5.12.tar.gz", "has_sig": false, "md5_digest": "a58cba3a3f975d5765ce0befef7d8825", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10539, "upload_time": "2019-04-23T03:10:50", "url": "https://files.pythonhosted.org/packages/94/64/f492edfcac55d4748014b5c9f9a90497325df7d97a678c5d56443f881b7a/kaptan-0.5.12.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "e9757fd116953ecd02ebf059ac9db6b2", "sha256": "f454dafe824f058367aa285db9b381edaf4c7c90c85f37cbbb63cdc38be52b3d" }, "downloads": -1, "filename": "kaptan-0.5.2.tar.gz", "has_sig": false, "md5_digest": "e9757fd116953ecd02ebf059ac9db6b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2516, "upload_time": "2013-07-03T22:10:57", "url": "https://files.pythonhosted.org/packages/71/ab/d19019179f298acb1617086b63a26c7c4abd3c948560a6c61ad833d8fa3e/kaptan-0.5.2.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "c88fede609a20f8c53f9d9009dbcad02", "sha256": "aa9ece340d7d85f0a3776b9064f15040c6d6719272dcb33f701adf8fd0e27c99" }, "downloads": -1, "filename": "kaptan-0.5.3.tar.gz", "has_sig": false, "md5_digest": "c88fede609a20f8c53f9d9009dbcad02", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2669, "upload_time": "2013-09-04T09:37:27", "url": "https://files.pythonhosted.org/packages/75/9a/cd4659fa036930e8c5b380274986cf8b4bbcb1a25c1d472d1634784b0e19/kaptan-0.5.3.tar.gz" } ], "0.5.4": [ { "comment_text": "", "digests": { "md5": "8cefdeaf69e1b980d392ed04eb66fc64", "sha256": "8c0d5b1719bf26ec9de44e36a783c8dffe8e612e75f70c0420de66ca3165df39" }, "downloads": -1, "filename": "kaptan-0.5.4.tar.gz", "has_sig": false, "md5_digest": "8cefdeaf69e1b980d392ed04eb66fc64", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2733, "upload_time": "2013-09-06T20:15:11", "url": "https://files.pythonhosted.org/packages/7b/0b/31aeb299f1a1fe2353ec6026253c5634b3ac53a6b24b5f3c6205f9f858b7/kaptan-0.5.4.tar.gz" } ], "0.5.5": [ { "comment_text": "", "digests": { "md5": "4ad6f3c40aac5228a64934454fdfec19", "sha256": "bf05de429090fdb9074e5baabc94217a40418a70ade6fe30708333d4f3470f40" }, "downloads": -1, "filename": "kaptan-0.5.5.tar.gz", "has_sig": false, "md5_digest": "4ad6f3c40aac5228a64934454fdfec19", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3087, "upload_time": "2013-10-07T13:07:20", "url": "https://files.pythonhosted.org/packages/1c/1f/53d946d93bba71f0493474b9ff1e8f4404c565111477c7c468d957ba8534/kaptan-0.5.5.tar.gz" } ], "0.5.6": [ { "comment_text": "", "digests": { "md5": "c864d0891dd3ec9df8f0a0162a40d754", "sha256": "b705d9c0cd2bbab7b453ea76555f87e2ea1c526a41c5221b5dd36be4c7cdc95a" }, "downloads": -1, "filename": "kaptan-0.5.6.tar.gz", "has_sig": false, "md5_digest": "c864d0891dd3ec9df8f0a0162a40d754", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3070, "upload_time": "2013-10-29T13:26:30", "url": "https://files.pythonhosted.org/packages/3c/4a/ef62c84b96c44cc42fab1d88a8ca8a253cf844df121bdb47c5574744e182/kaptan-0.5.6.tar.gz" } ], "0.5.7": [ { "comment_text": "", "digests": { "md5": "31beb36b8eb3e94e5657ed14d9d53fde", "sha256": "b664c22532eda1fdb1eaa08de3c0ac8b5adda26c5947dea73991f5de476c4521" }, "downloads": -1, "filename": "kaptan-0.5.7.tar.gz", "has_sig": false, "md5_digest": "31beb36b8eb3e94e5657ed14d9d53fde", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3109, "upload_time": "2013-10-30T02:09:57", "url": "https://files.pythonhosted.org/packages/7e/73/c0cedf12167cf6579414362829e43794aa0130c3093f5048ab4baa2763f5/kaptan-0.5.7.tar.gz" } ], "0.5.8": [ { "comment_text": "", "digests": { "md5": "a6ab9fc711b243a7652903c969c72319", "sha256": "7817989386899b04d927194b0950ed508acc0c9db082e04ceb7eb7edbd4119ad" }, "downloads": -1, "filename": "kaptan-0.5.8.tar.gz", "has_sig": false, "md5_digest": "a6ab9fc711b243a7652903c969c72319", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7088, "upload_time": "2014-12-29T16:43:14", "url": "https://files.pythonhosted.org/packages/58/3f/0c39d99cfb57178bdc17d088dc9e3d515f30684bf3f12fafff67b8745864/kaptan-0.5.8.tar.gz" } ], "0.5.9": [ { "comment_text": "", "digests": { "md5": "fd8faa01ee93c44b6cc8d0642788a2a6", "sha256": "46285de47f981189060eb4e4ca73713c0b3e22ebd662b1599df12064ad3a1762" }, "downloads": -1, "filename": "kaptan-0.5.9.tar.gz", "has_sig": false, "md5_digest": "fd8faa01ee93c44b6cc8d0642788a2a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8419, "upload_time": "2017-10-19T10:57:54", "url": "https://files.pythonhosted.org/packages/37/28/65abc7998f22daeb5ed2176bb3510418ae313f495975c84c7b898a1b3d39/kaptan-0.5.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a58cba3a3f975d5765ce0befef7d8825", "sha256": "1abd1f56731422fce5af1acc28801677a51e56f5d3c3e8636db761ed143c3dd2" }, "downloads": -1, "filename": "kaptan-0.5.12.tar.gz", "has_sig": false, "md5_digest": "a58cba3a3f975d5765ce0befef7d8825", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10539, "upload_time": "2019-04-23T03:10:50", "url": "https://files.pythonhosted.org/packages/94/64/f492edfcac55d4748014b5c9f9a90497325df7d97a678c5d56443f881b7a/kaptan-0.5.12.tar.gz" } ] }