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:
afctlcommand for authentication and management - 🔐 OAuth2/PKCE: Secure browser-based authentication with token storage
Install
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:
# 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
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:
# List tools and agents
tools = await af.list_tools()
agents = await af.list_agents()
# Invoke Slack tools
result = await af.invoke_connection("my-slack", method="get_channels")
# Post a Slack message
await af.invoke_connection(
"my-slack",
method="post_message",
parameters={"channel": "test", "text": "Hello from SDK!"}
)
# Get Gmail emails
result = await af.invoke_connection(
"gmail_work",
method="get_emails",
parameters={"max_results": 10, "q": "is:unread"}
)
emails = result.get("emails", [])
# Send an email
await af.invoke_connection(
"gmail_work",
method="send_email",
parameters={
"to": "recipient@example.com",
"subject": "Hello from SDK",
"body": "This email was sent via Agentic Fabric SDK!"
}
)
DX orchestration:
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"))
B2B2C (developer edition): your users' tools
from af_sdk import AgenticFabriq
af = AgenticFabriq() # AF_APP_ID / AF_APP_SECRET / AF_BASE_URL
url = await af.initiate_connection(request, provider="gmail") # OAuth
url = await af.initiate_connection(request, provider="notion", method="api_key") # no OAuth: user pastes a key on our page
async with await af.for_user(request) as session:
tools = await session.get_tools()
result = await session.call_tool("notion_list_pages", {})
See docs/developer-edition/quickstart.md for the full flow, including
webhooks and framework adapters. AF_BASE_URL selects the environment (the
MCP endpoint follows it).
License
Apache-2.0
Metadata
Release files for agentic-fabriq-sdk 0.1.88
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| agentic_fabriq_sdk-0.1.88.tar.gz | 92.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agentic_fabriq_sdk-0.1.88-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 207.5 kB
Release files / agentic_fabriq_sdk-0.1.88.tar.gz
| Download URL | agentic_fabriq_sdk-0.1.88.tar.gz |
|---|---|
| Size | 92.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3a65630a197b33e938148d6468d68e6a0de3333de096648c5a04f42b9ea0a06a
|
|
BLAKE2b-256 checksum How to use checksums |
267f009a32bf5ce8486b1657ad2c46607e6b888c1fd48c8548681621063b4b81
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.1 CPython/3.14.7 Darwin/25.4.0
|
Release files / agentic_fabriq_sdk-0.1.88-py3-none-any.whl
| Download URL | agentic_fabriq_sdk-0.1.88-py3-none-any.whl |
|---|---|
| Size | 114.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d88a49fbcdd77dde953f95145c7c49bc8c5cbf3675044a4c1967b3edd9cd6e9c
|
|
BLAKE2b-256 checksum How to use checksums |
fb384ca00517e2faf94f782306754bdb12dd039214f3a3bb067e24255ac155b0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.1 CPython/3.14.7 Darwin/25.4.0
|