A modular, multi-provider AI agent framework for building intelligent tool-using agents with Gemini, Groq, Ollama, Azure OpenAI, and Anthropic.
Project description
🧠 Logicore
A modular, multi-provider AI agent framework for Python
Build intelligent, tool-using AI agents that work across Gemini, Groq, Ollama, Azure OpenAI, and Anthropic — with a single unified API.
✨ 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
# 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
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
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
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/
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
📄 License
This project is licensed under the MIT License — see the LICENSE file for details.
Built with ❤️ by RudraModi360
⭐ Star this repo if you find it useful!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file logicore-0.1.1.tar.gz.
File metadata
- Download URL: logicore-0.1.1.tar.gz
- Upload date:
- Size: 133.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
519ea5f0f6fdc5066938b08e6e177e30a055b4bba4253d942cadb11bd7564674
|
|
| MD5 |
c5c57b5384de06212cde4d7aebeae4ed
|
|
| BLAKE2b-256 |
00c614a0ce292f355e3efd176788d3deab25af538bbc1ee382780938f8f034ce
|
File details
Details for the file logicore-0.1.1-py3-none-any.whl.
File metadata
- Download URL: logicore-0.1.1-py3-none-any.whl
- Upload date:
- Size: 160.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2b817d08c67c4984b58cbe160a2877fa3a79dfa63ae84c7f5b4bbd42f6891131
|
|
| MD5 |
937e41a35630e750e82c41a7a7876ef3
|
|
| BLAKE2b-256 |
2ad1e551632558b35aef8017d779c79083446109fb2b6ea9ef635bb0926097e6
|