# Tasker
[](https://badge.fury.io/py/tasker-python)

[](https://pepy.tech/project/tasker-python)
[](https://github.com/zigai/tasker/blob/main/LICENSE)
Simple task automation framework for Python, integrating [Rocketry](https://github.com/Miksus/rocketry) for advanced scheduling and [Apprise](https://github.com/caronc/apprise) for multi-platform notifications. Wraps Python functions and shell commands into easily manageable and schedulable units.
## Installation
#### From PyPi
```
pip install tasker-python
```
#### From source
```
pip install git+https://github.com/zigai/tasker.git
```
## Example
```python
from tasker import Channel, CommandLineTask
task = CommandLineTask(
name="hello-world",
command="echo 'Hello World!'",
notification_channels=[
Channel("discord://...", events=["start", "success", "info", "fail"]),
],
stdout=True, # display stdout in notifications
)
task.exec() # run once
from tasker.scheduler import TaskScheduler, every
scheduler = TaskScheduler()
scheduler.schedule_task(task, every("10 seconds")) # run every 10 seconds
scheduler.run()
```
## License
[MIT License](https://github.com/zigai/tasker/blob/master/LICENSE)
Raw data
{
"_id": null,
"home_page": "https://github.com/zigai/tasker",
"name": "tasker-python",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "tasker, python, task scheduler, scheduler notifications, cron notifications, rocketry, apprise",
"author": "\u017diga Ivan\u0161ek",
"author_email": "ziga.ivansek@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/29/6d/5e140b9e5f4540bff21ed65cbe4be0973f75582d58f7a11c75c94c55a142/tasker_python-0.1.5.tar.gz",
"platform": null,
"description": "# Tasker\n[](https://badge.fury.io/py/tasker-python)\n\n[](https://pepy.tech/project/tasker-python)\n[](https://github.com/zigai/tasker/blob/main/LICENSE)\n\nSimple task automation framework for Python, integrating [Rocketry](https://github.com/Miksus/rocketry) for advanced scheduling and [Apprise](https://github.com/caronc/apprise) for multi-platform notifications. Wraps Python functions and shell commands into easily manageable and schedulable units.\n\n## Installation\n#### From PyPi\n```\npip install tasker-python\n```\n#### From source\n```\npip install git+https://github.com/zigai/tasker.git\n```\n## Example\n```python\nfrom tasker import Channel, CommandLineTask\n\ntask = CommandLineTask(\n name=\"hello-world\",\n command=\"echo 'Hello World!'\",\n notification_channels=[\n Channel(\"discord://...\", events=[\"start\", \"success\", \"info\", \"fail\"]), \n ],\n stdout=True, # display stdout in notifications\n)\n\ntask.exec() # run once\n\nfrom tasker.scheduler import TaskScheduler, every\nscheduler = TaskScheduler()\nscheduler.schedule_task(task, every(\"10 seconds\")) # run every 10 seconds\nscheduler.run()\n\n```\n\n## License\n[MIT License](https://github.com/zigai/tasker/blob/master/LICENSE)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Simple task automation framework for Python, integrating Rocketry for advanced scheduling and Apprise for multi-platform notifications. Wraps Python functions and shell commands into easily manageable and schedulable units.",
"version": "0.1.5",
"project_urls": {
"Homepage": "https://github.com/zigai/tasker"
},
"split_keywords": [
"tasker",
" python",
" task scheduler",
" scheduler notifications",
" cron notifications",
" rocketry",
" apprise"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "fba14a3b0746197c8f73788f39556df467f4995233cafc5a917c6b877f5cb8ef",
"md5": "83b5d61fc5a220d3c21d4fd441404198",
"sha256": "68ec2a3d860fbe5cce30f95dcd737cf97c1a735c83d7e4b9da62bc0a1bdc8f80"
},
"downloads": -1,
"filename": "tasker_python-0.1.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "83b5d61fc5a220d3c21d4fd441404198",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 8928,
"upload_time": "2025-02-14T11:11:35",
"upload_time_iso_8601": "2025-02-14T11:11:35.356837Z",
"url": "https://files.pythonhosted.org/packages/fb/a1/4a3b0746197c8f73788f39556df467f4995233cafc5a917c6b877f5cb8ef/tasker_python-0.1.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "296d5e140b9e5f4540bff21ed65cbe4be0973f75582d58f7a11c75c94c55a142",
"md5": "411af89ac7a6ae34ca6cb31720bcd345",
"sha256": "916a8e3639b2a82deae017c1597feff4fe9bfa1ce476eec9acd530e2bbaff58a"
},
"downloads": -1,
"filename": "tasker_python-0.1.5.tar.gz",
"has_sig": false,
"md5_digest": "411af89ac7a6ae34ca6cb31720bcd345",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8002,
"upload_time": "2025-02-14T11:11:38",
"upload_time_iso_8601": "2025-02-14T11:11:38.310709Z",
"url": "https://files.pythonhosted.org/packages/29/6d/5e140b9e5f4540bff21ed65cbe4be0973f75582d58f7a11c75c94c55a142/tasker_python-0.1.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-14 11:11:38",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "zigai",
"github_project": "tasker",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "apprise",
"specs": [
[
"==",
"1.8.0"
]
]
},
{
"name": "rocketry",
"specs": [
[
"==",
"2.5.1"
]
]
},
{
"name": "stdl",
"specs": [
[
">=",
"0.6.1"
]
]
}
],
"lcname": "tasker-python"
}