Metadata-Version: 2.4
Name: omnigenai
Version: 0.1.0
Summary: A comprehensive, zero-dependency framework for Generative AI and Agentic AI
Home-page: https://github.com/pearlraja30/omnigenai
Author: OmniGenAI Team
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Provides-Extra: rag
Requires-Dist: sentence-transformers; extra == "rag"
Provides-Extra: vision
Requires-Dist: pillow; extra == "vision"
Provides-Extra: all
Requires-Dist: sentence-transformers; extra == "all"
Requires-Dist: pillow; extra == "all"
Requires-Dist: numpy; extra == "all"
Requires-Dist: torch; extra == "all"
Dynamic: author
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: provides-extra
Dynamic: requires-python
Dynamic: summary

# OmniGenAI

A comprehensive, zero-dependency Python framework for Generative AI (GenAI) and Agentic AI. Covers all features: text/image/video/audio generation, multimodal processing, fine-tuning, evaluation, tool calling, memory management, RAG, multi-agent orchestration, planning, and workflow automation. Pluggable with any model (OpenAI, Anthropic, Groq, local/Ollama, custom transformers, vision models) without vendor lock-in. Resolves all common issues: heavy dependencies, complex APIs, token limits, scalability, ease of use, and performance.

## Features
- **Zero Dependencies**: Core logic relies purely on standard Python. Bring your own LLM client.
- **Complete GenAI Coverage**: Text, image, video, audio generation; multimodal; fine-tuning; evaluation metrics.
- **Full Agentic AI**: Tool calling, memory pruning, RAG, multi-agent, planning algorithms.
- **Provider Agnostic**: Swap seamlessly between any models.
- **Scalable and Efficient**: Modular design, async support, optimized memory.
- **Easy to Use**: Simple APIs, extensive docs, examples for everyone.

## Quick Start

```python
import os
from omnigenai import OmniAgent, tool, OpenAIProvider
from openai import OpenAI

@tool
def get_weather(location: str) -> str:
    """Gets the current weather."""
    return f"Weather in {location}: 72°F and sunny."

client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
provider = OpenAIProvider(client)

agent = OmniAgent(
    provider=provider,
    model="gpt-4",
    tools=[get_weather]
)

response = agent.run("What's the weather in Tokyo?")
print(response)
```

## Installation
```bash
pip install omnigenai
# For extras: pip install omnigenai[all]
```

## Publishing to PyPI
1. Create a PyPI account at https://pypi.org/
2. Create an API token at https://pypi.org/manage/account/token/
3. Export credentials locally:
```bash
export TWINE_USERNAME="__token__"
export TWINE_PASSWORD="<your-token-here>"
```
4. Build and publish:
```bash
chmod +x publish.sh
./publish.sh
```

### Test upload first
```bash
chmod +x publish_testpypi.sh
./publish_testpypi.sh
```

### When to bump the version
Update `version` in `setup.py` before every new release.

## Documentation
See [docs/](docs/) for full API reference, tutorials, and examples.

## Contributing
MIT License. Contributions welcome!
