pytest-cloudist
pytest-cloudist is a pytest plugin to that distributes your tests to AWS EC2 machines with a minimum of fuss. It is a thin wrapper around Meadowrun, which does the heavy lifting of starting EC2 instances and synchronizing environment and code.
Installation
Simply pip install alongside pytest:
python -m pip install pytest-cloudist
That makes the following command line arguments on pytest available:
Distributed testing in the cloud using Meadowrun:
--cloudist={test,file,no}
Set mode for distributing tests to workers.
test: send each test to a worker separately.
file: send each test file to a worker separately.
(default) no: run tests inprocess, don't distribute.
--cd-tasks-per-worker-target=tasks_per_worker_target
The number of tasks to target per worker. This number determines whether individual tests or files are grouped and sent as a chunk to the test worker. Chunking is normally more efficient, but may affect load balancing and worsen the effect of stragglers.
--cd-num-workers=num_workers
Number of workers to use for distributed testing.
--cd-cpu-per-worker=logical_cpu_per_worker
The number of logical CPUs needed per worker.
--cd-memory-per-worker=memory_gb_per_worker
The amount of memory (in GiB) needed per worker.
--cd-interrupt-prob=INTERRUPTION_PROBABILITY_THRESHOLD
The estimated probability that spot instances are interrupted by AWS. Set to 0 for on-demand instances, which will be up to 10x more expensive.
--cd-extra-files=EXTRA_FILES
Extra files to copy as to the remote machines, if needed. .py files on sys.path are copied automatically.
--cd-init-command=INIT_COMMAND
Initialization command to run once per worker
Usage
By default, pytest-cloudist is not activated, i.e. your tests run locally as normal. To enable pytest-cloudist, pass either --cloudist test or --cloudist file with any other options.
Credits
The code and approach of pytest-cloudist, in terms of pytest integration, are heavily based on the code for pytest-xdist, and as a result it is also licensed as MIT.
Metadata
Release files for pytest-cloudist 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pytest-cloudist-0.1.0.tar.gz | 7.0 kB | Without provenance | Details for pytest-cloudist-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pytest_cloudist-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for pytest_cloudist-0.1.0-py3-none-any.whl |
Total release size: 15.6 kB
Release files / pytest-cloudist-0.1.0.tar.gz
| Download URL | pytest-cloudist-0.1.0.tar.gz |
|---|---|
| Size | 7.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
efd00cd09ca39fcbf14dd3eb07ab04d3ac0d58d3924dfe1da373bc14443a3371
|
|
BLAKE2b-256 checksum How to use checksums |
bda8e108d63221c16a50143baa93edffd43186e78f1d45292ac7449233fc74ed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.2.0 CPython/3.8.10 Linux/5.10.102.1-microsoft-standard-WSL2
|
Release files / pytest_cloudist-0.1.0-py3-none-any.whl
| Download URL | pytest_cloudist-0.1.0-py3-none-any.whl |
|---|---|
| Size | 8.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a65ca170434f5e3f4fb1b6b747058321cee1d087a381c0b2e162c6644d9a6aa3
|
|
BLAKE2b-256 checksum How to use checksums |
afbaaa92f169d40553aa8fd5ae56e1bbf6c2b82effe1b033a3aa66324e502c4f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.2.0 CPython/3.8.10 Linux/5.10.102.1-microsoft-standard-WSL2
|
Security for pytest-cloudist 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.