Skip to main content

Autonoma SDK — automate the Autonoma Environment Factory endpoint

Project description

Autonoma Python SDK

Python implementation of the Autonoma Environment Factory SDK.

Package

Package Description
autonoma-ai Core protocol (HMAC, refs, graph, handler, schema)
autonoma-ai[django] Django server handler
autonoma-ai[flask] Flask server adapter
autonoma-ai[fastapi] FastAPI server adapter
autonoma-ai[all] All server adapters

Quick Start

Install

pip install autonoma-ai
# With extras:
pip install "autonoma-ai[fastapi]"
# Or everything:
pip install "autonoma-ai[all]"

FastAPI

from pydantic import BaseModel, ConfigDict
from autonoma.types import HandlerConfig
from autonoma.factory import define_factory
from autonoma_fastapi import create_fastapi_handler

class OrganizationInput(BaseModel):
    model_config = ConfigDict(extra="ignore")
    name: str
    slug: str

def create_org(data, ctx):
    org = db.create_organization(name=data.name, slug=data.slug)
    return {"id": str(org.id), "name": org.name, "slug": org.slug}

def teardown_org(record, ctx):
    db.delete_organization(record["id"])

config = HandlerConfig(
    scope_field="organization_id",
    shared_secret="your-shared-secret",
    signing_secret="your-signing-secret",
    factories={
        "Organization": define_factory(
            create=create_org,
            input_model=OrganizationInput,
            teardown=teardown_org,
        ),
    },
    auth=lambda user, context: {
        "headers": {"Authorization": f"Bearer {create_session_token(user['id'])}"}
    },
)

router = create_fastapi_handler(config)
app.include_router(router, prefix="/api/autonoma")

Commands

poetry install --all-extras   # install with all adapters
poetry run pytest              # run tests

Documentation

For protocol-level documentation, see the root protocol/ directory. For runnable examples, see examples/python/.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autonoma_ai-0.2.10.dev1785570325.tar.gz (38.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

autonoma_ai-0.2.10.dev1785570325-py3-none-any.whl (50.7 kB view details)

Uploaded Python 3

File details

Details for the file autonoma_ai-0.2.10.dev1785570325.tar.gz.

File metadata

File hashes

Hashes for autonoma_ai-0.2.10.dev1785570325.tar.gz
Algorithm Hash digest
SHA256 98b22268c708eecb6e22c1b82c0c30de84bfd3cd61372d17dc58da17662efe6d
MD5 6a9e4559b0c4500be5dee11e0f8373fd
BLAKE2b-256 199c58c9aeb5935dd16b10ef898ef9a1ff7c2f1d16e7fa6890dcdf5171d360c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for autonoma_ai-0.2.10.dev1785570325.tar.gz:

Publisher: canary.yml on Autonoma-AI/sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file autonoma_ai-0.2.10.dev1785570325-py3-none-any.whl.

File metadata

File hashes

Hashes for autonoma_ai-0.2.10.dev1785570325-py3-none-any.whl
Algorithm Hash digest
SHA256 d57b783c82bfdd5ae0d98934ee055bee6e649b0cc6414b77078f4fe05f28e153
MD5 348d175c85d2ea4c5021a5a4fbf070d0
BLAKE2b-256 4d4a68cff7e98bf6d2eb0c224371bf68351d7539d5399028d2197f9c165ed66f

See more details on using hashes here.

Provenance

The following attestation bundles were made for autonoma_ai-0.2.10.dev1785570325-py3-none-any.whl:

Publisher: canary.yml on Autonoma-AI/sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page