<p align="center">
<img src="logo.png" width="300px"/>
</p>
[![PyPI](https://img.shields.io/pypi/v/sysdm.svg?style=flat-square)](https://pypi.python.org/pypi/sysdm/)
[![PyPI](https://img.shields.io/pypi/pyversions/sysdm.svg?style=flat-square)](https://pypi.python.org/pypi/sysdm/)
# sysdm
Scripts as a service. Builds on systemd.
It gives you the best from screen, cronjobs, supervisord, systemctl and journalctl.
### Installation
pip install sysdm
### Demo
<p align="center">
<img src="https://raw.githubusercontent.com/kootenpv/sysdm/master/demo.gif"/>
</p>
### Usage examples
sysdm create myfile.py # creates, starts and enables a new service file
sysdm create myfile.py --timer daily # the above + schedules it to run daily
sysdm ls # see the known services created by sysdm
sysdm delete # see the known services and select to delete
sysdm run # run the app in the foreground (e.g for debugging)
### Features
Creating and viewing have just helped you with:
- Generate a systemd unit file on the fly
- Uses current info to determine, and pin, working directory and virtualenv paths in your unit.
- Script will start running, and also boot on start
- Script will restart on error
- Script can also be started on a schedule (e.g. `--timer daily`), using systemd timers
- Changes to files in the directory of the same extension will cause a reload (e.g. `.py`)
- Provides a UI for inspecting the logs of your script and start, stop etc
- Like with screen, you can leave and it will keep on running.
- Multiple people can look at it, too, when sharing a server.
- Provides flags to change settings
- UI is aware of the window-size
Raw data
{
"_id": null,
"home_page": "https://github.com/kootenpv/sysdm",
"name": "sysdm",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "",
"author": "Pascal van Kooten",
"author_email": "kootenpv@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/1c/1f/83680e882413e6ab3682e9a0429577b38b0427900e6fe29df62c32537bea/sysdm-0.8.67.tar.gz",
"platform": "posix",
"description": "<p align=\"center\">\n <img src=\"logo.png\" width=\"300px\"/>\n</p>\n\n[![PyPI](https://img.shields.io/pypi/v/sysdm.svg?style=flat-square)](https://pypi.python.org/pypi/sysdm/)\n[![PyPI](https://img.shields.io/pypi/pyversions/sysdm.svg?style=flat-square)](https://pypi.python.org/pypi/sysdm/)\n\n# sysdm\n\nScripts as a service. Builds on systemd.\n\nIt gives you the best from screen, cronjobs, supervisord, systemctl and journalctl.\n\n### Installation\n\n pip install sysdm\n\n### Demo\n\n<p align=\"center\">\n <img src=\"https://raw.githubusercontent.com/kootenpv/sysdm/master/demo.gif\"/>\n</p>\n\n### Usage examples\n\n sysdm create myfile.py # creates, starts and enables a new service file\n sysdm create myfile.py --timer daily # the above + schedules it to run daily\n sysdm ls # see the known services created by sysdm\n sysdm delete # see the known services and select to delete\n sysdm run # run the app in the foreground (e.g for debugging)\n\n### Features\n\nCreating and viewing have just helped you with:\n\n- Generate a systemd unit file on the fly\n- Uses current info to determine, and pin, working directory and virtualenv paths in your unit.\n- Script will start running, and also boot on start\n- Script will restart on error\n- Script can also be started on a schedule (e.g. `--timer daily`), using systemd timers\n- Changes to files in the directory of the same extension will cause a reload (e.g. `.py`)\n- Provides a UI for inspecting the logs of your script and start, stop etc\n- Like with screen, you can leave and it will keep on running.\n- Multiple people can look at it, too, when sharing a server.\n- Provides flags to change settings\n- UI is aware of the window-size\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Scripts as a service. Builds on systemd.",
"version": "0.8.67",
"project_urls": {
"Homepage": "https://github.com/kootenpv/sysdm"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ae7e325d8cb32cbc691826af3009422ad432556394e5a1c57d27ea0e89b4b498",
"md5": "f1c5f33b2185b8064e6aeb7efba5d0b4",
"sha256": "99cc5368c20f034fb8af1f225f249f97194be34d85682e7d143bec0f3866b034"
},
"downloads": -1,
"filename": "sysdm-0.8.67-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "f1c5f33b2185b8064e6aeb7efba5d0b4",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 18463,
"upload_time": "2023-06-18T22:53:50",
"upload_time_iso_8601": "2023-06-18T22:53:50.647908Z",
"url": "https://files.pythonhosted.org/packages/ae/7e/325d8cb32cbc691826af3009422ad432556394e5a1c57d27ea0e89b4b498/sysdm-0.8.67-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1c1f83680e882413e6ab3682e9a0429577b38b0427900e6fe29df62c32537bea",
"md5": "7b2989804bb8c5789cde08022aaa65a8",
"sha256": "170cc5e1ced1c52915823f8c1672e4f3f7abfd0236aedf820b9296aaa906298b"
},
"downloads": -1,
"filename": "sysdm-0.8.67.tar.gz",
"has_sig": false,
"md5_digest": "7b2989804bb8c5789cde08022aaa65a8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4257715,
"upload_time": "2023-06-18T22:53:54",
"upload_time_iso_8601": "2023-06-18T22:53:54.188882Z",
"url": "https://files.pythonhosted.org/packages/1c/1f/83680e882413e6ab3682e9a0429577b38b0427900e6fe29df62c32537bea/sysdm-0.8.67.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-06-18 22:53:54",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "kootenpv",
"github_project": "sysdm",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "sysdm"
}