Skip to main content

Neuronum

Neuronum SDK

Website Documentation PyPI Version
Python Version License


About

Neuronum is built around the Secure Agent Session (SAS). An end-to-end encrypted channel designed for agent-to-client and agent-to-agent communication across businesses, partners, and customers. A session connects two parties to automate data exchange, take actions, and coordinate tasks without manual integration, custom APIs, or file transfers.

The SDK handles encryption, identity, and delivery. You write the agent logic.

⚠️ 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

Set up 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 any neuronum commands.


Cell

A Cell is your address used to send and receive data on the Neuronum network. You can think of it like a unique digital identity.

Example IDs: acme.com::cell johndoe@acme.com::cell

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 your Cell to a device using your 12-word mnemonic:

neuronum connect-cell

View the connected Cell ID:

neuronum view-cell

Verify the connected Cell ID:

neuronum verify-cell

Disconnect Cell credentials from this device:

neuronum disconnect-cell

Delete your Cell permanently from the network:

neuronum delete-cell

Methods

Cells interact on Neuronum using the following methods:

Method Description
list_cells() List all Neuronum Cells
list_sessions() List your Secure Agent Sessions (SAS)
create_secure_agent_session(email or cell_id, instruct=None) Create and invite to a session via email or cell_id, optionally setting agent instructions
send_session_message(session_id, data) Send an encrypted message to a session
get_session_messages(session_id) Fetch and decrypt messages from a session
upload_session_file(session_id, file_path, mime_type) Upload a file to a session and send a file metadata message
download_session_file(session_id, file_id) Download a file from a session by file ID. Returns raw bytes
sync_messages() Receive messages from all sessions in real-time

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 at neuronum.net. Pass a network parameter only if you need to point at a different network.


Quick Examples

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())

List Sessions

import asyncio
from neuronum import Cell

async def main():
    async with Cell() as cell:
        sessions = await cell.list_sessions()
        print(sessions)

asyncio.run(main())

Create a Secure Agent Session

import asyncio
from neuronum import Cell

async def main():
    async with Cell() as cell:
        session = await cell.create_secure_agent_session(
            email="your@email.com",  #or cell_id="acme.com::cell"
            instruct="Set specific goals, conversation context or further instructions"  #optional
        )
        print(session)

asyncio.run(main())

Send a message to a session

import asyncio
from neuronum import Cell

async def main():
    async with Cell() as cell:
        success = await cell.send_session_message(
            "session_id",
            {"msg": "Hello"}
        )
        print(success)

asyncio.run(main())

Fetch messages from a session

import asyncio
from neuronum import Cell

async def main():
    async with Cell() as cell:
        messages = await cell.get_session_messages(session_id)
        print(messages)

asyncio.run(main())

Upload a file to a session

import asyncio
from neuronum import Cell

async def main():
    async with Cell(host="your-host") as cell:
        success = await cell.upload_session_file(
            "session_id",
            "/path/to/file.pdf",
            mime_type="application/pdf"
        )
        print(success)

asyncio.run(main())

Download a file from a session

The file_id is available in the file metadata message sent automatically after a successful upload. Retrieve it via get_session_messages from the file_id field.

import asyncio
from neuronum import Cell

async def main():
    async with Cell(host="your-host") as cell:
        file_bytes = await cell.download_session_file("session_id", "file_id")
        with open("output.pdf", "wb") as f:
            f.write(file_bytes)

asyncio.run(main())

Receive messages in real-time

import asyncio
from neuronum import Cell

async def main():
    async with Cell() as cell:
        async for message in cell.sync_messages():
            print(message["session_id"], message["sender"], message["data"])

asyncio.run(main())

Elements

Elements are UI components rendered on the client's frontend. Pass an element key in any send_session_message call to trigger them.

Element Description
confirm Renders Accept / Decline buttons
choice Renders a set of option buttons
input Renders a single text input field
form Renders a multi-field form
table Renders a data table
card Renders a composite card combining multiple elements
file Renders a file upload prompt

Confirm

await cell.send_session_message(session_id, {
    "msg": "Do you accept the session terms?",
    "element": "confirm"
})

Choice

await cell.send_session_message(session_id, {
    "msg": "Which report format do you prefer?",
    "element": "choice",
    "choices": ["PDF", "CSV", "JSON"]
})

Input

await cell.send_session_message(session_id, {
    "msg": "What is your company name?",
    "element": "input",
    "placeholder": "e.g. Acme Corp"
})

Form

await cell.send_session_message(session_id, {
    "msg": "Tell us about yourself:",
    "element": "form",
    "fields": [
        {"name": "company",  "label": "Company",  "placeholder": "Acme Corp"},
        {"name": "role",     "label": "Role",      "placeholder": "CEO"},
        {"name": "teamsize", "label": "Team size", "placeholder": "50"}
    ]
})

Table

await cell.send_session_message(session_id, {
    "msg": "Here are the results:",
    "element": "table",
    "columns": ["Name", "Status", "Score"],
    "rows": [
        ["Alice", "Active", 92],
        ["Bob", "Inactive", 74],
        ["Carol", "Active", 88]
    ]
})

Card

A card combines multiple elements into a single message.

