{ "info": { "author": "Cochise Ruhulessin", "author_email": "cochise.ruhulessin@unimatrixone.io", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Environment :: Web Environment", "Framework :: Django", "Framework :: Django CMS", "Framework :: Flask", "Intended Audience :: Developers", "Intended Audience :: Financial and Insurance Industry", "Intended Audience :: Healthcare Industry", "License :: Other/Proprietary License", "Operating System :: POSIX", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Topic :: Internet", "Topic :: Internet :: WWW/HTTP :: Session", "Topic :: Office/Business", "Topic :: Security", "Topic :: Security :: Cryptography", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: User Interfaces", "Topic :: System :: Systems Administration :: Authentication/Directory", "Topic :: System :: Systems Administration :: Authentication/Directory :: LDAP", "Topic :: System :: Systems Administration :: Authentication/Directory :: NIS" ], "description": "# Python Inversion-of-Control framework\n\n## Synopsis\n\nThe `ioc` module provides a framework to dynamically inject dependencies\nin Python applications. This intends to reduce coupling between application\nand infrastructure, and application and third-party libraries.\n\n## Usage\n\n### Basic\nIn it's most basic usage, dependencies can be declared and invoked using a few simple\ncalls to functions in the `ioc` library.\n\n```\n>>> import ioc\n>>>\n>>> req = ioc.require('MY_REQUIREMENT')\n>>> ioc.provide('MY_REQUIREMENT', 'foo')\n>>> print(req)\n'foo'\n```\n\nThe procedure is simple: state your requirement by a symbolic name and call to `ioc.require()`, and then provide the requirement using `ioc.provide()`.\n\nWhen an application fails to provide a dependency for a requirement, an exception is raised upon invocation:\n\n```\n>>> import ioc\n>>>\n>>> req = ioc.require('MY_REQUIREMENT')\n>>> print(req)\nTraceback (most recent call last):\n File \"\", line 1, in \n File \"requirement.py\", line 11, in inner\n self._setup()\n File \"ioc/requirement.py\", line 58, in _setup\n self._injected = self._provider.resolve(self._names[0])\n File \"ioc/provider.py\", line 33, in resolve\n raise UnsatisfiedDependency(name)\nioc.exc.UnsatisfiedDependency: MY_REQUIREMENT\n```\n\n### Class properties\nA call to `ioc.require()` will not return the actual dependency (it might not be resolved yet) but a wrapper that mimics the behavior of the (to-be) injected dependency.\n\n```\n>>> import ioc\n>>>\n>>> repr(ioc.require('not_resolved'))\n''\n```\n\nThis might not always be a desirable property, for example with Python C-extensions that enforce datatypes on their input parameters. To solve this problem, the `ioc` module provides the `ioc.class_property()` decorator. This adds a descriptor to a class that will always return the dependency as it was injected.\n\n```\n>>> import ioc\n>>>\n>>> class Foo:\n... bar = ioc.class_property('bar')\n...\n>>>\n>>> ioc.provide('bar', 'baz')\n>>>\n>>> repr(Foo.bar)\n''\n>>>\n>>> foo = Foo()\n>>> repr(foo.bar)\n\"'baz'\"\n```\n\n## Advanced usage\n\n## Changelog\n\n### 1.3\n\n- Append ``symbol`` dependencies to an existing iterable.\n- Load literal dependencies from environment variables.\n- Fix parser loading literal dependencies as symbols.\n- Allow default arguments in signatures with `ArgumentDependencyInjector`.\n- `marshmallow` 3.0.0b11 compatibility.\n\n### 1.2\n\n- Add support for `copy.copy()` and `copy.deepcopy()`.\n- Allow `default` argument with `ioc.class_property()`.\n- Make `ioc.class_property()` a real class property.\n- Allow overriding dependencies at runtime.\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://gitlab.com/unimatrixone", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "python-ioc", "package_url": "https://pypi.org/project/python-ioc/", "platform": null, "project_url": "https://pypi.org/project/python-ioc/", "project_urls": { "Homepage": "https://gitlab.com/unimatrixone" }, "release_url": "https://pypi.org/project/python-ioc/1.12.0/", "requires_dist": null, "requires_python": "", "summary": "Enter a description for this Unimatrix package", "version": "1.12.0", "yanked": false, "yanked_reason": null }, "last_serial": 13313660, "releases": { "0.1.17": [ { "comment_text": "", "digests": { "md5": "aebfea04212594d18fa908ef0c02b8c6", "sha256": "a888640feea9f69b74585cd4ab20bf3dae04c16cb6dd590f1d08789c30108841" }, "downloads": -1, "filename": "python-ioc-0.1.17.tar.gz", "has_sig": false, "md5_digest": "aebfea04212594d18fa908ef0c02b8c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11660, "upload_time": "2020-03-06T22:50:25", "upload_time_iso_8601": "2020-03-06T22:50:25.584014Z", "url": "https://files.pythonhosted.org/packages/01/55/bff6e09b15e2f8ca65bb6062b4554aee60c2edd1228861ab672b65fe4116/python-ioc-0.1.17.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.17": [ { "comment_text": "", "digests": { "md5": "cf8088fbe529919178d2d5f057a30d87", "sha256": "7d9eae10f727017a502238358d75995a49e8e4f71e00f67dff3abc8394d87b59" }, "downloads": -1, "filename": "python-ioc-1.1.17.tar.gz", "has_sig": false, "md5_digest": "cf8088fbe529919178d2d5f057a30d87", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11655, "upload_time": "2020-03-06T22:51:42", "upload_time_iso_8601": "2020-03-06T22:51:42.434726Z", "url": "https://files.pythonhosted.org/packages/81/ce/bd7c7c165bd53d601be4cb7c394cf8a374f86306a26adc42df86a3bfe68a/python-ioc-1.1.17.tar.gz", "yanked": false, "yanked_reason": null } ], "1.10.0": [ { "comment_text": "", "digests": { "md5": "0e4ab13aed62aca63ca7c105044eebb3", "sha256": "8e248fad2db248e33f4e1762bd524aee3c5327f82047dab5c642add502d054ad" }, "downloads": -1, "filename": "python-ioc-1.10.0.tar.gz", "has_sig": false, "md5_digest": "0e4ab13aed62aca63ca7c105044eebb3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26416, "upload_time": "2022-03-23T14:06:21", "upload_time_iso_8601": "2022-03-23T14:06:21.624233Z", "url": "https://files.pythonhosted.org/packages/d9/49/17d386035cba7ad87365b638584593920bf9ad4895f3cced587559541e19/python-ioc-1.10.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.11.0": [ { "comment_text": "", "digests": { "md5": "70766a022fab1f07b1c326156adf3e33", "sha256": "ef7b0637713a433c3dea7ce44237eb9e6e40607be257db4708d76c12080e4bf9" }, "downloads": -1, "filename": "python-ioc-1.11.0.tar.gz", "has_sig": false, "md5_digest": "70766a022fab1f07b1c326156adf3e33", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26441, "upload_time": "2022-03-23T14:09:12", "upload_time_iso_8601": "2022-03-23T14:09:12.897296Z", "url": "https://files.pythonhosted.org/packages/3b/fa/5b37c9c6b7ec102efa04f4d1a65dce70808dee88ecca4cdae0a10d1d18fc/python-ioc-1.11.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.11.1": [ { "comment_text": "", "digests": { "md5": "925e3e65f89bc2298862c10ad3963465", "sha256": "2f8938cab17f518a642c31406abc3e4b6afbe52bc72369dbdb7309333bd21a94" }, "downloads": -1, "filename": "python-ioc-1.11.1.tar.gz", "has_sig": false, "md5_digest": "925e3e65f89bc2298862c10ad3963465", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26470, "upload_time": "2022-03-24T16:38:29", "upload_time_iso_8601": "2022-03-24T16:38:29.596953Z", "url": "https://files.pythonhosted.org/packages/3e/8e/443ee329c0894f43549353ea797f651567421a61c5c8eff48fd594e350b4/python-ioc-1.11.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.12.0": [ { "comment_text": "", "digests": { "md5": "2bfa51951982e02986933b20be0cf63a", "sha256": "060a4d2e4557088deb893528d878a6817db4b9ca08a2de8ea895bfa6a7de9314" }, "downloads": -1, "filename": "python-ioc-1.12.0.tar.gz", "has_sig": false, "md5_digest": "2bfa51951982e02986933b20be0cf63a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26659, "upload_time": "2022-03-27T22:47:51", "upload_time_iso_8601": "2022-03-27T22:47:51.363160Z", "url": "https://files.pythonhosted.org/packages/1f/3c/ada8e9ee0a5d3ebe47166e8e8738c36c8c8f6a52e0c456721f4f42e86672/python-ioc-1.12.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.17": [ { "comment_text": "", "digests": { "md5": "64562f892d1625a4e63de0bc137e328f", "sha256": "fa8170a3b89c9eb8e23539f2ee279b25a71fa637485aeb19dca907220f2c0bc9" }, "downloads": -1, "filename": "python-ioc-1.3.17.tar.gz", "has_sig": false, "md5_digest": "64562f892d1625a4e63de0bc137e328f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11663, "upload_time": "2020-03-06T22:52:14", "upload_time_iso_8601": "2020-03-06T22:52:14.819797Z", "url": "https://files.pythonhosted.org/packages/58/af/5f7a40541a62adaf9102a090a9c5fef3ef40480716ae81258f8affd6429a/python-ioc-1.3.17.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.18": [ { "comment_text": "", "digests": { "md5": "b715b1f245c1d0ba7dcab639a519eb47", "sha256": "c8a476b075fc241a4021f85ccecd77cb7a98d19e9087cead60965bc4fb889a97" }, "downloads": -1, "filename": "python-ioc-1.3.18.tar.gz", "has_sig": false, "md5_digest": "b715b1f245c1d0ba7dcab639a519eb47", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11995, "upload_time": "2020-12-13T00:32:49", "upload_time_iso_8601": "2020-12-13T00:32:49.189364Z", "url": "https://files.pythonhosted.org/packages/df/e6/14534758c78364d5ed94d1dfe47e21f11d82610095abe367fc5a24db2bd7/python-ioc-1.3.18.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.19": [ { "comment_text": "", "digests": { "md5": "adc963b8216ad6c859827eb3bc5f105d", "sha256": "cafdf9ce30d96c45e94b695aa4155f6ede621890253f64c5036c7b672aa40c61" }, "downloads": -1, "filename": "python-ioc-1.3.19.tar.gz", "has_sig": false, "md5_digest": "adc963b8216ad6c859827eb3bc5f105d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12011, "upload_time": "2020-12-13T00:38:55", "upload_time_iso_8601": "2020-12-13T00:38:55.828190Z", "url": "https://files.pythonhosted.org/packages/67/69/aeb61d8c0f539906bbc8ff2199617b73c56911ef54d0eab26cb6489559f1/python-ioc-1.3.19.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "af0caebaa70c586bd5cea9dfaa4747b6", "sha256": "fee6d37579e4620f8c19464faf7f33e9c78dc298da26f62e2f243ababeb3eb94" }, "downloads": -1, "filename": "python-ioc-1.4.0.tar.gz", "has_sig": false, "md5_digest": "af0caebaa70c586bd5cea9dfaa4747b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12213, "upload_time": "2020-12-13T11:47:52", "upload_time_iso_8601": "2020-12-13T11:47:52.805408Z", "url": "https://files.pythonhosted.org/packages/d3/02/790da61de94bb5434c1190e64ca60e96e0da7c31cfdce5b42b6896682e02/python-ioc-1.4.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "c8342662cf5ffc078eff1990568b5b94", "sha256": "b38ce4256139faf4d8828fa19a23b26f79b2caa2327f65e0254e67481a37c469" }, "downloads": -1, "filename": "python-ioc-1.4.1.tar.gz", "has_sig": false, "md5_digest": "c8342662cf5ffc078eff1990568b5b94", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12215, "upload_time": "2020-12-13T11:48:38", "upload_time_iso_8601": "2020-12-13T11:48:38.176466Z", "url": "https://files.pythonhosted.org/packages/c5/d5/f5d0f4560559313df8772dfc54ea37726fb0e5830779e17f195d0c17e2cb/python-ioc-1.4.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.2": [ { "comment_text": "", "digests": { "md5": "181e0760e1b4f1b1d67523d131f8be7c", "sha256": "f358da4f8f3153ed1c69bd791d104d109a210e9364ede4ec09c72a35a6f3d355" }, "downloads": -1, "filename": "python-ioc-1.4.2.tar.gz", "has_sig": false, "md5_digest": "181e0760e1b4f1b1d67523d131f8be7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12244, "upload_time": "2020-12-13T13:33:40", "upload_time_iso_8601": "2020-12-13T13:33:40.266465Z", "url": "https://files.pythonhosted.org/packages/17/16/d96c3bf2ce9f59075587174a88b3091105c6b46e0c7e1668d11c4b3cfcc1/python-ioc-1.4.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.3": [ { "comment_text": "", "digests": { "md5": "d41861bd25d496d195067cbb5b7b3da5", "sha256": "af696b1e3b061ced4c8677c81f24d8b026d84e1d0443c4c892c9d3dab1a54f30" }, "downloads": -1, "filename": "python-ioc-1.4.3.tar.gz", "has_sig": false, "md5_digest": "d41861bd25d496d195067cbb5b7b3da5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12530, "upload_time": "2020-12-15T00:32:38", "upload_time_iso_8601": "2020-12-15T00:32:38.104170Z", "url": "https://files.pythonhosted.org/packages/08/75/d7bdf1c4c27900b3b77a841dc214f9840666f05a4a67b7193e31d6efd9a9/python-ioc-1.4.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "cedbf66bf99186593626da950e092f21", "sha256": "826b1eb2b1c9354358c1539f8ff0aa75c934c9b4824f884e6aa0445b83605b95" }, "downloads": -1, "filename": "python-ioc-1.5.0.tar.gz", "has_sig": false, "md5_digest": "cedbf66bf99186593626da950e092f21", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23880, "upload_time": "2020-12-17T10:50:50", "upload_time_iso_8601": "2020-12-17T10:50:50.754487Z", "url": "https://files.pythonhosted.org/packages/b0/ee/6c18b1c79d8afc84f9524da4be241397fd29d3272fe1e5a60405651785f2/python-ioc-1.5.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.5.1": [ { "comment_text": "", "digests": { "md5": "a5355b1d9ae910aa5b5bf488b3a1889c", "sha256": "ba9847795a6996abb68a401dca85454c37972ccdc1fd36bd7697beeaae10c4e2" }, "downloads": -1, "filename": "python-ioc-1.5.1.tar.gz", "has_sig": false, "md5_digest": "a5355b1d9ae910aa5b5bf488b3a1889c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24209, "upload_time": "2020-12-21T02:09:11", "upload_time_iso_8601": "2020-12-21T02:09:11.752682Z", "url": "https://files.pythonhosted.org/packages/df/1e/7ad6cb881e0710fc63baf86ad3ebeacf82f9a4f8ac37e765be92c0eb1a2f/python-ioc-1.5.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.5.2": [ { "comment_text": "", "digests": { "md5": "2738761254dc367afdf0939fc8a18e46", "sha256": "a5589be2aaafd5a30a7d559b99f8a0d312b9e85e50b874fec0edf20d99d0ba81" }, "downloads": -1, "filename": "python-ioc-1.5.2.tar.gz", "has_sig": false, "md5_digest": "2738761254dc367afdf0939fc8a18e46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24229, "upload_time": "2020-12-25T22:23:14", "upload_time_iso_8601": "2020-12-25T22:23:14.566472Z", "url": "https://files.pythonhosted.org/packages/a4/c5/caf43c5baab8bc1d1d2b8867aa8d430a877bc423297517de212430537d88/python-ioc-1.5.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.5.3": [ { "comment_text": "", "digests": { "md5": "7758ed0f31c9ef67ed7391b6e41dbe45", "sha256": "1001443ff7794132b133c9059458e47993a92dbd887450f637b05ea940cc75fd" }, "downloads": -1, "filename": "python-ioc-1.5.3.tar.gz", "has_sig": false, "md5_digest": "7758ed0f31c9ef67ed7391b6e41dbe45", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24257, "upload_time": "2020-12-30T23:58:36", "upload_time_iso_8601": "2020-12-30T23:58:36.147717Z", "url": "https://files.pythonhosted.org/packages/e1/d1/aec609f6c32a88ee93f04c6e822fa713323d7c02a03f42601cfe0e09d4c8/python-ioc-1.5.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.5.4": [ { "comment_text": "", "digests": { "md5": "23d61b4d859b36cfb4d9489bba0851bc", "sha256": "d86b662832d405129f676f577dce7855f1a4c534f4342307d25f3710c9aea3af" }, "downloads": -1, "filename": "python-ioc-1.5.4.tar.gz", "has_sig": false, "md5_digest": "23d61b4d859b36cfb4d9489bba0851bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24292, "upload_time": "2021-02-18T14:40:48", "upload_time_iso_8601": "2021-02-18T14:40:48.074296Z", "url": "https://files.pythonhosted.org/packages/f4/15/2e5d844d7ba49dabf4914146fd339c51e7c5207765b2f461e2b6a3effa8a/python-ioc-1.5.4.tar.gz", "yanked": false, "yanked_reason": null } ], "1.5.5": [ { "comment_text": "", "digests": { "md5": "1ea83d874e220918d9cff9c97b665ca0", "sha256": "f11d66cea1fe6a14602fc486f7d93648cf485dabcbc82395293a1ff613ffdaef" }, "downloads": -1, "filename": "python-ioc-1.5.5.tar.gz", "has_sig": false, "md5_digest": "1ea83d874e220918d9cff9c97b665ca0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24403, "upload_time": "2021-02-18T14:57:07", "upload_time_iso_8601": "2021-02-18T14:57:07.615348Z", "url": "https://files.pythonhosted.org/packages/7d/37/a13f4d79de1485da77daaaab8fef5014f6615e2dd38dd271f9708322617c/python-ioc-1.5.5.tar.gz", "yanked": false, "yanked_reason": null } ], "1.5.6": [ { "comment_text": "", "digests": { "md5": "cbebc7f0ff7d62a01742bc309e578e80", "sha256": "bfc5a9dcfb9f775e86bb4c0ae480846e713bdc5c7578d74df4b390a58e6bc6f6" }, "downloads": -1, "filename": "python-ioc-1.5.6.tar.gz", "has_sig": false, "md5_digest": "cbebc7f0ff7d62a01742bc309e578e80", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24474, "upload_time": "2021-06-10T21:51:52", "upload_time_iso_8601": "2021-06-10T21:51:52.181741Z", "url": "https://files.pythonhosted.org/packages/d1/b0/ad6eb0f5ed9da248812eb82028ae120402cd71fd055f3378a2eff21a7fd1/python-ioc-1.5.6.tar.gz", "yanked": false, "yanked_reason": null } ], "1.6.0": [ { "comment_text": "", "digests": { "md5": "5ec6a278553e4c245243df4f6d6230d8", "sha256": "9f462e156bcd5b9bab6b00dff213773c9a45254ca32c4de20487cc28c7ec58d5" }, "downloads": -1, "filename": "python-ioc-1.6.0.tar.gz", "has_sig": false, "md5_digest": "5ec6a278553e4c245243df4f6d6230d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24487, "upload_time": "2021-08-01T19:50:39", "upload_time_iso_8601": "2021-08-01T19:50:39.892253Z", "url": "https://files.pythonhosted.org/packages/67/a6/c04114069820ed0981c7e8b4ce7864b6b7bc6f9b460cda81948d70280e78/python-ioc-1.6.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.7.0": [ { "comment_text": "", "digests": { "md5": "064a135f26273e04c265a8d9fcf49c50", "sha256": "b4140fe13b818f0d90cca7ccfe10b6ba93a0ea05ec9636af7f9655b27d5f700d" }, "downloads": -1, "filename": "python-ioc-1.7.0.tar.gz", "has_sig": false, "md5_digest": "064a135f26273e04c265a8d9fcf49c50", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26222, "upload_time": "2021-10-06T17:38:06", "upload_time_iso_8601": "2021-10-06T17:38:06.266701Z", "url": "https://files.pythonhosted.org/packages/3d/bb/b264b79f23ac7185b2730e39a8f3db4b02d15f6673a6725201e15bf25d0c/python-ioc-1.7.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.7.1": [ { "comment_text": "", "digests": { "md5": "c653fa5b9bf3dc4c2ccf27d28a439cd1", "sha256": "2c856ef1c030737a0f3b1b920097445579f82840506c86173359892605fa18ca" }, "downloads": -1, "filename": "python-ioc-1.7.1.tar.gz", "has_sig": false, "md5_digest": "c653fa5b9bf3dc4c2ccf27d28a439cd1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26320, "upload_time": "2021-10-25T15:02:23", "upload_time_iso_8601": "2021-10-25T15:02:23.661286Z", "url": "https://files.pythonhosted.org/packages/f6/ff/fffc2e821c8e53cb2ade621569b78b7d280086166e46dc25e7372cf1e361/python-ioc-1.7.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.7.2": [ { "comment_text": "", "digests": { "md5": "f729dd0dd936cf76de7197999fe6b9c3", "sha256": "f833f4e95108d92b580e400974dcbbd2ac1ced96cc9cd434606414314877d248" }, "downloads": -1, "filename": "python-ioc-1.7.2.tar.gz", "has_sig": false, "md5_digest": "f729dd0dd936cf76de7197999fe6b9c3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26326, "upload_time": "2021-10-25T15:43:37", "upload_time_iso_8601": "2021-10-25T15:43:37.641400Z", "url": "https://files.pythonhosted.org/packages/05/fb/cb2aa3c21a9f6705c429820cd234df102fab7f0dd031004293a117392fa0/python-ioc-1.7.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.7.3": [ { "comment_text": "", "digests": { "md5": "54eef5f1e7e576f89e6e6661bfe7bfdf", "sha256": "44aa98abd8399513164266e0da9e54eacc37c2a370d94611299b3f8d12fc73a5" }, "downloads": -1, "filename": "python-ioc-1.7.3.tar.gz", "has_sig": false, "md5_digest": "54eef5f1e7e576f89e6e6661bfe7bfdf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26454, "upload_time": "2021-10-26T15:12:28", "upload_time_iso_8601": "2021-10-26T15:12:28.695582Z", "url": "https://files.pythonhosted.org/packages/ec/c9/1082e1fe36e133a36b68c546d4049ee4e1caf3868e2695da032988513833/python-ioc-1.7.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.8.0": [ { "comment_text": "", "digests": { "md5": "8f5bfaae5a14e1b632492739d766bbab", "sha256": "32682c7760cfaf1333198eb92a87704ea1aba29adb272ad15d293d2827378200" }, "downloads": -1, "filename": "python-ioc-1.8.0.tar.gz", "has_sig": false, "md5_digest": "8f5bfaae5a14e1b632492739d766bbab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26520, "upload_time": "2021-11-13T22:46:21", "upload_time_iso_8601": "2021-11-13T22:46:21.116885Z", "url": "https://files.pythonhosted.org/packages/6e/11/263a9fc8d9e9b88b1610d1e6878dfca5462651d88a3eb9195cec02a6beca/python-ioc-1.8.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.9.0": [ { "comment_text": "", "digests": { "md5": "1036d09512178530aaca87e4b0df7324", "sha256": "2e1fffa989bab33908da3cd125f001b7bbe77a8cc4d3c3bf9919b2ab3a44cfd5" }, "downloads": -1, "filename": "python-ioc-1.9.0.tar.gz", "has_sig": false, "md5_digest": "1036d09512178530aaca87e4b0df7324", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26387, "upload_time": "2022-03-23T12:52:58", "upload_time_iso_8601": "2022-03-23T12:52:58.677736Z", "url": "https://files.pythonhosted.org/packages/06/68/b8d1c56766917ce80fa011615954f6565276532dc46166b2b935023f4d6f/python-ioc-1.9.0.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2bfa51951982e02986933b20be0cf63a", "sha256": "060a4d2e4557088deb893528d878a6817db4b9ca08a2de8ea895bfa6a7de9314" }, "downloads": -1, "filename": "python-ioc-1.12.0.tar.gz", "has_sig": false, "md5_digest": "2bfa51951982e02986933b20be0cf63a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26659, "upload_time": "2022-03-27T22:47:51", "upload_time_iso_8601": "2022-03-27T22:47:51.363160Z", "url": "https://files.pythonhosted.org/packages/1f/3c/ada8e9ee0a5d3ebe47166e8e8738c36c8c8f6a52e0c456721f4f42e86672/python-ioc-1.12.0.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }