{ "info": { "author": "Martin Richard", "author_email": "martius@martiusweb.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Software Development :: Testing" ], "description": ".. image:: https://img.shields.io/pypi/v/asynctest.svg\n :target: https://pypi.python.org/pypi/asynctest\n :alt: PyPI\n.. image:: https://travis-ci.org/Martiusweb/asynctest.svg?branch=master\n :target: https://travis-ci.org/Martiusweb/asynctest\n :alt: Travis\n.. image:: https://ci.appveyor.com/api/projects/status/github/Martiusweb/asynctest?branch=master&svg=true\n :target: https://ci.appveyor.com/project/Martiusweb/asynctest/branch/master\n :alt: AppVeyor\n.. image:: https://img.shields.io/pypi/pyversions/asynctest.svg\n :target: https://github.com/Martiusweb/asynctest\n :alt: Supported Python versions\n\n=========\nasynctest\n=========\n\nThe package asynctest is built on top of the standard unittest module and\ncuts down boilerplate code when testing libraries for asyncio.\n\nCurrently, asynctest targets the \"selector\" model, hence, some features\nwill not (yet?) work with Windows' proactor.\n\n.. warning::\n\n Since asynctest 0.13, Python 3.4 is not supported anymore.\n\nAuthor & license\n----------------\n\nAuthored by Martin Richard and licensed under the\nApache 2 license.\n\nSee the AUTHORS file for a comprehensive list of the authors.\n\nDocumentation\n-------------\n\n.. image:: https://readthedocs.org/projects/asynctest/badge/\n :target: http://asynctest.readthedocs.org/en/latest/\n\nFull documentation is available at http://asynctest.readthedocs.org/en/latest/.\nIt includes a tutorial with tested examples of how to use ``TestCase`` or\nmocks.\n\nFeatures\n--------\n\nTestCases\n~~~~~~~~~\n\n - Initialize and close a loop created for each test (it can be\n configurated), if the loop uses a selector, it will be updated with\n a TestSelector object wrapping the original selector (see below),\n\n - if the test function is a coroutine function or returns a coroutine, it\n will run on the loop,\n\n - TestCase.setUp() and TestCase.tearDown() can be coroutine functions,\n\n - control post-test checks with `@fail_on`, for instance, the test fail if\n the loop didn't run, some optional checks can be activated,\n\n - ClockedTestCase allows to control the loop clock and run timed events\n without waiting the wall clock.\n\nMock and CoroutineMock\n~~~~~~~~~~~~~~~~~~~~~~\n\n - CoroutineMock is a new Mock class which mocks a coroutine function, and\n returns a coroutine when called,\n\n - MagicMock supports asynchronous context managers and asynchronous\n iterators,\n\n - NonCallableMock, Mock and CoroutineMock can return CoroutineMock objects\n when its attributes are get if there is a matching attribute in the spec\n (or spec_set) object which is a coroutine function,\n\n - patch(), patch.object(), patch.multiple() return a MagickMock or\n CoroutineMock object by default, according to the patched target,\n\n - patch(), patch.object(), patch.multiple() handle generators and coroutines\n and their behavior can be controled when the generator or coroutine pauses,\n\n - all the patch() methods can decorate coroutine functions,\n\n - mock_open() returns a MagickMock object by default.\n\n - return_once() can be used with Mock.side_effect to return a value only\n once when a mock is called.\n\nSelectors\n~~~~~~~~~\n\nThe module asynctest.selector provides classes to mock objects performing IO\n(files, sockets, etc).\n\n - FileMock is a special type of mock which represents a file.\n FileMock.fileno() returns a special value which allows to identify uniquely\n the mock,\n\n - SocketMock is a special type of FileMock which uses socket.socket as spec,\n\n - TestSelector is a custom selector able to wrap a real selector\n implementation and deal with FileMock objects, it can replace a selector\n loop by calling `loop._selector = TestSelector(loop._selector)`, and will\n intercept mock so they don't get registered to the actual selector.\n\n - set_read_ready() and set_write_ready() to force read and write event\n callbacks to be scheduled on the loop, as if the selector scheduled them.\n\nHelpers\n~~~~~~~\n\n - the coroutine exhaust_callbacks(loop) returns once all the callbacks which\n should be called immediately are executed, which is useful when the test\n author needs to assert things which are not yet executed by the loop.\n\nRoadmap\n-------\n\nI hope I will find time to develop and release the following features:\n\n- set of warnings against common mistakes\n- proactor support\n\nTests\n-----\n\nasynctest is unit tested. You can run asynctest test suite with this command::\n\n$ PYTHONPATH=. python -m unittest test\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Martiusweb/asynctest/", "keywords": "unittest,test,testing,asyncio,tulip,selectors,async,mock", "license": "Apache 2", "maintainer": "", "maintainer_email": "", "name": "asynctest", "package_url": "https://pypi.org/project/asynctest/", "platform": "", "project_url": "https://pypi.org/project/asynctest/", "project_urls": { "Homepage": "https://github.com/Martiusweb/asynctest/" }, "release_url": "https://pypi.org/project/asynctest/0.13.0/", "requires_dist": null, "requires_python": ">=3.5", "summary": "Enhance the standard unittest package with features for testing asyncio libraries", "version": "0.13.0" }, "last_serial": 5268441, "releases": { "0.10.0": [ { "comment_text": "", "digests": { "md5": "c1fb4b25c73ed15f5dec91d420ff7077", "sha256": "0583d1ca78ba3b9437d86490a518826a168cafb432c33ed7b527794911884e70" }, "downloads": -1, "filename": "asynctest-0.10.0-py3-none-any.whl", "has_sig": false, "md5_digest": "c1fb4b25c73ed15f5dec91d420ff7077", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19148, "upload_time": "2017-01-18T11:31:49", "url": "https://files.pythonhosted.org/packages/2c/9a/629c1f0c059b23573c2e14ba3526a6be5578112f64600f739e7254401a1b/asynctest-0.10.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bc4b6cd57ab14c9bab5592d7dc55a317", "sha256": "250570dfefb786bb8c469bd47e947077d43592120dd3bf405de1ea2bfa014547" }, "downloads": -1, "filename": "asynctest-0.10.0.tar.gz", "has_sig": false, "md5_digest": "bc4b6cd57ab14c9bab5592d7dc55a317", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28919, "upload_time": "2017-10-09T13:22:01", "url": "https://files.pythonhosted.org/packages/65/4b/dea979b1a7c560247f7aa0614850e7bb240931f22eec04ae54a46e6d4feb/asynctest-0.10.0.tar.gz" } ], "0.10.1": [ { "comment_text": "", "digests": { "md5": "0ab274dcba59626f7d7097391744566a", "sha256": "1ed9a1ac37c682f8cdd62eb0a578356516782406ae42e25fb3618ec51c085d5a" }, "downloads": -1, "filename": "asynctest-0.10.1.tar.gz", "has_sig": false, "md5_digest": "0ab274dcba59626f7d7097391744566a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30349, "upload_time": "2017-10-12T19:19:43", "url": "https://files.pythonhosted.org/packages/f6/70/1c0acaa006b66f28fb265f05959bae38d86d50d48d98e4c07d52f1e25718/asynctest-0.10.1.tar.gz" } ], "0.11.0": [ { "comment_text": "", "digests": { "md5": "b36ac30f52ddd7f02eb79ff4ecd75b85", "sha256": "79afab56ed5abaf5d84c20983407857ef74a55e26013d78a77b3af176ac19bc3" }, "downloads": -1, "filename": "asynctest-0.11.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b36ac30f52ddd7f02eb79ff4ecd75b85", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20851, "upload_time": "2017-10-23T08:53:06", "url": "https://files.pythonhosted.org/packages/fa/2d/b445d9295361cfe7f379c27d0d9f0e06ee87a8530cd50cb011d91e8d34ff/asynctest-0.11.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "083e597f416117b7468938929fcabb19", "sha256": "3377521c216e07e5cca207914c06daf99a95b8e1416c70e06d69257d684ab8c9" }, "downloads": -1, "filename": "asynctest-0.11.0.tar.gz", "has_sig": false, "md5_digest": "083e597f416117b7468938929fcabb19", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32904, "upload_time": "2017-10-23T08:53:08", "url": "https://files.pythonhosted.org/packages/00/99/49cc612aa23b0ebe04a614b28656d61aa4d485a1b3a7afb1fd65e9c344dc/asynctest-0.11.0.tar.gz" } ], "0.11.1": [ { "comment_text": "", "digests": { "md5": "baa62a1cfd8c043420a09509aa06c001", "sha256": "f47eb8fd1f78a63a68709c2fd471bbde038deffd4e99b8d614b988a8610c09b2" }, "downloads": -1, "filename": "asynctest-0.11.1-py3-none-any.whl", "has_sig": false, "md5_digest": "baa62a1cfd8c043420a09509aa06c001", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21271, "upload_time": "2017-11-04T15:34:00", "url": "https://files.pythonhosted.org/packages/c1/53/0f862b3a4defe98731326f1aeee743a726001805e17d7688e51bea7cebd3/asynctest-0.11.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2823f5a132d803a7ff1c831c6888e597", "sha256": "f7ef31994c5e751201bd6ce6f92f60f16ad798bfaed8e2b79a74afaa4475927b" }, "downloads": -1, "filename": "asynctest-0.11.1.tar.gz", "has_sig": false, "md5_digest": "2823f5a132d803a7ff1c831c6888e597", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33383, "upload_time": "2017-11-04T15:34:01", "url": "https://files.pythonhosted.org/packages/19/15/c0ce21d419a67df35697100db52cbca143537118faefc42a900ebeccaffe/asynctest-0.11.1.tar.gz" } ], "0.12.0": [ { "comment_text": "", "digests": { "md5": "a209be039af7e9b099fad18634f5f274", "sha256": "92e92d3d31c5a684e1f4f9f3fcd8c4c7a3e40b380e4164d8f49a362c7f402b95" }, "downloads": -1, "filename": "asynctest-0.12.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a209be039af7e9b099fad18634f5f274", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 28591, "upload_time": "2018-02-27T19:54:29", "url": "https://files.pythonhosted.org/packages/35/94/89fd44e6b564bf78013a501e413c5c985e803ee736e5353cea6dae986113/asynctest-0.12.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cf1af74de219ef2cec6c40857d606fee", "sha256": "c01915e9c83873ad6af42d078b67e8f9e16122f966f57053e5320d8c5ad135aa" }, "downloads": -1, "filename": "asynctest-0.12.0.tar.gz", "has_sig": false, "md5_digest": "cf1af74de219ef2cec6c40857d606fee", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 41172, "upload_time": "2018-02-27T19:54:30", "url": "https://files.pythonhosted.org/packages/7f/bf/b4dfe33bf96914162c1c0c91dfed318d9e1fa9fb598d58753b95f926331a/asynctest-0.12.0.tar.gz" } ], "0.12.1": [ { "comment_text": "", "digests": { "md5": "7d260e8f3728e45416d1be53b9c87b13", "sha256": "3cc304cfb59608d09fb302acbe086feafa010b0a9254b1b04c4c75f2265767fc" }, "downloads": -1, "filename": "asynctest-0.12.1-py3-none-any.whl", "has_sig": false, "md5_digest": "7d260e8f3728e45416d1be53b9c87b13", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 26019, "upload_time": "2018-06-05T08:52:11", "url": "https://files.pythonhosted.org/packages/16/b7/53e6435495fc065a5dff718531f79b68272809a3e03066577a0f5fba7af8/asynctest-0.12.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c48f9c8dc6a0c9e2e3deda562caa5e6a", "sha256": "afd030357379ea52193c14ed73f97866a8076ba83e402f12dc0c717c7723a18d" }, "downloads": -1, "filename": "asynctest-0.12.1.tar.gz", "has_sig": false, "md5_digest": "c48f9c8dc6a0c9e2e3deda562caa5e6a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 41686, "upload_time": "2018-06-05T08:52:12", "url": "https://files.pythonhosted.org/packages/78/55/8f6d119a4d098966d7a9d123f75578e3c7316601580bf774a61cfc5c26bd/asynctest-0.12.1.tar.gz" } ], "0.12.2": [ { "comment_text": "", "digests": { "md5": "ef50df9bc751aa4358219cdf552ab196", "sha256": "56bd75b03df55956d57437db26700503d1013616314db5d1ea1a73be1186fd71" }, "downloads": -1, "filename": "asynctest-0.12.2-py3-none-any.whl", "has_sig": false, "md5_digest": "ef50df9bc751aa4358219cdf552ab196", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 26081, "upload_time": "2018-06-20T16:09:19", "url": "https://files.pythonhosted.org/packages/ee/29/9a9289a11b56ceb28dc18fc5b1af9b4223a387269252bb0f349c9da2ed10/asynctest-0.12.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c698aba4f9547498b05c5150e542716b", "sha256": "77520850ae21620ec31738f4a7b467acaa44de6d3752d8ac7a9f4dcf55d77853" }, "downloads": -1, "filename": "asynctest-0.12.2.tar.gz", "has_sig": false, "md5_digest": "c698aba4f9547498b05c5150e542716b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 42094, "upload_time": "2018-06-20T16:09:20", "url": "https://files.pythonhosted.org/packages/f5/cd/34289a7dd6cc49f7f68999e6aeb8c6570c2ad5da98b6c4a4100ff50af89b/asynctest-0.12.2.tar.gz" } ], "0.12.3": [ { "comment_text": "", "digests": { "md5": "ddbcd299fcfad5faa6b710d39ed70149", "sha256": "cce5f4c64a24bd05a31721e45fd9fe39ff0a9987d7a1351d00b1037a8744238a" }, "downloads": -1, "filename": "asynctest-0.12.3-py3-none-any.whl", "has_sig": false, "md5_digest": "ddbcd299fcfad5faa6b710d39ed70149", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 26574, "upload_time": "2019-04-03T15:37:36", "url": "https://files.pythonhosted.org/packages/0a/70/78b33ba653d4b7cf1a737b460dadbcbfb47dc40b48f7bcd02eb75730c4ad/asynctest-0.12.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f38fcf1ec78b66ebbf4b931f469675a9", "sha256": "bbeb45bb41344d2cbb814b4c89c04f2c568742352736cabf7af6fcbed06f66cc" }, "downloads": -1, "filename": "asynctest-0.12.3.tar.gz", "has_sig": false, "md5_digest": "f38fcf1ec78b66ebbf4b931f469675a9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 42222, "upload_time": "2019-04-03T15:37:38", "url": "https://files.pythonhosted.org/packages/9f/8f/6e99111c4bfdb59b4cfa0d7bbb6f540e8f1f48a0124a8ce8d72be8881492/asynctest-0.12.3.tar.gz" } ], "0.12.4": [ { "comment_text": "", "digests": { "md5": "c08ea510e10c2744f8c072f3d437f147", "sha256": "b29ee07019088f6f33fd7ab6826308bbd7ea8bc16ba2f0aa0f70551e70054935" }, "downloads": -1, "filename": "asynctest-0.12.4-py3-none-any.whl", "has_sig": false, "md5_digest": "c08ea510e10c2744f8c072f3d437f147", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 26709, "upload_time": "2019-04-23T18:09:39", "url": "https://files.pythonhosted.org/packages/56/a6/12ba22ab7d7afeeb608357a01fea6920606e977af924fd56807827f4d3b2/asynctest-0.12.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9775a254802ce3d82bfc8306ae32dc9e", "sha256": "ade427a711d18016f35fb0c5d412f0ed63fb074a6084b67ff2dad48f50b0d6ca" }, "downloads": -1, "filename": "asynctest-0.12.4.tar.gz", "has_sig": false, "md5_digest": "9775a254802ce3d82bfc8306ae32dc9e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 42747, "upload_time": "2019-04-23T18:09:40", "url": "https://files.pythonhosted.org/packages/ec/39/e62b8ace9946b4f8da5feab9523c1c90a5278e6506878c5d9c304f958983/asynctest-0.12.4.tar.gz" } ], "0.13.0": [ { "comment_text": "", "digests": { "md5": "82ac26a6b42400fb636817e130f70b6d", "sha256": "5da6118a7e6d6b54d83a8f7197769d046922a44d2a99c21382f0a6e4fadae676" }, "downloads": -1, "filename": "asynctest-0.13.0-py3-none-any.whl", "has_sig": false, "md5_digest": "82ac26a6b42400fb636817e130f70b6d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 26427, "upload_time": "2019-05-14T16:42:22", "url": "https://files.pythonhosted.org/packages/e8/b6/8d17e169d577ca7678b11cd0d3ceebb0a6089a7f4a2de4b945fe4b1c86db/asynctest-0.13.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b616fb83a225dcfa74b365deb40b8a64", "sha256": "c27862842d15d83e6a34eb0b2866c323880eb3a75e4485b079ea11748fd77fac" }, "downloads": -1, "filename": "asynctest-0.13.0.tar.gz", "has_sig": false, "md5_digest": "b616fb83a225dcfa74b365deb40b8a64", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 42301, "upload_time": "2019-05-14T16:42:24", "url": "https://files.pythonhosted.org/packages/0c/0f/6056f4435923d2f8c89ac9ef2d18506a569348d8f9cc827b0dd7a4c8acc4/asynctest-0.13.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "eea169cd5082d7f39fb89b56e9d1805d", "sha256": "2254c27add4944dd2e7c10bd2973b4aee8514e2dd776caa24b772594f0917a73" }, "downloads": -1, "filename": "asynctest-0.2.0-py3.4.egg", "has_sig": false, "md5_digest": "eea169cd5082d7f39fb89b56e9d1805d", "packagetype": "bdist_egg", "python_version": "3.4", "requires_python": null, "size": 17456, "upload_time": "2015-05-12T07:05:29", "url": "https://files.pythonhosted.org/packages/c9/00/31112313979dd38a91e1cef452d767833edbe25358cb65b31d66ba1ca396/asynctest-0.2.0-py3.4.egg" }, { "comment_text": "", "digests": { "md5": "903f08fb308a39c4663b8b8e228bca65", "sha256": "e280e729a3f39333b3a57335d0318f9ea812d3fd5ea49f2f4039801b7c3fe9ac" }, "downloads": -1, "filename": "asynctest-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "903f08fb308a39c4663b8b8e228bca65", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8794, "upload_time": "2015-05-12T07:05:48", "url": "https://files.pythonhosted.org/packages/09/c8/c2cf6fe4f6c405442cf1ff55abae3f77285cbc193d8c7678a35c5a7afd09/asynctest-0.2.0-py3-none-any.whl" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "37f5f3e52ffd50caece51bfb9383d69a", "sha256": "408c529d42aad69a981cb1298380294451e5c099757130c8095c88bafbe1d98e" }, "downloads": -1, "filename": "asynctest-0.3.0-py3.4.egg", "has_sig": false, "md5_digest": "37f5f3e52ffd50caece51bfb9383d69a", "packagetype": "bdist_egg", "python_version": "3.4", "requires_python": null, "size": 25260, "upload_time": "2015-06-04T10:08:28", "url": "https://files.pythonhosted.org/packages/09/a4/bdb054acb56a8b7c9a09a2099a524af0d9ae7e67195bd7e1b53ffc9d148a/asynctest-0.3.0-py3.4.egg" }, { "comment_text": "", "digests": { "md5": "b794e75f08b7cad7add406a08670e5c8", "sha256": "679cd271a2c4bb142e8acffee56271f691ed205c883d254e4f5680cf60af9c1d" }, "downloads": -1, "filename": "asynctest-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b794e75f08b7cad7add406a08670e5c8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12858, "upload_time": "2015-06-04T10:08:32", "url": "https://files.pythonhosted.org/packages/bf/b1/6d22db79a3640b31c79cd8e053170d1eb8e24525d2a418538bca6d66e191/asynctest-0.3.0-py3-none-any.whl" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "733ff946818dae1bc551ed57213686fc", "sha256": "9491367c025306df663188f903579bdcbfe1d2d8fbb41ef0aa68728cb49f01ad" }, "downloads": -1, "filename": "asynctest-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "733ff946818dae1bc551ed57213686fc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12986, "upload_time": "2015-07-02T13:35:32", "url": "https://files.pythonhosted.org/packages/a9/f1/17ca9f30d02ad57a8a4a5ff5ff6aa7f2fca8c0e0a33fd4f92e722d7050a7/asynctest-0.3.1-py3-none-any.whl" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "5e9fc97a1f5159490ba02e273f88330b", "sha256": "d5575b9b0d886c1512b8ef1454b973d09ae525e8f59867b13a27e541141cda7d" }, "downloads": -1, "filename": "asynctest-0.3.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5e9fc97a1f5159490ba02e273f88330b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12997, "upload_time": "2015-08-10T12:50:33", "url": "https://files.pythonhosted.org/packages/87/99/9656cbf0ebfec47610ede966354a692fcd171caf17b430e743c8f1fa0809/asynctest-0.3.2-py2.py3-none-any.whl" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "4386f435c6a380049f7cf2713e3a4df0", "sha256": "8f8ffde4572dc26cdc7c7717b2b8e475819d8632e61dc26a0fc24031802be8bf" }, "downloads": -1, "filename": "asynctest-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4386f435c6a380049f7cf2713e3a4df0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13845, "upload_time": "2015-08-12T10:01:12", "url": "https://files.pythonhosted.org/packages/7c/76/7505c487d5faf24b6ff91e346b54653a4aa7ae5f811b10769d96c6de5e07/asynctest-0.4.0-py2.py3-none-any.whl" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "d65e2599c5da7f17b5370a4b79a2c03a", "sha256": "0c3ed726527b3df21e60abb9c4de8a60b76bb80a3a5f6264f2c1267fa053a28f" }, "downloads": -1, "filename": "asynctest-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d65e2599c5da7f17b5370a4b79a2c03a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14252, "upload_time": "2015-10-08T11:32:18", "url": "https://files.pythonhosted.org/packages/76/27/36828f933d4ecf52fb82a69a981cd9e8e8ef9dda2fece1372c99462b6461/asynctest-0.5.0-py2.py3-none-any.whl" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "fc9d174ea33d31bf82a09de8420239c9", "sha256": "71371e662255673f84e923391d83e563bd35db3a19be3c2b58c0e8cb11d64cc5" }, "downloads": -1, "filename": "asynctest-0.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "fc9d174ea33d31bf82a09de8420239c9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15025, "upload_time": "2016-02-13T08:15:23", "url": "https://files.pythonhosted.org/packages/2a/32/7944fb47b2a538a66aebf677b952ede4bfcf5f485a46a2b17828ced2e502/asynctest-0.6.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "303ee1332465fccc66a75e82a43e40a5", "sha256": "4b1e83babfec2657e5c693561b4d2a1f4c712313bba023861b7e8214f0a0d7bf" }, "downloads": -1, "filename": "asynctest-0.6.0.tar.gz", "has_sig": false, "md5_digest": "303ee1332465fccc66a75e82a43e40a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19180, "upload_time": "2016-02-13T08:15:28", "url": "https://files.pythonhosted.org/packages/09/a1/e80c65957d1dc8d59efc8be6c6f1b81f7c7ae9b53d9193aa3917de64859e/asynctest-0.6.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "e68b8e4c2a0e7fa560a5ba15881f3637", "sha256": "76bf4ddc8b11df2ec676376155235a2284c3161911ca1c4b660d8ed0b1224630" }, "downloads": -1, "filename": "asynctest-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e68b8e4c2a0e7fa560a5ba15881f3637", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15396, "upload_time": "2016-03-29T16:19:32", "url": "https://files.pythonhosted.org/packages/76/eb/0548aecfc98601197310dc0c3c00ec94dd03224ee4f5c9006e746c624424/asynctest-0.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "053731fe293f6e6cc943d0d387b10907", "sha256": "d461a7780d0a0b2831a8956fe15a9fc1c69f11090fa178a6a9400ea5468a3907" }, "downloads": -1, "filename": "asynctest-0.7.0-py3-none-any.whl", "has_sig": false, "md5_digest": "053731fe293f6e6cc943d0d387b10907", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15396, "upload_time": "2016-03-29T16:19:47", "url": "https://files.pythonhosted.org/packages/a5/f9/daf1ecd9ab00502c8356e4ad49b2ff0d651bbc14f79bb3a631b1f030a1a2/asynctest-0.7.0-py3-none-any.whl" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "6a274d8a7248f41a3ac2843c70e11867", "sha256": "5b71d0b62c1947d81529c80cfc2ed6fbd59feaaa5051ff339efccf802126c95c" }, "downloads": -1, "filename": "asynctest-0.7.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6a274d8a7248f41a3ac2843c70e11867", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15763, "upload_time": "2016-04-05T10:26:48", "url": "https://files.pythonhosted.org/packages/32/75/f9fa2a45d31334d69142847ef7c9459495dc80188e395f9bbe549bd4f481/asynctest-0.7.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3438f08d5e51daf1261540706eeba6d0", "sha256": "9d27dffe712cc9da443b462c0b88e0eb6e0e7ff78313f11e10964ebb56a2af7a" }, "downloads": -1, "filename": "asynctest-0.7.1-py3-none-any.whl", "has_sig": false, "md5_digest": "3438f08d5e51daf1261540706eeba6d0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15764, "upload_time": "2016-04-05T10:27:15", "url": "https://files.pythonhosted.org/packages/0c/cc/c93b895b449926c0a1ad9349b1a567e0d005a0b6efc5de4a21a821c04f4f/asynctest-0.7.1-py3-none-any.whl" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "0ce5c56ce3c3157a1e2e6bf16459bcd4", "sha256": "84d61941617dac8a7e189c713e8d428df983d02d630ec75d28b8652c320b831f" }, "downloads": -1, "filename": "asynctest-0.8.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0ce5c56ce3c3157a1e2e6bf16459bcd4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19278, "upload_time": "2016-08-29T12:44:39", "url": "https://files.pythonhosted.org/packages/69/00/07864842a56831263ee48f6d24ba54093bfc7a728c97e060ac976f75e015/asynctest-0.8.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c5462c832b24664b0d83399ebf6d87cb", "sha256": "b09b7a8dcb595b6dc86f7bb081df379d45613359c22e69d475d423bdf8805503" }, "downloads": -1, "filename": "asynctest-0.8.0.tar.gz", "has_sig": false, "md5_digest": "c5462c832b24664b0d83399ebf6d87cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28163, "upload_time": "2016-08-29T12:44:42", "url": "https://files.pythonhosted.org/packages/f8/88/32c357a1bb8de9ae29929b85415f4cb05a72b07bce8917815ab037555b7d/asynctest-0.8.0.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "7700bd5366c8cc0dba0f4382db92fed4", "sha256": "9923d16ef4c662113d3f561f43a339273cb500f1b88aa86ec3121ce3aad7d2ee" }, "downloads": -1, "filename": "asynctest-0.9.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7700bd5366c8cc0dba0f4382db92fed4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19443, "upload_time": "2016-10-13T13:29:32", "url": "https://files.pythonhosted.org/packages/93/bb/8a16c269740fcdb75bb3822e9325643b70714a32be02a067b46f29d32922/asynctest-0.9.0-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "82ac26a6b42400fb636817e130f70b6d", "sha256": "5da6118a7e6d6b54d83a8f7197769d046922a44d2a99c21382f0a6e4fadae676" }, "downloads": -1, "filename": "asynctest-0.13.0-py3-none-any.whl", "has_sig": false, "md5_digest": "82ac26a6b42400fb636817e130f70b6d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 26427, "upload_time": "2019-05-14T16:42:22", "url": "https://files.pythonhosted.org/packages/e8/b6/8d17e169d577ca7678b11cd0d3ceebb0a6089a7f4a2de4b945fe4b1c86db/asynctest-0.13.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b616fb83a225dcfa74b365deb40b8a64", "sha256": "c27862842d15d83e6a34eb0b2866c323880eb3a75e4485b079ea11748fd77fac" }, "downloads": -1, "filename": "asynctest-0.13.0.tar.gz", "has_sig": false, "md5_digest": "b616fb83a225dcfa74b365deb40b8a64", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 42301, "upload_time": "2019-05-14T16:42:24", "url": "https://files.pythonhosted.org/packages/0c/0f/6056f4435923d2f8c89ac9ef2d18506a569348d8f9cc827b0dd7a4c8acc4/asynctest-0.13.0.tar.gz" } ] }