Skip to main content

Elo — malha P2P de mensagens para agentes de IA. Zero infraestrutura.

Project description

Elo Node — P2P Message Mesh for AI Agents

Zero infrastructure. One process. One TCP port. One ed25519 key.

Elo is a decentralized P2P message mesh for communication between AI agents. No central server, no Kafka, no Redis, no NATS. Just direct TCP between nodes.

pip install elo-node
import asyncio
from elo import Node

async def main():
    node = Node("my-agent", port=7878)
    await node.connect()
    await node.register(agents=["analyst"], tools=["web-search"])

    @node.on_task
    async def handle(task):
        return {"result": f"processed by {node.node_id}"}

    await node.run()

asyncio.run(main())

Features

  • Decentralized P2P — discovery via public tracker or Kademlia DHT
  • ed25519 signatures — cryptographic identity, authenticated messages
  • Capabilities — publish/subscribe of agent skills across the mesh
  • Zero infra — no Kafka, Redis, NATS, or central server
  • Native CLIpython -m elo serve, status, init, id

CLI

python -m elo status       # Node ID, hash, keys
python -m elo id           # Just the node_id
python -m elo pubkey       # Public key (hex + b64)
python -m elo init         # Generate persistent identity
python -m elo serve        # Start an interactive node

Architecture

┌──────────────────┐     TCP/JSON     ┌──────────────────┐
│   Node A          │◄──────────────►│   Node B          │
│   ed25519 key     │                │   ed25519 key     │
│   Capabilities    │                │   Capabilities    │
│   Interests       │                │   Interests       │
└──────────────────┘                 └──────────────────┘
         │                                  │
         │        Tracker (optional)         │
         └────────────── DHT ───────────────┘

Each node:

  1. Generates an ed25519 identity on first run
  2. Listens on a TCP port
  3. Announces capabilities (e.g. "analyst", "web-search")
  4. Discovers other nodes via shared tracker or manual peers
  5. Exchanges signed messages (tasks, results, events)

Compatibility

  • Python 3.11+
  • Linux, macOS, Windows

Development

git clone https://github.com/andreocc/elo
cd elo/py
pip install -e ".[dev]"
pytest

Related Projects

Project details


Download files

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

Source Distribution

elo_node-0.4.4.tar.gz (22.9 kB view details)

Uploaded Source

Built Distribution

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

elo_node-0.4.4-py3-none-any.whl (22.2 kB view details)

Uploaded Python 3

File details

Details for the file elo_node-0.4.4.tar.gz.

File metadata

  • Download URL: elo_node-0.4.4.tar.gz
  • Upload date:
  • Size: 22.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for elo_node-0.4.4.tar.gz
Algorithm Hash digest
SHA256 d90d5c5e4c4a04bcbec311074bc61c6b4b586a09a11832de8d7881bab5e7106d
MD5 30c62a9c3f2a772b52cd78c11437d5fa
BLAKE2b-256 33c03261689cc6985c97d61f33b10917af0dafbbca969392c12a8414d8138874

See more details on using hashes here.

File details

Details for the file elo_node-0.4.4-py3-none-any.whl.

File metadata

  • Download URL: elo_node-0.4.4-py3-none-any.whl
  • Upload date:
  • Size: 22.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for elo_node-0.4.4-py3-none-any.whl
Algorithm Hash digest
SHA256 68d7cc5940d50087d07f8f8716646406ef749c88f8f6912753bf5b22752335be
MD5 e879ec7d7224ec4105cfe7c2ff1aa6ca
BLAKE2b-256 b7d77365997fd37e8f19b790b12698da1ab52a980e5b4cc0d4e06e3e6ed067f7

See more details on using hashes here.

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