Metadata-Version: 2.4
Name: hembramagenticcore
Version: 1.1.1
Summary: Production-grade Python library for building scalable agentic AI systems with MCP and A2A integration
License: Apache-2.0
Requires-Python: >=3.11
Provides-Extra: a2a
Requires-Dist: fastapi>=0.111; extra == 'a2a'
Requires-Dist: httpx-sse>=0.4; extra == 'a2a'
Requires-Dist: httpx>=0.27; extra == 'a2a'
Requires-Dist: uvicorn>=0.29; extra == 'a2a'
Provides-Extra: all
Requires-Dist: anthropic>=0.25; extra == 'all'
Requires-Dist: asyncpg>=0.29; extra == 'all'
Requires-Dist: fastapi>=0.111; extra == 'all'
Requires-Dist: httpx-sse>=0.4; extra == 'all'
Requires-Dist: httpx>=0.27; extra == 'all'
Requires-Dist: openai>=1.0; extra == 'all'
Requires-Dist: qdrant-client>=1.9; extra == 'all'
Requires-Dist: rich>=13.0; extra == 'all'
Requires-Dist: uvicorn>=0.29; extra == 'all'
Provides-Extra: all-integrations
Requires-Dist: fastapi>=0.111; extra == 'all-integrations'
Requires-Dist: httpx-sse>=0.4; extra == 'all-integrations'
Requires-Dist: httpx>=0.27; extra == 'all-integrations'
Requires-Dist: uvicorn>=0.29; extra == 'all-integrations'
Provides-Extra: anthropic
Requires-Dist: anthropic>=0.25; extra == 'anthropic'
Provides-Extra: dev
Requires-Dist: fastapi>=0.111; extra == 'dev'
Requires-Dist: httpx>=0.27; extra == 'dev'
Requires-Dist: pre-commit>=3.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.24; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: respx>=0.21; extra == 'dev'
Requires-Dist: ruff>=0.4; extra == 'dev'
Provides-Extra: mcp
Requires-Dist: fastapi>=0.111; extra == 'mcp'
Requires-Dist: httpx-sse>=0.4; extra == 'mcp'
Requires-Dist: httpx>=0.27; extra == 'mcp'
Requires-Dist: uvicorn>=0.29; extra == 'mcp'
Provides-Extra: openai
Requires-Dist: openai>=1.0; extra == 'openai'
Provides-Extra: postgres
Requires-Dist: asyncpg>=0.29; extra == 'postgres'
Provides-Extra: qdrant
Requires-Dist: openai>=1.0; extra == 'qdrant'
Requires-Dist: qdrant-client>=1.9; extra == 'qdrant'
Provides-Extra: rich
Requires-Dist: rich>=13.0; extra == 'rich'
Description-Content-Type: text/markdown

# AgentiCore — Python Agentic Library

---

## What Is AgentiCore?

**AgentiCore** is a production-grade, open-source Python library for building scalable agentic AI systems. It provides:

- A **composable core framework** — build any agent type without being forced into a specific pattern
- **Built-in reasoning strategies** — ReAct, Plan-Execute, Reflection, Tree-of-Thought, and custom
- **Tiered memory system** — working, episodic, semantic (RAG), and procedural memory
- **Type-safe tool system** — define, validate, and compose tools with full schema enforcement
- **Multi-agent orchestration** — supervisor, pipeline, fan-out, debate, swarm patterns
- **Built-in Web UI** — visual agent builder, tool creator, real-time run viewer, trace inspector
- **Plugin ecosystem** — extend anything without forking the library
- **First-class observability** — structured tracing, cost tracking, step logging out of the box

---

## Design Philosophy

### 1. Explicit Over Magic
No hidden auto-wiring. Every component is explicitly configured. If an agent calls a tool, you see exactly where and why.

### 2. Composable, Not Opinionated
The `core` module is pure Python with zero mandatory dependencies. LangGraph, Qdrant, OpenAI — all are optional integrations, not requirements.

### 3. Schema-First
Every interface (tool inputs/outputs, agent state, memory schema, API payloads) is defined with strict types before implementation. Prevents entire classes of bugs.

### 4. Production-Ready From Day One
Retries, timeouts, cost budgets, circuit breakers, human-in-the-loop, and audit logging are built-in — not afterthoughts.

### 5. Observable By Default
Every agent step, tool call, LLM invocation, and memory operation emits structured events. You never wonder "what is the agent doing right now?"

### 6. Developer Experience First
The Web UI exists so that non-engineers can configure, run, and monitor agents without writing code. But engineers get full programmatic control of everything the UI does.

---

## Library Name & Namespace

```
Package name:  hembramagenticcore
Import as:     import hembramagenticcore as ag
PyPI slug:     hembramagenticcore
CLI command:   hembramagenticcore
```

---

## Core Value Propositions

| Other Libraries | AgentiCore |
|----------------|-----------|
| Lock you into one reasoning pattern | Support all patterns, switchable at runtime |
| Memory is bolted on | Memory is a first-class design concern |
| No Web UI — code only | Full Web UI with visual builder |
| Framework-heavy (forces LangChain/LangGraph) | Framework-agnostic core, optional integrations |
| Hard to extend tools | Plugin system + decorator-based tool registration |
| Poor observability | Structured tracing, cost tracking, step logging built-in |
| No multi-language vision | Python first, then Rust/C++/JS with shared protocols |

---

## Quick Concept Demo (Target API)

```python
import hembramagenticcore as ag

# 1. Define a tool with a decorator
@ag.tool(description="Search the web for current information")
def search_web(query: str, max_results: int = 5) -> list[ag.SearchResult]:
    ...

# 2. Build an agent
agent = (
    ag.AgentBuilder()
    .name("ResearchAgent")
    .llm(ag.LLM.GPT4O)
    .reasoning(ag.ReAct)
    .tools([search_web, ag.tools.CodeExecutor()])
    .memory(ag.memory.Qdrant(url="localhost:6333"))
    .max_steps(20)
    .build()
)

# 3. Run it
result = agent.run("Summarize key AI releases from Q1 2026")
print(result.output)
print(result.trace)   # Full step-by-step trace
print(result.cost)    # Token cost in USD

# 4. Or launch the Web UI
ag.serve(agents=[agent], port=8080)
```

---

## License & Contributing

- **License:** Apache 2.0 (permissive, commercial-friendly)
- **Contributing:** See [CONTRIBUTING.md](./CONTRIBUTING.md)
- **Code of Conduct:** See [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md)
