Registry / devops / parsl
library2026.6.1pypypi✓ verified 84d ago

Parsl is a parallel scripting library for Python that enables the execution of data-dependent workflows. It allows users to define tasks as Python functions and execute them in parallel across multiple computing resources. Current version is 2026.6.1, with a monthly release cadence.

pip install parsl
INSTALL
IMPORT
SIG · PARSL
P
parsl
devopspythonv2026.6.1
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

python_app
from parsl import python_app
import parsl; @parsl.python_app
Use direct import to enable the decorator.
bash_app
from parsl import bash_app
Config
from parsl.config import Config
import parsl; parsl.Config
Direct import is clearer.
HighThroughputExecutor
from parsl.executors import HighThroughputExecutor
ThreadPoolExecutor
from parsl.executors import ThreadPoolExecutor
glob_writes
from parsl.data_provider.files import File
from parsl.data_provider.files import File as parsl_file
Aliasing is unnecessary.

Initialize Parsl with a local high-throughput executor, define a python_app and a bash_app, launch them, and get results.

import parsl from parsl import python_app, bash_app from parsl.config import Config from parsl.executors import HighThroughputExecutor # Local config with 4 threads config = Config( executors=[ HighThroughputExecutor( max_workers=4, label='local_htex' ) ], strategy='simple', retries=1 ) parsl.load(config) @python_app def hello(): return 'Hello World!' @bash_app def echo_hello(stdout='echo_hello.txt'): return 'echo "Hello from Bash!"' # Launch apps future = hello() result = future.result() print(result) echo_future = echo_hello() echo_future.result() with open('echo_hello.txt') as f: print(f.read()) parsl.clear()
Debug
Known issues
breakingIn version 2024.6.1, the default executor was changed from ThreadPoolExecutor to HighThroughputExecutor. Configurations without an explicit executor selection may experience different performance characteristics.
fix
Explicitly set executor in Config, e.g., executors=[HighThroughputExecutor()].
affects: >=2024.6.1
breakingParsl's 'glob_writes' feature was removed in version 2025.4.1. Use File objects with formatting strings instead.
fix
Replace glob_writes with explicit File objects: out = File('results_{i}.txt').
affects: >=2025.4.1
gotchaPython apps must be pure functions; they cannot capture closures or use global variables that change between invocations. If a python_app uses a mutable object defined outside, it may behave unexpectedly.
fix
Pass all required data as arguments to the app function.
affects: all
gotchaBash apps ignore the stdout/stderr of the Python process; they only capture output via file redirection. Forgetting to redirect output to a file results in empty stdout.
fix
Use stdout= and stderr= parameters in the bash_app decorator to specify output files.
affects: all
deprecatedThe 'ipp' executor (IPythonParallelExecutor) has been deprecated since version 2024.1.0 and will be removed in a future release.
fix
Switch to HighThroughputExecutor or WorkQueueExecutor.
affects: >=2024.1.0
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'parsl'
Parsl is not installed in the current Python environment.
fix
Run 'pip install parsl' or 'conda install -c conda-forge parsl'.
parsl.config.config.ConfigError: No executors specified in config
Config object was created without providing executors.
fix
Add executors parameter to Config, e.g., Config(executors=[HighThroughputExecutor()]).
TypeError: 'File' object is not callable
Trying to call a File object as a function (e.g., File('path')()), likely from confusing File with a callable or using outdated API.
fix
Use File objects as data dependencies: outputs=[File('out.txt')].
RuntimeError: Cannot run apps after cleanup (parsl.clear() was called)
Parsl's dataflow has been cleared or shutdown, but new apps are being created.
fix
Do not create new apps after parsl.clear(). Load a new config if needed.
AttributeError: module 'parsl' has no attribute 'python_app'
Incorrect import; python_app is not a top-level attribute unless imported explicitly.
fix
Use 'from parsl import python_app' instead of 'import parsl'.
Upgrade
Version history
2026.6.1latest on PyPI · released Jun 1, 2026
Audit
Dependencies

No dependency data recorded yet.

Agent activity
2 hits · last 30 days
node
2
Resources
parsl — pip install parsl · libregistry