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.0.tar.gz (117.0 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.0-py3-none-any.whl (29.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ttasks-0.3.0.tar.gz
  • Upload date:
  • Size: 117.0 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.0.tar.gz
Algorithm Hash digest
SHA256 43e011ca20a23ceacb87522ef7a23b52a0e3a7951fdbf7ee1a3f73d8efcce946
MD5 f64c3ddf3ff23ccb440b733f6c363bc7
BLAKE2b-256 9524c7f5a5f727692da4bccb941caf1e354bf7457ae017f007a1cb409bdbac0d

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: ttasks-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 29.5 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6738c0696a46d469636056b08c60899f58295b4b3fb9f1ecea9b6d29ef206b7d
MD5 e31d32ae1ff0a5f557172533e1af50c6
BLAKE2b-256 5372fb05dc598c4e72059d651f448d681fae943556cbd5ad4767fc15dad78b74

See more details on using hashes here.

Provenance

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