{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7" ], "description": "# StingConf\n\n[![Build Status](https://travis-ci.org/rsp9u/stingconf.svg?branch=master)](https://travis-ci.org/rsp9u/stingconf)\n[![codecov](https://codecov.io/gh/rsp9u/stingconf/branch/master/graph/badge.svg)](https://codecov.io/gh/rsp9u/stingconf)\n\nThis is a configuration library through envrionment variables, command line arguments,\nconfiguration file and default value.\n\n## Installation\n\n```\npip install stingconf\n```\n\n## Examples\n\n### define args with functions\n\n* example.py\n\n```python\nimport stingconf\n\nparser = stingconf.Parser('Example module')\nparser.env_prefix('SC')\nparser.conf_file('config.yml')\nparser.add('conf-a', short='a', type=int, default=0)\nparser.add('conf-b', short='b', type=float, default=0.0)\nparser.add('conf-c', short='c', type=str, default='conf-c')\nparser.add('conf-d', short='d', default='conf-d', help='4th config')\nconfig = parser.parse()\n\nprint('CONF_A:', config.CONF_A)\nprint('CONF_B:', config.CONF_B)\nprint('CONF_C:', config.CONF_C)\nprint('CONF_D:', config.CONF_D)\n```\n\n* config.yml\n\n```yaml\nconf_a: 100\nconf_b: 1.0\nconf_c: file-conf-c\n```\n\n* run example\n\n```bash\n$ export SC_CONF_A=300\n$ python example.py --conf-a 200 -b 20.0\nCONF_A: 300\nCONF_B: 20.0\nCONF_C: file-conf-c\nCONF_D: conf-d\n```\n\n### define args with object\n\n* example.py\n\n```python\nimport stingconf\n\ndefinitions = {\n 'env_prefix': 'SC',\n 'conf_file': 'config.yml',\n 'items': {\n 'conf-a': {\n 'arg': {'short': 'a'},\n 'type': 'int',\n 'default': 0,\n },\n 'conf-b': {\n 'arg': {'short': 'b'},\n 'type': 'float',\n 'default': 0.0,\n },\n 'conf-c': {\n 'arg': {'short': 'c'},\n 'type': 'str',\n 'default': 'conf-c',\n },\n 'conf-d': {\n 'arg': {'short': 'd'},\n 'default': 'conf-d',\n 'help': '4th config',\n },\n },\n}\nparser = stingconf.Parser('Example module', definitions)\nconfig = parser.parse()\n```\n\n### define args with file\n\n* definitions.yml\n\n```yaml\nenv_prefix: SC\nconf_file: config.yml\norder:\n - env\n - arg\n - file\n - default\nitems:\n user:\n help: 'login user'\n arg:\n short: u\n password:\n help: 'login passowrd'\n arg:\n short: p\n enable:\n type: bool\n default: false\n help: 'enable something'\n arg:\n long_prefix: '-'\n http-proxy:\n env:\n no_prefix: true\n ignorecase: true\n https-proxy:\n env:\n no_prefix: true\n ignorecase: true\n```\n\n* example.py\n\n```python\nimport yaml\nimport stingconf\n\nwith open('definitions.yml') as f:\n\tdefinitions = yaml.safe_load(f)\nparser = stingconf.Parser('Example module', definitions)\nconfig = parser.parse()\n```\n\n## Naming convention\n\n### Environment\n\nEnvironment variables' name should be set `LIKE_THIS`.\n\nIf desired, you can set the prefix of name by `Parser.env_prefix()`.\n\n### Argument\n\nArguments' name should be set `like-this`.\n\nIf desired, you can use short version argument by passing `short` to `Parser.add()`\n\n### File\n\nVariables' name in the configuration file should be set `like_this`\n\nCurrently, the supported formats are json and yaml, and the content must be\nnon-nested dictionary.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/rsp9u/stingconf", "keywords": "", "license": "MIT", "maintainer": "rsp9u", "maintainer_email": "gctwt852@yahoo.co.jp", "name": "stingconf", "package_url": "https://pypi.org/project/stingconf/", "platform": "", "project_url": "https://pypi.org/project/stingconf/", "project_urls": { "Homepage": "https://github.com/rsp9u/stingconf" }, "release_url": "https://pypi.org/project/stingconf/0.0.3/", "requires_dist": [ "PyYAML" ], "requires_python": "", "summary": "Layered configuration library", "version": "0.0.3" }, "last_serial": 5149106, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "33c153289cb8aa95e43f853a594e6e25", "sha256": "0eed8a6a796473f8c74941b23fd05d591a1d04f9a8f0c2423ec727a299ba3e3c" }, "downloads": -1, "filename": "stingconf-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "33c153289cb8aa95e43f853a594e6e25", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5108, "upload_time": "2019-04-05T12:41:55", "url": "https://files.pythonhosted.org/packages/d2/e5/b69faef85afe96e6f268010aadabd9a01cd21f9bee61f73325b3a0c5702e/stingconf-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "50419c72fd8477e7fc973952444e6eb9", "sha256": "32f7db3a6789a71ef6683d95fa79e06fd817f5608bc6900c609fe4919689448b" }, "downloads": -1, "filename": "stingconf-0.0.1.tar.gz", "has_sig": false, "md5_digest": "50419c72fd8477e7fc973952444e6eb9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4101, "upload_time": "2019-04-05T12:42:52", "url": "https://files.pythonhosted.org/packages/51/99/de0c25b52f378c7c6e4d131803d1464b86b7dbec6ca115efdc964aef1064/stingconf-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "bb5e7c83f12f23013c019a06b93431d4", "sha256": "39dee405e9255cc3d7807cb19b584046977e86a261587b5bcd45f429ffac4ae7" }, "downloads": -1, "filename": "stingconf-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "bb5e7c83f12f23013c019a06b93431d4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5198, "upload_time": "2019-04-05T14:41:49", "url": "https://files.pythonhosted.org/packages/30/b9/f911369a8412bd25949db5f65dc25670c87da37075311fca73994b1a9370/stingconf-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fc51ec41b30eb1458a008fd644cdb462", "sha256": "9cbf148cc1456ec8be6c14317d5597ec773d8660d750d1c7d4e9812b7a8773ec" }, "downloads": -1, "filename": "stingconf-0.0.2.tar.gz", "has_sig": false, "md5_digest": "fc51ec41b30eb1458a008fd644cdb462", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4174, "upload_time": "2019-04-05T14:41:50", "url": "https://files.pythonhosted.org/packages/24/6c/9100bfb2acd2d5ddc5943f613ce413ad3804e47a7786892d94d930d1db8d/stingconf-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "42a8b8a5edfb46d6800deddb72b73d31", "sha256": "e96eacf0a695f7b2ba1a7056db7a269db5b2a5abd225b176966090ef5f1fad31" }, "downloads": -1, "filename": "stingconf-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "42a8b8a5edfb46d6800deddb72b73d31", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5444, "upload_time": "2019-04-16T09:32:38", "url": "https://files.pythonhosted.org/packages/30/99/e5d40c51f3fbeb2e521b0d5e360ba5b9e17266ffd2ddec2c34d40f6a2f1a/stingconf-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cb179866918ac3387ca3f3c87faa3eff", "sha256": "e1df04fd6f0d7588efe7c192838631ebe2ce88de8b8641ba93dbef1c7aad87a4" }, "downloads": -1, "filename": "stingconf-0.0.3.tar.gz", "has_sig": false, "md5_digest": "cb179866918ac3387ca3f3c87faa3eff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4423, "upload_time": "2019-04-16T09:32:40", "url": "https://files.pythonhosted.org/packages/7b/99/4ef390375a7850fc22e376a585527d3a77437c40e4173beff1a424ea9f49/stingconf-0.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "42a8b8a5edfb46d6800deddb72b73d31", "sha256": "e96eacf0a695f7b2ba1a7056db7a269db5b2a5abd225b176966090ef5f1fad31" }, "downloads": -1, "filename": "stingconf-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "42a8b8a5edfb46d6800deddb72b73d31", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5444, "upload_time": "2019-04-16T09:32:38", "url": "https://files.pythonhosted.org/packages/30/99/e5d40c51f3fbeb2e521b0d5e360ba5b9e17266ffd2ddec2c34d40f6a2f1a/stingconf-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cb179866918ac3387ca3f3c87faa3eff", "sha256": "e1df04fd6f0d7588efe7c192838631ebe2ce88de8b8641ba93dbef1c7aad87a4" }, "downloads": -1, "filename": "stingconf-0.0.3.tar.gz", "has_sig": false, "md5_digest": "cb179866918ac3387ca3f3c87faa3eff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4423, "upload_time": "2019-04-16T09:32:40", "url": "https://files.pythonhosted.org/packages/7b/99/4ef390375a7850fc22e376a585527d3a77437c40e4173beff1a424ea9f49/stingconf-0.0.3.tar.gz" } ] }