Skip to main content

Imperal SDK

Build extensions for Webbee 🐝 — the agent of Imperal Cloud, the world's first AI Cloud OS.

Write a small Python function. Webbee calls it when a user asks for it — in their own words. Ship it to the Marketplace and get paid.

PyPI Python License

Documentation · Quickstart · PyPI · imperal.io


What this is

Imperal Cloud is the world's first AI Cloud OS — a cloud you connect the contexts of your life into (mail, money, projects, servers, notes, anything) and then run entirely in your own native language. Webbee 🐝 is the AI agent that lives inside it and does the work for you, safely.

The Imperal SDK is how you give Webbee a new skill. You write a small, typed Python extension; Webbee picks it up and calls it whenever a user asks for what it does — in plain language. The platform handles the hard parts — authentication, billing, multi-tenancy, audit, recovery, LLM routing — so your code stays small.

pip install imperal-sdk

Python 3.11+ · Apache-2.0

Why build here

  • Webbee calls your function directly. Typed, structured calls — no LLM guessing your arguments, no silent write failures.
  • The platform does the plumbing. Auth, per-user isolation, billing, audit, retries and recovery, multi-tenant safety — handled for you.
  • You get paid. Publish to the Imperal Marketplace, price your extension, earn on every use.
  • Bring any LLM. Users connect their own model keys — Anthropic, OpenAI, Google, Ollama, any OpenAI-compatible API.

A 60-second extension

from imperal_sdk import Extension, ChatExtension, ActionResult
from pydantic import BaseModel, Field

ext = Extension(
    "hello-world",
    version="1.0.0",
    display_name="Hello World",
    description="Greets people by name with a friendly message.",
    icon="icon.svg",
    actions_explicit=True,
)

chat = ChatExtension(ext, tool_name="hello_world", description="Friendly greetings.")


class GreetParams(BaseModel):
    name: str = Field(..., description="Person to greet")


@chat.function("greet", description="Greet someone by name.", action_type="read")
async def greet(ctx, params: GreetParams) -> ActionResult:
    return ActionResult.success(
        data={"message": f"Hello, {params.name}! 🐝"},
        summary=f"Greeted {params.name}",
    )

That's a real, working extension. When a user types "say hi to Alex", Webbee calls greet(name="Alex").

→ Full walkthrough, from zero to published: docs.imperal.io

What you can build

  • Chat tools — typed @chat.functions Webbee calls straight from natural language.
  • Panels — UI surfaces rendered inside the Imperal Panel.
  • Skeletons — live data feeds that keep Webbee aware of a user's state.
  • Scheduled jobs & webhooks — act on a timer, or react to outside events.
  • Typed entities (SDL) — return sdl.Entity objects and the platform reads their meaning (id, title, kind, …) directly instead of guessing field names. Live in production.

Every published extension passes the federal contract — the validators that let Webbee call your code safely. The SDK checks it locally before you ship.

Test without a server

from imperal_sdk.testing import MockContext

async def test_greet():
    ctx = MockContext()
    result = await greet(ctx, GreetParams(name="Alex"))
    assert result.status == "success"

Documentation

The full API, the manifest schema, every validator, recipes, and the federal contract live at docs.imperal.io — that's the source of truth; this README is just the doorway.

Documentation docs.imperal.io
Quickstart docs.imperal.io/en/getting-started/quick-start
PyPI pypi.org/project/imperal-sdk
Changelog CHANGELOG.md
License Apache-2.0

Built by Imperal, Inc. — Webbee 🐝 is its agent.

Metadata

Release files for imperal-sdk 5.7.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for imperal-sdk 5.7.2
File Size Uploaded
imperal_sdk-5.7.2.tar.gz 694.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for imperal-sdk 5.7.2
File Interpreter ABI Platform
imperal_sdk-5.7.2-py3-none-any.whl Python 3 none any Details

Total release size: 980.3 kB

Release files / imperal_sdk-5.7.2.tar.gz

