Skip to main content
Ship a compute backend in its own package and register it under the praisonai.compute entry-point group — run_on=, compute=, and tools_run_on= pick it up with no change to the main repo.

Quick Start

1

Declare the entry point

Point the praisonai.compute group at a class in your package.
2

Implement the protocol

Satisfy ComputeProviderProtocol. Set an optional display_name for a friendly phrase.
3

Use it like a built-in

After pip install, the name resolves anywhere a compute place is accepted.

How It Works

Providers are discovered from the entry-point group and loaded on demand — only when a caller names one.

Protocol Reference

Implement these on your provider class. display_name is optional; the rest are required.
run_on= hosts the whole loop on a compute place, while tools_run_on= moves only the tools. A contributed provider works with both, plus per-agent compute=. See Placement.

Best Practices

A bare provider name reads awkwardly in where_does_it_run(). Set display_name = "a Runpod cloud sandbox" on the class so the phrase reads naturally everywhere the place is described.
is_available is checked before your provider runs. Return False when a required key or SDK is missing rather than raising — the caller gets a clear “unavailable” instead of a stack trace.
Import heavy SDK dependencies inside your methods, not at module top level. Providers load on demand, so a missing optional dependency should fail only when the provider is actually used.
Declare an optional install extra for your provider’s SDK so users can pip install your-package[runpod]. This keeps the base install light and the failure mode obvious.

Placement

Where the whole agent, its tools, and its code calls run.

Sandbox Backends

The sibling praisonai.sandbox entry-point group for Agent(sandbox=…).

Managed Backend Plugins

Register a hosted agent runtime under praisonai.managed_backends.

Reclaim Stray Sandboxes

managed ps lists contributed places automatically.