{ "info": { "author": "Jens Engel", "author_email": "jenisys@noreply.github.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "Intended Audience :: System Administrators", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Topic :: Utilities" ], "description": "click_ is a framework to simplify writing composable commands for\ncommand-line tools. This package extends the click_ functionality\nby adding support for commands that use configuration files.\n\n.. _click: https://click.pocoo.org/\n\nEXAMPLE:\n\nA configuration file, like:\n\n.. code-block:: INI\n\n # -- FILE: foo.ini\n [foo]\n flag = yes\n name = Alice and Bob\n numbers = 1 4 9 16 25\n filenames = foo/xxx.txt\n bar/baz/zzz.txt\n\n [person.alice]\n name = Alice\n birthyear = 1995\n\n [person.bob]\n name = Bob\n birthyear = 2001\n\ncan be processed with:\n\n.. code-block:: python\n\n # EXAMPLE:\n # -- FILE: example_command_with_configfile.py (ALL PARTS: simplified)\n from click_configfile import ConfigFileReader, Param, SectionSchema\n from click_configfile import matches_section\n import click\n\n class ConfigSectionSchema(object):\n \"\"\"Describes all config sections of this configuration file.\"\"\"\n\n @matches_section(\"foo\")\n class Foo(SectionSchema):\n name = Param(type=str)\n flag = Param(type=bool, default=True)\n numbers = Param(type=int, multiple=True)\n filenames = Param(type=click.Path(), multiple=True)\n\n @matches_section(\"person.*\") # Matches multiple sections\n class Person(SectionSchema):\n name = Param(type=str)\n birthyear = Param(type=click.IntRange(1990, 2100))\n\n\n class ConfigFileProcessor(ConfigFileReader):\n config_files = [\"foo.ini\", \"foo.cfg\"]\n config_section_schemas = [\n ConfigSectionSchema.Foo, # PRIMARY SCHEMA\n ConfigSectionSchema.Person,\n ]\n\n # -- SIMPLIFIED STORAGE-SCHEMA:\n # section:person.* -> storage:person.*\n # section:person.alice -> storage:person.alice\n # section:person.bob -> storage:person.bob\n\n # -- ALTERNATIVES: Override ConfigFileReader methods:\n # * process_config_section(config_section, storage)\n # * get_storage_name_for(section_name)\n # * get_storage_for(section_name, storage)\n\n\n # -- COMMAND:\n CONTEXT_SETTINGS = dict(default_map=ConfigFileProcessor.read_config())\n\n @click.command(context_settings=CONTEXT_SETTINGS)\n @click.option(\"-n\", \"--number\", \"numbers\", type=int, multiple=True)\n @click.pass_context\n def command_with_config(ctx, numbers):\n # -- ACCESS ADDITIONAL DATA FROM CONFIG FILES: Using ctx.default_map\n for person_data_key in ctx.default_map.keys():\n if not person_data_key.startswith(\"person.\"):\n continue\n person_data = ctx.default_map[person_data_key]\n process_person_data(person_data) # as dict.\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "https://pypi.python.org/pypi/click-configfile/0.2.3", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/click-contrib/click-configfile", "keywords": "click,configfile,configparser", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "click-configfile", "package_url": "https://pypi.org/project/click-configfile/", "platform": "any", "project_url": "https://pypi.org/project/click-configfile/", "project_urls": { "Download": "https://pypi.python.org/pypi/click-configfile/0.2.3", "Homepage": "https://github.com/click-contrib/click-configfile" }, "release_url": "https://pypi.org/project/click-configfile/0.2.3/", "requires_dist": [ "click (>=6.6)", "configparser (>=3.5.0)", "six (>=1.10)", "configparser (>=3.5.0); python_version==\"2.6\"", "configparser (>=3.5.0); python_version==\"2.7\"", "configparser (>=3.5.0); python_version==\"3.3\"", "configparser (>=3.5.0); python_version==\"3.4\"" ], "requires_python": "", "summary": "This package supports click commands that use configuration files.", "version": "0.2.3" }, "last_serial": 3198548, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "87caba1f35bc46c55d8737e3b9f8ce0e", "sha256": "0c5f01dd2d0aba0a02dc94b706995f31f2b54a6c6ca4be279a1e8f26808672bb" }, "downloads": -1, "filename": "click_configfile-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "87caba1f35bc46c55d8737e3b9f8ce0e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9885, "upload_time": "2016-12-12T11:16:31", "url": "https://files.pythonhosted.org/packages/9e/df/60e70cf74cc6bb38778de861972d968957d0d26840e753f357d28f7a165c/click_configfile-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "99eeffb530597dec67db9bf4dae85e7c", "sha256": "61ea77cf51875d838a3570f2564dc1d63640f960d077e0b43082890e99bb2459" }, "downloads": -1, "filename": "click-configfile-0.2.0.tar.gz", "has_sig": false, "md5_digest": "99eeffb530597dec67db9bf4dae85e7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61573, "upload_time": "2016-12-12T11:16:33", "url": "https://files.pythonhosted.org/packages/d4/04/a1e644b80caf45a525d3a8721435c6f2498eb5c30f4a24de4f7f7238b000/click-configfile-0.2.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "b531f1f93a95add9d8c20e1ef12d03bf", "sha256": "c9578c48dee4cb0b8976a9d2ee46b394c20b3c260d56d923cbf6245daa3655db" }, "downloads": -1, "filename": "click-configfile-0.2.0.zip", "has_sig": false, "md5_digest": "b531f1f93a95add9d8c20e1ef12d03bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 76294, "upload_time": "2016-12-12T11:16:36", "url": "https://files.pythonhosted.org/packages/d9/08/cae53a778cc74a1b85c49abab5324492c9d049d47ad6ac2efa4ad9b877b2/click-configfile-0.2.0.zip" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "7f8ceee8b8ca7ac89a7dec904b2cac73", "sha256": "4f50cc5a6d5f348c65a26784a249a96e03af49268553d12b2627ade45191cd12" }, "downloads": -1, "filename": "click_configfile-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7f8ceee8b8ca7ac89a7dec904b2cac73", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9906, "upload_time": "2016-12-23T00:32:47", "url": "https://files.pythonhosted.org/packages/45/04/323d0bbee7442070d7635ad0dbba6de18cae6d2aed2e0dd7ade2319f463d/click_configfile-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ea07f5ac75c76a7b82e3046a05e1ce67", "sha256": "f9d7b81bfce590978d2cb9ab8830ff17fa0b73fc710ba5915b14af4e86fac281" }, "downloads": -1, "filename": "click-configfile-0.2.2.tar.gz", "has_sig": false, "md5_digest": "ea07f5ac75c76a7b82e3046a05e1ce67", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62207, "upload_time": "2016-12-23T00:32:50", "url": "https://files.pythonhosted.org/packages/7b/2c/7f66f4c61534e1b4c3135e2a8e12cf5e8d79024ff7475ed3337118eabe5f/click-configfile-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "ba76d0ef57cab2c15e45607983ca6b87", "sha256": "af2ae7123af57d850cd18edd915893e655b6b1bc30d1302fd040b1059bec073d" }, "downloads": -1, "filename": "click_configfile-0.2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ba76d0ef57cab2c15e45607983ca6b87", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9953, "upload_time": "2017-09-24T13:03:20", "url": "https://files.pythonhosted.org/packages/c4/c4/a2f9be9e758ec758542fc0348109c886bb840f88d25f05cb76ed01c07c84/click_configfile-0.2.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f1871c54e0d3116ae55313120dde6597", "sha256": "95beec13bee950e98f43c81dcdabef4f644091559ea66298f9dadf59351d90d1" }, "downloads": -1, "filename": "click-configfile-0.2.3.tar.gz", "has_sig": false, "md5_digest": "f1871c54e0d3116ae55313120dde6597", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62544, "upload_time": "2017-09-24T13:03:34", "url": "https://files.pythonhosted.org/packages/5a/2b/722c718db0f44e6927767aa422c73a77eaf333138e0a4201ca9b1f72aa2d/click-configfile-0.2.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ba76d0ef57cab2c15e45607983ca6b87", "sha256": "af2ae7123af57d850cd18edd915893e655b6b1bc30d1302fd040b1059bec073d" }, "downloads": -1, "filename": "click_configfile-0.2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ba76d0ef57cab2c15e45607983ca6b87", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9953, "upload_time": "2017-09-24T13:03:20", "url": "https://files.pythonhosted.org/packages/c4/c4/a2f9be9e758ec758542fc0348109c886bb840f88d25f05cb76ed01c07c84/click_configfile-0.2.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f1871c54e0d3116ae55313120dde6597", "sha256": "95beec13bee950e98f43c81dcdabef4f644091559ea66298f9dadf59351d90d1" }, "downloads": -1, "filename": "click-configfile-0.2.3.tar.gz", "has_sig": false, "md5_digest": "f1871c54e0d3116ae55313120dde6597", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62544, "upload_time": "2017-09-24T13:03:34", "url": "https://files.pythonhosted.org/packages/5a/2b/722c718db0f44e6927767aa422c73a77eaf333138e0a4201ca9b1f72aa2d/click-configfile-0.2.3.tar.gz" } ] }