Skip to main content

Lightweight internal utilities for LLM provider configuration and credential management

Project description

RealtimeX Internal Utilities

Lightweight internal library providing utilities for LLM provider configuration and credential management across RealtimeX internal services.

Installation

# Using uv (recommended) for local development
uv pip install -e /path/to/realtimex-toolkit

# Using pip from PyPI
pip install realtimex_toolkit

Quick Start

Agent Flow Management

Work with agent flow data.

from realtimex_toolkit import get_flow_variable

# Simplest usage - get all flow variable
variables = get_flow_variable()
print(json_dumps(variables))  # {"time":"12:40:28 PM","date":"October 28, 2025","datetime":"Tuesday, October 28, 2025 12:40 PM","user":{"name":"phuongnm1593_gmail_com","email":"phuongnm1593@gmail.com","bio":"[User bio is empty]"},"code_ouput":null}

# Get a flow variable with name
variable_time = get_flow_variable("time", default_value=None)
print(variable_time)  # "12:40:08 PM"
from realtimex_toolkit import get_workspace_slug, get_thread_id, get_workspace_data_dir

# Get workspace slug
workspace_slug = get_workspace_slug(default_value="workspace-test")
print(workspace_slug))  # return workspace-test if running in flow test, current workspace slug if running with agent in workspace

# Get workspace data dir
workspace_data_dir = get_workspace_data_dir(default_workspace_slug=workspace_slug)
print(workspace_data_dir))  # return workspace data dir of default_workspace_slug if running in flow test, current workspace slug if running with agent in workspace

Credential Management

Retrieve encrypted credentials from the RealtimeX app backend and decrypt them for use across RealtimeX ecosystem services.

from realtimex_toolkit import get_credential

# Simplest usage - just the credential ID
# Connects to local RealtimeX backend (http://localhost:3001) by default
credential = get_credential("credential-id")
print(credential["payload"])  # {"name": "API_KEY", "value": "secret-value"}

# With API key for authenticated requests
credential = get_credential("credential-id", api_key="service-api-key")

# With custom backend URL (for non-default configurations)
credential = get_credential(
    "credential-id",
    api_key="service-api-key",
    base_url="http://custom-host:3001"  # Override default localhost:3001
)

# For long-running services, use CredentialManager directly
from realtimex_toolkit import CredentialManager

# Connects to http://localhost:3001 by default
manager = CredentialManager(api_key="service-api-key")
try:
    bundle = manager.get("credential-id")
    # Credentials are cached automatically
    bundle_again = manager.get("credential-id")  # Returns cached

    # Force refresh from backend
    fresh_bundle = manager.get("credential-id", force_refresh=True)
finally:
    manager.close()

Configuration:

  • base_url: Base URL of the RealtimeX app backend (default: http://localhost:3001)
  • api_key: Authentication token for backend API requests (optional)
  • Credentials are encrypted using AES-256-CBC and decrypted using keys from ~/.realtimex.ai/Resources/server/.env.development

Return shape (get_credential):

{
    "credential_id": str,
    "name": str,
    "credential_type": str,
    "payload": dict[str, str],
    "metadata": dict | None,
    "updated_at": str | None,
}

Supported LLM Providers

  • Major Providers: OpenAI, Anthropic, Azure OpenAI
  • Cloud AI: Google Gemini, AWS Bedrock
  • Alternative APIs: Groq, Cohere, Mistral, Perplexity
  • Open Source Aggregators: Open Router, Together AI, Fireworks AI
  • Emerging: DeepSeek, xAI, Novita
  • Local Deployment: Ollama, LocalAI, LM Studio, KoboldCPP
  • Custom: Generic OpenAI, LiteLLM, Nvidia NIM, Hugging Face

Development

# Install with dev dependencies
uv pip install -e ".[dev]"

# Run tests
pytest

# Run type checking
mypy src/realtimex_toolkit

# Format & lint
ruff check src/realtimex_toolkit tests
ruff format src/realtimex_toolkit tests

Architecture

  • realtimex_toolkit.llm: LLM provider configuration utilities
  • realtimex_toolkit.credentials: Secure credential retrieval and decryption
  • realtimex_toolkit.api: HTTP client with retry logic and error mapping
  • realtimex_toolkit.utils: Internal utilities (path resolution, logging)

License

Proprietary - Internal use only

Project details


Download files

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

Source Distribution

realtimex_toolkit-1.1.9.tar.gz (106.1 kB view details)

Uploaded Source

Built Distribution

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

realtimex_toolkit-1.1.9-py3-none-any.whl (19.4 kB view details)

Uploaded Python 3

File details

Details for the file realtimex_toolkit-1.1.9.tar.gz.

File metadata

  • Download URL: realtimex_toolkit-1.1.9.tar.gz
  • Upload date:
  • Size: 106.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.15

File hashes

Hashes for realtimex_toolkit-1.1.9.tar.gz
Algorithm Hash digest
SHA256 acc84091cae4c7efc1eadd83d3ce7c3b8e3b70e1df93373da943c462447a5d11
MD5 641d89b287e2a3a2ab83f4ce8e524bc0
BLAKE2b-256 2a13b304b7bd02d15a5ac44ef8e91302e93e15905152b8b5db0a0bef519c06a4

See more details on using hashes here.

File details

Details for the file realtimex_toolkit-1.1.9-py3-none-any.whl.

File metadata

File hashes

Hashes for realtimex_toolkit-1.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 b65c0cacd55166dcca222b544dcbb2cafc5a57c55d0f9bfdfbdf424e41f4ea77
MD5 cbf48154b4d1424a9873b0e6020b148c
BLAKE2b-256 4a9f21b9886e83437d02424ec7962b691422790b5db7b0fc1c82df38fab25965

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page