Parsl

Parsl - 一个 Python 并行脚本库。「Parsl - a Python parallel scripting library」

  • Owner: Parsl/parsl
  • Platform: Windows,Linux,Mac
  • License:: Apache License 2.0
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

Parsl - Parallel Scripting Library

Apache Licence V2.0
Build status
Documentation Status
NSF award info
NSF award info
NSF award info
NSF award info

Parsl extends parallelism in Python beyond a single computer.

You can use Parsl just like Python's parallel
executors

but across multiple cores and nodes. However, the real power of Parsl
is in expressing multi-step workflows of functions. Parsl lets you chain
functions together and will launch each function as inputs and computing
resources are available.

import parsl
from parsl import python_app

# Start Parsl on a single computer
parsl.load()

# Make functions parallel by decorating them
@python_app
def f(x):
    return x + 1

@python_app
def g(x):
    return x * 2

# These functions now return Futures, and can be chained
future = f(1)
assert future.result() == 2

future = g(f(1))
assert future.result() == 4

Start with the configuration
quickstart

to learn how to tell Parsl how to use your computing resource, then
explore the parallel computing
patterns

to determine how to use parallelism best in your application.

Quickstart

Parsl is now available on PyPI, but first make sure you have Python3.7+
:

$ python3 --version

Install Parsl using pip:

$ pip3 install parsl

To run the Parsl tutorial notebooks you will need to install Jupyter:

$ pip3 install jupyter

Detailed information about setting up Jupyter with Python is available
here

Note: Parsl uses an opt-in model to collect anonymous usage statistics
for reporting and improvement purposes. To understand what stats are
collected and enable collection please refer to the usage tracking
guide

Documentation

The complete parsl documentation is hosted
here.

The Parsl tutorial is hosted on live Jupyter notebooks
here

For Developers

  1. Download Parsl:

    $ git clone https://github.com/Parsl/parsl
    
  2. Build and Test:

    $ make   # show all available makefile targets
    $ make virtualenv # create a virtual environment
    $ source .venv/bin/activate # activate the virtual environment
    $ make deps # install python dependencies from test-requirements.txt
    $ make test # make (all) tests. Run "make config_local_test" for a faster, smaller test set.
    $ make clean # remove virtualenv and all test and build artifacts
    
  3. Install:

    $ cd parsl
    $ python3 setup.py install
    
  4. Use Parsl!

Requirements

Parsl is supported in Python 3.7+. Requirements can be found
here. Requirements for running tests can be found
here.

Code of Conduct

Parsl seeks to foster an open and welcoming environment - Please see the
Parsl Code of
Conduct
for more
details.

Contributing

We welcome contributions from the community. Please see our
contributing
guide
.

Main metrics

Overview
Name With OwnerParsl/parsl
Primary LanguagePython
Program languagePython (Language Count: 7)
Platform
License:Apache License 2.0
所有者活动
Created At2016-10-20 16:27:51
Pushed At2025-07-14 22:46:53
Last Commit At2025-07-02 11:28:29
Release Count166
Last Release Name2025.07.14 (Posted on 2025-07-14 22:46:53)
First Release Name0.1 (Posted on 2017-02-27 14:01:06)
用户参与
Stargazers Count573
Watchers Count27
Fork Count209
Commits Count5k
Has Issues Enabled
Issues Count1233
Issue Open Count439
Pull Requests Count2383
Pull Requests Open Count36
Pull Requests Close Count254
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private