Skip to main content

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:


Installation

Install the Python ADK via pip:

pip install art_adk

Requirements:

  • Python 3.8+
  • websockets
  • aiohttp (for async operations)
  • pynacl (for encryption)

Getting Started

Prerequisites

Before using the Python ADK, you need:

  1. Client Credentials - Sign up at the ART Live Dashboard and generate your client credentials. Add the adk-service.json file 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"
}
  1. 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().

  2. Start Building - Use the obtained passcode as AuthToken in 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


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)

Source distribution for art-adk 0.0.1
File Size Uploaded Provenance
art_adk-0.0.1.tar.gz 29.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for art-adk 0.0.1
File Interpreter ABI Platform
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.

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files No provenance

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