wove.weave¶
wove.weave defines the reusable workflow class model for workflows that should be packaged as classes, inherited, extended, or reused across call sites.
Weave is the reference for class-based workflows: reusable task graphs, inheritable templates, and the places where class definitions differ from inline with weave() as w: blocks.
Core Idea¶
Inline weaves are best when the workflow belongs exactly where it is written. Weave classes are best when the same dependency graph should be reused, inherited, or partially overridden.
API Details¶
- class wove.weave.Weave[source]
Bases:
objectA base class for creating inheritable, reusable workflows.
Tasks are defined as methods using the @Weave.do decorator. These workflows can then be passed to the weave context manager and customized inline.
- static do(arg=None, *, retries=None, timeout=None, workers=None, limit_per_minute=None, environment=None, delivery_timeout=None, delivery_idempotency_key=None, delivery_cancel_mode=None, delivery_heartbeat_seconds=None, delivery_max_in_flight=None, delivery_orphan_policy=None)[source]
A decorator for defining a task within a Weave class.
This is the class-based equivalent of the @w.do decorator used inside a weave block. It accepts the same parameters.
- Parameters:
retries (int | None)
timeout (float | None)
workers (int | None)
limit_per_minute (int | None)
environment (str | None)
delivery_timeout (float | None)
delivery_idempotency_key (object | None)
delivery_cancel_mode (str | None)
delivery_heartbeat_seconds (float | None)
delivery_max_in_flight (int | None)
delivery_orphan_policy (str | None)
- Return type: