{ "info": { "author": "yukinarit", "author_email": "yukinarit84@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "```\n | |\n ___ _ ____ _____| | __ _ ___ ___ ___ ___\n / _ \\ '_ \\ \\ / / __| |/ _` / __/ __|/ _ \\/ __|\n| __/ | | \\ V / (__| | (_| \\__ \\__ \\ __/\\__ \\\n \\___|_| |_|\\_/ \\___|_|\\__,_|___/___/\\___||___/\n\n```\n\nenvclass is a meta programming library on top of dataclass.\nOnce envclass decorator is specified in a dataclass,\nIt will generate dunder function which loads values from\nenvironment variables. This functionality is very useful\nin a case like you want to override the exisiting configurations\nfor an application by the ones defined in environment variables.\n\nRequirements\n============\n\npython >= 3.6.0\n\n\nInstallation\n============\n\n* Install from PyPI\n ```\n pip install envclasses\n ```\n\n* Install development version from Github\n ```\n pip install git+https://github.com/yukinarit/WebSocketSample.git\n ```\n\nUsage\n=====\n\n* Create Hoge instance\n ```python\n from typing import List, Dict\n from dataclasses import dataclass, field\n from envclasses import envclass, load_env\n\n\n @envclass\n @dataclass\n class Hoge:\n i: int\n s: str\n f: float\n b: bool\n lst: List[int] = field(default_factory=list)\n dct: Dict[str, float] = field(default_factory=dict)\n\n\n # Create an instance.\n hoge = Hoge(i=10, s='hoge', f=0.1, b=False)\n\n # Load values from environment variables.\n load_env(hoge, prefix='HOGE')\n\n print(hoge)\n ```\n\n* Run\n ```bash\n $ python hoge.py\n ```\n\n ```bash\n Hoge(i=10, s='hoge', f=0.1, b=False, lst=[], dct={})\n ```\n\n* Override Hoge values by environment variables\n ```bash\n $ export HOGE_I=20\n $ export HOGE_S=hogehoge\n $ export HOGE_F=0.2\n $ export HOGE_B=true\n $ export HOGE_DCT=\"{key: 100.0}\"\n $ export HOGE_LST=\"[1, 2, 3]\"\n $ python hoge.py\n ```\n\n ```bash\n Hoge(i=20, s='hogehoge', f=0.2, b=True, lst=[1, 2, 3], dct={'key': 100.0})\n ```\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/yukinarit/envclasses", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "envclasses", "package_url": "https://pypi.org/project/envclasses/", "platform": "", "project_url": "https://pypi.org/project/envclasses/", "project_urls": { "Homepage": "https://github.com/yukinarit/envclasses" }, "release_url": "https://pypi.org/project/envclasses/0.2.1/", "requires_dist": [ "dataclasses", "pyyaml", "pdoc; extra == 'docs'", "coverage; extra == 'test'", "pytest; extra == 'test'", "pytest-cov; extra == 'test'", "pytest-flake8; extra == 'test'", "mypy; extra == 'test'", "flake8; extra == 'test'" ], "requires_python": ">=3.6", "summary": "A library to map dataclass and environmental variables", "version": "0.2.1" }, "last_serial": 4472225, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "5580661901f51d81a5e945f94a2830ac", "sha256": "ac2dd366c6cc56ae9f38fddfb7ea91229939777918947aba20b7358993995cb1" }, "downloads": -1, "filename": "envclasses-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "5580661901f51d81a5e945f94a2830ac", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 2959, "upload_time": "2018-10-17T15:22:18", "url": "https://files.pythonhosted.org/packages/2f/75/8f4ec762fe9bb5f4bcd0a338fdc0afe2f535e6af7c1356c5081b11cf2611/envclasses-0.1.0-py3-none-any.whl" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "cbf01fed7730a53892f8e0127db3b23e", "sha256": "e4444ce3119c342c554af59e79b8ad5ff8379105151c215d2a6d3c65d66066c5" }, "downloads": -1, "filename": "envclasses-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "cbf01fed7730a53892f8e0127db3b23e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 4811, "upload_time": "2018-10-29T05:58:31", "url": "https://files.pythonhosted.org/packages/77/5f/1847d40e322c20da9628d5728878c9b892eb8df84cf7417413d1034b1e7a/envclasses-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7561749e5e30f3778f1b51c0898ec68b", "sha256": "7b3d326adf964f20751ea41717778cbdd038a4aa9673b566c55fbc064650eef3" }, "downloads": -1, "filename": "envclasses-0.2.0.tar.gz", "has_sig": false, "md5_digest": "7561749e5e30f3778f1b51c0898ec68b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 4752, "upload_time": "2018-10-29T05:58:32", "url": "https://files.pythonhosted.org/packages/8c/df/4c5f7860f93db7cd72d4f8da988204a383369217847b9d731b38d059ed7d/envclasses-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "6448ba855b6bd7ba65657f6f7e443665", "sha256": "656bda9663b178bf50f06d932c5f5b5a8a71a85106ca2095af2f6b4967070d73" }, "downloads": -1, "filename": "envclasses-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "6448ba855b6bd7ba65657f6f7e443665", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 4379, "upload_time": "2018-11-10T12:58:30", "url": "https://files.pythonhosted.org/packages/f3/2c/0a1f3df3a1088a3815a0ff00192f41e8062ab17d1e2b45ccd2c382edadb4/envclasses-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ec52320d620a2cd087453ba995870bbe", "sha256": "7e7435574c707b37bd8f9a0c1242074bb748de49d2267b88414e463d0ed159b9" }, "downloads": -1, "filename": "envclasses-0.2.1.tar.gz", "has_sig": false, "md5_digest": "ec52320d620a2cd087453ba995870bbe", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 4278, "upload_time": "2018-11-10T12:58:32", "url": "https://files.pythonhosted.org/packages/4e/bb/dc919d03c0249938f19338485225818a68c70fb6ab2319154f4d20892fde/envclasses-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6448ba855b6bd7ba65657f6f7e443665", "sha256": "656bda9663b178bf50f06d932c5f5b5a8a71a85106ca2095af2f6b4967070d73" }, "downloads": -1, "filename": "envclasses-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "6448ba855b6bd7ba65657f6f7e443665", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 4379, "upload_time": "2018-11-10T12:58:30", "url": "https://files.pythonhosted.org/packages/f3/2c/0a1f3df3a1088a3815a0ff00192f41e8062ab17d1e2b45ccd2c382edadb4/envclasses-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ec52320d620a2cd087453ba995870bbe", "sha256": "7e7435574c707b37bd8f9a0c1242074bb748de49d2267b88414e463d0ed159b9" }, "downloads": -1, "filename": "envclasses-0.2.1.tar.gz", "has_sig": false, "md5_digest": "ec52320d620a2cd087453ba995870bbe", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 4278, "upload_time": "2018-11-10T12:58:32", "url": "https://files.pythonhosted.org/packages/4e/bb/dc919d03c0249938f19338485225818a68c70fb6ab2319154f4d20892fde/envclasses-0.2.1.tar.gz" } ] }