Skip to main content

PaSh: Light-touch Data-Parallel Shell Processing

A system for parallelizing POSIX shell scripts. Hosted by the Linux Foundation.

Tests Build

Quick Jump: Running PaSh | Installation | Testing | Repo Structure | Community & More | Citing

Installation via pip (Recommended)

pip install pash
pash -c "echo hi"

Running PaSh

To parallelize, say, ./evaluation/intro/hello-world.sh with parallelization degree of 2× run:

pash -w 2 ./evaluation/intro/hello-world.sh

If the script contains bash specific syntax, add the beta --bash flag to enable support.

Run pash --help to get more information about the available commands. Jump to docs/tutorial for a longer tutorial.

Local testing (development)

To install and run PaSh for local development:

pip install -e .
pash --help
pash -c "echo hello | cat"
./scripts/run_tests.sh

For more details, manual installation, or other platforms see installation instructions.

Running with a local annotations library

To run with a local version of the library, please refer to the documentation local annotations setup and usage

Repo Structure

This repo hosts the core pash development. The structure is as follows:

  • src/pash/: Main Python package (installed via pip)
    • preprocessor: Parses shell scripts, expands variables, and identifies dataflow regions for compilation.
    • compiler: Translates shell dataflow regions to IRs and applies parallelization transformations.
    • jit_runtime: Just-in-time runtime that executes compiled regions and manages shell state.
    • runtime: Runtime components — e.g., eager, split, and associated combiners.
  • docs: Design documents, tutorials, installation instructions, etc.
  • evaluation: Shell pipelines and example scripts used for the evaluation.
  • scripts: Scripts related to continuous integration, deployment, and testing.

Community & More

Chat:

Mailing Lists:

  • pash-devs: Join this mailing list for discussing all things pash
  • pash-commits: Join this mailing list for commit notifications

Development/contributions:

Citing

If you used PaSh, consider citing the following paper:

@inproceedings{pash2021eurosys,
author = {Vasilakis, Nikos and Kallas, Konstantinos and Mamouras, Konstantinos and Benetopoulos, Achilles and Cvetkovi\'{c}, Lazar},
title = {PaSh: Light-Touch Data-Parallel Shell Processing},
year = {2021},
isbn = {9781450383349},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3447786.3456228},
doi = {10.1145/3447786.3456228},
pages = {49–66},
numpages = {18},
keywords = {POSIX, Unix, pipelines, automatic parallelization, source-to-source compiler, shell},
location = {Online Event, United Kingdom},
series = {EuroSys '21}
}

Metadata

Release files for pash 0.16.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pash 0.16.6
File Size Uploaded
pash-0.16.6.tar.gz 110.5 kB Details

Release files / pash-0.16.6.tar.gz

Download URL pash-0.16.6.tar.gz
Size 110.5 kB
Tags Source
SHA-256 checksum
How to use checksums
0a46a3cac8423d847ad459fe032c00b15a29023aae19406dd4fc45b926ed1db2
BLAKE2b-256 checksum
How to use checksums
982af2c373f454cc0fa2226784735247e93c3219b3334f8029260e53bf8db292
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 30, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.16.6 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page