A modular, multi-provider AI agent framework for building intelligent tool-using agents with Gemini, Groq, Ollama, Azure OpenAI, and Anthropic.
Project description
Logicore AI Framework
Logicore is a powerful Python framework designed for building intelligent, multi-provider AI agents. Whether you're running local open-source models via Ollama or connecting to cloud models like Gemini and OpenAI, Logicore provides a unified, transparent, and highly robust interface without vendor lock-in.
🌟 Key Features
- Unified Multi-Provider Architecture: Switch between LLM backends (Ollama, Gemini, OpenAI, Groq) seamlessly. Your agent logic and tool schemas remain completely unchanged.
- Native Streaming & Reasoning Extraction: Advanced streaming support that pulls hidden
<think>reasoning tokens from local models (likeqwen3.5:0.8band DeepSeek series) so your UI updates in real-time before tools execute. - First-Class Tooling: Turn any Python function into an LLM tool automatically. Logicore parses type hints and docstrings into JSON schemas, supports
**kwargsfor hallucination-resilience, and safely reflects execution errors back to the model. - Built-in Cron Job Scheduler: Endow your agents with temporal awareness. Agents can natively schedule, manage, and execute automated background tasks without external infrastructure.
- Persistent Memory & RAG: Equip agents with long-term conversational memory and semantic vector search so they never lose context across sessions.
- Built-in Skills & Copilot: Pre-packaged skill sets (Web Research, Code Review, File Manipulation) and a ready-to-use
CopilotAgentfor instant productivity.
🚀 Quickstart
Get an intelligent, tool-enabled agent running locally in two minutes.
1. Install Logicore
pip install logicore
2. Run your first Agent
Make sure you have Ollama installed and a model pulled (ollama run qwen3.5:0.8b).
import asyncio
from logicore.providers.ollama_provider import OllamaProvider
from logicore.agents.agent import Agent
# 1. Define a robust custom tool
def check_weather(location: str, **kwargs) -> str:
"""Checks the current weather for a specific location."""
if "seattle" in location.lower():
return "72°F and sunny."
return "65°F and cloudy."
async def main():
# 2. Initialize provider and agent
provider = OllamaProvider(model_name="qwen3.5:0.8b")
agent = Agent(
llm=provider,
role="Weather Assistant",
system_message="Use the provided tools to answer user questions accurately.",
tools=[check_weather],
debug=True
)
# 3. Stream the execution live
def on_token(token):
print(token, end="", flush=True)
print("Agent is thinking...\n")
response = await agent.chat(
"What's the weather like in Seattle today?",
callbacks={"on_token": on_token},
stream=True
)
print("\n\nFinal Output:", response['content'])
if __name__ == "__main__":
asyncio.run(main())
📚 Documentation
Comprehensive documentation for Logicore is available via our official site. It includes deep dives into Agents, Providers, Skills, Custom Tool guidelines, and a full API Reference.
👉 Read the Official Documentation here
🤝 Community & Contributions
- Discord: Join our official server to connect with other developers: Logicore Discord
- Contributing: We welcome all contributions! Please see our Contributing Guidelines to get started.
Built with ❤️ for multi-provider agentic workflows.
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-1.0.2.tar.gz.
File metadata
- Download URL: logicore-1.0.2.tar.gz
- Upload date:
- Size: 152.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
073f1ab77c4badafbcf0fef3c9735693cd0ebdc217c23e3b7ba1c2ebf3da1ae6
|
|
| MD5 |
1e6d942e7009afb83f4eaac9eee307c4
|
|
| BLAKE2b-256 |
da730521e89d7c1b35835ba0619fc98600a43b0c7532a8961486ff2d435dc427
|
File details
Details for the file logicore-1.0.2-py3-none-any.whl.
File metadata
- Download URL: logicore-1.0.2-py3-none-any.whl
- Upload date:
- Size: 180.5 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 |
ed4cd252c0c35870f15fda511961f034300f5fae225b80b99e1735c5839a5426
|
|
| MD5 |
f5c5d38db9d36ced96bba2f381790d35
|
|
| BLAKE2b-256 |
c491657e427a9c545598271151cb2b63f7a2966c81d707ccf92883e310591917
|