{"id":50827226,"url":"https://github.com/yuriescl/tinytaskmanager","last_synced_at":"2026-06-13T20:06:14.595Z","repository":{"id":42569430,"uuid":"474720173","full_name":"yuriescl/tinytaskmanager","owner":"yuriescl","description":"Tiny daemon-less task manager for Linux, MacOS and Unix-like systems. Written as a single Python script.","archived":false,"fork":false,"pushed_at":"2026-05-30T22:31:15.000Z","size":87,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"dev","last_synced_at":"2026-05-31T00:14:30.550Z","etag":null,"topics":["docker","podman","process-manager","python","supervisor","supervisord","systemd","task-manager"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yuriescl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["yuriescl"]}},"created_at":"2022-03-27T18:11:13.000Z","updated_at":"2026-05-30T22:32:01.000Z","dependencies_parsed_at":"2025-07-05T11:39:27.531Z","dependency_job_id":"a6328e62-85d6-4e39-92f9-3771c1741b7e","html_url":"https://github.com/yuriescl/tinytaskmanager","commit_stats":null,"previous_names":["yuriescl/tinytaskmanager"],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/yuriescl/tinytaskmanager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuriescl%2Ftinytaskmanager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuriescl%2Ftinytaskmanager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuriescl%2Ftinytaskmanager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuriescl%2Ftinytaskmanager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yuriescl","download_url":"https://codeload.github.com/yuriescl/tinytaskmanager/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuriescl%2Ftinytaskmanager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34298269,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-13T02:00:06.617Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","podman","process-manager","python","supervisor","supervisord","systemd","task-manager"],"created_at":"2026-06-13T20:06:13.875Z","updated_at":"2026-06-13T20:06:14.590Z","avatar_url":"https://github.com/yuriescl.png","language":"Python","funding_links":["https://github.com/sponsors/yuriescl"],"categories":[],"sub_categories":[],"readme":"Tiny task manager for Linux, MacOS and Unix-like systems.  \nWritten as a single Python script.\n\n\u003cimg src=\"https://user-images.githubusercontent.com/26092447/224555851-275c66a2-1679-401a-8ca7-a4057406fc77.gif\" width=\"350\"\u003e\n\n## Installation\n\nDownload the script directly (recommended):\n```\ncurl https://raw.githubusercontent.com/yuriescl/tinytaskmanager/dev/tinytaskmanager.py -o tinytaskmanager\nchmod +x tinytaskmanager\n./tinytaskmanager\n```\n\n### Alternative installation methods\n\n#### Installing through pip\n```\npip install tinytaskmanager\ntinytaskmanager  # or python -m tinytaskmanager\n```\n\nRequirements:\n- `python` \u003e=3.8\n- `ps` (usually available by default)\n\nFeatures:\n- No root access required\n- Daemon-less\n- Easily start, watch, and stop tasks using very simple and direct CLI commands\n- Written as a single script built using only the Python standard library - easy to audit and run\n\nComparison to other popular server task managers:\n- [systemctl](https://www.freedesktop.org/software/systemd/man/systemctl.html)\n  - Pros\n    - Sophisticated dependency management via `WantedBy`\n    - Works well with system services\n    - Usually installed by default in any modern server\n    - Many advanced options, useful for fine-grained control of system services\n  - Cons\n    - Unit files are required every time you need to setup a simple background task\n    - Difficult to work with when you're not the root user (`systemctl --user` is not so simple to use)\n    - If not installed in the system, can be difficult to install and setup as a non-privileged user\n    - Difficult for beginners and non-sysadmins\n- [supervisord](http://supervisord.org/)\n  - Pros\n    - Very advanced and fine-grained control of tasks, similar to systemctl\n  - Cons\n    - Not usually installed by default in modern servers\n    - Even if installed, usually requires root access\n    - Difficult for beginners and non-sysadmins\n- [pm2](https://pm2.keymetrics.io/)\n  - Pros\n    - Modern codebase (JavaScript)\n    - Can be easily installed via `npm install pm2`\n    - Has advanced integration with Node.js programs (cluster mode, load balancing, etc)\n    - Widely known and used in Node.js ecosystem\n  - Cons\n    - Not usually installed by default in modern servers\n    - Might not work so well with non-Node.js software\n    - Requires `node` and `npm` to be installed\n    - Might consume more RAM than intended since it's JavaScript\n    - Can be a bit difficult to setup and run simple tasks\n- [docker](https://www.docker.com/)\n  - Pros\n    - Quickly spin up a development/production instance given a properly configured Dockerfile\n    - Container/Dockerfile can be easily shared accross a development team so everyone can test in same OS environment\n    - Widely available and used across many different platforms\n    - All dependencies can be installed in the container\n  - Cons\n    - Requires root access\n    - Usually the processes run as the root user, which can lead to major security vulnerabilities\n    - Very hard for beginners and non-sysadmins\n    - Difficult to run simple tasks that don't need containers\n\n`tinytaskmanager` (previously named `ttm`) was initially an attempt (after painfully having to deal with the existing options like PM2, systemctl, etc) to have a script I could easily copy to a server and manage simple tasks like a `gunicorn` server, or a `celery` worker. After a while, `tinytaskmanager` became a very useful tool in day-to-day deployments, so it made sense to make it public.\n\n**Examples**\n\nRunning a script:\n```\n$ tinytaskmanager run ./backup-database.sh --output /backups/database.sql\n$ tinytaskmanager ls\nID   NAME COMMAND                                              UPTIME PID    \n1    -    ./backup-database.sh --output /backups/database.sql  2s     742537 \n$ tinytaskmanager stop 1\n$ tinytaskmanager rm 1\n```\n\nRunning Django server:\n```\n$ tinytaskmanager run --name mydjangoserver python manage.py runserver\n$ tinytaskmanager rm mydjangoserver\nCannot remove task while it's running.\nTo stop it, run:\ntinytaskmanager stop mydjangoserver\n$ tinytaskmanager logs mydjangoserver\n$ tinytaskmanager rm mydjangoserver\n```\n\n## Development\n\n### Environment\n```\npoetry env use python3.8\npoetry install\npoetry shell\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyuriescl%2Ftinytaskmanager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyuriescl%2Ftinytaskmanager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyuriescl%2Ftinytaskmanager/lists"}