Skip to content

taskbadger/taskbadger-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e69089b · Mar 4, 2025
Feb 10, 2025
Mar 3, 2025
Mar 3, 2025
Mar 4, 2025
Mar 4, 2025
Oct 25, 2023
Feb 10, 2025
Jan 31, 2023
Oct 25, 2023
Feb 12, 2025
Mar 4, 2025
Feb 12, 2025
Feb 12, 2025
Feb 10, 2025

Repository files navigation

Task Badger Python Client

This is the official Python SDK for Task Badger.

For full documentation go to https://docs.taskbadger.net/python/.

Integration Tests


Getting Started

Install

pip install --upgrade taskbadger

Client Usage

Configuration

import taskbadger

taskbadger.init(
    organization_slug="my-org",
    project_slug="my-project",
    token="***"
)

Usage with Celery

import taskbadger
from celery import Celery

app = Celery("tasks")

@app.task(bind=True, base=taskbadger.Task)
def my_task(self):
    task = self.taskbadger_task
    for i in range(1000):
        do_something(i)
        if i % 100 == 0:
            task.update(value=i, value_max=1000)
    task.success(value=1000)

API Example

from taskbadger import Task, Action, EmailIntegration, WebhookIntegration

# create a new task with custom data and an action definition
task = Task.create(
    "task name",
    data={
        "custom": "data"
    },
    actions=[
        Action("*/10%,success,error", integration=EmailIntegration(to="[email protected]")),
        Action("cancelled", integration=WebhookIntegration(id="webhook:demo")),
    ]
)

# update the task status to 'processing' and set the value to 0
task.started()
try:
   for i in range(100):
      do_something(i)
      if i!= 0 and i % 10 == 0:
         # update the progress of the task
         task.update_progress(i)
except Exception as e:
    # record task errors
    task.error(data={
        "error": str(e)
    })
    raise

# record task success
task.success()

CLI USage

Configuration

$ taskbadger configure

Organization slug: my-org
Project slug: project-x
API Key: XYZ.ABC

Config written to ~/.config/taskbadger/config

Usage Examples

The CLI run command executes your command whilst creating and updating a Task Badger task.

$ taskbadger run "demo task" --action error email to:[email protected] -- path/to/script.sh

Task created: https://taskbadger.net/public/tasks/xyz/