wove.integrations
wove.integrations registers built-in backend adapters and provides the adapter base interface. Backend libraries remain optional; Wove includes adapter code but imports third-party packages only when an adapter is selected.
When selected Wove tasks should run through an existing task system, wove.integrations provides the adapter registry, the base adapter contract, and the worker entrypoints those systems call to return results to Wove.
All built-in backend adapters are dispatch features. Install wove[dispatch] plus the selected backend library in the process that submits work and in any worker environment that executes Wove payloads.
Adapter Registry
Built-in adapter names:
celery
temporal
ray
rq
taskiq
arq
dask
kubernetes_jobs
aws_batch
slurm
Adapter Contract
A BackendAdapter receives a JSON-safe payload and submits it to a backend. The adapter does not run the task itself. The backend worker must call Wove’s worker entrypoint so the result can be posted back to the callback URL.
Required method:
Optional methods:
start(): create clients, queues, pools, or connections.
cancel(run_id, submission, frame): ask the backend to cancel work.
close(): release adapter-owned clients or pools.
API Details
-
class wove.integrations.ARQAdapter(**kwargs)[source]
Bases: BackendAdapter
- Parameters:
kwargs (Any)
-
async close()[source]
- Return type:
None
-
install_hint: str | None = 'arq'
-
required_modules: Tuple[str, ...] = ('arq',)
-
async start()[source]
- Return type:
None
-
async submit(payload, frame)[source]
- Parameters:
-
- Return type:
Any
-
class wove.integrations.AWSBatchAdapter(**kwargs)[source]
Bases: BackendAdapter
- Parameters:
kwargs (Any)
-
async cancel(run_id, submission, frame)[source]
- Parameters:
-
- Return type:
None
-
install_hint: str | None = 'boto3'
-
required_modules: Tuple[str, ...] = ('boto3',)
-
async start()[source]
- Return type:
None
-
async submit(payload, frame)[source]
- Parameters:
-
- Return type:
Any
-
class wove.integrations.BackendAdapter(*, name, config, callback_url, run_config)[source]
Bases: object
Backend-specific submit/cancel bridge used by BackendAdapterEnvironmentExecutor.
- Parameters:
-
-
async cancel(run_id, submission, frame)[source]
- Parameters:
-
- Return type:
None
-
async close()[source]
- Return type:
None
-
install_hint: str | None = None
-
classmethod missing_dependencies()[source]
- Return type:
Tuple[str, …]
-
required_modules: Tuple[str, ...] = ()
-
async start()[source]
- Return type:
None
-
async submit(payload, frame)[source]
- Parameters:
-
- Return type:
Any
-
class wove.integrations.CeleryAdapter(**kwargs)[source]
Bases: BackendAdapter
- Parameters:
kwargs (Any)
-
async cancel(run_id, submission, frame)[source]
- Parameters:
-
- Return type:
None
-
install_hint: str | None = 'celery'
-
required_modules: Tuple[str, ...] = ('celery',)
-
async start()[source]
- Return type:
None
-
async submit(payload, frame)[source]
- Parameters:
-
- Return type:
Any
-
class wove.integrations.DaskAdapter(**kwargs)[source]
Bases: BackendAdapter
- Parameters:
kwargs (Any)
-
async cancel(run_id, submission, frame)[source]
- Parameters:
-
- Return type:
None
-
async close()[source]
- Return type:
None
-
install_hint: str | None = 'dask[distributed]'
-
required_modules: Tuple[str, ...] = ('distributed',)
-
async start()[source]
- Return type:
None
-
async submit(payload, frame)[source]
- Parameters:
-
- Return type:
Any
-
class wove.integrations.KubernetesJobsAdapter(*, name, config, callback_url, run_config)[source]
Bases: BackendAdapter
- Parameters:
-
-
async cancel(run_id, submission, frame)[source]
- Parameters:
-
- Return type:
None
-
install_hint: str | None = 'kubernetes'
-
required_modules: Tuple[str, ...] = ('kubernetes',)
-
async start()[source]
- Return type:
None
-
async submit(payload, frame)[source]
- Parameters:
-
- Return type:
Any
-
class wove.integrations.RQAdapter(**kwargs)[source]
Bases: BackendAdapter
- Parameters:
kwargs (Any)
-
async cancel(run_id, submission, frame)[source]
- Parameters:
-
- Return type:
None
-
install_hint: str | None = 'rq'
-
required_modules: Tuple[str, ...] = ('rq',)
-
async start()[source]
- Return type:
None
-
async submit(payload, frame)[source]
- Parameters:
-
- Return type:
Any
-
class wove.integrations.RayAdapter(*, name, config, callback_url, run_config)[source]
Bases: BackendAdapter
- Parameters:
-
-
async cancel(run_id, submission, frame)[source]
- Parameters:
-
- Return type:
None
-
install_hint: str | None = 'ray'
-
required_modules: Tuple[str, ...] = ('ray',)
-
async start()[source]
- Return type:
None
-
async submit(payload, frame)[source]
- Parameters:
-
- Return type:
Any
-
class wove.integrations.SlurmAdapter(*, name, config, callback_url, run_config)[source]
Bases: BackendAdapter
- Parameters:
-
-
async cancel(run_id, submission, frame)[source]
- Parameters:
-
- Return type:
None
-
install_hint: str | None = ''
-
required_modules: Tuple[str, ...] = ()
-
async submit(payload, frame)[source]
- Parameters:
-
- Return type:
Any
-
class wove.integrations.TaskiqAdapter(**kwargs)[source]
Bases: BackendAdapter
- Parameters:
kwargs (Any)
-
install_hint: str | None = 'taskiq'
-
required_modules: Tuple[str, ...] = ('taskiq',)
-
async start()[source]
- Return type:
None
-
async submit(payload, frame)[source]
- Parameters:
-
- Return type:
Any
-
class wove.integrations.TemporalAdapter(**kwargs)[source]
Bases: BackendAdapter
- Parameters:
kwargs (Any)
-
async cancel(run_id, submission, frame)[source]
- Parameters:
-
- Return type:
None
-
install_hint: str | None = 'temporalio'
-
required_modules: Tuple[str, ...] = ('temporalio',)
-
async start()[source]
- Return type:
None
-
async submit(payload, frame)[source]
- Parameters:
-
- Return type:
Any
-
wove.integrations.get_backend_adapter_class(name)[source]
- Parameters:
name (str)
- Return type:
Type[BackendAdapter]
-
wove.integrations.get_backend_adapter_dependencies()[source]
- Return type:
Dict[str, tuple]
-
wove.integrations.get_backend_adapter_install_hints()[source]
- Return type:
Dict[str, str]
-
class wove.integrations.base.BackendAdapter(*, name, config, callback_url, run_config)[source]
Bases: object
Backend-specific submit/cancel bridge used by BackendAdapterEnvironmentExecutor.
- Parameters:
-
-
async cancel(run_id, submission, frame)[source]
- Parameters:
-
- Return type:
None
-
async close()[source]
- Return type:
None
-
install_hint: str | None = None
-
classmethod missing_dependencies()[source]
- Return type:
Tuple[str, …]
-
required_modules: Tuple[str, ...] = ()
-
async start()[source]
- Return type:
None
-
async submit(payload, frame)[source]
- Parameters:
-
- Return type:
Any
-
async wove.integrations.base.maybe_await(value)[source]
- Parameters:
value (Any)
- Return type:
Any
-
async wove.integrations.worker.arun(payload)[source]
- Parameters:
payload (Dict[str, Any])
- Return type:
Any
-
wove.integrations.worker.run(payload)[source]
- Parameters:
payload (Dict[str, Any])
- Return type:
Any
-
wove.integrations.worker.run_backend_frame(payload)
- Parameters:
payload (Dict[str, Any])
- Return type:
Any