DNotifier Python SDK
DNotifier is a real-time notification and messaging SDK for Python 3.9+. It supports WebSocket and HTTP transports, binary streaming, framed packets, an AI pipeline, knowledge-base (RAG) APIs, optional session logging, and multi-step workflows with agents and observability.
Features
- WebSocket and HTTP transport
- Secure authentication handshake
- Real-time messaging (text and binary)
- Large payloads with automatic chunking and reassembly
- AI:
send_ai,fetch_ai_history, semanticsearch - Knowledge base: add, update, get, list, delete, and search documents
- Chat history fetch and delete
- Optional SDK session logging (
logs=True) - Workflows: named agents, sequential pipelines, dashboard observability
- Plan limits from auth (
get_plan_limits)
Installation
pip install dnotifier
Quick start
import asyncio
from dnotifier import DNotifier
async def main():
notifier = DNotifier(
app_id="your-app-id",
secret="your-app-secret",
transport="ws", # or "http"
user_id="user-123",
on_connected=lambda: print("Connected"),
on_message=lambda msg: print(msg.payload.to_json()),
on_disconnected=lambda **kw: print("Disconnected", kw),
)
await notifier.connect()
await notifier.send(
sender_id="user-123",
receiver_id="user-456",
data={"type": "text", "text": "Hello from DNotifier"},
)
await notifier.disconnect()
asyncio.run(main())
Connection options
| Parameter | Type | Description |
|---|---|---|
app_id |
str |
Your DNotifier application id |
secret |
str |
Application secret |
transport |
"ws" | "http" |
WebSocket for realtime; HTTP for RPC-style AI/RAG |
user_id |
str |
End-user or agent id for auth and routing |
logs |
bool |
Enable SDK session logging (default False) |
url |
str |
WebSocket URL override (default production wss://api.dnotifier.com/ecs/ws) |
on_connected |
callable |
Called after successful connect |
on_message |
callable |
Called for each incoming message |
on_disconnected |
callable |
Called on disconnect (code, reason) |
API overview
| Method | Description |
|---|---|
connect() |
Authenticate and open transport |
disconnect() |
Close WebSocket connection |
send(...) |
Send realtime message |
send_binary(...) |
Send binary payload (WebSocket) |
send_ai(...) |
Send to AI pipeline |
fetch_ai_history(...) |
Fetch AI conversation history |
delete_ai_history_message(...) |
Delete one AI history entry |
fetch_chat_history(...) |
Request chat history |
delete_chat_history_message(...) |
Delete one chat message |
search(...) |
Semantic / vector search |
add_document(...) |
Add RAG document |
update_document(...) |
Update RAG document |
delete_document(...) |
Delete RAG document |
list_documents(...) |
List RAG documents |
get_document(...) |
Get RAG document + chunks |
get_plan_limits() |
Plan limits from last auth |
run_workflow(...) |
Run a registered workflow |
Workflows
from dnotifier import DNotifier, Workflow, define_agent
researcher = define_agent(
name="researcher",
run=lambda ctx: ctx.send_ai(message=ctx.input, label="Research"),
)
workflow = Workflow(
name="qa-pipeline",
observability=True,
entry=lambda ctx: ctx.run_agent("researcher"),
)
workflow.register_agent("researcher", researcher)
async def main():
notifier = DNotifier(...)
await notifier.connect()
result = await notifier.run_workflow(workflow=workflow, input_data="What is RAG?")
print(result)
License
Proprietary — see LICENSE.
Release files for dnotifier 1.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dnotifier-1.0.3.tar.gz | 18.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dnotifier-1.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 46.8 kB
Release files / dnotifier-1.0.3.tar.gz
| Download URL | dnotifier-1.0.3.tar.gz |
|---|---|
| Size | 18.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
921c78569550bcf2d2bb40a56488a048c0019af57cdac1b7d12a757967115993
|
|
BLAKE2b-256 checksum How to use checksums |
3c6aaf0ae2d91bf98903a55bb99f5090a8f6ca6da1bd4b658929031d5b5c437b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|
Release files / dnotifier-1.0.3-py3-none-any.whl
| Download URL | dnotifier-1.0.3-py3-none-any.whl |
|---|---|
| Size | 28.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
84cf76bfb96665aeb78ece04ccc3f740e22600d4708ab020aa5cd2f26fed90a8
|
|
BLAKE2b-256 checksum How to use checksums |
38228d877caebc3811e7a3b8701a1a0ea021f92ff450ab7f86432943d53549d7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|