Skip to main content

A cross-platform, high-throughput computing utility for processing shell commands over a distributed, asynchronous queue.

Project description

License Github Release Python Versions PyPI Monthly Downloads Code of Conduct Documentation Status Tests

HyperShell is an elegant, cross-platform, high-throughput computing utility for processing shell commands over a distributed, asynchronous queue. It is a highly scalable workflow automation tool for many-task scenarios.

Built on Python and tested on Linux, macOS, and Windows.

Several tools offer similar functionality but not all together in a single tool with the user ergonomics we provide. Novel design elements include but are not limited to

  • Cross-platform: run on any platform where Python runs. In fact, the server and client can run on different platforms in the same cluster.

  • Client-server: workloads do not need to be monolithic. Run the server as a stand-alone service with SQLite or Postgres as a persistent database and dynamically scale clients as needed.

  • Staggered launch: At the largest scales (1000s of nodes, 100k+ of workers), the launch process can be challenging. Come up gradually to balance the workload.

  • Database in-the-loop: run in-memory for quick, ad-hoc workloads. Otherwise, include a database for persistence, recovery when restarting, and search.

Documentation

Documentation is available at hypershell.readthedocs.io. For basic usage information on the command line use: hs --help. For a more comprehensive usage guide on the command line you can view the manual page with man hs.

Contributions

Contributions are welcome. If you find bugs or have questions, open an Issue here. We’ve added a Code of Conduct recently, adapted from the Contributor Covenant, version 2.0.

Citation

If HyperShell has helped in your research please consider citing us.

@inproceedings{lentner_2022,
    author = {Lentner, Geoffrey and Gorenstein, Lev},
    title = {HyperShell v2: Distributed Task Execution for HPC},
    year = {2022},
    isbn = {9781450391610},
    publisher = {Association for Computing Machinery},
    url = {https://doi.org/10.1145/3491418.3535138},
    doi = {10.1145/3491418.3535138},
    booktitle = {Practice and Experience in Advanced Research Computing},
    articleno = {80},
    numpages = {3},
    series = {PEARC '22}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hypershell-2.7.2.tar.gz (3.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hypershell-2.7.2-py3-none-any.whl (104.0 kB view details)

Uploaded Python 3

File details

Details for the file hypershell-2.7.2.tar.gz.

File metadata

  • Download URL: hypershell-2.7.2.tar.gz
  • Upload date:
  • Size: 3.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.12

File hashes

Hashes for hypershell-2.7.2.tar.gz
Algorithm Hash digest
SHA256 deeb71e18f0353e1d2266f1523322c79fb4e77ebfcdca85ef242de42e5993db4
MD5 d27087aecaad5d3cbc5a14ee34994c20
BLAKE2b-256 2e868f9cf7776ced0d3db303b60e3da6785c14bf5f8cb1c71116902a9bef7c1b

See more details on using hashes here.

File details

Details for the file hypershell-2.7.2-py3-none-any.whl.

File metadata

  • Download URL: hypershell-2.7.2-py3-none-any.whl
  • Upload date:
  • Size: 104.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.12

File hashes

Hashes for hypershell-2.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 805f10c94ac31fcbdad3297c5b1b1fa1512c7eebc9eb93f4e5463ad9bb29e035
MD5 d88c99cfd6b141cd6f5bbcbb75ffdde3
BLAKE2b-256 180b8c6ef128651c04afba21de297fcdb6021f5e06ce7f4a25dd48c2aabceb4f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page