Catalog PyPI
Back to packageRELEASE DETAILS

0.1.0

PyPI

agenium

AGENIUM — Local, stateful agent-to-agent communication SDK with agent:// protocol

a2aagentagent-to-agentaidnsllmmcpprotocol
Published14 Feb 2026
Direct dependencies5
Transitive dependenciesNot calculated

README

Version 0.1.0 documentation

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.

ParameterTypeDefaultDescription
namestrrequiredAgent name (2-50 chars, lowercase)
configAgentConfigNoneOptional configuration

Key Methods

MethodDescription
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.

MethodDescription
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).

License

MIT © AGENIUM

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 5

Native requirements
5 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
httpx
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
httpx>=0.25.0runtime
cryptography
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
cryptography>=41.0runtime
pytest
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
pytest>=7.0; extra == "dev"runtime
pytest-asyncio
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
pytest-asyncio>=0.21; extra == "dev"runtime
ruff
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
ruff>=0.1; extra == "dev"runtime

Distribution files

2 collected
agenium-0.1.0-py3-none-any.whl

bdist_wheel · 17.81 KB · Python py3

Source file
agenium-0.1.0.tar.gz

sdist · 18.2 KB · Python source

Source file

Repository

PENDING
aganium/agenium-python

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 21:25 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:cf44b7f2203b4570ecf6af46f56543d4448a9c7cc3f836e91fa91131a2bccbd2

Other collected versions

View all collected versions →