Download URL imperal_sdk-5.7.2.tar.gz
Size 694.0 kB
Tags Source
SHA-256 checksum
How to use checksums
16bfef93b9dbf79c78d97a861920b8044d3327defea5495db4bf8205602f57ab
BLAKE2b-256 checksum
How to use checksums
1088c50a8bcb73bfe9b825ff88edec576f2517f2a1938b6180b980e61d2691d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 20, 2026.

Transparency log

Release files / imperal_sdk-5.7.2-py3-none-any.whl

Download URL imperal_sdk-5.7.2-py3-none-any.whl
Size 286.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6c22e2d8c09d50857d508d17bea9915c1786e511e407f9d5413119c4989c83b3
BLAKE2b-256 checksum
How to use checksums
1e2ac1772b6ae49fbc5f68a451351f6e08d31c6f9c6cfb68aac3fc4ba4bb69be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 20, 2026.

Transparency log

Release history Release notifications | RSS feed

6.0.1

2 release files

6.0.0

2 release files

5.16.0

2 release files

5.13.1

2 release files

5.13.0

2 release files

5.12.1

2 release files

5.12.0

2 release files

5.11.0

2 release files

5.10.0

2 release files

5.9.22

2 release files

5.9.21

2 release files

5.9.20

2 release files

5.9.19

2 release files

5.9.18

2 release files

5.9.17

2 release files

5.9.16

2 release files

5.9.13

2 release files

5.9.12

2 release files

5.9.11

2 release files

5.9.10

2 release files

5.9.9

2 release files

5.9.8

2 release files

5.9.7

2 release files

5.9.6

2 release files

5.9.5

2 release files

5.9.4

2 release files

5.9.3

2 release files

5.9.2

2 release files

5.9.1

2 release files

5.9.0

2 release files

5.8.2

2 release files

5.8.1

2 release files

5.8.0

2 release files

5.7.3

2 release files

This release

5.7.2 This release

2 release files

5.7.1

2 release files

5.7.0

2 release files

5.6.1

2 release files

5.6.0

2 release files

5.5.1

2 release files

5.5.0

2 release files

5.4.3

2 release files

5.4.2

2 release files

5.4.1

2 release files

5.4.0

2 release files

5.3.0

2 release files

5.2.2

2 release files

5.2.1

2 release files

5.2.0

2 release files

5.1.0

2 release files

5.0.3

2 release files

5.0.2

2 release files

5.0.1

2 release files

5.0.0

2 release files

4.2.16

2 release files

4.2.15

2 release files

4.2.14

2 release files

4.2.13

2 release files

4.2.12

2 release files

4.2.11

2 release files

4.2.10

2 release files

4.2.9

2 release files

4.2.8

2 release files

4.2.7

2 release files

4.2.6

2 release files

4.2.5

2 release files

4.2.4

2 release files

4.2.3

2 release files

4.2.2

2 release files

4.2.1

2 release files

4.2.0

2 release files

4.1.9

2 release files

4.1.8

2 release files

4.1.7

2 release files

4.1.6

2 release files

4.1.5

2 release files

4.1.4

2 release files

4.1.3

2 release files

4.1.2

2 release files

4.1.1

2 release files

4.1.0

2 release files

4.0.1

2 release files

4.0.0

2 release files

3.7.0

2 release files

3.6.0

2 release files

3.5.2

2 release files

3.5.1

2 release files

3.5.0

2 release files

3.4.1

2 release files

3.4.0

2 release files

3.3.1

2 release files

3.3.0

2 release files

3.2.0

2 release files

3.1.1

2 release files

3.1.0

2 release files

3.0.0

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.6.2

2 release files

1.6.1

2 release files

1.6.0

2 release files

1.5.27

2 release files

1.5.26

2 release files

1.5.25

2 release files

1.5.24

2 release files

1.5.23

2 release files

1.5.22

2 release files

1.5.21

2 release files

1.5.20

2 release files

1.5.19

2 release files

1.5.18

2 release files

1.5.17

2 release files

1.5.16

2 release files

1.5.14

2 release files

1.5.13

2 release files

1.5.12

2 release files

1.5.9

2 release files

1.5.8

2 release files

1.5.7

2 release files

1.5.6

2 release files

1.5.4

2 release files

1.5.3

2 release files

1.5.2

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page