Metadata-Version: 2.4
Name: syntha
Version: 0.2.5
Summary: Prompt-based multi-agent context framework
Home-page: https://github.com/syntha/syntha-sdk
Author: Syntha Team
Author-email: Syntha Team <contact@syntha.ai>
License: Apache-2.0
Project-URL: Homepage, https://github.com/Kirch77/syntha
Project-URL: Repository, https://github.com/Kirch77/syntha
Project-URL: Documentation, https://doc.syntha.ca
Project-URL: Issues, https://github.com/Kirch77/syntha/issues
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
Requires-Dist: typing-extensions>=4.0.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: black>=22.0.0; extra == "dev"
Requires-Dist: isort>=5.0.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Provides-Extra: frameworks
Requires-Dist: langchain>=0.1.0; extra == "frameworks"
Requires-Dist: langgraph>=0.1.0; extra == "frameworks"
Requires-Dist: openai>=1.0.0; extra == "frameworks"
Requires-Dist: anthropic>=0.25.0; extra == "frameworks"
Requires-Dist: agno>=1.0.0; extra == "frameworks"
Dynamic: author
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python

# Syntha SDK

The context-based multi‑agent framework. Build agents that share, route, and persist context — with first‑class tooling for prompts, tools, and popular LLM frameworks.

[![Python 3.9+](https://img.shields.io/badge/python-3.9+-blue.svg)](https://www.python.org/downloads/)
[![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-green.svg)](https://opensource.org/licenses/Apache-2.0)
[![Documentation](https://img.shields.io/badge/docs-available-blue.svg)](https://doc.syntha.ca)

---

## Why Syntha

- Context Mesh with topic routing and user isolation
- ToolHandler with adapters (OpenAI, Anthropic, LangChain, Agno)
- Prompt builders for system and message prompts
- Pluggable persistence (SQLite, PostgreSQL)
- Lightweight, framework‑agnostic, production‑ready

## Install

```bash
pip install syntha
```

## 60‑second Quick Start

```python
from syntha import ContextMesh, ToolHandler, build_system_prompt

# 1) Shared context, isolated per user
context = ContextMesh(user_id="demo_user")

# 2) Agents interact via tools (no manual data passing)
handler = ToolHandler(context, "AssistantAgent")
context.push("project", "AI Customer Support")
context.push("status", "active", topics=["support"])  # topic‑routed

# 3) Context‑aware prompts for your LLM
system_prompt = build_system_prompt("AssistantAgent", context)
print(system_prompt[:200] + "...")
```

## Framework Integrations

- OpenAI function calling: `handler.get_openai_functions()`
- Anthropic tool use: `handler.get_anthropic_tools()`
- LangChain BaseTool: `handler.get_langchain_tools()`
- Agno Functions: `handler.get_tools_for_framework("agno")`

See the docs for concise, copy‑paste examples.

## Documentation

- Docs: https://doc.syntha.ca
- Quick Start: https://doc.syntha.ca/user-guide/introduction/quick-start/
- Examples: https://doc.syntha.ca/examples/overview/
- API Reference: https://doc.syntha.ca/api/overview/

## License

Apache 2.0 © Syntha. See [LICENSE](LICENSE).
