Official Python SDK for DarkSyntrix — A stealth AI gateway orchestrating 24 private model pipelines through a secure Same-Origin proxy architecture.
Project description
DarkSyntrix Python SDK
Official Python SDK for the DarkSyntrix AI Gateway — a stealth Same-Origin proxy architecture orchestrating 24 private model pipelines (LLM + media) behind a unified OpenAI-compatible API.
Authentication Flow
DarkSyntrix uses a frontend-first authentication model. There are two credential types:
1. API Key (vr_live_...) — for Chat & Media APIs
Users can create their own API keys with configurable rate limits. Admins can create keys with maximum limits. You can get or create your API key from the DarkSyntrix dashboard:
- Open the DarkSyntrix dashboard in your browser
- Sign up or log in to your account
- Navigate to the API Keys section
- Create a new key with your desired rate limits
- Copy the key and use it in the SDK
from darksyntrix_sdk import DarkSyntrixClient
client = DarkSyntrixClient(
base_url="https://your-gateway.app",
api_key="vr_live_..." # <-- from dashboard
)
2. Session Token — for Admin Operations
Session tokens are obtained by logging in and are used for key management & telemetry:
client.auth.login("admin_user", "your_password")
# Now client.keys.list(), client.keys.create(), client.telemetry.get() etc. are available
Note: client.keys.create() accepts optional rate_limit_per_min and monthly_request_limit parameters. When called after login (session), admin gets max limits. When called with an API key, the user gets standard limits.
Quick Start
Chat (Non-Streaming)
from darksyntrix_sdk import DarkSyntrixClient
client = DarkSyntrixClient(
base_url="https://your-gateway.app",
api_key="vr_live_..."
)
response = client.chat.create(
model="pulse_conversational_1.5b",
messages=[{"role": "user", "content": "Hello!"}],
stream=False
)
print(response.choices[0].message.content)
Chat (Streaming)
stream = client.chat.create(
model="hyperion_r1_reasoning_7b",
messages=[{"role": "user", "content": "Tell me a story"}],
stream=True
)
for chunk in stream:
for choice in chunk.choices:
print(choice.delta.content, end="", flush=True)
Async Client
import asyncio
from darksyntrix_sdk import AsyncDarkSyntrixClient
async def main():
async with AsyncDarkSyntrixClient(
base_url="https://your-gateway.app",
api_key="vr_live_..."
) as client:
stream = await client.chat.create(
model="pulse_conversational_1.5b",
messages=[{"role": "user", "content": "Hello!"}],
stream=True
)
async for chunk in stream:
for choice in chunk.choices:
print(choice.delta.content, end="", flush=True)
asyncio.run(main())
Admin: Login & Manage Keys
from darksyntrix_sdk import DarkSyntrixClient
# Works with API key or session token
client = DarkSyntrixClient(
base_url="https://your-gateway.app",
api_key="vr_live_..." # optional — needed for user-level key creation
)
# Login (optional — session grants admin max limits)
client.auth.login("admin_user", "secure_pass123")
# List existing keys
for key in client.keys.list():
print(f"{key.id}: {key.description} (rate_limit: {key.rate_limit_per_min}/min, monthly: {key.monthly_request_limit})")
# Create a new key with custom rate limits
new_key = client.keys.create(
"user_name",
"Production API key",
rate_limit_per_min=60,
monthly_request_limit=50000
)
print(f"New key: {new_key}")
Media Processing
client = DarkSyntrixClient(
base_url="https://your-gateway.app",
api_key="vr_live_..."
)
# Upload a video
url = client.media.upload("path/to/video.mp4", "video.mp4", "video/mp4")
# Process with RIFE frame interpolation
result = client.media.process(
model="frame_interpolation_rife",
cloudinary_url=url,
parameters={"interpolation_factor": 4}
)
print(result)
API Namespaces
| Namespace | Auth Required | Description |
|---|---|---|
client.auth |
None | Register & login to obtain API keys / session tokens |
client.keys |
API Key or Session | List, create, and revoke API keys |
client.chat |
API Key | Blocking & streaming chat completions |
client.media |
API Key | Upload files & trigger GPU media processing |
client.telemetry |
Session (admin) | Real-time host metrics & database statistics |
Features
- Zero bloat — Only depends on
httpx. Uses native Python dataclasses. - Sync + Async — Full mirror API with
DarkSyntrixClientandAsyncDarkSyntrixClient. - SSE Streaming — First-class Server-Sent Events parser for real-time token streaming.
- Connection Pooling — Built-in
httpxconnection pool with 120s timeout. - Full IDE Autocomplete — Typed dataclass response models.
- Context Manager Support — Use
with/async withfor automatic cleanup.
Installation
pip install darksyntrix-sdk
Or from source:
pip install git+https://gitlab.com/llm_model/darksyntrix-sdk.git
Supported Models (24 Engines)
Conversational / General Assistant
pulse_conversational_1.5b•aurora_core_gemma_1b•apex_conversational_llama_3binfinity_phi_instruct_4•sentinel_pulse_qwen_0.5b•nebula_core_llama_1bgenesis_smollm_1.7b•nexus_quantum_instruct_mini
Reasoning / Chain-of-Thought
hyperion_r1_reasoning_7b•synapse_r1_reasoning_1.5b
Code Generation
cyber_forge_coder_1.5b•matrix_core_coder_3b•titan_apex_coder_7bnova_starcoder_3b•vector_gemma_coder_2b•synapse_coder_deepseek_1.3bgranite_matrix_coder_3b•micro_pulse_coder_0.5b
Media Processing (GPU)
acoustic_suppression_deepfilter•photographic_restoration_gfpganavatar_lipsync_hyperlips•generative_cinematic_ltxsuper_resolution_esrgan•frame_interpolation_rife
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file darksyntrix_sdk-1.3.0.tar.gz.
File metadata
- Download URL: darksyntrix_sdk-1.3.0.tar.gz
- Upload date:
- Size: 6.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f66edd92775752b83ae2a13765ee0f7669756167b6e6e13efea10aa35b208584
|
|
| MD5 |
5b9a0baa198de135b6672efe80d8b429
|
|
| BLAKE2b-256 |
5dd010eaa6a5b1d8ae8af9a7f6ea488fd8520dd2b9c6c780d108ede20fac8660
|
File details
Details for the file darksyntrix_sdk-1.3.0-py3-none-any.whl.
File metadata
- Download URL: darksyntrix_sdk-1.3.0-py3-none-any.whl
- Upload date:
- Size: 4.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d85ee125823707c5da366f08afbd209b36a739ca4db3280f7f8070fb14f6944
|
|
| MD5 |
ff853345248bcc507c5b7949b3a72253
|
|
| BLAKE2b-256 |
1640abab63c514bf516fe2d03b2b97564a07ff74fe820b8ef16e74ac430c6333
|