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

pip install binpash-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 binpash-pash 0.16.5

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

Source distribution (sdist)

Source distribution for binpash-pash 0.16.5
File Size Uploaded
binpash_pash-0.16.5.tar.gz 107.6 kB Details

Release files / binpash_pash-0.16.5.tar.gz

Download URL binpash_pash-0.16.5.tar.gz
Size 107.6 kB
Tags Source
SHA-256 checksum
How to use checksums
350a987dfe0440a881da056ed69fcd908a5a40899ae4ea68e8e2a3cfe78d9b29
BLAKE2b-256 checksum
How to use checksums
2ac28302340806ec03c88177e0b639bd16f6dd67268ff071bf1f0e6d1a392dd5
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 22, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.16.5 This release

1 release file

0.16.4

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