hapless
hapless (adjective) - (especially of a person) unfortunate. A developer who accidentally launched long-running process in the foreground.
Simplest way of running and tracking processes in the background.
Installation
- Install using uv
uv tool install hapless
- Install using pipx
pipx install hapless
- Install using pip
pip install hapless
# To make sure proper pip is used for the given python executable
python -m pip install hapless
# Install into user-specific directory in case of any permissions-related issues
pip install --user hapless
python -m pip install --user hapless
- Install using brew
brew install hapless
Usage
# Run arbitrary script
hap run -- python long_running.py
# Show summary table
hap
# Display status of the specific process
hap status 1
See USAGE.md for the complete list of commands and available parameters.
Contribute
See DEVELOP.md to setup your local development environment and feel free to create a pull request with a new feature.
Releases
Changes made in each release can be found on the Releases page.
Python versions compatibility:
0.11.1is the last version to support Python3.70.15.1is the last version to support Python3.8
See also
- Rich console UI library.
- Supervisor full-fledged process manager.
- podmena provides nice emoji icons to commit messages.
Support 🇺🇦 Ukraine in the war!
🇺🇦 Donate to this foundation in case you want to help. Every donation matter!
Metadata
Release files for hapless 0.15.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hapless-0.15.1.tar.gz | 15.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hapless-0.15.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.8 kB
Release files / hapless-0.15.1.tar.gz
| Download URL | hapless-0.15.1.tar.gz |
|---|---|
| Size | 15.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b54707a5f77ac8e779bfd0c8c49344333e9d40a5c9479f0da1c303ffa237077d
|
|
BLAKE2b-256 checksum How to use checksums |
2caba5c875f00927421371c9c36849030ba84dc171e7157575fd85126e893064
|
| 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 Dec 31, 2025.
Transparency logRelease files / hapless-0.15.1-py3-none-any.whl
| Download URL | hapless-0.15.1-py3-none-any.whl |
|---|---|
| Size | 17.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
46831af7a137900c487a84cbb90e6e107e3d2317c7eacf4b98c0d4e158017d5e
|
|
BLAKE2b-256 checksum How to use checksums |
c299e844c573dbefc10c49b84299f70a1a10c8f2dce8a711d0d7760ff52a952e
|
| 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 Dec 31, 2025.
Transparency log