Metadata-Version: 2.4
Name: agentic-fabriq-sdk
Version: 0.1.8
Summary: Agentic Fabriq SDK: high-level client, CLI tool, DX helpers, and auth for AI agents
License: Apache-2.0
Keywords: fabriq,agentic-fabriq,sdk,ai,agents,agentic,fabric,cli
Author: Agentic Fabriq Contributors
Author-email: contributors@agentic-fabriq.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: aiohttp (>=3.9.0)
Requires-Dist: httpx (>=0.25)
Requires-Dist: keyring (>=25.0.0)
Requires-Dist: nats-py (>=2.4.0)
Requires-Dist: opentelemetry-api (>=1.20.0)
Requires-Dist: opentelemetry-instrumentation-httpx (>=0.41b0)
Requires-Dist: pydantic (>=2.4)
Requires-Dist: rich (>=13.7.0)
Requires-Dist: stevedore (>=5.1.0)
Requires-Dist: typer (>=0.9.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 Fabriq SDK

`agentic-fabriq-sdk` provides a Python SDK and CLI tool for interacting with Agentic Fabriq.

**What's included:**
- 🐍 **Python SDK**: High-level client (`af_sdk.FabriqClient`) and DX layer
- 🛠️ **CLI Tool**: `afctl` command for authentication and management
- 🔐 **OAuth2/PKCE**: Secure browser-based authentication with token storage

## Install

```bash
pip install agentic-fabriq-sdk
```

This installs both the Python library and the `afctl` CLI tool.

## Quickstart

### CLI Tool

Authenticate and manage your Agentic Fabriq resources:

```bash
# Login with OAuth2 (browser opens automatically)
afctl auth login

# Check authentication status
afctl auth status

# List available tools
afctl tools list

# List agents
afctl agents list

# Get help
afctl --help
```

### Python SDK

```python
from af_sdk.fabriq_client import FabriqClient

TOKEN = "..."  # Bearer JWT for the Fabriq Gateway
BASE = "https://dashboard.agenticfabriq.com"

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="https://dashboard.agenticfabriq.com", access_token=TOKEN, tenant_id=TENANT)
agents = AgentFabric(base_url="https://dashboard.agenticfabriq.com", 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="https://dashboard.agenticfabriq.com",
    access_token=TOKEN,
    tenant_id=TENANT,
    provider_fabrics={"slack": slack},
)
print(bot.run("Summarize my Slack messages"))
```

## License

Apache-2.0

