Metadata-Version: 2.4
Name: logicore
Version: 0.1.1
Summary: A modular, multi-provider AI agent framework for building intelligent tool-using agents with Gemini, Groq, Ollama, Azure OpenAI, and Anthropic.
Author-email: RudraModi360 <rudramodi360@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/RudraModi360/Agentry
Project-URL: Documentation, https://rudramodi360.github.io/Agentry/
Project-URL: Repository, https://github.com/RudraModi360/Agentry
Project-URL: Bug Tracker, https://github.com/RudraModi360/Agentry/issues
Project-URL: Changelog, https://github.com/RudraModi360/Agentry/blob/main/deploy/CHANGELOG.md
Keywords: AI agents,LLM framework,tool-use,function-calling,MCP,multi-provider,Gemini,Groq,Ollama,Azure OpenAI,Anthropic,AI copilot,agentic AI,smart agents,model context protocol,logicore
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Operating System :: OS Independent
Classifier: Typing :: Typed
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pydantic>=2.0
Requires-Dist: requests>=2.28
Requires-Dist: python-dotenv>=1.0
Provides-Extra: gemini
Requires-Dist: google-genai>=1.0; extra == "gemini"
Provides-Extra: groq
Requires-Dist: groq>=0.4; extra == "groq"
Provides-Extra: ollama
Requires-Dist: ollama>=0.1; extra == "ollama"
Provides-Extra: azure
Requires-Dist: openai>=1.0; extra == "azure"
Requires-Dist: httpx>=0.24; extra == "azure"
Provides-Extra: anthropic
Requires-Dist: anthropic>=0.20; extra == "anthropic"
Provides-Extra: mcp
Requires-Dist: mcp>=0.9; extra == "mcp"
Provides-Extra: tools
Requires-Dist: pypdf>=3.0; extra == "tools"
Requires-Dist: python-docx>=0.8; extra == "tools"
Requires-Dist: openpyxl>=3.0; extra == "tools"
Provides-Extra: reloader
Requires-Dist: watchdog>=3.0; extra == "reloader"
Provides-Extra: all
Requires-Dist: google-genai>=1.0; extra == "all"
Requires-Dist: groq>=0.4; extra == "all"
Requires-Dist: ollama>=0.1; extra == "all"
Requires-Dist: openai>=1.0; extra == "all"
Requires-Dist: httpx>=0.24; extra == "all"
Requires-Dist: anthropic>=0.20; extra == "all"
Requires-Dist: mcp>=0.9; extra == "all"
Requires-Dist: pypdf>=3.0; extra == "all"
Requires-Dist: python-docx>=0.8; extra == "all"
Requires-Dist: openpyxl>=3.0; extra == "all"
Requires-Dist: watchdog>=3.0; extra == "all"
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21; extra == "dev"
Requires-Dist: build>=1.0; extra == "dev"
Requires-Dist: twine>=4.0; extra == "dev"
Dynamic: license-file

<div align="center">

# 🧠 Logicore

**A modular, multi-provider AI agent framework for Python**

[![PyPI version](https://img.shields.io/pypi/v/logicore?color=blue&logo=pypi&logoColor=white)](https://pypi.org/project/logicore/)
[![Python](https://img.shields.io/pypi/pyversions/logicore?logo=python&logoColor=white)](https://pypi.org/project/logicore/)
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)
[![Downloads](https://img.shields.io/pypi/dm/logicore?color=orange)](https://pypi.org/project/logicore/)

Build intelligent, tool-using AI agents that work across **Gemini**, **Groq**, **Ollama**, **Azure OpenAI**, and **Anthropic** — with a single unified API.

[📖 Documentation](https://rudramodi360.github.io/Agentry/) · [🐛 Report Bug](https://github.com/RudraModi360/Agentry/issues) · [💡 Request Feature](https://github.com/RudraModi360/Agentry/issues)

</div>

---

## ✨ Why Logicore?

Logicore is a **lightweight, production-ready** Python framework for building AI agents that can use tools, remember context, and work with any major LLM provider. No vendor lock-in — swap providers with one line.

### 🔑 Key Features

| Feature | Description |
|---------|-------------|
|  **Multi-Provider** | Gemini, Groq, Ollama, Azure OpenAI, Anthropic — one interface |
|  **Tool Use** | Built-in file, web, git, PDF, Office, and code execution tools |
|  **MCP Support** | Model Context Protocol for dynamic tool discovery |
|  **Streaming** | Real-time token streaming with async callbacks |
|  **Vision** | Multimodal image understanding across supported models |
|  **Memory** | Session persistence and simple memory stores |
|  **Telemetry** | Built-in execution tracing and walkthrough generation |
|  **Skills** | Modular, reusable skill packs for domain-specific tasks |
|  **Hot Reload** | Live code reloading during development |

---

## 🚀 Quick Start

### Installation

```bash
# Core framework
pip install logicore

# With a specific provider
pip install logicore[gemini]    # Google Gemini
pip install logicore[groq]      # Groq
pip install logicore[ollama]    # Ollama (local)
pip install logicore[azure]     # Azure OpenAI / Anthropic

# Everything
pip install logicore[all]
```

### Your First Agent

```python
from logicore import BasicAgent, create_agent, tool

# Define a custom tool
@tool
def get_weather(city: str) -> str:
    """Get current weather for a city."""
    return f"It's sunny and 24°C in {city}!"

# Create an agent with Groq
agent = create_agent(
    provider="groq",
    model="llama-3.3-70b-versatile",
    tools=[get_weather]
)

# Chat with your agent
response = await agent.chat("What's the weather in Tokyo?")
print(response)
```
---

### Multi-Provider Flexibility

```python
from logicore import Agent, SmartAgent
from logicore import GroqProvider, GeminiProvider, OllamaProvider

# Swap providers without changing your agent code
groq = GroqProvider(model_name="llama-3.3-70b-versatile")
gemini = GeminiProvider(model_name="gemini-2.0-flash")
ollama = OllamaProvider(model_name="llama3.2")

agent = Agent(provider=groq)  # or gemini, or ollama
response = await agent.chat("Explain quantum computing")
```

### MCP Integration

```python
from logicore import MCPAgent, GroqProvider

# Agent with Model Context Protocol servers
agent = MCPAgent(
    provider=GroqProvider(model_name="llama-3.3-70b-versatile"),
    mcp_config="mcp.json"
)
response = await agent.chat("Search for recent AI papers")
```

## 🛠️ Built-in Tools

Logicore ships with a comprehensive set of ready-to-use tools:

- **File System** — Read, write, list, search files
- **Web** — Search the web, fetch URLs, image search
- **Git** — Run git commands programmatically
- **Code Execution** — Execute Python and shell commands safely
- **Documents** — Read PDFs, DOCX, XLSX, and more
- **PDF Tools** — Merge and split PDF files
- **Office Tools** — Create and edit Word/Excel documents

---

## 🏗️ Agent Types

| Agent | Best For |
|-------|----------|
| `BasicAgent` | Simple single-turn tool-calling agents |
| `Agent` | Full-featured agents with memory and tools |
| `SmartAgent` | Autonomous multi-step reasoning agents |
| `CopilotAgent` | Interactive copilot with step-by-step execution |
| `MCPAgent` | Agents with dynamic MCP tool discovery |

---

## 📖 Documentation

Full documentation available at: [https://rudramodi360.github.io/Agentry/](https://rudramodi360.github.io/Agentry/)

---

## 🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

---

## 📄 License

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

---

<div align="center">

**Built with ❤️ by [RudraModi360](https://github.com/RudraModi360)**

⭐ Star this repo if you find it useful!

</div>
