HyperShell v2: Distributed Task Execution for HPC
=================================================
.. image:: https://img.shields.io/badge/license-Apache-blue.svg?style=flat
:target: https://www.apache.org/licenses/LICENSE-2.0
:alt: License
.. image:: https://img.shields.io/pypi/v/hyper-shell.svg?style=flat&color=blue
:target: https://pypi.org/project/hyper-shell
:alt: PyPI Version
.. image:: https://img.shields.io/pypi/pyversions/hyper-shell.svg?logo=python&logoColor=white&style=flat
:target: https://pypi.org/project/hyper-shell
:alt: Python Versions
.. image:: https://readthedocs.org/projects/hyper-shell/badge/?version=latest&style=flat
:target: https://hyper-shell.readthedocs.io
:alt: Documentation
.. image:: https://static.pepy.tech/badge/hyper-shell
:target: https://pepy.tech/project/hyper-shell
:alt: Downloads
|
⚠️⚠️⚠️**Warning** ⚠️⚠️⚠️
**The ``hyper-shell`` PyPI package is deprecated use ``hypershell`` instead.**
For backwards compatibility the ``hyper-shell`` PyPI package will remain
inplace; however, new releases will not be published there.
|
*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 `hyper-shell.readthedocs.io <https://hyper-shell.readthedocs.io>`_.
For basic usage information on the command line use: ``hyper-shell --help``. For a more
comprehensive usage guide on the command line you can view the manual page with
``man hyper-shell``.
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 <https://www.contributor-covenant.org/>`_, version 2.0.
Citation
--------
If *HyperShell* has helped in your research please consider citing us.
.. code-block:: bibtex
@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}
}
Raw data
{
"_id": null,
"home_page": "https://hyper-shell.readthedocs.io",
"name": "hyper-shell",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": "distributed-computing, command-line-tool, shell-scripting, high-performance-computing, high-throughput-computing",
"author": "Geoffrey Lentner",
"author_email": "glentner@purdue.edu",
"download_url": null,
"platform": null,
"description": "HyperShell v2: Distributed Task Execution for HPC\n=================================================\n\n.. image:: https://img.shields.io/badge/license-Apache-blue.svg?style=flat\n :target: https://www.apache.org/licenses/LICENSE-2.0\n :alt: License\n\n.. image:: https://img.shields.io/pypi/v/hyper-shell.svg?style=flat&color=blue\n :target: https://pypi.org/project/hyper-shell\n :alt: PyPI Version\n\n.. image:: https://img.shields.io/pypi/pyversions/hyper-shell.svg?logo=python&logoColor=white&style=flat\n :target: https://pypi.org/project/hyper-shell\n :alt: Python Versions\n\n.. image:: https://readthedocs.org/projects/hyper-shell/badge/?version=latest&style=flat\n :target: https://hyper-shell.readthedocs.io\n :alt: Documentation\n\n.. image:: https://static.pepy.tech/badge/hyper-shell\n :target: https://pepy.tech/project/hyper-shell\n :alt: Downloads\n\n|\n\n \u26a0\ufe0f\u26a0\ufe0f\u26a0\ufe0f**Warning** \u26a0\ufe0f\u26a0\ufe0f\u26a0\ufe0f\n\n **The ``hyper-shell`` PyPI package is deprecated use ``hypershell`` instead.**\n\n For backwards compatibility the ``hyper-shell`` PyPI package will remain\n inplace; however, new releases will not be published there.\n\n|\n\n*HyperShell* is an elegant, cross-platform, high-throughput computing utility for\nprocessing shell commands over a distributed, asynchronous queue. It is a highly\nscalable workflow automation tool for *many-task* scenarios.\n\nBuilt on Python and tested on Linux, macOS, and Windows.\n\nSeveral tools offer similar functionality but not all together in a single tool with\nthe user ergonomics we provide. Novel design elements include but are not limited to\n\n* **Cross-platform:** run on any platform where Python runs. In fact, the server and\n client can run on different platforms in the same cluster.\n* **Client-server:** workloads do not need to be monolithic. Run the server as a\n stand-alone service with SQLite or Postgres as a persistent database and dynamically\n scale clients as needed.\n* **Staggered launch:** At the largest scales (1000s of nodes, 100k+ of workers),\n the launch process can be challenging. Come up gradually to balance the workload.\n* **Database in-the-loop:** run in-memory for quick, ad-hoc workloads. Otherwise,\n include a database for persistence, recovery when restarting, and search.\n\n\nDocumentation\n-------------\n\nDocumentation is available at `hyper-shell.readthedocs.io <https://hyper-shell.readthedocs.io>`_.\nFor basic usage information on the command line use: ``hyper-shell --help``. For a more \ncomprehensive usage guide on the command line you can view the manual page with \n``man hyper-shell``.\n\n\nContributions\n-------------\n\nContributions are welcome. If you find bugs or have questions, open an *Issue* here.\nWe've added a Code of Conduct recently, adapted from the\n`Contributor Covenant <https://www.contributor-covenant.org/>`_, version 2.0.\n\n\nCitation\n--------\n\nIf *HyperShell* has helped in your research please consider citing us.\n\n.. code-block:: bibtex\n\n @inproceedings{lentner_2022,\n author = {Lentner, Geoffrey and Gorenstein, Lev},\n title = {HyperShell v2: Distributed Task Execution for HPC},\n year = {2022},\n isbn = {9781450391610},\n publisher = {Association for Computing Machinery},\n url = {https://doi.org/10.1145/3491418.3535138},\n doi = {10.1145/3491418.3535138},\n booktitle = {Practice and Experience in Advanced Research Computing},\n articleno = {80},\n numpages = {3},\n series = {PEARC '22}\n }\n\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "A cross-platform, high-throughput computing utility for processing shell commands over a distributed, asynchronous queue.",
"version": "2.5.1",
"project_urls": {
"Documentation": "https://hyper-shell.readthedocs.io",
"Homepage": "https://hyper-shell.readthedocs.io",
"Repository": "https://github.com/glentner/hyper-shell"
},
"split_keywords": [
"distributed-computing",
" command-line-tool",
" shell-scripting",
" high-performance-computing",
" high-throughput-computing"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "31377b57a7c9b6527f2b56354a5a0ad21833cfc400c346d7849b4e2e87dae5af",
"md5": "7b0ce13035a80fd8c80f50e627cbdeb2",
"sha256": "ea7ff9dcffd49e6be2d0608ebdba99513a155428fb324390e5618bd223d8cfb6"
},
"downloads": -1,
"filename": "hyper_shell-2.5.1-2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7b0ce13035a80fd8c80f50e627cbdeb2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 92273,
"upload_time": "2024-05-26T17:34:25",
"upload_time_iso_8601": "2024-05-26T17:34:25.475019Z",
"url": "https://files.pythonhosted.org/packages/31/37/7b57a7c9b6527f2b56354a5a0ad21833cfc400c346d7849b4e2e87dae5af/hyper_shell-2.5.1-2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-26 17:34:25",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "glentner",
"github_project": "hyper-shell",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "hyper-shell"
}