The official Python SDK for Task Badger
Project description
Task Badger Python Client
This is the official Python SDK for Task Badger.
For full documentation go to https://docs.taskbadger.net/python/.
Getting Started
Install
pip install taskbadger
To use the taskbadger command-line tool, install the cli extra:
pip install 'taskbadger[cli]'
Client Usage
import taskbadger
from taskbadger.systems import CelerySystemIntegration
taskbadger.init(
token="***",
systems=[CelerySystemIntegration()],
tags={"environment": "production"}
)
CLI Usage
$ export TASKBADGER_API_KEY=***
$ taskbadger run "nightly-backup" -- ./backup.sh
Procrastinate Integration
The SDK includes optional support for the Procrastinate task queue.
Install with the extra:
pip install 'taskbadger[procrastinate]'
Opt a single task into tracking with the track decorator:
import procrastinate
from taskbadger.procrastinate import track, current_task
app = procrastinate.App(connector=...)
@track
@app.task(queue="default")
async def add(a, b):
return a + b
@track(name="report", value_max=100, tags={"env": "prod"})
@app.task
async def report(rows):
tb = current_task()
for i, row in enumerate(rows):
await process(row)
if i % 10 == 0:
tb.update(value=i)
To auto-track every task on an App, register the system integration:
import taskbadger
from taskbadger.systems.procrastinate import ProcrastinateSystemIntegration
taskbadger.init(
token="***",
systems=[ProcrastinateSystemIntegration(
app=app,
auto_track_tasks=True,
includes=[r"myapp\..*"],
excludes=[r"myapp\.cleanup\..*"],
record_task_args=True,
)],
)
Known limitations
task.configure(...).defer(...)is not tracked. Procrastinate'sconfigure()returns a separateJobDeferrerwhose methods bypass our wrapper. Usetask.defer(...)directly for tracked deferrals. Tasks deferred viaconfigure().defer()will run normally but will not appear in TaskBadger.task.batch_defer*is not tracked. Same reason asconfigure().defer().- Tasks added via
app.add_tasks_from(blueprint)afterProcrastinateSystemIntegrationis constructed are not auto-instrumented. Construct the integration after all blueprints are registered, or apply@trackto those tasks explicitly.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file taskbadger-2.1.0a2.tar.gz.
File metadata
- Download URL: taskbadger-2.1.0a2.tar.gz
- Upload date:
- Size: 37.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a356f9f3478692d1e5caca6a448aaf9b9bc5084b26457665faa8d98f4ab64876
|
|
| MD5 |
422382dd0ef2744818ee582361ae4b27
|
|
| BLAKE2b-256 |
07e90f847eb40e00dbf82e9a791bef0024ccf25f9464fea7a38b32bdf5e4b826
|
File details
Details for the file taskbadger-2.1.0a2-py3-none-any.whl.
File metadata
- Download URL: taskbadger-2.1.0a2-py3-none-any.whl
- Upload date:
- Size: 67.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b28bfe80573b83b9d361113982c0b48c98b2daf2b8db3707566ea1bd5a24747b
|
|
| MD5 |
9f0c96b4049d3be4e1f5fdddc83d3141
|
|
| BLAKE2b-256 |
7a5cc5ac955bddf683ecae6478e337db49fde98cf85023f4219e7dcb256c192e
|