Skip to main content

AGENIUM — Agent-to-Agent Communication SDK (Python)

PyPI version Python 3.9+ License: MIT

Local, stateful agent-to-agent communication using the agent:// protocol.

Quick Start

pip install agenium

Create an Agent

import asyncio
from agenium import Agent

async def main():
    # Create and start an agent
    agent = Agent("my-agent")
    
    # Register a tool
    @agent.tool("greet", description="Greet someone")
    async def greet(name: str) -> str:
        return f"Hello, {name}! I'm {agent.name}."
    
    # Start listening
    await agent.start(port=8443)
    
    # Register on the AGENIUM DNS
    await agent.register(api_key="dom_your_key_here")
    
    print(f"Agent running at agent://{agent.name}")

asyncio.run(main())

Connect to an Agent

import asyncio
from agenium import Agent

async def main():
    agent = Agent("client-agent")
    await agent.start()
    
    # Resolve and connect
    session = await agent.connect("agent://my-agent")
    
    # Call a remote tool
    result = await agent.call_tool(session.id, "greet", {"name": "World"})
    print(result)  # "Hello, World! I'm my-agent."
    
    # Send a message
    await agent.send(session.id, "ping", {"data": "hello"})
    
    await agent.stop()

asyncio.run(main())

DNS Resolution

from agenium.dns import DNSResolver

resolver = DNSResolver()
agent = await resolver.resolve("my-agent")
print(agent.endpoint)  # https://1.2.3.4:8443
print(agent.tools)     # [Tool(name='greet', ...)]

Features

  • agent:// Protocol — URI-based agent addressing (agent://name)
  • DNS Resolution — Automatic agent discovery via AGENIUM DNS (185.204.169.26)
  • Stateful Sessions — Persistent sessions with SQLite storage
  • Tool System — Register/invoke tools across agents
  • mTLS Security — Mutual TLS with auto-generated certificates
  • Capability Manifest — Agents advertise their tools in DNS
  • Async-First — Built on asyncio and httpx

Architecture

┌──────────┐     agent://name     ┌──────────┐
│  Agent A  │ ──────────────────> │  DNS      │
│           │ <────────────────── │  Server   │
│  (client) │   endpoint + tools  │           │
└─────┬─────┘                     └───────────┘
      │
      │  mTLS + HTTP/2
      ▼
┌──────────┐
│  Agent B  │
│  (server) │
│  :8443    │
└──────────┘

API Reference

Agent(name, config=None)

Create an agent instance.

Parameter Type Default Description
name str required Agent name (2-50 chars, lowercase)
config AgentConfig None Optional configuration

Key Methods

Method Description
agent.start(port=8443) Start the agent server
agent.stop() Gracefully shutdown
agent.register(api_key) Register on AGENIUM DNS
agent.connect(uri) Connect to another agent
agent.send(session_id, event, data) Send event to session
agent.call_tool(session_id, tool, params) Invoke remote tool
agent.tool(name, ...) Decorator to register a tool

DNSResolver(server=None)

Resolve agent:// URIs.

Method Description
resolver.resolve(name) Resolve agent name to endpoint
resolver.resolve_uri(uri) Resolve full agent:// URI

Compatibility

This is the official Python SDK for AGENIUM. It's fully compatible with the Node.js SDK (npm install agenium).

Links

License

MIT © AGENIUM

Download files

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

Source Distribution

agenium-0.1.0.tar.gz (18.6 kB view details)

Uploaded Source

Built Distribution

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

agenium-0.1.0-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

File details

Details for the file agenium-0.1.0.tar.gz.

File metadata

  • Download URL: agenium-0.1.0.tar.gz
  • Upload date:
  • Size: 18.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for agenium-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7bd74cba79adfe451c8e5d16b1ab6e81a7e78d90515422e39151a861c58c931c
MD5 0220c4dc6ae9776cb8e0c9a35438e5b3
BLAKE2b-256 6d8b07398f616ef866dffb27620ca2b8e35e872826b596757fe12443f2c51339

See more details on using hashes here.

File details

Details for the file agenium-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: agenium-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 18.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for agenium-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 491b60965ebfabf382cde4d44d153ed9ba3a8e89ff4c6ca23f186a7b679402af
MD5 bf9c1a4eb60ed0f00f5bc7fc982ffa8e
BLAKE2b-256 1eb65a699c47fc8a15da3e5407fc2f4920c88bdeabf402ae5859747844c4a63f

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Supported by

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