Productive parallel programming in Python

Use Parsl to create parallel programs composed of Python functions and external components. Execute Parsl programs on any compute resource from laptops to supercomputers.

Test Parsl in Binder

Try Parsl

Try Parsl tutorials in our hosted Jupyter notebooks. No installation required!

Try now »

Download Parsl

Install Parsl

Pip install Parsl or checkout Parsl from source.

Quickstart »

View source on GitHub


View, fork, and contribute to the open source Parsl on GitHub.

View source »

Pure Python. Easily parallelize Python code.

Parsl provides an intuitive, pythonic way of parallelizing codes by annotating "apps": Python functions or external applications that run concurrently. Natural parallel programming!

Implicit dataflow. Apps execute concurrently while respecting data dependencies.

Parsl creates a dynamic graph of tasks and their data dependencies. Tasks are only executed when their dependencies are met.

Scalable Jupyter notebooks. Easily manage execution across distributed resources.

Parsl works seamlessly with Jupyter notebooks allowing apps within a notebook to be executed in parallel and on remote resources.

Write once, run anywhere. From laptops to supercomputers.

Parsl scripts are independent of the execution environment. A single script can be executed on one or more execution resources without modifying the script.