> ## Documentation Index
> Fetch the complete documentation index at: https://docs.euri.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Python SDK

> Use the EURI Python SDK or the OpenAI Python SDK with EURI.

## Install

<CodeGroup>
  ```bash EURI SDK theme={null}
  pip install euriai
  ```

  ```bash OpenAI SDK theme={null}
  pip install openai
  ```
</CodeGroup>

***

## Using the EURI SDK

```python theme={null}
from euriai import EuriaiClient

client = EuriaiClient(api_key="YOUR_EURI_API_KEY")

# Chat completion
response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "Hello!"}],
    max_tokens=100
)
print(response.choices[0].message.content)
```

### CLI usage

```bash theme={null}
# Simple prompt
euriai --api_key YOUR_EURI_API_KEY --prompt "Tell me a joke"

# Streaming
euriai --api_key YOUR_EURI_API_KEY --prompt "Stream a fun fact" --stream

# List models
euriai --models
```

### LangChain integration

```python theme={null}
from euriai.langchain_embed import EuriaiEmbeddings

embeddings = EuriaiEmbeddings(
    api_key="YOUR_EURI_API_KEY",
    model="text-embedding-3-small"
)

result = embeddings.embed_query("What is machine learning?")
print(len(result))  # 1536 dimensions
```

***

## Using the OpenAI SDK

EURI is fully OpenAI-compatible. Just set the `base_url`:

```python theme={null}
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_EURI_API_KEY",
    base_url="https://api.euron.one/api/v1/euri"
)

# Chat
response = client.chat.completions.create(
    model="gemini-2.5-flash",
    messages=[{"role": "user", "content": "Explain Docker in one paragraph."}]
)
print(response.choices[0].message.content)

# Embeddings
embedding = client.embeddings.create(
    model="text-embedding-3-small",
    input="Hello world"
)
print(embedding.data[0].embedding[:5])

# Image generation
image = client.images.generate(
    model="gemini-3-pro-image-preview",
    prompt="A cat wearing sunglasses",
    n=1
)
print(image.data[0].url)

# Speech-to-text
with open("audio.mp3", "rb") as f:
    transcript = client.audio.transcriptions.create(
        model="whisper-large-v3-turbo",
        file=f
    )
print(transcript.text)
```

<Card title="PyPI" icon="python" href="https://pypi.org/project/euriai/">
  View the EURI Python SDK on PyPI.
</Card>
