Metadata-Version: 2.4
Name: orca-ai-sdk
Version: 0.2.2
Summary: The AI SDK, by TreeSoft
Author: TreeSoft
License: MIT
Project-URL: Homepage, https://github.com/orca-sdk/orca
Project-URL: Documentation, https://github.com/orca-sdk/orca#readme
Project-URL: Repository, https://github.com/orca-sdk/orca
Keywords: ai,openai,anthropic,gemini,llm,sdk
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.28.0
Requires-Dist: aiohttp>=3.8.0
Requires-Dist: pydantic>=2.0.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
Requires-Dist: pytest-mock>=3.10.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Dynamic: license-file

# Orca SDK

> **The Orca SDK**  
> A provider-agnostic Python library for unified AI model interactions.  
> Read the [LICENSE](LICENSE) file for full terms and conditions.

**Orca** is a unified SDK for interacting with multiple AI providers through a single, consistent interface. It truly transforms the way developers work with AI by making it intuitive, efficient, and provider-agnostic.

## Core Features

- **Unified Interface** — Single API for OpenAI, Anthropic, Google Gemini, and OpenRouter
- **Sync + Async** — Full support for both synchronous and asynchronous operations
- **Streaming** — Real-time streaming responses with iterator interface
- **Dynamic Registry** — Automatic model discovery with parallel provider fetching
- **Typed Exceptions** — Precise error handling with provider context
- **Structured Responses** — Normalized responses across all providers

## Quick Start

### 1. Installation

```bash
# Install with pip
pip install orca-ai-sdk

# Or with uv
uv pip install orca-ai-sdk
```

### 2. Basic Usage

```python
from orca import Orca

# Initialize with providers
client = Orca(
    providers=["openai", "anthropic"],
    api_keys={
        "openai": "sk-...",
        "anthropic": "sk-ant-..."
    }
)

# Chat completion
response = client.chat(
    model="gpt-5",
    messages=[{"role": "user", "content": "Hello!"}]
)
print(response.text)

# Streaming
for chunk in client.chat(model="claude-opus-4.5", messages=messages, stream=True):
    print(chunk.delta_text, end="", flush=True)

# Embeddings
embedding = client.embed(model="text-embedding-3-small", input="Hello world")
print(f"Dimensions: {embedding.dimensions}")
```

## Supported Providers

| Provider | Chat | Embeddings | Images | Streaming |
|----------|------|------------|--------|-----------|
| OpenAI | ✅ | ✅ | ✅ | ✅ |
| Anthropic | ✅ | ❌ | ❌ | ✅ |
| Gemini | ✅ | ✅ | ❌ | ✅ |
| OpenRouter | ✅ | ❌ | ❌ | ✅ |

## Repository Structure

```text
orca/
├── orca/
│   ├── core/          # Core client & registry
│   ├── providers/     # Provider implementations
│   └── utils/         # Types & formatters
├── tests/             # Test suite
├── pyproject.toml     # Package configuration
└── README.md          # This file
```

## Team

*   **Alexutzu** — Developer

## License

Copyright © TreeSoft 2025. Released under the MIT License.  
See [LICENSE](LICENSE) for full terms and conditions.
