Overview
Added
mock_runandaio_mock_runaccepttask_run_errors,trigger_data,workflow_run_id, andtask_run_id, so unit tests can cover on-failure tasks, tasks withwait_forconditions, and tasks that read their run ids.
Fixed
- A dependency used more than once in a task's dependency tree is now resolved once per run and its value is shared, matching FastAPI's
Depends. - Context manager dependencies now receive the task's exception when the task fails, so they can e.g. roll back a transaction. A dependency that catches the exception without re-raising it no longer makes the task succeed or hides the exception from the other dependencies.
- The REST client can read workflow versions whose concurrency uses
CANCEL_NEWEST,CANCEL_QUEUED_EXCEPT_NEWEST, orCANCEL_QUEUED_EXCEPT_OLDEST.
Removed
grpcio-toolsis no longer a runtime dependency, since the SDK only uses it to generate protobuf code. This avoids building it from source on Python 3.15, where the newestgrpcio-toolsversions compatible withprotobuf<7have no prebuilt wheels.
Documentation for agents
The linked pages serve plain markdown for tools and agents. Full docs index: https://docs.hatchet.run/llms.txt
Setup and local development:
- Quickstart: https://docs.hatchet.run/v1/quickstart.md
- Running Hatchet locally: https://docs.hatchet.run/v1/running-locally.md
- Embedded mode: https://docs.hatchet.run/v1/embedded.md
Core concepts:
- Tasks: https://docs.hatchet.run/v1/tasks.md
- Workers: https://docs.hatchet.run/v1/workers.md
- Running tasks: https://docs.hatchet.run/v1/running-your-task.md
- DAGs: https://docs.hatchet.run/v1/directed-acyclic-graphs.md
- Durable execution: https://docs.hatchet.run/v1/durable-execution.md
Flow control:
- Concurrency: https://docs.hatchet.run/v1/concurrency.md
- Rate limits: https://docs.hatchet.run/v1/rate-limits.md
- Retries: https://docs.hatchet.run/v1/retry-policies.md
- Idempotency: https://docs.hatchet.run/v1/idempotency.md
- CEL expressions: https://docs.hatchet.run/v1/cel-expressions.md
Python SDK reference (overview: https://docs.hatchet.run/reference/python.md):
- CEL: https://docs.hatchet.run/reference/python/feature-clients/cel.md (guide: https://docs.hatchet.run/v1/cel-expressions.md)
- Crons: https://docs.hatchet.run/reference/python/feature-clients/cron.md (guide: https://docs.hatchet.run/v1/cron-runs.md)
- Filters: https://docs.hatchet.run/reference/python/feature-clients/filters.md (guide: https://docs.hatchet.run/v1/events.md)
- Logs: https://docs.hatchet.run/reference/python/feature-clients/logs.md (guide: https://docs.hatchet.run/v1/logging.md)
- Metrics: https://docs.hatchet.run/reference/python/feature-clients/metrics.md (guide: https://docs.hatchet.run/v1/prometheus-metrics.md)
- Rate Limits: https://docs.hatchet.run/reference/python/feature-clients/rate_limits.md (guide: https://docs.hatchet.run/v1/rate-limits.md)
- Runs: https://docs.hatchet.run/reference/python/feature-clients/runs.md (guide: https://docs.hatchet.run/v1/running-your-task.md)
- Scheduled Runs: https://docs.hatchet.run/reference/python/feature-clients/scheduled.md (guide: https://docs.hatchet.run/v1/scheduled-runs.md)
- Streams: https://docs.hatchet.run/reference/python/feature-clients/streams.md
- Stubs: https://docs.hatchet.run/reference/python/feature-clients/stubs.md (guide: https://docs.hatchet.run/v1/inter-service-triggering.md)
- Webhooks: https://docs.hatchet.run/reference/python/feature-clients/webhooks.md (guide: https://docs.hatchet.run/v1/webhooks.md)
- Workers: https://docs.hatchet.run/reference/python/feature-clients/workers.md (guide: https://docs.hatchet.run/v1/workers.md)
- Workflows: https://docs.hatchet.run/reference/python/feature-clients/workflows.md (guide: https://docs.hatchet.run/v1/tasks.md)
Installation
Install the SDK using pip:
pip install hatchet-sdkOr using poetry:
poetry add hatchet-sdkDocumentation
For detailed documentation, examples, and best practices, visit: