SCOOP (Scalable COncurrent Operations in Python) is a distributed task module allowing concurrent parallel programming on various environments, from heterogeneous grids to supercomputers. Its documentation is available on http://scoop.readthedocs.org/ .
Philosophy
SCOOP was designed from the following ideas:
- The future is parallel;
- Simple is beautiful;
- Parallelism should be simpler.
These tenets are translated concretely in a minimum number of functions allowing maximum parallel efficiency while keeping at minimum the inner knowledge required to use them. It is implemented with Python 3 in mind while being compatible with Python 2.6+ to allow fast prototyping without sacrificing efficiency and speed.
Some comments we received on SCOOP:
- "I must say that that was by far the easiest upgrade I have probably ever done. I still need to build and test it on the cluster, but on my development machine it took about 10 minutes to upgrade and test." [deap mailing list](https://groups.google.com/d/msg/deap-users/chQY-2HHZWM/4qZRkQuvbbIJ EBo)
Features
SCOOP features and advantages over futures, multiprocessing and similar modules are as follows:
- Harness the power of multiple computers over network;
- Ability to spawn multiple tasks inside a task;
- API compatible with PEP-3148;
- Parallelizing serial code with only minor modifications;
- Efficient load-balancing.
Anatomy of a SCOOPed program
SCOOP can handle multiple diversified multi-layered tasks. With it, you can submit your different functions and data simultaneously and effortlessly while the framework executes them locally or remotely. Contrarily to most multiprocessing frameworks, it allows to launch subtasks within tasks.
Through SCOOP, you can execute simultaneously tasks that are different by nature, shown by the task color, or different by complexity, shown by the task radius. The module will handle the physical considerations of parallelization, such as task distribution over your resources (load balancing), communications, etc.
Applications
The common applications of SCOOP consist but is not limited to:
- Evolutionary Algorithms
- Monte Carlo simulations
- Data mining
- Data processing
- Graph traversal
Citing SCOOP
Authors of scientific papers including results generated using SCOOP are encouraged to cite the following paper.
{{{ @inproceedings{SCOOP_XSEDE2014, title={Once you SCOOP, no need to fork}, author={Hold-Geoffroy, Yannick and Gagnon, Olivier and Parizeau, Marc}, booktitle={Proceedings of the 2014 Annual Conference on Extreme Science and Engineering Discovery Environment}, pages={60}, year={2014}, organization={ACM} } }}}
Useful links
You can download the latest stable version, check the project documentation, post to the mailing list or submit an issue if you've found one.
Metadata
Release files for scoop 0.7.2.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 | |
|---|---|---|---|---|
| scoop-0.7.2.0.tar.gz | 615.4 kB | Without provenance | Details |
Release files / scoop-0.7.2.0.tar.gz
| Download URL | scoop-0.7.2.0.tar.gz |
|---|---|
| Size | 615.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7658faf751627f5507b6f636794721d89db1771234a36e1378ee6796dd7ee761
|
|
BLAKE2b-256 checksum How to use checksums |
cb7655d6cb5b4a4e221d0f4054420258045dea917f20f051d469a5b344535970
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.9.12
|
Security for scoop 0.7.2.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.