Metadata-Version: 2.3
Name: grami-ai
Version: 0.3.107
Summary: A dynamic and flexible AI agent framework for building intelligent, multi-modal AI agents
Project-URL: Homepage, https://github.com/YAFATEK/grami-ai
Project-URL: Documentation, https://grami-ai.readthedocs.io
Project-URL: Repository, https://github.com/YAFATEK/grami-ai
Project-URL: Issues, https://github.com/YAFATEK/grami-ai/issues
Author-email: YAFATEK Solutions / GRAMI Team <support@yafatek.dev>
Maintainer-email: YAFATEK Solutions <support@yafatek.dev>
License: MIT
Keywords: agent,ai,artificial-intelligence,generative-ai,llm,machine-learning
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
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
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.8
Requires-Dist: anthropic>=0.7.0
Requires-Dist: asyncio>=3.4.3
Requires-Dist: google-generativeai>=0.3.1
Requires-Dist: openai>=1.3.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: requests>=2.28.0
Provides-Extra: dev
Requires-Dist: black>=23.3.0; extra == 'dev'
Requires-Dist: flake8>=6.0.0; extra == 'dev'
Requires-Dist: isort>=5.12.0; extra == 'dev'
Requires-Dist: mypy>=1.3.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
Requires-Dist: pytest>=7.3.1; extra == 'dev'
Provides-Extra: docs
Requires-Dist: myst-parser>=1.0.0; extra == 'docs'
Requires-Dist: sphinx-rtd-theme>=1.2.0; extra == 'docs'
Requires-Dist: sphinx>=5.3.0; extra == 'docs'
Description-Content-Type: text/markdown

# Grami AI Framework

## Overview

Grami is a dynamic and flexible AI agent framework designed to create powerful, customizable AI agents with ease. The framework provides a comprehensive set of abstractions for building AI-powered applications across various domains.

## Key Features

- **Dynamic Agent Creation**: Define AI agents with specific roles and capabilities
- **Multi-LLM Support**: Compatible with multiple Language Models (OpenAI, Gemini, Anthropic, etc.)
- **Flexible Communication**: Supports various communication interfaces (WebSocket, REST, Kafka)
- **Extensible Memory Management**: Pluggable memory providers (In-Memory, Redis, DynamoDB)
- **Tool Customization**: Easily add and manage tools for agent functionality
- **Streaming Responses**: Support for streaming token-by-token responses
- **Asynchronous Design**: Built with modern Python async/await paradigms

## Quick Start

### Installation

```bash
pip install grami-ai
```

### Basic Usage

```python
from grami.agent import Agent
from grami.providers import GeminiProvider
from grami.tools import CalculatorTool

async def main():
    # Create an AI agent with a specific role and tool
    math_agent = Agent(
        name="MathAssistant",
        role="Mathematical Problem Solver",
        llm_provider=GeminiProvider(api_key="your_api_key"),
        tools=[CalculatorTool()],
        initial_context=[
            {
                "role": "system", 
                "content": "You are a helpful math assistant."
            }
        ]
    )

    # Send a message and get a response
    response = await math_agent.send_message("Calculate the area of a circle with radius 5")
    print(response)

    # Stream a detailed explanation
    async for token in math_agent.stream_message("Explain circle area calculation"):
        print(token, end='', flush=True)
```

## Supported Language Models

- Google Gemini
- OpenAI GPT
- Anthropic Claude (Coming Soon)

## Tools and Extensibility

Grami supports custom tools that agents can use to enhance their capabilities:

- Calculator Tool
- Web Search Tool
- Weather Information Tool
- Custom Tool Development Support

## Contributing

We welcome contributions! Please see our [CONTRIBUTING.md](CONTRIBUTING.md) for details on how to get started.

## License

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

## Roadmap

- [ ] Add more LLM providers
- [ ] Enhance tool ecosystem
- [ ] Improve documentation
- [ ] Add comprehensive test suite

## Contact

For questions, support, or collaboration, please open an issue on our GitHub repository.

.. image:: https://img.shields.io/badge/version-0.3.107-blue.svg
   :target: https://github.com/your-username/grami-ai
   :alt: Version