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.4.0.tar.gz (126.1 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.4.0-py3-none-any.whl (33.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ttasks-0.4.0.tar.gz
Algorithm Hash digest
SHA256 04463e1e484b1842ec5d8b4c8658c55e2c3658c4be14a06bd55278c41a746a9a
MD5 426f80e6c7607ef3ed7c2735bc2098b8
BLAKE2b-256 511d464838f8fb070e9ddd038e1b78899e985378a0181cb4fd65b6f246be722a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ttasks-0.4.0.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.4.0-py3-none-any.whl.

File metadata

  • Download URL: ttasks-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 33.3 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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9322d70400b9b7bc9b95f58e8f38c9cb50fb39f36e4665a836b76bcfc1391fe2
MD5 f299ee2ea7aed45a64cd9799c133b018
BLAKE2b-256 00c16efe8b73870881553345eb55fd03b02e3e0ac32066fe39cfe3a1c7d0d699

See more details on using hashes here.

Provenance

The following attestation bundles were made for ttasks-0.4.0-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