tasker-python


Nametasker-python JSON
Version 0.1.4 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_time2024-10-17 17:03:57
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/20/2e/3cbfe7210cbd8cc977f13b7bfc6b8af26e6d9286ae062f98273035fe2ed3/tasker_python-0.1.4.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.4",
    "project_urls": {
        "Homepage": "https://github.com/zigai/tasker"
    },
    "split_keywords": [
        "tasker",
        " python",
        " task scheduler",
        " scheduler notifications",
        " cron notifications",
        " rocketry",
        " apprise"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "40e28279531d05994de887d67b296ff4935a3431d9221c03e10c7239b941f1db",
                "md5": "c858046569f2b1400346699b12307048",
                "sha256": "ded82284f0840c1f691021a34ee59b434fee789b9d14e37f50d1bb976212531b"
            },
            "downloads": -1,
            "filename": "tasker_python-0.1.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c858046569f2b1400346699b12307048",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 8809,
            "upload_time": "2024-10-17T17:03:56",
            "upload_time_iso_8601": "2024-10-17T17:03:56.125986Z",
            "url": "https://files.pythonhosted.org/packages/40/e2/8279531d05994de887d67b296ff4935a3431d9221c03e10c7239b941f1db/tasker_python-0.1.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "202e3cbfe7210cbd8cc977f13b7bfc6b8af26e6d9286ae062f98273035fe2ed3",
                "md5": "826e14b35dcc8529c3bfd9531c6e0492",
                "sha256": "082edc116ad819aab6706cee944deb3a3159dfa761afa4631b94c04b652c31eb"
            },
            "downloads": -1,
            "filename": "tasker_python-0.1.4.tar.gz",
            "has_sig": false,
            "md5_digest": "826e14b35dcc8529c3bfd9531c6e0492",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 7842,
            "upload_time": "2024-10-17T17:03:57",
            "upload_time_iso_8601": "2024-10-17T17:03:57.496442Z",
            "url": "https://files.pythonhosted.org/packages/20/2e/3cbfe7210cbd8cc977f13b7bfc6b8af26e6d9286ae062f98273035fe2ed3/tasker_python-0.1.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-17 17:03:57",
    "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.5.5"
                ]
            ]
        }
    ],
    "lcname": "tasker-python"
}
        
Elapsed time: 0.50509s