Metadata-Version: 2.1
Name: ethina
Version: 0.1a0
Summary: A unified interface for interacting with various Language Model (LLM) providers
Home-page: https://github.com/kstyagi23/Ethina
Author: Kshitij S. Tyagi
Author-email: hello@brahmai.in
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: annotated-types==0.7.0
Requires-Dist: anyio==4.4.0
Requires-Dist: certifi==2024.8.30
Requires-Dist: distro==1.9.0
Requires-Dist: h11==0.14.0
Requires-Dist: httpcore==1.0.5
Requires-Dist: httpx==0.27.2
Requires-Dist: idna==3.8
Requires-Dist: jiter==0.5.0
Requires-Dist: openai==1.43.0
Requires-Dist: pydantic==2.8.2
Requires-Dist: pydantic_core==2.20.1
Requires-Dist: sniffio==1.3.1
Requires-Dist: tqdm==4.66.5
Requires-Dist: typing_extensions==4.12.2
Provides-Extra: dev
Requires-Dist: pytest>=6.0; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: flake8; extra == "dev"
Requires-Dist: black; extra == "dev"

## WORK IN PROGRESS | PLEASE DO NOT USE YET !!
I am still working on this, I don't have the package built yet, I recommend not to use this yet. I haven't tested it thoroughly, and will most probably break.

# Ethina

Ethina is a powerful Python package that provides a unified interface for interacting with various Language Model (LLM) providers such as OpenAI, Anthropic, AWS Bedrock, Azure AI, Azure OpenAI, Google, and Ollama.

## Features

- Unified API for multiple LLM providers
- Supports both streaming and non-streaming responses
- Easy-to-use client generation
- Consistent input and output formats across providers
- Customizable parameters for LLM interactions

## Installation

To install Ethina, use pip:


```bash
pip install ethina
```

## Quick Start

Here's a quick example using Azure OpenAI:


```python
from ethina import AzureOpenAIClient, AzureOpenAIChat

# Create client
provider_keys = {
    "base": "https://your-resource-name.openai.azure.com/",
    "api_key": "your-api-key",
    "api_version": "2024-05-01-preview"
}
client = AzureOpenAIClient(provider_keys)


# Create chat object
chat = AzureOpenAIChat(client)

# Prepare input data
input_data = {
    "model": "your-deployment-name",
    "messages": [
        {"role": "user", "content": "What is Ethina?"}
    ],
    "max_tokens": 800,
    "temperature": 0.7
}

# Generate response
response = chat.generate(input_data)
print(response)
```

## Supported Providers

- OpenAI
- Azure OpenAI
- Anthropic
- AWS Bedrock
- Azure AI
- Google
- Ollama

## Documentation

For detailed usage instructions and API reference, please refer to the [documentation](#).

## Contributing

We welcome contributions! Please see our [Contributing Guide](#) for more details.

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.



This version includes a more structured format, consistent code block styles, and links placeholders for documentation and contributing guide. Adjust the links as needed based on your actual documentation and contributing guide URLs.
