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.8.dev1783065780.tar.gz (24.1 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.8.dev1783065780-py3-none-any.whl (31.2 kB view details)

Uploaded Python 3

File details

Details for the file autonoma_ai-0.2.8.dev1783065780.tar.gz.

File metadata

File hashes

Hashes for autonoma_ai-0.2.8.dev1783065780.tar.gz
Algorithm Hash digest
SHA256 397e08d2ecdcd667dabb7255d00393edfff3e5b51a4d9fc10b63d7b870769c0a
MD5 8f8cee76fb9a4bd1d71c83167363ed0b
BLAKE2b-256 8bec5197e15de7607f07e5222d93fccb00f8d80ab10622bad14c0e73a7bfa19e

See more details on using hashes here.

Provenance

The following attestation bundles were made for autonoma_ai-0.2.8.dev1783065780.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.8.dev1783065780-py3-none-any.whl.

File metadata

File hashes

Hashes for autonoma_ai-0.2.8.dev1783065780-py3-none-any.whl
Algorithm Hash digest
SHA256 302346f92b2a04173c6da249abdb71e240f701041c32ffecc9d976b6667ccc7d
MD5 3781aa85e220f0b547cd990382c73996
BLAKE2b-256 fe1b234d505a688540c799caf983030f97663b0f53ed6790e9db500391ae1324

See more details on using hashes here.

Provenance

The following attestation bundles were made for autonoma_ai-0.2.8.dev1783065780-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