{ "info": { "author": "Floris Bruynooghe", "author_email": "flub@devork.be", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Environment :: Plugins", "Intended Audience :: Developers", "License :: DFSG approved", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Topic :: Software Development :: Testing" ], "description": "==============\npytest-timeout\n==============\n\nThis is a plugin which will terminate tests after a certain timeout.\nWhen doing so it will show a stack dump of all threads running at the\ntime. This is useful when running tests under a continuous\nintegration server or simply if you don't know why the test suite\nhangs.\n\nNote that while by default on POSIX systems py.test will continue to\nexecute the tests after a test has timed, out this is not always\npossible. Often the only sure way to interrupt a hanging test is by\nterminating the entire process. As this is a hard termination\n(``os._exit()``) it will result in no teardown, JUnit XML output etc.\nBut the plugin will ensure you will have the debugging output on\nstderr nevertheless, which is the most important part at this stage.\nSee below for detailed information on the timeout methods and their\nside-effects.\n\nThe pytest-timeout plugin has been tested on python 2.7 or higher,\nincluding 3.X, pypy and pypy3. See tox.ini for currently tested\nversions.\n\n\nUsage\n=====\n\nInstall is as simple as e.g.::\n\n pip install pytest-timeout\n\nNow you can run tests using a timeout, in seconds, after which they\nwill be terminated::\n\n py.test --timeout=300\n\nAlternatively you can mark individual tests as having a timeout::\n\n @pytest.mark.timeout(60)\n def test_foo():\n pass\n\nBy default the plugin will not time out any tests, you must specify a\nvalid timeout for the plugin to interrupt long-running tests. A\ntimeout is always specified as an integer number of seconds and can be\ndefined in a number of ways, from low to high priority:\n\n1. You can set a global timeout in the `py.test configuration file`__\n using the ``timeout`` option. E.g.::\n\n [pytest]\n timeout = 300\n\n2. The ``PYTEST_TIMEOUT`` environment variable sets a global timeout\n overriding a possible value in the configuration file.\n\n3. The ``--timeout`` command line option sets a global timeout\n overriding both the environment variable and configuration option.\n\n4. Using the ``timeout`` marker_ on test items you can specify\n timeouts on a per-item basis::\n\n @pytest.mark.timeout(300)\n def test_foo():\n pass\n\n__ http://pytest.org/latest/customize.html#how-test-configuration-is-read-from-configuration-ini-files\n\n.. _marker: http://pytest.org/latest/mark.html\n\nSetting a timeout to 0 seconds disables the timeout, so if you have a\nglobal timeout set you can still disable the timeout by using the\nmark.\n\nTimeout Methods\n===============\n\nInterrupting tests which hang is not always as simple and can be\nplatform dependent. Furthermore some methods of terminating a test\nmight conflict with the code under test itself. The pytest-timeout\nplugin tries to pick the most suitable method based on your platform,\nbut occasionally you may need to specify a specific timeout method\nexplicitly.\n\n If a timeout method does not work your safest bet is to use the\n *thread* method.\n\nthread\n------\n\nThis is the surest and most portable method. It is also the default\non systems not supporting the *signal* method. For each test item the\npytest-timeout plugin starts a timer thread which will terminate the\nwhole process after the specified timeout. When a test item finishes\nthis timer thread is cancelled and the test run continues.\n\nThe downsides of this method are that there is a relatively large\noverhead for running each test and that test runs are not completed.\nThis means that other py.test features, like e.g. JUnit XML output or\nfixture teardown, will not function normally. The second issue might\nbe alleviated by using the ``--boxed`` option of the pytest-xdist_\nplugin.\n\n.. _pytest-xdist: http://pypi.python.org/pypi/pytest-xdist\n\nThe benefit of this method is that it will always work. Furthermore\nit will still provide you debugging information by printing the stacks\nof all the threads in the application to stderr.\n\nsignal\n------\n\nIf the system supports the SIGALRM signal the *signal* method will be\nused by default. This method schedules an alarm when the test item\nstarts and cancels it when it finishes. If the alarm expires during\nthe test the signal handler will dump the stack of any other threads\nrunning to stderr and use ``pytest.fail()`` to interrupt the test.\n\nThe benefit of this method is that the py.test process is not\nterminated and the test run can complete normally.\n\nThe main issue to look out for with this method is that it may\ninterfere with the code under test. If the code under test uses\nSIGALRM itself things will go wrong and you will have to choose the\n*thread* method.\n\nSpecifying the Timeout Method\n-----------------------------\n\nThe timeout method can be specified by using the ``timeout_method``\noption in the `py.test configuration file`__, the ``--timeout_method``\ncommand line parameter or the ``timeout`` marker_. Simply set their\nvalue to the string ``thread`` or ``signal`` to override the default\nmethod. On a marker this is done using the ``method`` keyword::\n\n @pytest.mark.timeout(method='thread')\n def test_foo():\n pass\n\n__ http://pytest.org/latest/customize.html#how-test-configuration-is-read-from-configuration-ini-files\n\n.. _marker: http://pytest.org/latest/mark.html\n\nThe ``timeout`` Marker API\n==========================\n\nThe full signature of the timeout marker is::\n\n pytest.mark.timeout(timeout=0, method=DEFAULT_METHOD)\n\nYou can use either positional or keyword arguments for both the\ntimeout and the method. Neither needs to be present.\n\nSee the marker api documentation_ and examples_ for the various ways\nmarkers can be applied to test items.\n\n.. _documentation: http://pytest.org/latest/mark.html\n\n.. _examples: http://pytest.org/latest/example/markers.html#marking-whole-classes-or-modules\n\n\nTimeouts in Fixture Teardown\n============================\n\nThe plugin will happily terminate timeouts in the finalisers of\nfixtures. The timeout specified applies to the entire process of\nsetting up fixtures, running the tests and finalising the fixtures.\nHowever when a timeout occurs in a fixture finaliser and the test\nsuite continues, i.e. the signal method is used, it must be realised\nthat subsequent fixtures which need to be finalised might not have\nbeen executed, which could result in a broken test-suite anyway. In\ncase of doubt the thread method which terminates the entire process\nmight result in clearer output.\n\n\nChangelog\n=========\n\n1.3.3\n-----\n\n- Fix support for pytest >= 3.10.\n\n1.3.2\n-----\n\n- This changelog was ommitted for the 1.3.2 release and was added\n afterwards. Apologies for the confusion.\n- Fix pytest 3.7.3 compatibility. The capture API had changed\n slightly and this needed fixing. Thanks Bruno Oliveira for the\n contribution.\n\n1.3.1\n-----\n\n- Fix deprecation warning on Python 3.6. Thanks Micka\u00ebl Schoentgen\n- Create a valid tag for the release. Somehow this didn't happen for\n 1.3.0, that tag points to a non-existing commit.\n\n1.3.0\n-----\n\n- Make it possible to only run the timeout timer on the test function\n and not the whole fixture setup + test + teardown duration. Thanks\n Pedro Algarvio for the work!\n- Use the new pytest marker API, Thanks Pedro Algarvio for the work!\n\n1.2.1\n-----\n\n- Fix for pytest 3.3, thanks Bruno Oliveira.\n- Update supported python versions:\n - Add CPython 3.6.\n - Drop CPyhon 2.6 (as did pytest 3.3)\n - Drop CPyhon 3.3\n - Drop CPyhon 3.4\n\n1.2.0\n-----\n\n* Allow using floats as timeout instead of only integers, thanks Tom\n Myers.\n\n1.1.0\n-----\n\n* Report (default) timeout duration in header, thanks Holger Krekel.\n\n1.0.0\n-----\n\n* Bump version to 1.0 to commit to semantic versioning.\n* Fix issue #12: Now compatible with py.test 2.8, thanks Holger Krekel.\n* No longer test with pexpect on py26 as it is no longer supported\n* Require py.test 2.8 and use new hookimpl decorator\n\n0.5\n---\n\n* Timeouts will no longer be triggered when inside an interactive pdb\n session started by ``pytest.set_trace()`` / ``pdb.set_trace()``.\n\n* Add pypy3 environment to tox.ini.\n\n* Transfer repository to pytest-dev team account.\n\n0.4\n---\n\n* Support timeouts happening in (session scoped) finalizers.\n\n* Change command line option --timeout_method into --timeout-method\n for consistency with py.test\n\n0.3\n---\n\n* Added the PYTEST_TIMEOUT environment variable as a way of specifying\n the timeout (closes issue #2).\n\n* More flexible marker argument parsing: you can now specify the\n method using a positional argument.\n\n* The plugin is now enabled by default. There is no longer a need to\n specify ``timeout=0`` in the configuration file or on the command\n line simply so that a marker would work.\n\n\n0.2\n---\n\n* Add a marker to modify the timeout delay using a @pytest.timeout(N)\n syntax, thanks to Laurant Brack for the initial code.\n\n* Allow the timeout marker to select the timeout method using the\n ``method`` keyword argument.\n\n* Rename the --nosigalrm option to --method=thread to future proof\n support for eventlet and gevent. Thanks to Ronny Pfannschmidt for\n the hint.\n\n* Add ``timeout`` and ``timeout_method`` items to the configuration\n file so you can enable and configure the plugin using the ini file.\n Thanks to Holger Krekel and Ronny Pfannschmidt for the hints.\n\n* Tested (and fixed) for python 2.6, 2.7 and 3.2.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://bitbucket.org/pytest-dev/pytest-timeout/", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pytest-timeout", "package_url": "https://pypi.org/project/pytest-timeout/", "platform": "", "project_url": "https://pypi.org/project/pytest-timeout/", "project_urls": { "Homepage": "http://bitbucket.org/pytest-dev/pytest-timeout/" }, "release_url": "https://pypi.org/project/pytest-timeout/1.3.3/", "requires_dist": [ "pytest (>=3.6.0)" ], "requires_python": "", "summary": "py.test plugin to abort hanging tests", "version": "1.3.3" }, "last_serial": 4493443, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "baee70736595c84fb26d1c4e7b9cf840", "sha256": "6f25f0579aab685af1ed3626a45701bc36a5ba481a31f112d1abfc81abf9aa32" }, "downloads": -1, "filename": "pytest-timeout-0.1.tar.gz", "has_sig": false, "md5_digest": "baee70736595c84fb26d1c4e7b9cf840", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4562, "upload_time": "2012-02-27T00:06:13", "url": "https://files.pythonhosted.org/packages/fd/c9/bbbddea660ec7c8253ae48bd4d6a8386e7001a519a9fabd88055d13b74a5/pytest-timeout-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "e0bdcf1f7f5cc3ea7cb89676e4f97d10", "sha256": "0f5069e4f3a53678768c77022bcae8bad1fdfb6034d198bc3c3ab0fc9f4083d3" }, "downloads": -1, "filename": "pytest-timeout-0.2.tar.gz", "has_sig": false, "md5_digest": "e0bdcf1f7f5cc3ea7cb89676e4f97d10", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7490, "upload_time": "2012-03-17T17:46:52", "url": "https://files.pythonhosted.org/packages/ba/ce/e33b63b127e2cf3008ce010bebdacf0cb7d2ad3d6f83e088e626b1cb9a9f/pytest-timeout-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "46de81f106ab8a320c39a37d7d8f0429", "sha256": "0b65091ef62e90600f9d7ec43aa075dd447f7e350683596bf2e79255ebf4ae21" }, "downloads": -1, "filename": "pytest-timeout-0.3.tar.gz", "has_sig": false, "md5_digest": "46de81f106ab8a320c39a37d7d8f0429", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9678, "upload_time": "2012-09-18T23:37:18", "url": "https://files.pythonhosted.org/packages/1c/06/b7ac6653037f67b4438f480d21b8491c85d2d619cc1cfa2167fb8af339b3/pytest-timeout-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "84a0fa6b871f0c93b77206ed8840144d", "sha256": "4b79eec8ded79d960a2c6016e42720cbe62bd0f614d9ee07f5d91607bc866184" }, "downloads": -1, "filename": "pytest_timeout-0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "84a0fa6b871f0c93b77206ed8840144d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11350, "upload_time": "2014-08-05T23:00:49", "url": "https://files.pythonhosted.org/packages/15/0d/8a919f34c09eaf94feb18b115180973f00dfcd36ceec243cb0597fab62c1/pytest_timeout-0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "03b28aff69cbbfb959ed35ade5fde262", "sha256": "d5900aaa94af5cb2d06ed806b1e636255e65a8a26eccecccd2b9a9d6123d50d5" }, "downloads": -1, "filename": "pytest-timeout-0.4.tar.gz", "has_sig": true, "md5_digest": "03b28aff69cbbfb959ed35ade5fde262", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10204, "upload_time": "2014-08-05T23:00:47", "url": "https://files.pythonhosted.org/packages/24/48/5f6bd4b8026a26e1dd427243d560a29a0f1b24a5c7cffca4bf049a7bb65b/pytest-timeout-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "abc97e8ae35963d48067c2bd13381a69", "sha256": "64c2da63fa01fe8ee1cc783a9aed70006bc70a9de531131fb3ad3336dd84c364" }, "downloads": -1, "filename": "pytest_timeout-0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "abc97e8ae35963d48067c2bd13381a69", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11626, "upload_time": "2015-08-14T23:46:07", "url": "https://files.pythonhosted.org/packages/4a/a2/9e872cf773c652cde34aa8795fa284981b3d41883272b8ae1ddb1ede7a4e/pytest_timeout-0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0c44e5e03b15131498a86169000cb050", "sha256": "c42b4106158b43500ea6a433dfee26d1068943ff6673a41e85ea367e38810673" }, "downloads": -1, "filename": "pytest-timeout-0.5.tar.gz", "has_sig": false, "md5_digest": "0c44e5e03b15131498a86169000cb050", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9913, "upload_time": "2015-08-14T23:46:03", "url": "https://files.pythonhosted.org/packages/fa/5e/6bd2f455d3c2b90048a9795211a657bbb4b54d6bb3f2b62befc88f6ed1c4/pytest-timeout-0.5.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "a9b21622cdbf5482d8dd7c6598204e98", "sha256": "d53665f3dad30de23b8377623a5ec9b6f489c4a70aa952c1860febc33dac3c88" }, "downloads": -1, "filename": "pytest_timeout-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a9b21622cdbf5482d8dd7c6598204e98", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11888, "upload_time": "2015-11-15T17:10:40", "url": "https://files.pythonhosted.org/packages/f0/62/94b129986dc70c34e004e93d00ff5e28a5c9097bc9c1de59c302bc2ee4f3/pytest_timeout-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f9f162bd079689980b5614673ddfdae4", "sha256": "1465096be73e16df1e15d1b1453692428a7e15b997d756bc565aee0d12798ce1" }, "downloads": -1, "filename": "pytest-timeout-1.0.0.tar.gz", "has_sig": false, "md5_digest": "f9f162bd079689980b5614673ddfdae4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11125, "upload_time": "2015-11-15T17:10:50", "url": "https://files.pythonhosted.org/packages/cf/92/ab29b9baa54d47dfd50e43be35577de9af4e7ebf27d29f546ddeb6c3b6f5/pytest-timeout-1.0.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "be3270f7785a3503941b95e0d303c1c1", "sha256": "c65a80c87074c17b6dfbe91cd856f260f84fbdad5df9bd79b1cfc26fe5c163f1" }, "downloads": -1, "filename": "pytest_timeout-1.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "be3270f7785a3503941b95e0d303c1c1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12138, "upload_time": "2016-11-10T20:31:14", "url": "https://files.pythonhosted.org/packages/2f/65/f3627290fe4ac2e02eeee628fad3529f9e7009f99b080a39f6a1cefd8be8/pytest_timeout-1.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "83607d91aa163562c7ee835da57d061d", "sha256": "c29e3168f10897728059bd6b8ca20b28733d7fe6b8f6c09bb9d89f6146f27cb8" }, "downloads": -1, "filename": "pytest-timeout-1.2.0.tar.gz", "has_sig": false, "md5_digest": "83607d91aa163562c7ee835da57d061d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13258, "upload_time": "2016-11-10T20:31:17", "url": "https://files.pythonhosted.org/packages/cc/b7/b2a61365ea6b6d2e8881360ae7ed8dad0327ad2df89f2f0be4a02304deb2/pytest-timeout-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "803e5cd500bdb248556316358984c991", "sha256": "142739bc1f0687fccb0f013d36c5bbebd0b14b546404e79f4158010e81e5013b" }, "downloads": -1, "filename": "pytest_timeout-1.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "803e5cd500bdb248556316358984c991", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12397, "upload_time": "2017-11-28T21:36:21", "url": "https://files.pythonhosted.org/packages/69/7f/33a67c2494c6c337daca935192b7de09d30b54e568c981ed0681380393c4/pytest_timeout-1.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "450f295948ec5279184f8cb2cd866099", "sha256": "68b7d264633d5d33ee6b14ce3a7f7d05f8fd9d2f6ae594283221ec021736b7cd" }, "downloads": -1, "filename": "pytest-timeout-1.2.1.tar.gz", "has_sig": false, "md5_digest": "450f295948ec5279184f8cb2cd866099", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11498, "upload_time": "2017-11-28T21:36:23", "url": "https://files.pythonhosted.org/packages/be/e9/a9106b8bc87521c6813060f50f7d1fdc15665bc1bbbe71c0ffc1c571aaa2/pytest-timeout-1.2.1.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "752164cde083ac2c26eb881037d95546", "sha256": "cc8808265bcfe81c961f729937591c373dc6a33000456f48c907d401d0f9014d" }, "downloads": -1, "filename": "pytest_timeout-1.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "752164cde083ac2c26eb881037d95546", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8654, "upload_time": "2018-06-13T21:18:57", "url": "https://files.pythonhosted.org/packages/39/5e/8ff2e22a943d974299708eb5be2d0704e29eb0491f284e93d443f82e8567/pytest_timeout-1.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0f11d41c3027eb3fbf4fa16f94f19992", "sha256": "08b550b498b9251901a3747f02aa2624ed53a9c8285ca482551346c85b47d641" }, "downloads": -1, "filename": "pytest-timeout-1.3.0.tar.gz", "has_sig": false, "md5_digest": "0f11d41c3027eb3fbf4fa16f94f19992", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14649, "upload_time": "2018-06-13T21:18:58", "url": "https://files.pythonhosted.org/packages/e9/de/ce1ed3e2c787080a66ef40e75ae13b13311a44374b652e9b1a014d4251ba/pytest-timeout-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "e330cf359f62bd8352e03747bbcfed5d", "sha256": "9c8320867e9f06c4d088871f60660a61d64b325dc5fce6db0b5160dede5e7b9a" }, "downloads": -1, "filename": "pytest_timeout-1.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e330cf359f62bd8352e03747bbcfed5d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8753, "upload_time": "2018-07-23T20:30:03", "url": "https://files.pythonhosted.org/packages/46/64/162772832e19a569c7d319f695496a047118c3306fb1f8bd7b52a4724ca5/pytest_timeout-1.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5825c74a77e662f6980265d30856ef9f", "sha256": "4b261bec5782b603c98b4bb803484bc96bf1cdcb5480dae0999d21c7e0423a23" }, "downloads": -1, "filename": "pytest-timeout-1.3.1.tar.gz", "has_sig": false, "md5_digest": "5825c74a77e662f6980265d30856ef9f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11412, "upload_time": "2018-07-23T20:30:04", "url": "https://files.pythonhosted.org/packages/12/71/5dad1e94ad5b96318b76e492682cc7a3a6d0f995d2713962091fd331787a/pytest-timeout-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "b26e7e230dde38a5c2c3c51d50c8c201", "sha256": "b050a05da96a9992e90e884bc19b4790678b40c25471d2b77015b388417e1fa8" }, "downloads": -1, "filename": "pytest_timeout-1.3.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b26e7e230dde38a5c2c3c51d50c8c201", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8780, "upload_time": "2018-08-27T21:39:33", "url": "https://files.pythonhosted.org/packages/ae/77/3b714fcfda89925be29f5cdea5b6199912265f54dc23b9af7d8c588e1830/pytest_timeout-1.3.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "818a9244226f15582272840f37eaece6", "sha256": "1117fc0536e1638862917efbdc0895e6b62fa61e6cf4f39bb655686af7af9627" }, "downloads": -1, "filename": "pytest-timeout-1.3.2.tar.gz", "has_sig": false, "md5_digest": "818a9244226f15582272840f37eaece6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11494, "upload_time": "2018-08-27T21:39:35", "url": "https://files.pythonhosted.org/packages/8c/3e/1b6a319d12ae7baa3acb7c18ff2c8630a09471a0319d43535c683b4d03eb/pytest-timeout-1.3.2.tar.gz" } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "1935461b32ceb0258a6bc52ae5899f0c", "sha256": "d49f618c6448c14168773b6cdda022764c63ea80d42274e3156787e8088d04c6" }, "downloads": -1, "filename": "pytest_timeout-1.3.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1935461b32ceb0258a6bc52ae5899f0c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9762, "upload_time": "2018-11-16T11:48:22", "url": "https://files.pythonhosted.org/packages/58/92/f60ea2e27074d6f97c8aaf21e34d1f838eb623e4b8070680846c65318a10/pytest_timeout-1.3.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a209689f220661bcac04f10f03c05388", "sha256": "4a30ba76837a32c7b7cd5c84ee9933fde4b9022b0cd20ea7d4a577c2a1649fb1" }, "downloads": -1, "filename": "pytest-timeout-1.3.3.tar.gz", "has_sig": false, "md5_digest": "a209689f220661bcac04f10f03c05388", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11627, "upload_time": "2018-11-16T11:48:24", "url": "https://files.pythonhosted.org/packages/13/48/7a166eaa29c1dca6cc253e3ba5773ff2e4aa4f567c1ea3905808e95ac5c1/pytest-timeout-1.3.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1935461b32ceb0258a6bc52ae5899f0c", "sha256": "d49f618c6448c14168773b6cdda022764c63ea80d42274e3156787e8088d04c6" }, "downloads": -1, "filename": "pytest_timeout-1.3.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1935461b32ceb0258a6bc52ae5899f0c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9762, "upload_time": "2018-11-16T11:48:22", "url": "https://files.pythonhosted.org/packages/58/92/f60ea2e27074d6f97c8aaf21e34d1f838eb623e4b8070680846c65318a10/pytest_timeout-1.3.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a209689f220661bcac04f10f03c05388", "sha256": "4a30ba76837a32c7b7cd5c84ee9933fde4b9022b0cd20ea7d4a577c2a1649fb1" }, "downloads": -1, "filename": "pytest-timeout-1.3.3.tar.gz", "has_sig": false, "md5_digest": "a209689f220661bcac04f10f03c05388", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11627, "upload_time": "2018-11-16T11:48:24", "url": "https://files.pythonhosted.org/packages/13/48/7a166eaa29c1dca6cc253e3ba5773ff2e4aa4f567c1ea3905808e95ac5c1/pytest-timeout-1.3.3.tar.gz" } ] }