await cell.send_session_message(session_id, {
    "msg": "Review this proposal:",
    "element": "card",
    "components": [
        {"type": "table", "columns": ["Item", "Cost"], "rows": [["Dev", "$5k"], ["Design", "$2k"]]},
        {"type": "input", "name": "budget", "label": "Your budget", "placeholder": "$10,000"},
        {"type": "choice", "name": "timeline", "label": "Timeline", "choices": ["1 month", "3 months", "6 months"]},
        {"type": "confirm", "name": "approved", "label": "Do you approve?"}
    ]
})

File

Renders a file upload prompt on the client.

await cell.send_session_message(session_id, {
    "msg": "Please upload your contract:",
    "element": "file"
})

Neuronum MCP Server

neuronum neuronum start-mcp

Full Documentation

For the complete SDK reference including the E2EE protocol, visit the Neuronum Docs.

Download files

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

Source Distribution

neuronum-2026.7.5.tar.gz (23.1 kB view details)

Uploaded Source

Built Distribution

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

neuronum-2026.7.5-py3-none-any.whl (21.7 kB view details)

Uploaded Python 3

File details

Details for the file neuronum-2026.7.5.tar.gz.

File metadata

  • Download URL: neuronum-2026.7.5.tar.gz
  • Upload date:
  • Size: 23.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for neuronum-2026.7.5.tar.gz
Algorithm Hash digest
SHA256 91a042cecfb35c3d33c7d50d13e32f29162f32ad627c100d48ced476281bba5f
MD5 40329635c0a7057b6d3b630d1919423b
BLAKE2b-256 d7bac60b5f4d1ec2c1f464d2d1e3650ec5c3ed5e81a39e3ce2fe88832abcbcd7

See more details on using hashes here.

File details

Details for the file neuronum-2026.7.5-py3-none-any.whl.

File metadata

  • Download URL: neuronum-2026.7.5-py3-none-any.whl
  • Upload date:
  • Size: 21.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for neuronum-2026.7.5-py3-none-any.whl
Algorithm Hash digest
SHA256 e713b250479497ed3ade6e9ba3c2889e030f5b63b1796994c39fd6d9ca6e7779
MD5 60dc82b4c21f602294a114e6b38c8418
BLAKE2b-256 ffae65d3f39d35eaa2ec307024849ad85e46d14bc123266832fa627b4dcc525c

See more details on using hashes here.

Release history Release notifications | RSS feed

2026.8.3

2 files

2026.8.2

2 files

2026.8.1

2 files

2026.7.11

2 files

2026.7.10

2 files

2026.7.9

2 files

2026.7.8

2 files

2026.7.7

2 files

2026.7.6

2 files

This release

2026.7.5 This release

2 files

2026.7.4

2 files

2026.7.3

2 files

2026.7.2

2 files

2026.7.1

2 files

2026.6.11

2 files

2026.6.10

2 files

2026.6.9

2 files

2026.6.8

2 files

2026.6.7

2 files

2026.6.6

2 files

2026.6.5

2 files

2026.6.4

2 files

2026.6.3

2 files

2026.6.2

2 files

2026.6.1

2 files

2026.5.8

2 files

2026.5.7

2 files

2026.5.6

2 files

2026.5.5

2 files

2026.5.4

2 files

2026.5.3

2 files

2026.5.2

2 files

2026.5.1

2 files

2026.4.9

2 files

2026.4.8

2 files

2026.4.7

2 files

2026.4.6

2 files

2026.4.5

2 files

2026.4.4

2 files

2026.4.3

2 files

2026.4.2

2 files

2026.4.1

2 files

2026.3.3

2 files

2026.3.2

2 files

2026.3.1

2 files

12.3.0

2 files

12.2.0

2 files

12.1.0

2 files

12.0.1

2 files

12.0.0

2 files

11.0.0

2 files

10.1.0

2 files

10.0.1

2 files

10.0.0

2 files

9.0.0

2 files

8.4.0

2 files

8.3.0

2 files

8.2.0

2 files

8.1.0

2 files

8.0.0

2 files

7.0.4

2 files

7.0.3

2 files

7.0.2

2 files

7.0.1

2 files

7.0.0

2 files

6.0.1

2 files

6.0.0

2 files

5.9.0

2 files

5.8.5

2 files

5.8.4

2 files

5.8.3

2 files

5.8.2

2 files

5.8.1

2 files

5.8.0

2 files

5.7.0

2 files

5.6.0

2 files

5.5.0

2 files

5.4.3

2 files

5.4.2

2 files

5.4.1

2 files

5.4.0

2 files

5.3.0

2 files

5.2.0

2 files

5.1.1

2 files

5.1.0

2 files

5.0.1

2 files

5.0.0

2 files

4.0.1

2 files

4.0.0

2 files

3.0.3

2 files

3.0.2

2 files

3.0.1

2 files

3.0.0

2 files

2.0.8

2 files

2.0.7

2 files

2.0.6

2 files

2.0.5

2 files

2.0.4

2 files

2.0.3

2 files

2.0.2

2 files

2.0.1

2 files

2.0.0

2 files

1.7.2

2 files

1.7.1

2 files

1.7.0

2 files

1.6.0

2 files

1.5.1

2 files

1.5.0

2 files

1.4.2

2 files

1.4.1

2 files

1.4.0

2 files

1.3.4

2 files

1.3.3

2 files

1.3.2

2 files

1.3.1

2 files

1.3.0

2 files

1.2.5

2 files

1.2.4

2 files

1.2.3

2 files

1.2.2

2 files

1.2.1

2 files

1.2.0

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

0.9.0

2 files

0.8.0

2 files

0.7.0

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

0.3.0

2 files

0.2.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page