Neuronum SDK
Project description
Neuronum SDK
About
Neuronum is an end-to-end encrypted data network for system-to-system communication. You use it to stream, request, and respond to data between AI agents, services, or devices across different servers.
It handles encryption, identity, routing, and delivery automatically. You can focus on building your application instead of managing backend infrastructure.
Whether you're connecting two AI agents, orchestrating a distributed system, or streaming sensor data from an IoT device, Neuronum gives you a simple API to move encrypted data between any two points.
⚠️ Development Status: The Neuronum SDK is currently in beta and is not production-ready. It is intended for development, testing, and experimental purposes only. Do not use in production environments or for critical applications.
Requirements
- Python >= 3.8
Installation
Setup and activate a virtual environment:
python3 -m venv ~/neuronum-venv
source ~/neuronum-venv/bin/activate
Install the Neuronum SDK:
pip install neuronum
Note: Always activate this virtual environment (
source ~/neuronum-venv/bin/activate) before running anyneuronumcommands.
Cell
A Cell is your unique identity on the Neuronum network. Every participant, whether an agent, a service, or a device is a Cell. Cells are addresses you can send data to on the network.
Create a Cell:
neuronum create-cell
This generates your Cell ID, public/private key pair, and a 12-word mnemonic recovery phrase. Your Cell credentials are stored locally at ~/.neuronum/.env.
Connect an existing Cell to a new device using your 12-word mnemonic:
neuronum connect-cell
View the connected Cell ID:
neuronum view-cell
Disconnect Cell credentials from this device:
neuronum disconnect-cell
Delete your Cell permanently from the network:
neuronum delete-cell
Methods
Cells interact using five methods:
| Method | Description |
|---|---|
list_cells() |
List all Neuronum Cells |
stream(data, cell_id) |
Send data to a Cell (fire-and-forget). Defaults to own Cell |
activate_tx(data, cell_id) |
Send a request and wait for a response. Defaults to own Cell |
sync() |
Listen for incoming transmissions |
tx_response(tx_id, data, public_key) |
Send an encrypted response back |
All data is end-to-end encrypted. The network handles routing, key exchange, and delivery. You just send and receive.
Connecting to the network: Use async with Cell() as cell to connect. This reads your Cell credentials from ~/.neuronum/.env and establishes a connection to the Neuronum network.
Quick Example
List Cells
import asyncio
from neuronum import Cell
async def main():
async with Cell() as cell:
cells = await cell.list_cells()
print(cells)
asyncio.run(main())
Stream data (fire-and-forget)
import asyncio
from neuronum import Cell
async def main():
async with Cell() as cell:
await cell.stream(
{"msg": "Ping"},
"receiver_cell_id"
)
asyncio.run(main())
Send data & wait for response
import asyncio
from neuronum import Cell
async def main():
async with Cell() as cell:
tx_response = await cell.activate_tx(
{"msg": "Ping"},
"receiver_cell_id"
)
print(tx_response)
asyncio.run(main())
Receive data & send response
import asyncio
from neuronum import Cell
async def main():
async with Cell() as cell:
async for tx in cell.sync():
data = tx.get("data", {})
await cell.tx_response(
tx.get("tx_id"),
{"msg": "Pong"},
data.get("public_key", "")
)
asyncio.run(main())
TX (Transmitter) Object
When you receive data via sync(), each transmission arrives as a TX object:
{
"tx_id": "bfd2a0d009c6f784ec97c41d3738a24e0e5ac8f1",
"time": "1772923393",
"sender": "1uRQdV593S91E3T2-Vj_29mxBJoI7Cvxxg6dNFDVfv4::cell",
"data": {
"msg": "Ping",
"public_key": "-----BEGIN PUBLIC KEY-----\n..."
}
}
| Field | Description |
|---|---|
tx_id |
Unique payload ID generated from the encrypted data context and timestamp |
time |
Unix timestamp of the transmission |
sender |
The sender's Cell ID |
data |
The decrypted payload, including the sender's public key for responding via tx_response() |
Full Documentation
For the complete SDK reference including the E2EE protocol, visit the Neuronum Docs.
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 neuronum-2026.4.2.tar.gz.
File metadata
- Download URL: neuronum-2026.4.2.tar.gz
- Upload date:
- Size: 16.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1d4f06a38491fda7a435dbb3c3824c6d96bceb75bf7910312c0cebb63d0d601
|
|
| MD5 |
7c1b2b234d830baead2427d915d7ea09
|
|
| BLAKE2b-256 |
c03f9ee875171e8f74d61899f88add70add3c4b340e252161a003ef1eba0171d
|
File details
Details for the file neuronum-2026.4.2-py3-none-any.whl.
File metadata
- Download URL: neuronum-2026.4.2-py3-none-any.whl
- Upload date:
- Size: 15.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c09c8b8936c19d2fb2222b50f99bb49691b0f839ac2eb2b755934c63ee06d6a
|
|
| MD5 |
f3363dab4afff791a2ddbec978c9f855
|
|
| BLAKE2b-256 |
535f5e008fe52f6908f710c84a004e703ced2d049d4de14cecfb4ac3d5544d79
|