Metadata-Version: 2.5
Name: innov8ing
Version: 1.0.1
Summary: Official Python SDK for the Innov8ing Unified Intelligence & Media Gateway
Project-URL: Homepage, https://inov8ing.io
Project-URL: Documentation, https://api.inov8ing.io/docs
Project-URL: Repository, https://github.com/innov8ing/innov8ing-python
Author-email: Innov8ing Engineering <api@inov8ing.io>
License: MIT
License-File: LICENSE
Keywords: ai,gateway,innov8ing,llm,media,multimodal,sdk
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
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.8
Requires-Dist: httpx>=0.25.0
Description-Content-Type: text/markdown

# Innov8ing Python SDK

The official Python client library for the [Innov8ing Developer Platform](https://api.inov8ing.io/).

Unified multi-provider AI model aggregation, high-speed LLM reasoning, dedicated file streaming, and normalized stock media gateway.

## Installation

```bash
pip install innov8ing
```

## Quickstart

```python
import os
from innov8ing import Innov8ing

# Initialize the client
client = Innov8ing(api_key=os.environ.get("INNOV8ING_API_KEY"))

# 1. Chat Completion (Fast Inference)
response = client.chat.completions.create(
    model="inv-chat-fast",
    messages=[
        {"role": "system", "content": "You are a concise engineering assistant."},
        {"role": "user", "content": "Outline 3 technical advantages of a unified API gateway."}
    ],
    temperature=0.7
)
print("Response:", response["content"])

# 2. Real-Time Streaming
stream = client.chat.completions.create(
    model="inv-chat-fast",
    messages=[{"role": "user", "content": "Explain SSE streaming in 2 sentences."}],
    stream=True
)

for chunk in stream:
    print(chunk, end="", flush=True)

# 3. Search Unified Stock Media
media_results = client.media.search(query="modern tech office", media_type="video")
print("Found items:", len(media_results.get("results", [])))

# 4. Check Operational Status
status = client.status.get()
print("System Status:", status["description"])
```

## Error Handling

```python
from innov8ing import Innov8ing, AuthenticationError, RateLimitError, Innov8ingError

try:
    client = Innov8ing(api_key="inv_live_invalid_key")
    client.models.list()
except AuthenticationError as e:
    print("Invalid API Key:", e)
except RateLimitError as e:
    print("Rate limited, please backoff:", e)
except Innov8ingError as e:
    print("API Error:", e)
```

## License

MIT © [Innov8ing](https://inov8ing.io/)
