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
- Streaming —
stream=Trueis 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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73ad9be95c1ecf0cfe772f546652444ba2a82939e500ee782573df40d1b02a28
|
|
| MD5 |
34ea9106819397a46df33f6909becf72
|
|
| BLAKE2b-256 |
54b91de9bd06eec4c581e758486b7537381785d30dc7a314bf97f021b2b601d2
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4a80876fece9d9cc1eaeca9ea629aa75900df2236e414b0dce435e06abbeb64
|
|
| MD5 |
b4fa75813fdffd1ea93f1117097e9861
|
|
| BLAKE2b-256 |
23a56269db3c1242df9a61577f952a1623d0a618852108501f41366fb2f86250
|