Skip to main content

agentic-fabric

PyPI version CI License: MIT Python

Framework-agnostic agent fabric orchestration. Declare fabric agents once in YAML, then run them on CrewAI, LangGraph, Strands, or local CLI runners without changing a single fabric agent definition. Runtime frameworks are optional and are detected lazily from what is installed.

Documentation | Source | Issues

Installation

# Core discovery, loading, runner selection, local CLI, and neutral file tools
pip install agentic-fabric

# With a specific framework
pip install "agentic-fabric[langgraph]"
pip install "agentic-fabric[strands]"

# Non-framework optional surfaces
pip install "agentic-fabric[mcp]"
pip install "agentic-fabric[scraping]"

Local CLI runners do not require a Python extra. Install the external CLI (aider, claude, codex, ollama, or a custom executable) and inspect profiles with agentic-fabric list-runners --json.

Vendor-backed passthrough extras will be added after the upstream vendor-fabric optional-extra contract is published and stable. Until then, vendor references stay lazy and report install guidance at use time.

There is no aggregate AI extra. Install exactly the framework or provider path you use. The CrewAI adapter remains lazy, but agentic-fabric does not publish a CrewAI extra while CrewAI depends on ChromaDB releases covered by an upstream critical advisory with no patched version. Install CrewAI separately only after reviewing that advisory state. Core, local-CLI, and first-party scraping installs are unaffected.

Quick Start

1. Define a Fabric Agent (YAML)

# .fabric/fabric_agents/analyzer/agents.yaml
code_reviewer:
  role: Senior Code Reviewer
  goal: Find bugs and improvements
  backstory: Expert at code analysis
# .fabric/fabric_agents/analyzer/tasks.yaml
review_code:
  description: Review the provided code for issues
  expected_output: List of findings with severity
  agent: code_reviewer

2. Run It

from pathlib import Path

from agentic_fabric import detect_framework, get_fabric_agent_config, run_fabric_agent_auto

# See what framework is available
framework = detect_framework()

# Load a fabric agent manifest discovered in a package or workspace
config = get_fabric_agent_config(Path(".fabric"), "analyzer")

# Auto-detect best framework and run
result = run_fabric_agent_auto(config, inputs={"code": "..."})

Or from the CLI:

agentic-fabric run my-package analyzer --input "Review this code: ..."

3. Use a Specific Runner

from agentic_fabric import get_runner

runner = get_runner("langgraph")  # Force LangGraph
fabric_agent = runner.build_fabric_agent(config)
result = runner.run(fabric_agent, inputs)

4. Carry Runtime Context with Data

from agentic_fabric import AgenticData, get_framework_info

print(get_framework_info())

session = AgenticData({"repo": "jbcom/agentic-fabric"})
session.register_fabric_agent("reviewer", config)
result = session.run_fabric_agent("reviewer", runtime="crewai")

Key Features

  • Framework agnostic: one fabric agent definition, multiple runtime backends.
  • Lazy imports: core package import does not require CrewAI, LangGraph, Strands, or vendor SDKs.
  • Framework-neutral file tools: built-in filesystem tools can be resolved without installing CrewAI or Pydantic; framework adapters add schema wrappers only when their optional dependencies are present.
  • Focused extras: langgraph, strands, mcp, scraping, tests, typing, docs, and dev.
  • AgenticData: carries data, registered fabric agents, active runtime selection, and vendor-layer context together.
  • Capability decorators: runners and tools expose declared capabilities through read-only metadata and deterministic dispatch.
  • Tool resolution: built-in, vendor URI, and registered factories are preferred; external dynamic imports require AGENTIC_FABRIC_TOOL_IMPORT_ALLOWLIST.
  • Vendor tool catalogs: AgenticData.vendor_tools() adapts inherited VendorData capability metadata into agent-facing tools without importing provider SDKs directly.
  • YAML-first: fabric agent configuration in YAML, not Python boilerplate.
  • Hierarchical orchestration: ManagerAgent delegates across fabric agents.
  • Package discovery: finds .fabric/, .crewai/, .langgraph/, and .strands/ directories.
  • Vendor passthrough extras are deferred until vendor-fabric is published with a stable optional-extra contract.
  • CLI and library: use from the command line or import as a module.

