RXON (Reverse Axon) - Lightweight Inter-node Reverse Communication Protocol
Project description
RXON (Reverse Axon) Protocol
RXON (Reverse Axon) is a lightweight, extensible reverse-connection protocol designed for HLN (Hierarchical Logic Network) architectures.
It serves as the "nervous system" for distributed multi-agent systems, providing a strictly typed, Zero Trust foundation for inter-service communication.
🚀 Key Innovation: Version 1.0b6 (The Universal Update)
The latest version of RXON introduces a massive leap in flexibility and security, preparing the protocol for cross-platform industry standards.
- Zero Trust Security (SecurityContext): Built-in support for digital signatures and identity chains. Messages can now be cryptographically verified across infinite holarchy layers.
- Agnostic Design: Core models (Resources, Skills, Tasks) are now fully extensible via universal
metadataandpropertiesfields. - Smart Resource Matching: Formalized logic for hardware requirements. Supports GE (Greater or Equal) logic for numbers and equality for strings, ensuring consistent dispatching across any implementation.
- Schema Dialects: Holons can now negotiate data formats (JSON Schema, Protobuf, Pydantic-v2) via the
schema_dialectfield in skill contracts.
✨ Key Features
- Reverse Connection (PULL): The initiative always comes from the subordinate node (Shell), enabling operation behind NAT/Firewall without complex network setups.
- Generic Event System: Unified signaling for progress updates, custom alerts, and real-time triggers with hierarchical event bubbling.
- Universal Telemetry: Heartbeats include granular metrics for CPU, RAM, and any custom devices (Sensors, Robots, GPUs) via the extensible
HardwareDevicemodel. - Zero Dependency Core: The protocol core is written in pure Python. Standard transports use
aiohttpandorjsonfor peak performance. - Blob Storage Native: Direct support for offloading heavy data via S3-compatible storage (
rxon.blob).
🏗 Architecture
The protocol is divided into two main interfaces:
- Transport (Worker side): For initiating connections, retrieving tasks, emitting events, and sending results.
- Listener (Orchestrator side): For accepting incoming connections and routing messages to the engine.
Smart Dispatching Logic
RXON formalizes the rules for matching tasks to holons:
- Identity Match: Direct match by device ID.
- Type & Model Match: Exact match by type, partial match by model string.
- Property Match (Smart Comparison):
- Numbers: Checked as at least (Worker value >= Requirement).
- Others: Checked as strict equality.
🛡️ Error Handling
RXON defines a set of standardized, cross-platform error codes:
CONTRACT_VIOLATION_ERROR: Data does not match the negotiated schema.SECURITY_ERROR: Authentication or signature verification failed.RESOURCE_EXHAUSTED_ERROR: Physical resources (RAM, VRAM) are insufficient.DEPENDENCY_ERROR: A required service or artifact is unavailable.
🧪 Quick Start
from rxon.models import Resources, HardwareDevice
# Define worker resources
my_res = Resources(
cpu_cores=8,
devices=[HardwareDevice(type="gpu", model="RTX 4090", properties={"memory_gb": 24})]
)
# Define task requirements
req = Resources(cpu_cores=4, devices=[HardwareDevice(type="gpu", properties={"memory_gb": 16})])
# Standardized Matching (HLN Protocol)
if my_res.matches(req):
print("This holon is ready for the task!")
📜 License
The project is distributed under the Mozilla Public License 2.0 (MPL 2.0).
Mantra: "The RXON is the medium for the Ghost."
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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
File details
Details for the file rxon-1.0b6.tar.gz.
File metadata
- Download URL: rxon-1.0b6.tar.gz
- Upload date:
- Size: 33.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Gentoo","version":"2.18","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cf8a0fad56ed4e181cc0b068a5332cb833ab52a064f1687a882e79760502d5cb
|
|
| MD5 |
40640797495c9ab3d40c4b10b73331ee
|
|
| BLAKE2b-256 |
cfc9349fdf8b4fe9773557ee045f297b16279cfa0519f85861821a87924a21c2
|
File details
Details for the file rxon-1.0b6-py3-none-any.whl.
File metadata
- Download URL: rxon-1.0b6-py3-none-any.whl
- Upload date:
- Size: 30.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Gentoo","version":"2.18","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
55ed5aa14439d2afcad7be383a12ca5a4a5feb05f41854d616b9908eacc867bf
|
|
| MD5 |
b414332de5b4edb65478fab32abcecdc
|
|
| BLAKE2b-256 |
c2bacf5f5d6bb4b5477edaefe6cace2b49a40c695ce4d6899a1849ffce59ddd8
|