tasker-python


Nametasker-python JSON
Version 0.1.5 PyPI version JSON
download
home_pagehttps://github.com/zigai/tasker
SummarySimple 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.
upload_time2025-02-14 11:11:38
maintainerNone
docs_urlNone
authorŽiga Ivanšek
requires_pythonNone
licenseMIT
keywords tasker python task scheduler scheduler notifications cron notifications rocketry apprise
VCS
bugtrack_url
requirements apprise rocketry stdl
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Tasker
[![PyPI version](https://badge.fury.io/py/tasker-python.svg)](https://badge.fury.io/py/tasker-python)
![Supported versions](https://img.shields.io/badge/python-3.10+-blue.svg)
[![Downloads](https://static.pepy.tech/badge/tasker-python)](https://pepy.tech/project/tasker-python)
[![license](https://img.shields.io/github/license/zigai/tasker.svg)](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[![PyPI version](https://badge.fury.io/py/tasker-python.svg)](https://badge.fury.io/py/tasker-python)\n![Supported versions](https://img.shields.io/badge/python-3.10+-blue.svg)\n[![Downloads](https://static.pepy.tech/badge/tasker-python)](https://pepy.tech/project/tasker-python)\n[![license](https://img.shields.io/github/license/zigai/tasker.svg)](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"
}
        
Elapsed time: 1.48016s