## hapless

[](https://pypi.org/project/hapless/)

[](https://github.com/psf/black)
[](https://github.com/astral-sh/ruff)
[](https://editorconfig.org/)
[](https://github.com/pre-commit/pre-commit)
> **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.
[](https://asciinema.org/a/489924?speed=2)
### Installation
```bash
$ pip install hapless
# or 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.
```bash
$ pip install --user hapless
$ python -m pip install --user hapless
```
### Usage
```bash
# 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](https://github.com/bmwant/hapless/blob/main/USAGE.md) for the complete list of commands and available parameters.
### Contribute
See [DEVELOP.md](https://github.com/bmwant/hapless/blob/main/DEVELOP.md) to setup your local development environment and feel free to create a pull request with a new feature.
### Releases changelog
Changelog file was removed; you can now view the changes made in each release on the [Releases](https://github.com/bmwant/hapless/releases) page.
### See also
* [Rich](https://rich.readthedocs.io/en/stable/introduction.html) console UI library.
* [Supervisor](http://supervisord.org/) full-fledged process manager.
* [podmena](https://github.com/bmwant/podmena) provides nice emoji icons to commit messages.
### Support πΊπ¦ Ukraine in the war!
πΊπ¦ Donate to [this foundation](https://prytulafoundation.org/en) in case you want to help. Every donation matter!
Raw data
{
"_id": null,
"home_page": "https://github.com/bmwant/hapless",
"name": "hapless",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.7",
"maintainer_email": null,
"keywords": "cli, job, runner, background, process",
"author": "Misha Behersky",
"author_email": "bmwant@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/e3/3b/f9632135d4234d63577e90cd349be07085f30aab1c450c5898e1658e847f/hapless-0.7.1.tar.gz",
"platform": null,
"description": "## hapless\n\n\n[](https://pypi.org/project/hapless/)\n\n\n\n[](https://github.com/psf/black)\n[](https://github.com/astral-sh/ruff)\n[](https://editorconfig.org/)\n[](https://github.com/pre-commit/pre-commit)\n\n> **hapless** (*adjective*) - (especially of a person) unfortunate. A developer who accidentally launched long-running process in the foreground.\n\nSimplest way of running and tracking processes in the background.\n\n[](https://asciinema.org/a/489924?speed=2)\n\n### Installation\n\n```bash\n$ pip install hapless\n\n# or to make sure proper pip is used for the given python executable\n$ python -m pip install hapless\n```\n\nInstall into user-specific directory in case of any permissions-related issues.\n\n```bash\n$ pip install --user hapless\n$ python -m pip install --user hapless\n```\n\n### Usage\n\n```bash\n# Run arbitrary script\n$ hap run -- python long_running.py\n\n# Show summary table\n$ hap\n\n# Display status of the specific process\n$ hap status 1\n```\n\nSee [USAGE.md](https://github.com/bmwant/hapless/blob/main/USAGE.md) for the complete list of commands and available parameters.\n\n### Contribute\n\nSee [DEVELOP.md](https://github.com/bmwant/hapless/blob/main/DEVELOP.md) to setup your local development environment and feel free to create a pull request with a new feature.\n\n### Releases changelog\n\nChangelog file was removed; you can now view the changes made in each release on the [Releases](https://github.com/bmwant/hapless/releases) page.\n\n### See also\n\n* [Rich](https://rich.readthedocs.io/en/stable/introduction.html) console UI library.\n* [Supervisor](http://supervisord.org/) full-fledged process manager.\n* [podmena](https://github.com/bmwant/podmena) provides nice emoji icons to commit messages.\n\n### Support \ud83c\uddfa\ud83c\udde6 Ukraine in the war!\n\n\ud83c\uddfa\ud83c\udde6 Donate to [this foundation](https://prytulafoundation.org/en) in case you want to help. Every donation matter!\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Run and track processes in background",
"version": "0.7.1",
"project_urls": {
"Blog post": "https://bmwant.link/hapless-easily-run-and-manage-background-processes/",
"Homepage": "https://github.com/bmwant/hapless",
"Repository": "https://github.com/bmwant/hapless"
},
"split_keywords": [
"cli",
" job",
" runner",
" background",
" process"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "75c4d1bca2072aaeaa7d92e257495083937b363075f29abfb9bcc4d69b0e1ecd",
"md5": "a2eaa5d730d1950ea32872d3d0876426",
"sha256": "a7f6e75e48d729accea3071ddbed83034f742dfccf05971197067d88fd0ee067"
},
"downloads": -1,
"filename": "hapless-0.7.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a2eaa5d730d1950ea32872d3d0876426",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.7",
"size": 12894,
"upload_time": "2025-01-09T18:30:02",
"upload_time_iso_8601": "2025-01-09T18:30:02.390999Z",
"url": "https://files.pythonhosted.org/packages/75/c4/d1bca2072aaeaa7d92e257495083937b363075f29abfb9bcc4d69b0e1ecd/hapless-0.7.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e33bf9632135d4234d63577e90cd349be07085f30aab1c450c5898e1658e847f",
"md5": "d654629a18ed4e683c25c189d1e92651",
"sha256": "f820e29185c5fa0863960e57f5926b46f5645568e75d85c414c91e9d59bd856a"
},
"downloads": -1,
"filename": "hapless-0.7.1.tar.gz",
"has_sig": false,
"md5_digest": "d654629a18ed4e683c25c189d1e92651",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.7",
"size": 11708,
"upload_time": "2025-01-09T18:30:04",
"upload_time_iso_8601": "2025-01-09T18:30:04.993386Z",
"url": "https://files.pythonhosted.org/packages/e3/3b/f9632135d4234d63577e90cd349be07085f30aab1c450c5898e1658e847f/hapless-0.7.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-09 18:30:04",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "bmwant",
"github_project": "hapless",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "hapless"
}