Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Aion Python SDK

PyPI Python Docs License: MIT

A Python library that serves agents over the Agent-to-Agent (A2A) protocol and runs them on the Aion platform. Bring a LangGraph or Google ADK agent, point an aion.yaml at it, and run aion serve — you get an A2A endpoint with an agent card, streaming and conversation state, plus a terminal client to try it out.

✨ Features

  • Framework agnostic: LangGraph and Google ADK agents get the same configuration and the same A2A surface.
  • A2A protocol compliant: agent card, streaming and conversation state without writing protocol code.
  • Four lines of configuration: an agent needs one field — where to find it. Everything else has a default.
  • No account required: runs fully locally; add credentials to reach the Aion model service and MCP tools.
  • Multi-agent: a built-in proxy fronts several agents behind one endpoint, and aion chat talks to any of them from the terminal.

🚀 Getting started

Prerequisites

  • Python 3.12, 3.13 or 3.14
  • Node.js 22+ — only for the bundled aion chat client

🔧 Installation

Install the SDK plus the extra for the framework you use.

Feature uv pip
Core SDK — the aion CLI and client libraries uv add aionto-sdk pip install aionto-sdk
LangGraph agents uv add "aionto-sdk[langgraph-server]" pip install "aionto-sdk[langgraph-server]"
Google ADK agents uv add "aionto-sdk[adk-server]" pip install "aionto-sdk[adk-server]"
LangGraph authoring uv add "aionto-sdk[langgraph-authoring]" pip install "aionto-sdk[langgraph-authoring]"
ADK authoring uv add "aionto-sdk[adk-authoring]" pip install "aionto-sdk[adk-authoring]"

The *-authoring extras are the toolkit on its own — Aion models, tools and messaging inside your agent — for agents that something other than aion serve runs.

💡 Example

A LangGraph agent, served over A2A, with four lines of configuration.

  1. Write the agent. A plain LangGraph graph, returned uncompiled: Aion compiles it and attaches the checkpointer, so conversation state comes for free.

    # agent.py
    from typing import Annotated, TypedDict
    
    from langchain_core.messages import AIMessage, AnyMessage
    from langgraph.graph import END, START, StateGraph
    from langgraph.graph.message import add_messages
    
    
    class State(TypedDict):
        messages: Annotated[list[AnyMessage], add_messages]
    
    
    def reply(state: State) -> dict:
        question = state["messages"][-1].content
        return {"messages": [AIMessage(content=f"Echo: {question}")]}
    
    
    def create_graph() -> StateGraph:
        workflow = StateGraph(State)
        workflow.add_node("reply", reply)
        workflow.add_edge(START, "reply")
        workflow.add_edge("reply", END)
        return workflow
    
  2. Point Aion at it. path is the only field an agent needs.

    # aion.yaml
    aion:
      agents:
        support:
          path: "./agent.py:create_graph"
    
  3. Serve it. The port is assigned automatically and printed on startup.

    aion serve
    
  4. Talk to it from another terminal.

    aion chat
    

That is a complete local run — no account, no credentials. To connect the agent to the platform, add AION_CLIENT_ID and AION_CLIENT_SECRET to a .env beside the configuration.

For Google ADK the configuration is the same — see the ADK quickstart.

📚 Documentation

Full documentation lives at docs.aion.to:

🤝 Contributing

Contributions are welcome. For development setup and how to run the test suites, see the Development Guide.

📄 License

This project is licensed under the MIT License. See the LICENSE file for more details.

Download files

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

Source Distribution

aionto_sdk-0.1.0rc1.tar.gz (899.3 kB view details)

Uploaded Source

Built Distribution

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

aionto_sdk-0.1.0rc1-py3-none-any.whl (1.1 MB view details)

Uploaded Python 3

File details

Details for the file aionto_sdk-0.1.0rc1.tar.gz.

File metadata

  • Download URL: aionto_sdk-0.1.0rc1.tar.gz
  • Upload date:
  • Size: 899.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for aionto_sdk-0.1.0rc1.tar.gz
Algorithm Hash digest
SHA256 47fb53bc2637c9b3bd1587c7f304f67abb6a74b06646e9345facf1f632a54d40
MD5 46131f74e3bd04cbe5273ebf7445da31
BLAKE2b-256 4e763a116e243b1ec5ff097e450910fc8a289c42714496b6618267ed0892b4d4

See more details on using hashes here.

Provenance

The following attestation bundles were made for aionto_sdk-0.1.0rc1.tar.gz:

Publisher: publish-python.yml on Terminal-Research/aion-python-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 aionto_sdk-0.1.0rc1-py3-none-any.whl.

File metadata

  • Download URL: aionto_sdk-0.1.0rc1-py3-none-any.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for aionto_sdk-0.1.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 d0a8577b4f679d97ce4216cee9c07743d7abef77046994bee80d04e3e5be36b9
MD5 b315277ed9b3906691bd70f86c577619
BLAKE2b-256 2a5dc42ff81371abc117c09d2c57c43102603fe009bd2e8062b915fcedbd4b0d

See more details on using hashes here.

Provenance

The following attestation bundles were made for aionto_sdk-0.1.0rc1-py3-none-any.whl:

Publisher: publish-python.yml on Terminal-Research/aion-python-sdk

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

Release history Release notifications | RSS feed

This release

0.1.0rc1 This release

2 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