{ "info": { "author": "Bradley Golden", "author_email": "golden.bradley@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6" ], "description": "\n# configureme\n\n[![Build Status](https://travis-ci.org/bradleygolden/configureme.svg?branch=master)](https://travis-ci.org/bradleygolden/configureme)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)\n[![codecov](https://codecov.io/gh/bradleygolden/configureme/branch/master/graph/badge.svg)](https://codecov.io/gh/bradleygolden/configureme)\n[![Total alerts](https://img.shields.io/lgtm/alerts/g/bradleygolden/configureme.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/bradleygolden/configureme/alerts/)\n[![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/bradleygolden/configureme.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/bradleygolden/configureme/context:python)\n[![GitHub license](https://img.shields.io/github/license/bradleygolden/configureme.svg)](https://github.com/bradleygolden/configureme/blob/master/LICENSE)\n\nSet up configuration for your application or library with ease.\n\n## Features\n\nconfigureme gives you a few key features that make your life easy when creating libraries or applications:\n\n- Easily create configuration following the config.py pattern\n- Use environment variables in your configuration and change them dynamically at runtime\n- Use a .env file and follow the [twelve-factor app](https://12factor.net/) methodology\n\n## Example\n\nGet up and running with full configuration quickly:\n\n```python\nfrom configureme import Config\n\nclass Config(object):\n DEBUG = False\n\nconfig = Config()\n# load from a simple object\nconfig.from_object(Config)\n# add and watch environment variables\nconfig.from_envar(\"DEBUG\")\n# use a dotenv file\nconfig.from_dotenv(\"/path/to/.env/\")\n# config works like a dict!\nconfig[\"DEBUG\"] # True\n```\n\n## Installation\n\nInstallation is easy using pip:\n\n```bash\npip install configureme\n```\n\n## Advanced Usage\n\n### Usage with pipenv\n\nIf your using a dev workflow tool like [Pipenv](https://pipenv.readthedocs.io/en/latest/), you can easily pair configureme with it. Pipenv will automatically load .env files for you out of the box. To track variables loaded from a .env file when using Pipenv, simply use this pattern:\n\n```.env\n# .env file\nDEBUG=true\n```\n\n```python\nfrom configureme import Config\nconfig = Config()\n# watch each variable loaded by Pipenv\nconfig.from_envar(\"DEBUG\")\nconfig[\"DEBUG\"] # True\n```\n\n### Usage with python-dotenv\n\n[python-dotenv](https://github.com/theskumar/python-dotenv) is a useful tool for managing .env files in multiple environments. As with the previous example, it's easy to pair with configureme.\n\n```.env\n# .env file\nDEBUG=true\n```\n\n```python\nfrom dotenv import load_dotenv\nfrom configureme import Config\n\nload_dotenv()\nconfig = Config()\n# watch each variable loaded by python-dotenv\nconfig.from_envar(\"DEBUG\")\nconfig[\"DEBUG\"] # True\n```\n\n## How to contribute\n\n1. Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug.\n\n2. Fork the repository on GitHub to start making your changes to the master branch (or branch off of it).\n\n3. Write a test which shows that the bug was fixed or that the feature works as expected. Make sure to use [pre-commit](https://pre-commit.com/) too!\n\n4. Send a pull request and bug the maintainer until it gets merged and published. Make sure to add yourself to AUTHORS.\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/bradleygolden/configureme", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "configureme", "package_url": "https://pypi.org/project/configureme/", "platform": "", "project_url": "https://pypi.org/project/configureme/", "project_urls": { "Homepage": "https://github.com/bradleygolden/configureme" }, "release_url": "https://pypi.org/project/configureme/0.1.2a0/", "requires_dist": null, "requires_python": ">=3.6.0", "summary": "Set up configuration for your application or library with ease.", "version": "0.1.2a0" }, "last_serial": 4448688, "releases": { "0.1.0a0": [ { "comment_text": "", "digests": { "md5": "04bdc5a172be20347ecac73bcd1325ab", "sha256": "b59c5bda514c76e614ee1327968156ded3b3af74dd5df13e49eb370ee5ba5add" }, "downloads": -1, "filename": "configureme-0.1.0a0-py3-none-any.whl", "has_sig": false, "md5_digest": "04bdc5a172be20347ecac73bcd1325ab", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 5800, "upload_time": "2018-10-10T01:53:46", "url": "https://files.pythonhosted.org/packages/91/4a/be0f8d8620d63453f6594f60472519d9c4f1393d14084471a3fb92887afb/configureme-0.1.0a0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "89295cf060e110b7efa21141ad9a3c76", "sha256": "9e002502a69bad527701e210f8ad2cc71ec3eb7816b811114c4944696457fd7f" }, "downloads": -1, "filename": "configureme-0.1.0a0.tar.gz", "has_sig": false, "md5_digest": "89295cf060e110b7efa21141ad9a3c76", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 5755, "upload_time": "2018-10-10T01:53:47", "url": "https://files.pythonhosted.org/packages/7a/25/df8f21ddeb2c5d384f4fea7e9518e25997e7025078c878f4aeea69de33e4/configureme-0.1.0a0.tar.gz" } ], "0.1.1a0": [ { "comment_text": "", "digests": { "md5": "5995bf0c6efad2b76415632ddb3c17d8", "sha256": "b6827b7a117c9f86f7c486d4f82c8de717b75e098eabf2f28b8c4d072439623c" }, "downloads": -1, "filename": "configureme-0.1.1a0-py3-none-any.whl", "has_sig": false, "md5_digest": "5995bf0c6efad2b76415632ddb3c17d8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 5908, "upload_time": "2018-10-29T10:34:49", "url": "https://files.pythonhosted.org/packages/af/af/961660d37799857eaf507488a39191112646c831b960e17e6a9f9afd2904/configureme-0.1.1a0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2855c47e8ed2b0164f61ffcda6023a67", "sha256": "def8a304f78707afd4b08b0f8d29146181a25a987a89e00b9e76ddf224b4a169" }, "downloads": -1, "filename": "configureme-0.1.1a0.tar.gz", "has_sig": false, "md5_digest": "2855c47e8ed2b0164f61ffcda6023a67", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 5829, "upload_time": "2018-10-29T10:34:50", "url": "https://files.pythonhosted.org/packages/99/49/3dc545a6c43138bbc5a444c4d56d26c86ce3c326f6b1916b6b66116d6a1e/configureme-0.1.1a0.tar.gz" } ], "0.1.2a0": [ { "comment_text": "", "digests": { "md5": "ab07402f5860d103b950d9a683698469", "sha256": "71d53e60a3b87a45c3e3d30debac84b77c83f31e75d0b200d72a9556dff9f5c3" }, "downloads": -1, "filename": "configureme-0.1.2a0-py3-none-any.whl", "has_sig": false, "md5_digest": "ab07402f5860d103b950d9a683698469", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 6153, "upload_time": "2018-11-04T02:05:13", "url": "https://files.pythonhosted.org/packages/58/ed/8fd44396cbbfd86fc0eaf9af4b01c0439dbae176e27292e135beea9c64f2/configureme-0.1.2a0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5e7b50b58a8ec551743669a345421331", "sha256": "d61082c5f7b5336ecad0417a1d6b24ea537bf6b6054071294ba50c8d7e79a1d0" }, "downloads": -1, "filename": "configureme-0.1.2a0.tar.gz", "has_sig": false, "md5_digest": "5e7b50b58a8ec551743669a345421331", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 6073, "upload_time": "2018-11-04T02:05:15", "url": "https://files.pythonhosted.org/packages/43/0e/3033df16acdc269903b6981997c3e46cdeaa5a5680704a44a066096ec390/configureme-0.1.2a0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ab07402f5860d103b950d9a683698469", "sha256": "71d53e60a3b87a45c3e3d30debac84b77c83f31e75d0b200d72a9556dff9f5c3" }, "downloads": -1, "filename": "configureme-0.1.2a0-py3-none-any.whl", "has_sig": false, "md5_digest": "ab07402f5860d103b950d9a683698469", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 6153, "upload_time": "2018-11-04T02:05:13", "url": "https://files.pythonhosted.org/packages/58/ed/8fd44396cbbfd86fc0eaf9af4b01c0439dbae176e27292e135beea9c64f2/configureme-0.1.2a0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5e7b50b58a8ec551743669a345421331", "sha256": "d61082c5f7b5336ecad0417a1d6b24ea537bf6b6054071294ba50c8d7e79a1d0" }, "downloads": -1, "filename": "configureme-0.1.2a0.tar.gz", "has_sig": false, "md5_digest": "5e7b50b58a8ec551743669a345421331", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 6073, "upload_time": "2018-11-04T02:05:15", "url": "https://files.pythonhosted.org/packages/43/0e/3033df16acdc269903b6981997c3e46cdeaa5a5680704a44a066096ec390/configureme-0.1.2a0.tar.gz" } ] }