Framework Priority

  1. CrewAI, if installed.
  2. LangGraph, if CrewAI is unavailable.
  3. Strands, if neither CrewAI nor LangGraph is available.

You can always force a specific runner with get_runner("langgraph") or agentic-fabric run --framework langgraph.

If the selected runtime is not installed, errors point to the matching agentic-fabric[...] extra. Framework-specific config directories also enforce their runtime: a fabric agent in .langgraph/ will not silently run on CrewAI.

Local CLI Runners

For single-agent coding tools, use the --runner CLI path:

agentic-fabric list-runners --json
agentic-fabric run --runner aider --input "Add validation to auth.py"
agentic-fabric run --runner ollama --model deepseek-coder --input "Explain this module"

Profiles are loaded from the packaged local_cli_profiles.yaml, validated before use, and rejected on POSIX systems if the profiles file is group- or world-writable.

MCP Adapters

The mcp extra installs the MCP transport dependency and enables two console entry points:

agentic-fabric-vendor-mcp
agentic-fabric-meshy-mcp

agentic-fabric-vendor-mcp exposes credential-free vendor catalog tools and public vendor-fabric data methods. agentic-fabric-meshy-mcp converts Meshy capability metadata from vendor-fabric[meshy] into MCP tools. Both servers import provider code lazily; install the matching vendor-fabric package/extras in the same environment before running provider-backed tools. If provider startup fails, the adapter error includes the agentic-fabric[mcp] or vendor-fabric[...] install guidance plus the original import failure so missing provider extras are visible.

Repository Boundary

  • extended-data owns base data containers, logging, input handling, files, redaction, and generic workflows.
  • vendor-fabric owns vendor connectors, provider-backed sync, the SecretSync Python facade/capability surfaces, provider capability metadata, and provider dispatch.
  • agentic-fabric owns fabric agent discovery, runner selection, framework adapters, agent-facing tool wrappers, and orchestration.

Full guides and API documentation are published at jonbogaty.com/agentic-fabric. AGENTS.md contains durable repository guidance for Codex sessions.

Documentation

The docs are built with Sphinx, Furo, and sphinx-autodoc2:

tox -e docs

Local validation:

uv sync --all-packages --all-extras --dev
tox -e lint
tox -e typecheck
tox -e audit
tox -e py311
tox -e py312
tox -e py313
tox -e py314
tox -e coverage
tox -e plugin
tox -e examples
tox -e build

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agentic_fabric-1.2.2.tar.gz (127.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentic_fabric-1.2.2-py3-none-any.whl (83.0 kB view details)

Uploaded Python 3

File details

Details for the file agentic_fabric-1.2.2.tar.gz.

File metadata

  • Download URL: agentic_fabric-1.2.2.tar.gz
  • Upload date:
  • Size: 127.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for agentic_fabric-1.2.2.tar.gz
Algorithm Hash digest
SHA256 ea0f0e5d769a93b0b805493b3f9bf66062c4d6c4582680b4073917f2f1ca58bd
MD5 fe60b07bf769efb40a717818a2039121
BLAKE2b-256 142fc28d979bac172e621c6f8dd97df32754275e99477ec620b89297953a8616

See more details on using hashes here.

File details

Details for the file agentic_fabric-1.2.2-py3-none-any.whl.

File metadata

  • Download URL: agentic_fabric-1.2.2-py3-none-any.whl
  • Upload date:
  • Size: 83.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for agentic_fabric-1.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 781e977c7275fc0d795c39cbe8c2c787066502a970277721930bc6d5ccd471de
MD5 b0dbe390839e3694da3963a836e82b8a
BLAKE2b-256 e6bfa2cabb31476053c38a0d026a89b4f533fe9c591574064bdc08949d8432f6

See more details on using hashes here.

Release history Release notifications | RSS feed

1.4.0

2 files

1.3.0

2 files

1.2.3

2 files

This release

1.2.2 This release

2 files

1.2.1

2 files

1.2.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page