{ "info": { "author": "Browsertron", "author_email": "team@browsertron.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Framework :: Pytest", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Quality Assurance", "Topic :: Software Development :: Testing", "Topic :: Utilities" ], "description": "# pytest-parallel\na pytest plugin for parallel and concurrent testing\n\n## What?\n\nThis plugin makes it possible to run tests quickly using multiprocessing (parallelism) and multithreading (concurrency).\n\n## Why?\n\n`pytest-xdist` is great to run tests that:\n 1. aren't threadsafe\n 2. perform poorly when multithreaded\n 3. need state isolation\n\n`pytest-parallel` is better for some use cases (like Selenium tests) that:\n 1. can be threadsafe\n 2. can use non-blocking IO for http requests to make it performant\n 3. manage little or no state in the Python environment\n\nPut simply, `pytest-xdist` does parallelism while `pytest-parallel` does parallelism and concurrency.\n\n## Requirements\n\n* Python3 version [3.6+]\n* Unix or Mac for `--workers`\n* Unix, Mac, or Windows for `--tests-per-worker`\n\n## Installation\n\n`pip install pytest-parallel`\n\n## Options\n\n* `workers` (optional) - max workers (aka processes) to start. Can be a **positive integer or `auto`** which uses one worker per core. **Defaults to 1**.\n* `tests-per-worker` (optional) - max concurrent tests per worker. Can be a **positive integer or `auto`** which evenly divides tests among the workers up to 50 concurrent tests. **Defaults to 1**.\n\n## Examples\n\n```bash\n# runs 2 workers with 1 test per worker at a time\npytest --workers 2\n\n# runs 4 workers (assuming a quad-core machine) with 1 test per worker\npytest --workers auto\n\n# runs 1 worker with 4 tests at a time\npytest --tests-per-worker 4\n\n# runs 1 worker with up to 50 tests at a time\npytest --tests-per-worker auto\n\n# runs 2 workers with up to 50 tests per worker\npytest --workers 2 --tests-per-worker auto\n```\n\n## License\n\nMIT\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/browsertron/pytest-parallel", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pytest-parallel", "package_url": "https://pypi.org/project/pytest-parallel/", "platform": "", "project_url": "https://pypi.org/project/pytest-parallel/", "project_urls": { "Homepage": "https://github.com/browsertron/pytest-parallel" }, "release_url": "https://pypi.org/project/pytest-parallel/0.0.9/", "requires_dist": [ "pytest (>=3.0.0)" ], "requires_python": "", "summary": "a pytest plugin for parallel and concurrent testing", "version": "0.0.9" }, "last_serial": 4384571, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "06fab19b68319db1447888b9b2d54b3e", "sha256": "6ad3520cd7ddba56d7af0e2032045e2d7b37674a7f843d9d594ded1d3ae35292" }, "downloads": -1, "filename": "pytest_parallel-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "06fab19b68319db1447888b9b2d54b3e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4172, "upload_time": "2018-05-05T21:25:11", "url": "https://files.pythonhosted.org/packages/d0/89/35b391071a78f2d83874df7b12ab3ccd75b28aa213b899318c3cfdabb412/pytest_parallel-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8450d27b852f33647343063eb7c390d7", "sha256": "0ec7af88adc9de80702f8cf24344219739e858f13ce32eff60d5aebc4c8cc0a6" }, "downloads": -1, "filename": "pytest-parallel-0.0.1.tar.gz", "has_sig": false, "md5_digest": "8450d27b852f33647343063eb7c390d7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4039, "upload_time": "2018-05-05T21:25:12", "url": "https://files.pythonhosted.org/packages/83/7d/e37b6436427772502be7865cb962b12b2b45562b76fb21a4b3319d041036/pytest-parallel-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "dc58aac0d8ebb6140ef66ef969ea6812", "sha256": "f54c59ddf38111e774c1221ade4a0d0c9da5017c01ba5c4921af2daa01371422" }, "downloads": -1, "filename": "pytest_parallel-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "dc58aac0d8ebb6140ef66ef969ea6812", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4534, "upload_time": "2018-05-07T04:02:38", "url": "https://files.pythonhosted.org/packages/b6/7c/d93f3687a9cd5bc1732f054b01b74750c95e51eddc54164515997b4f914d/pytest_parallel-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9c08f601e388df84adc329b30dd6299a", "sha256": "8422d9157654ecf84f37dcbcc4cbb86e33a9fa2c40e558852703f308df453768" }, "downloads": -1, "filename": "pytest-parallel-0.0.2.tar.gz", "has_sig": false, "md5_digest": "9c08f601e388df84adc329b30dd6299a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4282, "upload_time": "2018-05-07T04:02:40", "url": "https://files.pythonhosted.org/packages/81/89/4ba0ef36bd6c18fb9c6bafc11df997711ae2ddbcb0ba4285888c3d5f2cd2/pytest-parallel-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "472604c930ebc3347c35db8e0d8aa8a8", "sha256": "de5f3b1f6b885315700086eb7f13858ebcf4057ea4d5d2aa9e4bf0c56015053f" }, "downloads": -1, "filename": "pytest_parallel-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "472604c930ebc3347c35db8e0d8aa8a8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4566, "upload_time": "2018-09-09T19:07:34", "url": "https://files.pythonhosted.org/packages/d8/04/fa9f45be6468a331fa7b3a7f1e7494a13490d616b30d3c183d47d4fb36cd/pytest_parallel-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "08e44904f814e558411f4d4cf4b38fd8", "sha256": "4703c9c596abcce6c9af462a439fb72f07793bb0612ab2adbd9c3eecd211519f" }, "downloads": -1, "filename": "pytest-parallel-0.0.3.tar.gz", "has_sig": false, "md5_digest": "08e44904f814e558411f4d4cf4b38fd8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4736, "upload_time": "2018-09-09T19:07:35", "url": "https://files.pythonhosted.org/packages/17/fd/389584280aa12434ff6ecafdb702afb1be1b0cc9e81b671636e2f119de3a/pytest-parallel-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "47773c225b1b044bf37ae1d52de7cfef", "sha256": "17df79e329bf371166744aba308386d61f2232b51a917a0eea67a816f3ea7af7" }, "downloads": -1, "filename": "pytest_parallel-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "47773c225b1b044bf37ae1d52de7cfef", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4665, "upload_time": "2018-09-16T18:18:52", "url": "https://files.pythonhosted.org/packages/c9/57/f214a34cf3271206e315f1674eab726beee4bc2dcf0e3fb302a680d45a53/pytest_parallel-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7f7110bcd66ecf928794625334dbfa5d", "sha256": "9ee318afcd46e159032044f188493514f0ae6e96bb9d8ca36cc199650fafb528" }, "downloads": -1, "filename": "pytest-parallel-0.0.4.tar.gz", "has_sig": false, "md5_digest": "7f7110bcd66ecf928794625334dbfa5d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4825, "upload_time": "2018-09-16T18:18:53", "url": "https://files.pythonhosted.org/packages/3c/bc/43d4912ed0df9005d8ef76e657606313aaead8b3a07c7d380fae37c0059e/pytest-parallel-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "295c3436077b369ddab5b3e4e1cad2bf", "sha256": "4a677fc695cf7f9299ee185cd439eb90628089ccf48c4c8b45973ef3b3ba59d9" }, "downloads": -1, "filename": "pytest_parallel-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "295c3436077b369ddab5b3e4e1cad2bf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4744, "upload_time": "2018-09-25T01:17:10", "url": "https://files.pythonhosted.org/packages/3d/90/daed83fd96b271601db69d9f4ddf399f411b679e4b908a30d8b08147c1be/pytest_parallel-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3797292e0d016dd11b599fffc1b1495e", "sha256": "8aa3bb968f8e30602f248adf489573b829b81c0d9b503e3ffe083e768001bffa" }, "downloads": -1, "filename": "pytest-parallel-0.0.5.tar.gz", "has_sig": false, "md5_digest": "3797292e0d016dd11b599fffc1b1495e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4908, "upload_time": "2018-09-25T01:17:11", "url": "https://files.pythonhosted.org/packages/b4/5a/2f8eaac32cb6b1d1e1d0ec04afe3a42ef478bb9266c811b65119144829d1/pytest-parallel-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "0066d1370d4a44b771ed4755d78732b9", "sha256": "8a7cf64290f13ec14f2ecdd9b0b27d919d3619b3797cf47ae1c481ef7eda9f08" }, "downloads": -1, "filename": "pytest_parallel-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "0066d1370d4a44b771ed4755d78732b9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4883, "upload_time": "2018-10-05T22:23:01", "url": "https://files.pythonhosted.org/packages/50/c3/929cb7954da35d1fd26d64e84b9293a37c9d0c4e05f1dd6d3237b363829b/pytest_parallel-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "30e41cefd6e2597e1539d7218931470d", "sha256": "457b58b86213403a3856fde56026a7dd2178c96d32dcb2604d59183949cfa940" }, "downloads": -1, "filename": "pytest-parallel-0.0.6.tar.gz", "has_sig": false, "md5_digest": "30e41cefd6e2597e1539d7218931470d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5059, "upload_time": "2018-10-05T22:23:02", "url": "https://files.pythonhosted.org/packages/8a/a2/2bf7329fbc04c97b4d146fb5c30372c414ba2a1204937282d9e49fbc4f96/pytest-parallel-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "c1f0be560169e3d36d86813b8f0baff9", "sha256": "54386dbbd928f6fc46408fff99a58138599d8022c0f629470d8e82ee0b87fa35" }, "downloads": -1, "filename": "pytest_parallel-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "c1f0be560169e3d36d86813b8f0baff9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5733, "upload_time": "2018-10-10T00:32:30", "url": "https://files.pythonhosted.org/packages/d0/5f/b1a00234d98d6738a110f0275a4f405b411abd4a093871653413f212315e/pytest_parallel-0.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8caa5d9f01e4ae43d7431063438b18ea", "sha256": "2f128b088648fbfc29dafc6404aa7145243f8c0443b40f241a65314b844595b2" }, "downloads": -1, "filename": "pytest-parallel-0.0.7.tar.gz", "has_sig": false, "md5_digest": "8caa5d9f01e4ae43d7431063438b18ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5086, "upload_time": "2018-10-10T00:32:31", "url": "https://files.pythonhosted.org/packages/20/c4/40aec6d1f52b29cbdf2e97dea66859911fc0e294b7a68cec49b65505faaf/pytest-parallel-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "111c76fc2c47c1da5471433e6774b293", "sha256": "a63577a3595a678ab69d292b93a72e249227ae51acf3f3fe0c283742299e12e8" }, "downloads": -1, "filename": "pytest_parallel-0.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "111c76fc2c47c1da5471433e6774b293", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5766, "upload_time": "2018-10-10T21:57:50", "url": "https://files.pythonhosted.org/packages/7e/dd/e0f8b5aa5f469a7751f156578e3821c378a80bcf96d25fdfd988f4193b6a/pytest_parallel-0.0.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "15d3b1ac03456e91dcbf26e3e5dd46d7", "sha256": "16c9e4ed0e345d267787f90986b3200749d205a698de607d5bd3242cfbd595d8" }, "downloads": -1, "filename": "pytest-parallel-0.0.8.tar.gz", "has_sig": false, "md5_digest": "15d3b1ac03456e91dcbf26e3e5dd46d7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5124, "upload_time": "2018-10-10T21:57:51", "url": "https://files.pythonhosted.org/packages/f9/c3/1738be1d1224c79a1f45f8b104446220243d88940be672e7d72584b098e0/pytest-parallel-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "8132800f25e18a05fc642da719354e1e", "sha256": "94df6b0ebf48e03cbce66622d55ba6bd2cb116b06cfb39cc5fc4d2d310df25ca" }, "downloads": -1, "filename": "pytest_parallel-0.0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "8132800f25e18a05fc642da719354e1e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6163, "upload_time": "2018-10-17T01:05:44", "url": "https://files.pythonhosted.org/packages/9f/be/ada9809985954dd5c6cf056dc99497d200950a4b7c283a09c904c5d4f2a6/pytest_parallel-0.0.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "20739fe308716fb746bbce4f2817f6c5", "sha256": "c4226352462ae32ff01d47a642d087005c3b9bf995cea61fc37a4becb146278d" }, "downloads": -1, "filename": "pytest-parallel-0.0.9.tar.gz", "has_sig": false, "md5_digest": "20739fe308716fb746bbce4f2817f6c5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5483, "upload_time": "2018-10-17T01:05:45", "url": "https://files.pythonhosted.org/packages/24/3d/e1e0f5088ac2ce1db27b7fa22b4617acf97e7e2da5470798f8df8d83a6c7/pytest-parallel-0.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8132800f25e18a05fc642da719354e1e", "sha256": "94df6b0ebf48e03cbce66622d55ba6bd2cb116b06cfb39cc5fc4d2d310df25ca" }, "downloads": -1, "filename": "pytest_parallel-0.0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "8132800f25e18a05fc642da719354e1e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6163, "upload_time": "2018-10-17T01:05:44", "url": "https://files.pythonhosted.org/packages/9f/be/ada9809985954dd5c6cf056dc99497d200950a4b7c283a09c904c5d4f2a6/pytest_parallel-0.0.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "20739fe308716fb746bbce4f2817f6c5", "sha256": "c4226352462ae32ff01d47a642d087005c3b9bf995cea61fc37a4becb146278d" }, "downloads": -1, "filename": "pytest-parallel-0.0.9.tar.gz", "has_sig": false, "md5_digest": "20739fe308716fb746bbce4f2817f6c5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5483, "upload_time": "2018-10-17T01:05:45", "url": "https://files.pythonhosted.org/packages/24/3d/e1e0f5088ac2ce1db27b7fa22b4617acf97e7e2da5470798f8df8d83a6c7/pytest-parallel-0.0.9.tar.gz" } ] }