Python ADK (ART Development Kit)
The Python ADK enables your applications to connect and communicate with the ART (A Realtime Tech) platform in real-time. It supports both synchronous and asynchronous modes for seamless integration into any Python project.
This SDK provides everything needed to authenticate clients, establish secure connections, subscribe to channels, exchange encrypted messages, and manage collaborative real-time data — all with minimal setup.
Documentation
For complete documentation, and detailed guides, visit:
- Python ADK Documentation - Installation, authentication, and getting started.
Installation
Install the Python ADK via pip:
pip install art_adk
Requirements:
- Python 3.8+
websocketsaiohttp(for async operations)pynacl(for encryption)
Getting Started
Prerequisites
Before using the Python ADK, you need:
- Client Credentials - Sign up at the ART Live Dashboard and generate your client credentials. Add the
adk-service.jsonfile to your project root:
{
"Client-ID": "YOUR_CLIENT_ID",
"Client-Secret": "YOUR_CLIENT_SECRET",
"Org-Title": "YOUR_ORG",
"ProjectKey": "YOUR_PROJECT_KEY",
"Environment": "YOUR_ENV_NAME"
}
-
Passcode for Authentication - Before connecting, you need to obtain a passcode. See the authentication guide for detailed steps on obtaining your passcode via
get_security_code(). -
Start Building - Use the obtained passcode as
AuthTokenin your config (see Quick Start examples below).
For complete guides on authentication, channels, encryption, and advanced features, visit the Python ADK Documentation.
Quick Start
Synchronous Usage
Option 1: Context Manager
from art_adk import Adk
import os
config = {
"ROOT": os.getcwd(),
"Uri": "dev.arealtimetech.com/ws",
"AuthToken": "your_passcode" # Obtain via get_security_code()
}
# Automatic connection management
with Adk(config) as adk:
# Subscribe to a channel
subscription = adk.subscribe("my-channel")
# Listen for messages
subscription.listen(lambda data: print(f"Received: {data}"))
# Send a message
subscription.push("message", {"text": "Hello from ART!"})
Option 2: Manual Connection
from art_adk import Adk
import os
config = {
"ROOT": os.getcwd(),
"Uri": "dev.arealtimetech.com/ws",
"AuthToken": "your_passcode"
}
adk = Adk(config)
adk.connect()
# Subscribe and interact
subscription = adk.subscribe("my-channel")
subscription.push("message", {"text": "Hello!"})
# Clean up
adk.disconnect()
Asynchronous Usage
Option 1: Async Context Manager
from art_adk import AsyncAdk
import asyncio
import os
async def main():
config = {
"ROOT": os.getcwd(),
"Uri": "dev.arealtimetech.com/ws",
"AuthToken": "your_passcode"
}
# Automatic async connection management
async with AsyncAdk(config) as adk:
# Subscribe to a channel
subscription = await adk.subscribe("my-channel")
# Listen for messages
subscription.listen(lambda data: print(f"Received: {data}"))
# Send a message
await subscription.push("message", {"text": "Hello from ART!"})
asyncio.run(main())
Option 2: Manual Async Connection
from art_adk import AsyncAdk
import asyncio
import os
async def main():
config = {
"ROOT": os.getcwd(),
"Uri": "dev.arealtimetech.com/ws",
"AuthToken": "your_passcode"
}
adk = AsyncAdk(config)
await adk.connect()
# Subscribe and interact
subscription = await adk.subscribe("my-channel")
await subscription.push("message", {"text": "Hello!"})
# Clean up
await adk.disconnect()
asyncio.run(main())
Support & Resources
- Documentation: https://docs.arealtimetech.com
- Support: support@arealtimetech.com
- Website: https://arealtimetech.com
Metadata
Release files for art-adk 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| art_adk-0.0.1.tar.gz | 29.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| art_adk-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 67.5 kB
Release files / art_adk-0.0.1.tar.gz
| Download URL | art_adk-0.0.1.tar.gz |
|---|---|
| Size | 29.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2bd287380207c539c24fd40fd22b2a3fbbc521f4a7a3d1c56d3565a5b7e04a01
|
|
BLAKE2b-256 checksum How to use checksums |
775a875ccc1123f5f3795c329b6196c0c032e2adaa5c1caebacb279ceeb397b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / art_adk-0.0.1-py3-none-any.whl
| Download URL | art_adk-0.0.1-py3-none-any.whl |
|---|---|
| Size | 37.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ae7646ce30697bd0e26f2a6317ab30dd2e1ef4dfef0f2f7cabf78d56f699d232
|
|
BLAKE2b-256 checksum How to use checksums |
64820c93ce31bb734ef667adf3208e0c2c6233b4f3625d3b9daef3141d56f4e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Security for art-adk 0.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.