Skip to main content

Python SDK for Yachay — Condor Models inference API (OpenAI-compatible)

Project description

Yachay Python SDK

Python client for Yachay — Condor Models inference API. Designed to feel like the OpenAI SDK so migrating existing code takes minutes.

Install

pip install yachay

Requires Python 3.9+.

Quickstart

import yachay

client = yachay.Client()  # reads YACHAY_API_KEY from environment

response = client.chat.completions.create(
    model="llama-3.1-8b",
    messages=[{"role": "user", "content": "Explain gradient descent in one paragraph."}],
)
print(response.choices[0].message.content)

Authentication

Create a customer API key in the Yachay dashboard. Keys are prefixed yck_.

Recommended — environment variable:

export YACHAY_API_KEY="yck_your_key_here"

Or pass directly:

client = yachay.Client(api_key="yck_your_key_here")

Available models

Two models are currently available for inference:

Model ID Description
llama-3.1-8b Meta Llama 3.1 8B — fast general-purpose chat
deepseek-r1-distill-llama-8b DeepSeek R1 distilled into Llama 8B — strong reasoning

To list available models programmatically:

models = client.models.list()
for model in models.data:
    print(model.id)

Chat completions

response = client.chat.completions.create(
    model="deepseek-r1-distill-llama-8b",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "What is the capital of Peru?"},
    ],
    max_tokens=256,
    temperature=0.7,
)

# Access the generated text
print(response.choices[0].message.content)

# Access token usage
print(f"Tokens used: {response.usage.total_tokens}")

Context manager

with yachay.Client() as client:
    response = client.chat.completions.create(
        model="llama-3.1-8b",
        messages=[{"role": "user", "content": "Hello!"}],
    )
    print(response.choices[0].message.content)
# HTTP connection pool is closed automatically

Migrating from OpenAI

The client mirrors the OpenAI SDK's nested-namespace pattern. Replace:

# Before
import openai
client = openai.OpenAI(api_key="sk-...")
response = client.chat.completions.create(model="gpt-4o", messages=[...])

with:

# After
import yachay
client = yachay.Client(api_key="yck_...")
response = client.chat.completions.create(model="llama-3.1-8b", messages=[...])

Response objects share the same shape: .choices[0].message.content, .usage.total_tokens, etc.

Error handling

from yachay import AuthError, RateLimitError, APIError

try:
    response = client.chat.completions.create(...)
except AuthError:
    print("Invalid API key")
except RateLimitError:
    print("Slow down — you are being rate-limited")
except APIError as e:
    print(f"API error {e.status}: {e.body}")

All errors are subclasses of yachay.YachayError.

Custom base URL and timeout

client = yachay.Client(
    api_key="yck_...",
    base_url="https://api.yachaymodels.com/v1",  # default; override for testing
    timeout=30.0,  # seconds
)

What v1 does NOT include

  • Streamingstream=True is not yet supported. Submit a feature request at yachaymodels.com/support.
  • Fine-tuning job management — submitting training jobs, downloading adapters, and managing the fine-tuning pipeline are not available through this SDK in v1. Use the Yachay web dashboard for job management.
  • Embeddings — not available in v1.

Documentation

Full API reference and guides at yachaymodels.com/docs.

License

MIT — see LICENSE for details.

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

yachay-0.1.1.tar.gz (74.7 kB view details)

Uploaded Source

Built Distribution

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

yachay-0.1.1-py3-none-any.whl (52.9 kB view details)

Uploaded Python 3

File details

Details for the file yachay-0.1.1.tar.gz.

File metadata

  • Download URL: yachay-0.1.1.tar.gz
  • Upload date:
  • Size: 74.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for yachay-0.1.1.tar.gz
Algorithm Hash digest
SHA256 73ad9be95c1ecf0cfe772f546652444ba2a82939e500ee782573df40d1b02a28
MD5 34ea9106819397a46df33f6909becf72
BLAKE2b-256 54b91de9bd06eec4c581e758486b7537381785d30dc7a314bf97f021b2b601d2

See more details on using hashes here.

File details

Details for the file yachay-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: yachay-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 52.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for yachay-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a4a80876fece9d9cc1eaeca9ea629aa75900df2236e414b0dce435e06abbeb64
MD5 b4fa75813fdffd1ea93f1117097e9861
BLAKE2b-256 23a56269db3c1242df9a61577f952a1623d0a618852108501f41366fb2f86250

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