scoop


Namescoop JSON
Version 0.7.2.0 PyPI version JSON
download
home_pagehttp://pyscoop.org
SummaryScalable COncurrent Operations in Python
upload_time2022-08-14 23:39:13
maintainer
docs_urlNone
authorSCOOP Development Team
requires_python
licenseLGPL
keywords distributed algorithms parallel programming concurrency cluster programming greenlet zmq
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![SCOOP logo](http://scoop.readthedocs.org/en/latest/_images/logo.png)

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](http://docs.python.org/dev/library/concurrent.futures.html),
[multiprocessing](http://docs.python.org/dev/library/multiprocessing.html)
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](http://www.python.org/dev/peps/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.

![Intro tree](http://scoop.readthedocs.org/en/latest/_images/introductory_tree.png)

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](https://pypi.python.org/pypi/scoop/), check the [project  documentation](http://scoop.readthedocs.org/), post to the [mailing list](http://groups.google.com/group/scoop-users) or [submit an issue](https://github.com/soravux/scoop/issues) if you've found one.



            

Raw data

            {
    "_id": null,
    "home_page": "http://pyscoop.org",
    "name": "scoop",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "distributed algorithms,parallel programming,Concurrency,Cluster programming,greenlet,zmq",
    "author": "SCOOP Development Team",
    "author_email": "scoop-users@googlegroups.com",
    "download_url": "https://files.pythonhosted.org/packages/cb/76/55d6cb5b4a4e221d0f4054420258045dea917f20f051d469a5b344535970/scoop-0.7.2.0.tar.gz",
    "platform": "any",
    "description": "![SCOOP logo](http://scoop.readthedocs.org/en/latest/_images/logo.png)\r\n\r\nSCOOP (Scalable COncurrent Operations in Python) is a distributed task\r\nmodule allowing concurrent parallel programming on various environments,\r\nfrom heterogeneous grids to supercomputers. Its documentation is available on http://scoop.readthedocs.org/ .\r\n\r\nPhilosophy\r\n==========\r\n\r\nSCOOP was designed from the following ideas:\r\n\r\n  * The **future** is parallel;\r\n  * Simple is beautiful;\r\n  * Parallelism should be simpler.\r\n    \r\nThese tenets are translated concretely in a **minimum number of functions** \r\nallowing **maximum parallel efficiency** while keeping at **minimum the \r\ninner knowledge required** to use them. It is implemented with Python 3 in mind \r\nwhile being compatible with Python 2.6+ to allow fast prototyping without sacrificing \r\nefficiency and speed.\r\n\r\nSome comments we received on SCOOP:\r\n\r\n  * \"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)\r\n\r\nFeatures\r\n========\r\n\r\nSCOOP features and advantages over \r\n[futures](http://docs.python.org/dev/library/concurrent.futures.html),\r\n[multiprocessing](http://docs.python.org/dev/library/multiprocessing.html)\r\nand similar modules are as follows:\r\n\r\n  * Harness the power of **multiple computers** over network;\r\n  * Ability to spawn multiple tasks inside a task;\r\n  * API compatible with [PEP-3148](http://www.python.org/dev/peps/pep-3148/);\r\n  * Parallelizing serial code with only minor modifications;\r\n  * Efficient load-balancing.\r\n\r\nAnatomy of a SCOOPed program\r\n----------------------------\r\n\r\nSCOOP 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.\r\n\r\n![Intro tree](http://scoop.readthedocs.org/en/latest/_images/introductory_tree.png)\r\n\r\nThrough SCOOP, you can execute simultaneously tasks that are different by \r\nnature, 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.\r\n\r\nApplications\r\n------------\r\n\r\nThe common applications of SCOOP consist but is not limited to:\r\n\r\n  * Evolutionary Algorithms\r\n  * Monte Carlo simulations\r\n  * Data mining\r\n  * Data processing\r\n  * Graph traversal\r\n\r\nCiting SCOOP\r\n============\r\n\r\nAuthors of scientific papers including results generated using SCOOP are encouraged to cite the following paper.\r\n\r\n{{{\r\n@inproceedings{SCOOP_XSEDE2014,\r\n  title={Once you SCOOP, no need to fork},\r\n  author={Hold-Geoffroy, Yannick and Gagnon, Olivier and Parizeau, Marc},\r\n  booktitle={Proceedings of the 2014 Annual Conference on Extreme Science and Engineering Discovery Environment},\r\n  pages={60},\r\n  year={2014},\r\n  organization={ACM}\r\n}\r\n}}}\r\n\r\nUseful links\r\n============\r\n\r\nYou can [download the latest stable version](https://pypi.python.org/pypi/scoop/), check the [project  documentation](http://scoop.readthedocs.org/), post to the [mailing list](http://groups.google.com/group/scoop-users) or [submit an issue](https://github.com/soravux/scoop/issues) if you've found one.\r\n\r\n\r\n",
    "bugtrack_url": null,
    "license": "LGPL",
    "summary": "Scalable COncurrent Operations in Python",
    "version": "0.7.2.0",
    "split_keywords": [
        "distributed algorithms",
        "parallel programming",
        "concurrency",
        "cluster programming",
        "greenlet",
        "zmq"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cb7655d6cb5b4a4e221d0f4054420258045dea917f20f051d469a5b344535970",
                "md5": "85f57f27e2c8c04fe89325a8c9619e1e",
                "sha256": "7658faf751627f5507b6f636794721d89db1771234a36e1378ee6796dd7ee761"
            },
            "downloads": -1,
            "filename": "scoop-0.7.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "85f57f27e2c8c04fe89325a8c9619e1e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 615393,
            "upload_time": "2022-08-14T23:39:13",
            "upload_time_iso_8601": "2022-08-14T23:39:13.004490Z",
            "url": "https://files.pythonhosted.org/packages/cb/76/55d6cb5b4a4e221d0f4054420258045dea917f20f051d469a5b344535970/scoop-0.7.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-08-14 23:39:13",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "scoop"
}
        
Elapsed time: 0.04451s