Metadata-Version: 2.4
Name: agentic-fabric-sdk
Version: 0.1.3
Summary: Fabriq/Agentic Fabric Python SDK: high-level client, DX helpers, auth
License: Apache-2.0
Keywords: fabriq,agentic-fabric,sdk,ai,agents
Author: Agentic Fabric Contributors
Author-email: contributors@agentic-fabric.org
Requires-Python: >=3.11,<3.13
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Typing :: Typed
Requires-Dist: PyJWT (>=2.8.0)
Requires-Dist: httpx (>=0.25)
Requires-Dist: pydantic (>=2.4)
Requires-Dist: stevedore (>=5.1.0)
Requires-Dist: typing-extensions
Project-URL: Documentation, https://docs.agentic-fabric.org
Project-URL: Homepage, https://github.com/agentic-fabric/agentic-fabric
Project-URL: Repository, https://github.com/agentic-fabric/agentic-fabric
Description-Content-Type: text/markdown

# Agentic Fabric SDK (Fabriq)

`agentic-fabric-sdk` provides a Python SDK for interacting with Fabriq/Agentic Fabric.

- High-level client: `af_sdk.FabriqClient`
- DX layer: `af_sdk.dx` (`ToolFabric`, `AgentFabric`, `MCPServer`, `Agent`, and `tool`)

## Install

```bash
pip install agentic-fabric-sdk
```

## Quickstart

```python
from af_sdk.fabriq_client import FabriqClient

TOKEN = "..."  # Bearer JWT for the Fabriq Gateway
BASE = "http://localhost:8000"

async def main():
    async with FabriqClient(base_url=BASE, auth_token=TOKEN) as af:
        agents = await af.list_agents()
        print(agents)
```

DX orchestration:

```python
from af_sdk.dx import ToolFabric, AgentFabric, Agent, tool

slack = ToolFabric(provider="slack", base_url="http://localhost:8000", access_token=TOKEN, tenant_id=TENANT)
agents = AgentFabric(base_url="http://localhost:8000", access_token=TOKEN, tenant_id=TENANT)

@tool
def echo(x: str) -> str:
    return x

bot = Agent(
    system_prompt="demo",
    tools=[echo],
    agents=agents.get_agents(["summarizer"]),
    base_url="http://localhost:8000",
    access_token=TOKEN,
    tenant_id=TENANT,
    provider_fabrics={"slack": slack},
)
print(bot.run("Summarize my Slack messages"))
```

## License

Apache-2.0

