Skip to main content

CLI client for Cysic decentralized AI providers

Project description

cydeai-client Wheel Release Usage Notes

Use this document as the user-facing usage note when publishing a new cydeai-client wheel.

Package

Install package:

python -m pip install cydeai-client==0.1.3

Installed CLI command:

cydeai

Check installation:

cydeai --help

What This Client Does

cydeai runs on a provider GPU machine. It:

  • checks local NVIDIA GPU and vLLM readiness
  • verifies vLLM is actually using GPU memory
  • connects to cydeai-server through WebSocket
  • registers the worker with model and endpoint metadata
  • forwards gateway traffic to the local vLLM OpenAI-compatible endpoint

The client does not install or start vLLM, install models, configure systemd, perform chain transactions, or manage system packages.

Requirements

Run on a Linux GPU provider machine with:

  • Python 3.11+
  • NVIDIA driver and nvidia-smi
  • vLLM already running
  • local vLLM OpenAI-compatible API, usually http://127.0.0.1:8000/v1
  • a server-issued provider API key
  • a server URL, for example https://<server-host>/<base-path>

macOS can be used for basic CLI smoke tests, but cydeai check is expected to fail there if nvidia-smi is unavailable.

Basic Setup

Create a virtual environment:

python3 -m venv ~/cydeai-client-env
. ~/cydeai-client-env/bin/activate
python -m pip install -U pip
python -m pip install cydeai-client==0.1.3

Confirm the local vLLM model name:

curl -sS http://127.0.0.1:8000/v1/models | python3 -m json.tool

Create the default config file:

mkdir -p ~/.config/cydeai
cat > ~/.config/cydeai/config.toml <<EOF
server_url = "https://<server-host>/<base-path>"
api_key = "<provider_api_key>"
worker_name = "<worker-display-name>"
model_name = "<served-model-name-from-vllm>"
model_port = 8000
EOF
chmod 600 ~/.config/cydeai/config.toml

For released-wheel usage, prefer config-file based setup. The CLI still applies this precedence internally:

CLI args > environment variables > config file > defaults

Local Readiness Check

Before connecting to the server, run:

cydeai check --json

The check passes only when:

  • at least one NVIDIA GPU is detected
  • at least one GPU has memory usage greater than 10%
  • at least one vLLM process exists
  • at least one vLLM PID appears in the nvidia-smi GPU process list

If this fails, fix the local vLLM/GPU state first.

Dry Run

Dry run does not connect to the server. It prints the WebSocket URL, masked headers, local check result, and register payload:

cydeai connect --dry-run

If api_key in config is set, the output should include a masked header:

{
  "headers": {
    "PROVIDER_SIGN": "********"
  }
}

The worker id is generated automatically from the machine MAC address unless --worker-id is provided explicitly for integration testing:

{
  "register_control": {
    "payload": {
      "worker_id": "w-..."
    }
  }
}

One-Shot Register Test

Use this to validate WebSocket handshake and worker registration without keeping the worker online:

cydeai connect --exit-after-register

Expected success:

{
  "registered": true,
  "status": "available"
}

Common failures:

  • http_401: API key is missing, stale, or invalid
  • http_403: provider or key is rejected by server policy
  • model not allowed: server does not allow this model name
  • local check failure: vLLM/GPU readiness gate failed before network connect

Start Long-Running Worker

Run the worker in the foreground:

PYTHONUNBUFFERED=1 cydeai connect

Successful startup prints JSON events similar to:

{"event":"connect_attempt","attempt":1}
{"event":"registered","worker_id":"w-...","result":{"registered":true,"status":"available"}}

Keep this process running.

Notes For Release Announcements

When announcing a wheel release, include:

  • package name: cydeai-client
  • CLI command: cydeai
  • version: 0.1.3
  • install command: python -m pip install cydeai-client==0.1.3
  • required Python version: Python 3.11+
  • reminder that vLLM must already be running locally
  • reminder that api_key should be set in ~/.config/cydeai/config.toml
  • reminder that cydeai connect emits JSON by default

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

cydeai_client-0.1.3.tar.gz (37.5 kB view details)

Uploaded Source

Built Distribution

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

cydeai_client-0.1.3-py3-none-any.whl (27.0 kB view details)

Uploaded Python 3

File details

Details for the file cydeai_client-0.1.3.tar.gz.

File metadata

  • Download URL: cydeai_client-0.1.3.tar.gz
  • Upload date:
  • Size: 37.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for cydeai_client-0.1.3.tar.gz
Algorithm Hash digest
SHA256 807ba423111a901193d4864623fd3dfd5015fb0d8b09ff87425a85f2022978af
MD5 5406bca5e95ed7667e3c124ae664d880
BLAKE2b-256 08c35932c56cd1783f42f49c1a0df55054acce0542cd35185512678afdca2694

See more details on using hashes here.

File details

Details for the file cydeai_client-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: cydeai_client-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 27.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for cydeai_client-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9ff5c4665749101c66b9fc737a89a64aab4eba07a5f8a6d5f4ccc7f2493ae366
MD5 087985e4590b7bb5b66ded1674bc9b7f
BLAKE2b-256 a96be7e487ee1ca6ec8d4eadd7d7d600057ec82ba35c2c5e421bece7f7c1d285

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