Overview
Fixed
- Durable tasks that fan out to thousands of children no longer block the worker's event loop. The durable listener sent one worker status request per awaited child, each listing every pending child, which was quadratic in the fan-out size; it now sends one request per event loop iteration listing only the newly awaited children.
- Registering an awaited child no longer scans every pending callback to evict older invocations. The callback cache is indexed by task and invocation.
- The periodic worker status request lists only children that have been pending for more than two seconds, is sent every five seconds instead of every second, and is split into requests of at most 10,000 entries so it stays under the gRPC message size limit.
- Re-delivered child completions are matched against pending callbacks without scanning the pending queue.
- The action listener drains every queued step event in one loop iteration instead of paying a thread hop per event, which removed spurious "event loop may be blocked" warnings on bursts of task starts.
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)
- 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: