{ "info": { "author": "Diogo Dutra", "author_email": "diogodutradamata@gmai.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 1 - Planning", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.8", "Topic :: Software Development :: Libraries" ], "description": "# confdaora\n\n
\n \n \n \n
\n Configurations using python annotations\n
\n\n---\n\n**Documentation**: https://dutradda.github.io/confdaora\n\n**Source Code**: https://github.com/dutradda/confdaora\n\n---\n\n\n## Key Features\n\n- Generate a `DictDaora` with values parsed from environment variables.\n\n\n## Requirements\n\n - Python 3.8+\n - dictdaora\n - jsondaora\n\n\n## Instalation\n```\n$ pip install confdaora\n```\n\n\n## Basic example\n\n```python\nfrom typing import TypedDict\n\nfrom confdaora import confdaora_env\n\n\nclass AppConfig(TypedDict):\n port: int\n host: str\n\n\nconfig = confdaora_env(AppConfig)\n\nprint(config)\n\n```\n\nSuposing your file calls `myconf.py`:\n```\nPORT=8080 HOST=localhost python myconf.py\n\n```\n\n```\n{'port': 8080, 'host': 'localhost'}\n\n```\n\n\n## Complex example\n\n```python\nfrom dataclasses import dataclass\nfrom typing import List\n\nfrom confdaora import confdaora_env\n\n\n@dataclass\nclass DBConfig:\n __prefix__ = 'db'\n host: str\n port: int = 3306\n\n\n@dataclass\nclass KeyConfig:\n __prefix__ = 'keys'\n name: str\n values: List[int]\n\n\n@dataclass\nclass AppConfig:\n db: DBConfig\n keys: List[KeyConfig]\n host: str\n port: int = 8080\n\n\nconfig = confdaora_env(AppConfig)\n\nprint(config)\n\n```\n\nSuposing your file calls `myconf.py`:\n```\nHOST=localhost \\\nDB_HOST=localhost \\\nKEYS_0_NAME=test \\\nKEYS_0_VALUES=10,20 \\\nKEYS_1_NAME=test2 \\\nKEYS_1_VALUES=30,40 \\\npython myconf.py\n\n```\n\n```\nAppConfig(db=DBConfig(host='localhost', port=3306), keys=[KeyConfig0(name='test', values=[10, 20]), KeyConfig1(name='test2', values=[30, 40])], host='localhost', port=8080)\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/dutradda/confdaora", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "confdaora", "package_url": "https://pypi.org/project/confdaora/", "platform": "", "project_url": "https://pypi.org/project/confdaora/", "project_urls": { "Documentation": "https://dutradda.github.io/confdaora/", "Homepage": "https://github.com/dutradda/confdaora" }, "release_url": "https://pypi.org/project/confdaora/0.2.1/", "requires_dist": [ "mkdocs-material ; extra == \"doc\"", "markdown-include ; extra == \"doc\"", "black ; extra == \"test\"", "bumpversion ; extra == \"test\"", "flake8 ; extra == \"test\"", "jsondaora", "mkdocs ; extra == \"doc\"", "isort ; extra == \"test\"", "ipython ; extra == \"test\"", "mypy ; extra == \"test\"", "pytest-cov ; extra == \"test\"", "pytest-mock ; extra == \"test\"", "pytest>=5.1.1 ; extra == \"test\"", "tox ; extra == \"test\"" ], "requires_python": ">=3.7", "summary": "confdaora", "version": "0.2.1", "yanked": false, "yanked_reason": null }, "last_serial": 6708005, "releases": { "0.0.2": [ { "comment_text": "", "digests": { "md5": "49863f23c5cef06fa4058572b60a2d35", "sha256": "6dcd6c5bfe23462bf8709e92eab5dbca439353056196dfe86a580b43d0fcb643" }, "downloads": -1, "filename": "confdaora-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "49863f23c5cef06fa4058572b60a2d35", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 10149, "upload_time": "2019-10-24T11:36:06", "upload_time_iso_8601": "2019-10-24T11:36:06.905048Z", "url": "https://files.pythonhosted.org/packages/b2/24/1e3c74c149fada81fb809305509bf6c253be4d6e6981023412127ecfa5ef/confdaora-0.0.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "9d23813812fa58fc504c74d60ee06528", "sha256": "160378bd76baff5bf0c764a21d5d749a3273d462c2edc21a0d268db9da714bde" }, "downloads": -1, "filename": "confdaora-0.0.2.tar.gz", "has_sig": false, "md5_digest": "9d23813812fa58fc504c74d60ee06528", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 14649, "upload_time": "2019-10-24T11:36:09", "upload_time_iso_8601": "2019-10-24T11:36:09.615718Z", "url": "https://files.pythonhosted.org/packages/86/31/8df72cd7abd0ebb5864a6bd9c714490e8f4b5784d273c79ebbb12513a2db/confdaora-0.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "3fe5446ce8cb397e69ec4eae094f283a", "sha256": "a561cd394b817346ffcf5dd2f3d680a63135926b558e5950a07d61655e6cdfa0" }, "downloads": -1, "filename": "confdaora-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3fe5446ce8cb397e69ec4eae094f283a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 5704, "upload_time": "2020-02-15T22:29:26", "upload_time_iso_8601": "2020-02-15T22:29:26.161763Z", "url": "https://files.pythonhosted.org/packages/8f/6a/3b3efc6cd0b7b9d86b4ff296eb7353e695d6a503f53822ef6d550f8fc93d/confdaora-0.1.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "6819f7b287f160887bb3697fad5b8b77", "sha256": "16d201dd6d16fb0ac871eb752a5292ed499ea2f5bff0aac092854691c3ecdc6d" }, "downloads": -1, "filename": "confdaora-0.1.0.tar.gz", "has_sig": false, "md5_digest": "6819f7b287f160887bb3697fad5b8b77", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 15069, "upload_time": "2020-02-15T22:29:30", "upload_time_iso_8601": "2020-02-15T22:29:30.068467Z", "url": "https://files.pythonhosted.org/packages/c9/c9/4a412b985712dcf12c58110c3bf845632b84782dacb4cca93878c9c40cd9/confdaora-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "588564a227d9824544026974aa5c93ab", "sha256": "8bc11b09212cace4d93a2ac1399e36cf883ffd50799f23824ad49a56d81da432" }, "downloads": -1, "filename": "confdaora-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "588564a227d9824544026974aa5c93ab", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 5715, "upload_time": "2020-02-15T22:53:50", "upload_time_iso_8601": "2020-02-15T22:53:50.806175Z", "url": "https://files.pythonhosted.org/packages/24/38/98893513c687c40d967ddae2c6a036c9c4f8fad7f10302d501bd77ae3b0d/confdaora-0.1.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "7ac5b83d12c29444b1657593772919b8", "sha256": "d242e8500e89375349334d79a8fa6e743946ba98bdd51de708e1c7f5c09e3e04" }, "downloads": -1, "filename": "confdaora-0.1.1.tar.gz", "has_sig": false, "md5_digest": "7ac5b83d12c29444b1657593772919b8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 15361, "upload_time": "2020-02-15T22:53:55", "upload_time_iso_8601": "2020-02-15T22:53:55.621286Z", "url": "https://files.pythonhosted.org/packages/82/76/16df4c06e80caee35701728134fce72bc4027e0c4113cad10d17feb33ed6/confdaora-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "4e4ec686451feea0a5a9ec4bb189e58e", "sha256": "8626f14ba7ee56e71029535cd51affa6b078acf5e9927bcb0ee4b6d7bb0dd804" }, "downloads": -1, "filename": "confdaora-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "4e4ec686451feea0a5a9ec4bb189e58e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 5717, "upload_time": "2020-02-15T23:46:51", "upload_time_iso_8601": "2020-02-15T23:46:51.159571Z", "url": "https://files.pythonhosted.org/packages/8a/82/e0573da513a915f37a53842ef7ac5ca521cd5d2411cf02ccce6a8e7b52e9/confdaora-0.1.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "9a199ac6c69b5aefd3a0d165b2fe7d10", "sha256": "93b5a87844ec77c2aad898406ebb37543b39c59ec48cd13b1489811d83ffe07c" }, "downloads": -1, "filename": "confdaora-0.1.2.tar.gz", "has_sig": false, "md5_digest": "9a199ac6c69b5aefd3a0d165b2fe7d10", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 15355, "upload_time": "2020-02-15T23:46:53", "upload_time_iso_8601": "2020-02-15T23:46:53.708911Z", "url": "https://files.pythonhosted.org/packages/5e/52/922af153301091a4f67eb44a1e5fad5c0b47f38f0c7706c432fd13f1ba88/confdaora-0.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "7833c5b7a6a25f42568ceb1ee315e94a", "sha256": "6dd636319373370f3ef3e90afee0b59889d3c98f20d77e0189d537e6bf57fef1" }, "downloads": -1, "filename": "confdaora-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "7833c5b7a6a25f42568ceb1ee315e94a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 5717, "upload_time": "2020-02-16T00:44:49", "upload_time_iso_8601": "2020-02-16T00:44:49.658883Z", "url": "https://files.pythonhosted.org/packages/67/eb/4286439e629b30c27877901db44476047679adf02606e13ed7d38c783556/confdaora-0.1.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b43fa5b49b617f1dc7fda736a51c9f96", "sha256": "9107f20c800db39818b06da7d8b4c4c3d9b7d0a020c88bc0f6c2f9ed306ef739" }, "downloads": -1, "filename": "confdaora-0.1.3.tar.gz", "has_sig": false, "md5_digest": "b43fa5b49b617f1dc7fda736a51c9f96", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 18326, "upload_time": "2020-02-16T00:44:52", "upload_time_iso_8601": "2020-02-16T00:44:52.164649Z", "url": "https://files.pythonhosted.org/packages/75/f1/434015f7a915e49455eb4f781c045470380ae5bc5e9cc395a872b466ff7e/confdaora-0.1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "d555deb53e26783707cb3e1674599bf2", "sha256": "702fb514093e9861540d58647ea8c2ca6eb488f87a31a98b676242eee1aad286" }, "downloads": -1, "filename": "confdaora-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "d555deb53e26783707cb3e1674599bf2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 5718, "upload_time": "2020-02-16T01:00:57", "upload_time_iso_8601": "2020-02-16T01:00:57.758636Z", "url": "https://files.pythonhosted.org/packages/8e/c1/4ff74f73aae433e94e5a303ea5ef96b101f1742af1c1690464fc54535d3f/confdaora-0.1.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "6b6d504a5cdedd9442c435e3c55e32f1", "sha256": "cd17a8e9b3ed7b19eade5a2b725b47d1cf4722f5212182c15d0b9aa616401a62" }, "downloads": -1, "filename": "confdaora-0.1.4.tar.gz", "has_sig": false, "md5_digest": "6b6d504a5cdedd9442c435e3c55e32f1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 18329, "upload_time": "2020-02-16T01:01:00", "upload_time_iso_8601": "2020-02-16T01:01:00.751017Z", "url": "https://files.pythonhosted.org/packages/6f/b4/294bb40cff5c9b27ab9a16e7ef54e130191c1ee7ccb8f7fe28e2a41ed36f/confdaora-0.1.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "0f5d26360dacae8968c196c0794427f9", "sha256": "aa9d2928e0677d12ec211ff414bfe96cd45ed282e4b461669ab4a8a542781ada" }, "downloads": -1, "filename": "confdaora-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "0f5d26360dacae8968c196c0794427f9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 5718, "upload_time": "2020-02-16T01:03:27", "upload_time_iso_8601": "2020-02-16T01:03:27.902967Z", "url": "https://files.pythonhosted.org/packages/9e/61/23d5ffafd3e5cafc6d3a32b7b1f70d562f4a1014aa69c7bc658dcce49559/confdaora-0.1.5-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "06f39126e608b12c671217f8c7fc7f0c", "sha256": "2ee63e440e67d18013874f45954e0298182167cfbf8d5f4ce6f01efb9502cf15" }, "downloads": -1, "filename": "confdaora-0.1.5.tar.gz", "has_sig": false, "md5_digest": "06f39126e608b12c671217f8c7fc7f0c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 18332, "upload_time": "2020-02-16T01:03:30", "upload_time_iso_8601": "2020-02-16T01:03:30.642566Z", "url": "https://files.pythonhosted.org/packages/d6/ec/4576a562ac9deda1663ddfa9443280dc1592c475b3cb30eb6bfb9ee53a9f/confdaora-0.1.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "3bf580809075ba6efb115c9169a46433", "sha256": "ae0e04e6292c9a52cc08c83f00f18e47a3e2afabe2ccd82eb934f6e067452c85" }, "downloads": -1, "filename": "confdaora-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "3bf580809075ba6efb115c9169a46433", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 5721, "upload_time": "2020-02-16T01:58:47", "upload_time_iso_8601": "2020-02-16T01:58:47.916643Z", "url": "https://files.pythonhosted.org/packages/cb/1e/4b6fa53e7e96e500b42484133c77b360323c16c9050eac5bd628d4ff11f5/confdaora-0.1.6-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "d3bef1f63a93d8860a456d71c933b03c", "sha256": "70a782bcd191e6d1877e45dcfc26ccd6c438002867def8973a8739b8f5bbca16" }, "downloads": -1, "filename": "confdaora-0.1.6.tar.gz", "has_sig": false, "md5_digest": "d3bef1f63a93d8860a456d71c933b03c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 18335, "upload_time": "2020-02-16T01:58:50", "upload_time_iso_8601": "2020-02-16T01:58:50.509399Z", "url": "https://files.pythonhosted.org/packages/b8/46/952c11b1daf3ca06da5b77229e0cc1d2c6fb3a14e81447752ef6f1b18986/confdaora-0.1.6.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "27614e00938e8a31c0fbf961e5f39b5e", "sha256": "22708ea50fa6358c4300684ce79d79dd233c04fd94f953c0384accc04e9c441c" }, "downloads": -1, "filename": "confdaora-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "27614e00938e8a31c0fbf961e5f39b5e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 5878, "upload_time": "2020-02-27T00:24:02", "upload_time_iso_8601": "2020-02-27T00:24:02.224207Z", "url": "https://files.pythonhosted.org/packages/f3/a0/d6b42bdd8ff6a8df7f8764a6d5f85ee262bd030752a1dafc14a09daffd8e/confdaora-0.1.7-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e3916d2272f3bf180cb3eaa167338e36", "sha256": "16326e1b4eb8ceb422a7befd489d817b61c22e0f0ad0c3c8240c1b34a749df06" }, "downloads": -1, "filename": "confdaora-0.1.7.tar.gz", "has_sig": false, "md5_digest": "e3916d2272f3bf180cb3eaa167338e36", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 18409, "upload_time": "2020-02-27T00:24:04", "upload_time_iso_8601": "2020-02-27T00:24:04.734515Z", "url": "https://files.pythonhosted.org/packages/71/6a/07766ecc724336633484e0e3c9bfac74aaa056a9d111d71575d032233430/confdaora-0.1.7.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "3bc5e9ba92870e2fdbe8bba249779838", "sha256": "9964e11d2db9caf844f480d3b2c9aeb813278c291c3398d3e60e087d4ea48bd1" }, "downloads": -1, "filename": "confdaora-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3bc5e9ba92870e2fdbe8bba249779838", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 5902, "upload_time": "2020-02-27T00:56:20", "upload_time_iso_8601": "2020-02-27T00:56:20.510997Z", "url": "https://files.pythonhosted.org/packages/1c/88/fe02b1141e32318e38a2d29e94e3e155ca245931db500a418484e99c2d7b/confdaora-0.2.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "6cf5af45cd50ee485dc5beff34404fae", "sha256": "38a60cf19742fa34a8073ffeeb1b2b6cdd2c757b10de1e0cb2ee5168cc84c0a4" }, "downloads": -1, "filename": "confdaora-0.2.0.tar.gz", "has_sig": false, "md5_digest": "6cf5af45cd50ee485dc5beff34404fae", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 18445, "upload_time": "2020-02-27T00:56:23", "upload_time_iso_8601": "2020-02-27T00:56:23.077082Z", "url": "https://files.pythonhosted.org/packages/c4/bf/06b7f10ccaafc83e93720310388dd5eb6767d78c150e44327f36caba54a8/confdaora-0.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "4859020962800ca151cf5972a2e6064a", "sha256": "9dfe5ff40120355f9a116672530ad909fb3cfd6a5db8d0c947dde5491b74f529" }, "downloads": -1, "filename": "confdaora-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "4859020962800ca151cf5972a2e6064a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 5895, "upload_time": "2020-02-27T01:02:12", "upload_time_iso_8601": "2020-02-27T01:02:12.420591Z", "url": "https://files.pythonhosted.org/packages/81/00/12a73cf7175a0e70f6fd426f8c90a15fedade6b0e0daec68a06c8807a06b/confdaora-0.2.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "ce5f780fe222051846f14cf5d5d05e46", "sha256": "c0e8d8a201c6c8a57bbc99c42e509a7fcd0188950e656732b00c2317ba177577" }, "downloads": -1, "filename": "confdaora-0.2.1.tar.gz", "has_sig": false, "md5_digest": "ce5f780fe222051846f14cf5d5d05e46", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 18450, "upload_time": "2020-02-27T01:02:15", "upload_time_iso_8601": "2020-02-27T01:02:15.077015Z", "url": "https://files.pythonhosted.org/packages/3e/0a/e5df010e7cd7295bcfd926fefba3a2a8d18c86557179de0fc5d3595e50a2/confdaora-0.2.1.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4859020962800ca151cf5972a2e6064a", "sha256": "9dfe5ff40120355f9a116672530ad909fb3cfd6a5db8d0c947dde5491b74f529" }, "downloads": -1, "filename": "confdaora-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "4859020962800ca151cf5972a2e6064a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 5895, "upload_time": "2020-02-27T01:02:12", "upload_time_iso_8601": "2020-02-27T01:02:12.420591Z", "url": "https://files.pythonhosted.org/packages/81/00/12a73cf7175a0e70f6fd426f8c90a15fedade6b0e0daec68a06c8807a06b/confdaora-0.2.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "ce5f780fe222051846f14cf5d5d05e46", "sha256": "c0e8d8a201c6c8a57bbc99c42e509a7fcd0188950e656732b00c2317ba177577" }, "downloads": -1, "filename": "confdaora-0.2.1.tar.gz", "has_sig": false, "md5_digest": "ce5f780fe222051846f14cf5d5d05e46", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 18450, "upload_time": "2020-02-27T01:02:15", "upload_time_iso_8601": "2020-02-27T01:02:15.077015Z", "url": "https://files.pythonhosted.org/packages/3e/0a/e5df010e7cd7295bcfd926fefba3a2a8d18c86557179de0fc5d3595e50a2/confdaora-0.2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }