Skip to main content

Add your description here

Project description

ttasks

A small Python task ledger, executor, and DAG workflow library.

ttasks models work as Task objects, executes them through a configurable TaskExecutor, persists them through an optional Store, and runs dependency graphs with TaskGraph.

Requirements

  • Python 3.12+
  • uv for the development workflow used by this repository
  • GitHub Copilot authentication for TaskType.PROMPT and TaskType.AGENT tasks

Quick start

from ttasks import Task, TaskExecutor

executor = TaskExecutor()
task = Task.bash("echo hello", title="Say hello")

result = executor.execute(task)

assert task.is_done
assert result.output == "hello\n"
assert task.result is result

What it provides

  • Task and TaskResult domain objects for tracking work and outcomes.
  • TaskExecutor for running Bash, PowerShell, Copilot prompt, Copilot agent, or custom handler tasks.
  • Event streams for lifecycle, progress, and subprocess output updates.
  • TaskGraph for dependency-ordered DAG workflows with finally tasks.
  • In-memory and SQLite stores for task and graph persistence.
  • Async single-task submission, graceful shutdown, cancellation, timeouts, and opt-in single-task retries.

Documentation

User docs are published with the generated API reference on GitHub Pages:

Build the docs locally:

uv run mkdocs build --strict --site-dir site
uv run pdoc ttasks --output-directory site/api

Development

Run the project checks:

uv run ruff check .
uv run ty check
uv run pytest

Run the full suite including live tests:

uv run pytest -o addopts='' --cov=ttasks --cov-report=term-missing --cov-fail-under=100

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ttasks-0.3.1.tar.gz (119.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ttasks-0.3.1-py3-none-any.whl (30.2 kB view details)

Uploaded Python 3

File details

Details for the file ttasks-0.3.1.tar.gz.

File metadata

  • Download URL: ttasks-0.3.1.tar.gz
  • Upload date:
  • Size: 119.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ttasks-0.3.1.tar.gz
Algorithm Hash digest
SHA256 3553a0067bd8bc63b2cd0de6f88dc40d2cc885e36b6dbbb6c5074ab83835c301
MD5 3cd61e78bc4469687e63fc1653c78742
BLAKE2b-256 9650b0612756e052e89bb9e65b4f3f0b9a2473ecb8ec5965725559dd3c2b2bf0

See more details on using hashes here.

Provenance

The following attestation bundles were made for ttasks-0.3.1.tar.gz:

Publisher: publish.yml on ipdelete/ttasks

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ttasks-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: ttasks-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 30.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ttasks-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 75bc07b55c831a3ee6e5bbd6bcd6f26cb66c3855774579a43c0d866349ed70e9
MD5 19c9815ae562853f9108b6b28ef748e7
BLAKE2b-256 81fb0cbba045013df2d1901b13b9fff3ab4ed959d50aad2c48a250ff13c8d725

See more details on using hashes here.

Provenance

The following attestation bundles were made for ttasks-0.3.1-py3-none-any.whl:

Publisher: publish.yml on ipdelete/ttasks

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page