chimeric


Namechimeric JSON
Version 0.1.0 PyPI version JSON
download
home_pageNone
SummaryUnified interface for multiple LLM providers with automatic provider detection and seamless switching
upload_time2025-08-12 00:36:33
maintainerNone
docs_urlNone
authorNone
requires_python<4.0,>=3.11
licenseMIT
keywords ai anthropic gemini llm multi-provider openai unified-interface
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <div align="center">

<img src=".github/assets/chimeric.png" alt="Chimeric Logo" width="200"/>

# Chimeric

[![PyPI version](https://img.shields.io/pypi/v/chimeric.svg)](https://pypi.org/project/chimeric/)
[![Python Versions](https://img.shields.io/pypi/pyversions/chimeric.svg)](https://pypi.org/project/chimeric/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Documentation Status](https://img.shields.io/badge/docs-latest-blue.svg)](https://verdenroz.github.io/chimeric/)
[![CI](https://github.com/Verdenroz/chimeric/workflows/CI/badge.svg)](https://github.com/Verdenroz/chimeric/actions/workflows/ci.yml)
[![codecov](https://codecov.io/gh/Verdenroz/chimeric/branch/main/graph/badge.svg)](https://codecov.io/gh/Verdenroz/chimeric)

**Unified Python interface for multiple LLM providers with automatic provider detection and seamless switching.**

</div>

## 🚀 Supported Providers

[![OpenAI](https://img.shields.io/badge/OpenAI-412991?logo=openai&logoColor=white)](https://openai.com/)
[![Anthropic](https://img.shields.io/badge/Anthropic-191919?logo=anthropic&logoColor=white)](https://anthropic.com/)
[![Google AI](https://img.shields.io/badge/Google%20AI-4285F4?logo=google&logoColor=white)](https://ai.google.dev/)
[![xAI Grok](https://img.shields.io/badge/xAI%20Grok-000000?logo=x&logoColor=white)](https://x.ai/)
[![Groq](https://img.shields.io/badge/Groq-F55036?logo=groq&logoColor=white)](https://groq.com/)
[![Cohere](https://img.shields.io/badge/Cohere-39594A?logo=cohere&logoColor=white)](https://cohere.ai/)
[![Cerebras](https://img.shields.io/badge/Cerebras-FF6B35?logo=cerebras&logoColor=white)](https://cerebras.ai/)

## 📖 Documentation

For detailed usage examples, configuration options, and advanced features, visit our [documentation](https://verdenroz.github.io/chimeric/).

## 📦 Installation

```bash
# Base installation
pip install chimeric

# With specific providers
pip install "chimeric[openai,anthropic,google]"

# All providers
pip install "chimeric[all]"
```

Set your API keys as environment variables:
```bash
export OPENAI_API_KEY="your-key-here"
export ANTHROPIC_API_KEY="your-key-here"
```

## ⚡ Quickstart

### Basic Usage
```python
from chimeric import Chimeric

client = Chimeric()  # Auto-detects API keys from environment

response = client.generate(
    model="gpt-4o",
    messages="Hello!"
)
print(response.content)
```

### Streaming Responses
```python
# Real-time streaming
stream = client.generate(
    model="claude-3-5-sonnet-latest",
    messages="Tell me a story about space exploration",
    stream=True
)

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

### Function Calling with Tools
```python
@client.tool()
def get_weather(city: str) -> str:
    """Get current weather for a city."""
    return f"Sunny, 72°F in {city}"

@client.tool()
def calculate_tip(bill_amount: float, tip_percentage: float = 18.0) -> dict:
    """Calculate tip and total amount for a restaurant bill."""
    tip = bill_amount * (tip_percentage / 100)
    total = bill_amount + tip
    return {"tip": tip, "total": total, "tip_percentage": tip_percentage}

response = client.generate(
    model="gpt-4o",
    messages=[
        {"role": "user", "content": "What's the weather in NYC?"},
        {"role": "user", "content": "Also calculate a tip for a $50 dinner bill"}
    ]
)
print(response.content)
```

### Multi-Provider Switching
```python
# Seamlessly switch between providers
models = ["gpt-4o-mini", "claude-3-5-haiku-latest", "gemini-2.5-flash"]

for model in models:
    response = client.generate(
        model=model,
        messages="Explain quantum computing in one sentence"
    )
    print(f"{model}: {response.content}")
```


## 🔧 Key Features

- **Multi-Provider Support**: Switch between 7 major AI providers seamlessly
- **Automatic Detection**: Auto-detects available API keys from environment
- **Unified Interface**: Consistent API across all providers
- **Streaming Support**: Real-time response streaming
- **Function Calling**: Tool integration with decorators
- **Async Support**: Full async/await compatibility
- **Native Fallback**: Access provider-specific features when needed

## 🐛 Issues & Feature Requests

- **Found a bug?** Use our [Bug Report](.github/ISSUE_TEMPLATE/bug_report.yml) template
- **Want a feature?** Use our [Feature Request](.github/ISSUE_TEMPLATE/feature_request.yml) template

## 📄 License

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

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "chimeric",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.11",
    "maintainer_email": null,
    "keywords": "ai, anthropic, gemini, llm, multi-provider, openai, unified-interface",
    "author": null,
    "author_email": "Harvey Tseng <harveytseng2@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/c4/2b/15675e7dc3ed017ac3ac06ecd2f1821d5367ffc2028ccd6de7ba62aa4ceb/chimeric-0.1.0.tar.gz",
    "platform": null,
    "description": "<div align=\"center\">\n\n<img src=\".github/assets/chimeric.png\" alt=\"Chimeric Logo\" width=\"200\"/>\n\n# Chimeric\n\n[![PyPI version](https://img.shields.io/pypi/v/chimeric.svg)](https://pypi.org/project/chimeric/)\n[![Python Versions](https://img.shields.io/pypi/pyversions/chimeric.svg)](https://pypi.org/project/chimeric/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Documentation Status](https://img.shields.io/badge/docs-latest-blue.svg)](https://verdenroz.github.io/chimeric/)\n[![CI](https://github.com/Verdenroz/chimeric/workflows/CI/badge.svg)](https://github.com/Verdenroz/chimeric/actions/workflows/ci.yml)\n[![codecov](https://codecov.io/gh/Verdenroz/chimeric/branch/main/graph/badge.svg)](https://codecov.io/gh/Verdenroz/chimeric)\n\n**Unified Python interface for multiple LLM providers with automatic provider detection and seamless switching.**\n\n</div>\n\n## \ud83d\ude80 Supported Providers\n\n[![OpenAI](https://img.shields.io/badge/OpenAI-412991?logo=openai&logoColor=white)](https://openai.com/)\n[![Anthropic](https://img.shields.io/badge/Anthropic-191919?logo=anthropic&logoColor=white)](https://anthropic.com/)\n[![Google AI](https://img.shields.io/badge/Google%20AI-4285F4?logo=google&logoColor=white)](https://ai.google.dev/)\n[![xAI Grok](https://img.shields.io/badge/xAI%20Grok-000000?logo=x&logoColor=white)](https://x.ai/)\n[![Groq](https://img.shields.io/badge/Groq-F55036?logo=groq&logoColor=white)](https://groq.com/)\n[![Cohere](https://img.shields.io/badge/Cohere-39594A?logo=cohere&logoColor=white)](https://cohere.ai/)\n[![Cerebras](https://img.shields.io/badge/Cerebras-FF6B35?logo=cerebras&logoColor=white)](https://cerebras.ai/)\n\n## \ud83d\udcd6 Documentation\n\nFor detailed usage examples, configuration options, and advanced features, visit our [documentation](https://verdenroz.github.io/chimeric/).\n\n## \ud83d\udce6 Installation\n\n```bash\n# Base installation\npip install chimeric\n\n# With specific providers\npip install \"chimeric[openai,anthropic,google]\"\n\n# All providers\npip install \"chimeric[all]\"\n```\n\nSet your API keys as environment variables:\n```bash\nexport OPENAI_API_KEY=\"your-key-here\"\nexport ANTHROPIC_API_KEY=\"your-key-here\"\n```\n\n## \u26a1 Quickstart\n\n### Basic Usage\n```python\nfrom chimeric import Chimeric\n\nclient = Chimeric()  # Auto-detects API keys from environment\n\nresponse = client.generate(\n    model=\"gpt-4o\",\n    messages=\"Hello!\"\n)\nprint(response.content)\n```\n\n### Streaming Responses\n```python\n# Real-time streaming\nstream = client.generate(\n    model=\"claude-3-5-sonnet-latest\",\n    messages=\"Tell me a story about space exploration\",\n    stream=True\n)\n\nfor chunk in stream:\n    print(chunk.content, end=\"\", flush=True)\n```\n\n### Function Calling with Tools\n```python\n@client.tool()\ndef get_weather(city: str) -> str:\n    \"\"\"Get current weather for a city.\"\"\"\n    return f\"Sunny, 72\u00b0F in {city}\"\n\n@client.tool()\ndef calculate_tip(bill_amount: float, tip_percentage: float = 18.0) -> dict:\n    \"\"\"Calculate tip and total amount for a restaurant bill.\"\"\"\n    tip = bill_amount * (tip_percentage / 100)\n    total = bill_amount + tip\n    return {\"tip\": tip, \"total\": total, \"tip_percentage\": tip_percentage}\n\nresponse = client.generate(\n    model=\"gpt-4o\",\n    messages=[\n        {\"role\": \"user\", \"content\": \"What's the weather in NYC?\"},\n        {\"role\": \"user\", \"content\": \"Also calculate a tip for a $50 dinner bill\"}\n    ]\n)\nprint(response.content)\n```\n\n### Multi-Provider Switching\n```python\n# Seamlessly switch between providers\nmodels = [\"gpt-4o-mini\", \"claude-3-5-haiku-latest\", \"gemini-2.5-flash\"]\n\nfor model in models:\n    response = client.generate(\n        model=model,\n        messages=\"Explain quantum computing in one sentence\"\n    )\n    print(f\"{model}: {response.content}\")\n```\n\n\n## \ud83d\udd27 Key Features\n\n- **Multi-Provider Support**: Switch between 7 major AI providers seamlessly\n- **Automatic Detection**: Auto-detects available API keys from environment\n- **Unified Interface**: Consistent API across all providers\n- **Streaming Support**: Real-time response streaming\n- **Function Calling**: Tool integration with decorators\n- **Async Support**: Full async/await compatibility\n- **Native Fallback**: Access provider-specific features when needed\n\n## \ud83d\udc1b Issues & Feature Requests\n\n- **Found a bug?** Use our [Bug Report](.github/ISSUE_TEMPLATE/bug_report.yml) template\n- **Want a feature?** Use our [Feature Request](.github/ISSUE_TEMPLATE/feature_request.yml) template\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Unified interface for multiple LLM providers with automatic provider detection and seamless switching",
    "version": "0.1.0",
    "project_urls": {
        "Changelog": "https://github.com/Verdenroz/chimeric/blob/main/CHANGELOG.md",
        "Documentation": "https://verdenroz.github.io/chimeric/",
        "Issues": "https://github.com/Verdenroz/chimeric/issues",
        "Repository": "https://github.com/Verdenroz/chimeric"
    },
    "split_keywords": [
        "ai",
        " anthropic",
        " gemini",
        " llm",
        " multi-provider",
        " openai",
        " unified-interface"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5cac972bd84be432412e60a2ce0deba6fcc90a03ee5c1080ecc003a8bcb9a776",
                "md5": "922b4914b2dcf86e8f1601e9fc1b858e",
                "sha256": "c53c001e5847b1fe1e18b655f4dcd49b8f2db33d54a68bb32ac1cffb7d10b3d8"
            },
            "downloads": -1,
            "filename": "chimeric-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "922b4914b2dcf86e8f1601e9fc1b858e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.11",
            "size": 62760,
            "upload_time": "2025-08-12T00:36:31",
            "upload_time_iso_8601": "2025-08-12T00:36:31.835565Z",
            "url": "https://files.pythonhosted.org/packages/5c/ac/972bd84be432412e60a2ce0deba6fcc90a03ee5c1080ecc003a8bcb9a776/chimeric-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c42b15675e7dc3ed017ac3ac06ecd2f1821d5367ffc2028ccd6de7ba62aa4ceb",
                "md5": "4314c0f3d5174b6a88dde937f79b7378",
                "sha256": "1f67deffa2788a00221d264779a585827692b1ec9f329c92b654dea8b02c54ca"
            },
            "downloads": -1,
            "filename": "chimeric-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "4314c0f3d5174b6a88dde937f79b7378",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.11",
            "size": 2245137,
            "upload_time": "2025-08-12T00:36:33",
            "upload_time_iso_8601": "2025-08-12T00:36:33.441916Z",
            "url": "https://files.pythonhosted.org/packages/c4/2b/15675e7dc3ed017ac3ac06ecd2f1821d5367ffc2028ccd6de7ba62aa4ceb/chimeric-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-12 00:36:33",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Verdenroz",
    "github_project": "chimeric",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "chimeric"
}
        
Elapsed time: 1.21091s