AGENIUM — Agent-to-Agent Communication SDK (Python)
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
asyncioandhttpx
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
- Website: https://agenium.net
- Docs: https://docs.agenium.net
- GitHub: https://github.com/Aganium/agenium-python
- npm (Node.js): https://www.npmjs.com/package/agenium
- Discord: Coming soon
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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
agenium-0.1.0-py3-none-any.whl
(18.2 kB
view details)
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7bd74cba79adfe451c8e5d16b1ab6e81a7e78d90515422e39151a861c58c931c
|
|
| MD5 |
0220c4dc6ae9776cb8e0c9a35438e5b3
|
|
| BLAKE2b-256 |
6d8b07398f616ef866dffb27620ca2b8e35e872826b596757fe12443f2c51339
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
491b60965ebfabf382cde4d44d153ed9ba3a8e89ff4c6ca23f186a7b679402af
|
|
| MD5 |
bf9c1a4eb60ed0f00f5bc7fc982ffa8e
|
|
| BLAKE2b-256 |
1eb65a699c47fc8a15da3e5407fc2f4920c88bdeabf402ae5859747844c4a63f
|