Skip to main content

An open-source, provider-agnostic agentic framework + interactive project scaffolder for LangChain and CrewAI. Pick your LLM provider, agents, RAG, memory, MCP tools and skills — generate a ready-to-run uv project.

Project description

🧬 AgentX-Kit

PyPI Python License: MIT

A provider-agnostic agentic framework + interactive project scaffolder for LangChain & CrewAI.

Pick your LLM provider (OpenAI, Azure, OpenRouter, Anthropic, Gemini, Vertex AI, Bedrock, Groq, Ollama), choose your framework, agents, RAG, memory, MCP tools and skills — and AgentX-Kit generates a ready-to-run project in its own uv virtual environment.

pip install "agentx-kit[all]"
agentx new                 # interactive wizard → scaffolds a uv project

The PyPI distribution is agentx-kit; the import name and CLI are agentx (pip install agentx-kitimport agentx / agentx --help).

📦 Installation

From PyPI (recommended)

pip install agentx-kit                 # core: CLI + scaffolder + base abstractions
pip install "agentx-kit[all]"          # everything

Each LLM provider is an optional extra so you only pull the SDKs you use:

pip install "agentx-kit[openai,langgraph]"        # OpenAI + LangGraph
pip install "agentx-kit[bedrock,crewai,rag,mcp]"  # Bedrock + CrewAI + RAG + MCP

Using uv

uv pip install "agentx-kit[all]"

From GitHub (latest, unreleased)

pip install "agentx-kit[all] @ git+https://github.com/muhammadyahiya/agentx-kit.git"

From a local clone (development)

git clone https://github.com/muhammadyahiya/agentx-kit.git
cd agentx-kit
uv venv && uv pip install -e ".[all,dev]"   # or: pip install -e ".[all,dev]"
pytest -q

Requires Python 3.10–3.13 and (for the scaffolder's .venv creation) uv.

Verify

agentx version
agentx providers     # lists every provider + the env vars it needs

Why

  • One factory, every provider. get_chat_model("bedrock", ...) or get_chat_model("openrouter", ...) — same call, lazy imports, install only the extras you use.
  • Two frameworks. LangChain/LangGraph and CrewAI from the same building blocks.
  • Batteries included. RAG, short/long-term memory, MCP tools, and a skills registry — each optional and gracefully degrading.
  • Scaffolder, not a black box. The generated project is readable, idiomatic code you own, pre-wired to your selections, in a fresh .venv.

Use as a library

from agentx import get_chat_model, list_providers

llm = get_chat_model("openai", "gpt-4o-mini")
print(llm.invoke("Say hi in 3 words").content)

for spec in list_providers():
    print(spec.id, "→", spec.label)

CrewAI:

from agentx import get_crewai_llm
llm = get_crewai_llm("openrouter", "anthropic/claude-3.5-sonnet")

Scaffold a project

agentx new                         # fully interactive
agentx new --name my-bot --yes     # accept sensible defaults
agentx providers                   # list providers + required env vars

The wizard asks, one option at a time:

  1. Project name & target directory
  2. Framework — LangGraph or CrewAI
  3. LLM provider and model
  4. Number of agents (and their roles)
  5. RAG module? (vector store)
  6. Memory? (short-term / long-term / both)
  7. MCP tools?
  8. Skills integration?
  9. Prompt style (defaults or scaffolded custom prompts)
  10. Create .venv and uv sync now?

It then renders the project, writes a feature-aware pyproject.toml + .env.example, and runs uv venv to create .venv.

Prompts: add at creation, or any time after

Prompts are not baked into code — every generated project keeps them in a prompts.json that agents.py loads dynamically. Add an entry and the project runs it on next start, no code changes.

# at creation
agentx new --yes -n chatops --prompt "You are a senior DevOps engineer. Be terse."

# after creation (run inside the project)
agentx prompt list
agentx prompt set assistant --text "You are an SRE. Prioritise reliability."
agentx prompt add reviewer --role "Code Reviewer" --goal "Review diffs" \
    --text "You review code for bugs and security."
agentx prompt remove reviewer

prompts.json:

{
  "with_rag": false,
  "agents": {
    "assistant": {"role": "...", "goal": "...", "system_prompt": "You are ..."}
  }
}

A blank system_prompt is auto-derived from the agent's role + goal. You can also just open prompts.json in an editor — the CLI is a convenience, not a gate.

📊 Prompt dashboard (observability + optimization)

A Streamlit workbench to understand and refine how your prompts talk to the LLM — launch it any time:

pip install "agentx-kit[dashboard]"
agentx dashboard                 # opens http://localhost:8501
agentx prompt set assistant -d   # edit a prompt AND open the dashboard

It gives you, live as you edit:

  • Token count, context-window utilization gauge, and cost estimate (tiktoken-accurate).
  • Quality score (0–100) with a checklist (role / goal / output-format / examples / constraints / specificity) and concrete suggestions + limit warnings.
  • ✨ One-click LLM optimization — refines the prompt while preserving intent, shows a diff + rationale + token delta, and can apply the result straight back to prompts.json.
  • ▶️ Test run — send the prompt to the model and see the response with tokens in/out, latency, and cost.
  • 📈 Usage trends — tokens, cost, and latency over time, logged locally to .agentx/insights.jsonl.

Run it inside a generated AgentX project and it reads/writes that project's prompts.json; run it anywhere else for a free-form prompt scratchpad.

🏢 Enterprise pack

Generate a production-shaped project with one flag — informed by a survey of CrewAI/LangGraph/create-llama/AgentStack/agno/pydantic-ai (see RESEARCH.md):

agentx new --yes -n my-bot --enterprise        # everything below
# or pick individually:
agentx new --yes -n my-bot --observability --guardrails --serve --docker --ci --evals

What --enterprise adds to the generated project:

  • Observability — OpenTelemetry GenAI tracing + optional Langfuse (observability.py), opt-out via AGENTX_TELEMETRY=false.
  • Guardrails — input/output validation + PII redaction (guardrails.py).
  • FastAPI serverserver.py with /health, /chat, and SSE /chat/stream.
  • DockerDockerfile + docker-compose.yml (+ .dockerignore).
  • CI.github/workflows/ci.yml (lint + compile + tests, optional eval gate).
  • Evalsevals/ LLM-as-judge harness runnable locally and in CI.
  • Typed configconfig.py via pydantic-settings (12-factor).
  • Manifestagentx.json declaring framework, provider, features (à la langgraph.json).

These are also usable as a library in any project:

from agentx import (
    setup_tracing, get_callbacks,          # observability
    build_resilient_chat,                  # retries + provider fallbacks
    UsageLimits, UsageTracker,             # token/cost budgets
    apply_guards, structured_model,        # guardrails + typed outputs
)
setup_tracing("my-service")
llm = build_resilient_chat("openai", "gpt-4o-mini", fallbacks=[("anthropic", "claude-3-5-sonnet-latest")])

Installation extras

Extra Installs For
openai / azure / openrouter langchain-openai OpenAI-compatible
anthropic langchain-anthropic Claude
google langchain-google-genai Gemini (AI Studio)
vertex langchain-google-vertexai Vertex AI
bedrock langchain-aws Amazon Bedrock
groq langchain-groq Groq
ollama langchain-ollama local
langgraph langgraph, langchain LangGraph agents
crewai crewai CrewAI crews
rag langchain-community, chromadb RAG
mcp langchain-mcp-adapters MCP tools
observability opentelemetry-*, openinference-* tracing
server fastapi, uvicorn serving
dashboard streamlit, tiktoken, pandas prompt observability dashboard
all everything above kitchen sink

See DESIGN.md for the architecture and RESEARCH.md for the competitive analysis behind these features.

License

MIT

Project details


Download files

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

Source Distribution

agentx_kit-0.3.0.tar.gz (54.2 kB view details)

Uploaded Source

Built Distribution

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

agentx_kit-0.3.0-py3-none-any.whl (66.2 kB view details)

Uploaded Python 3

File details

Details for the file agentx_kit-0.3.0.tar.gz.

File metadata

  • Download URL: agentx_kit-0.3.0.tar.gz
  • Upload date:
  • Size: 54.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for agentx_kit-0.3.0.tar.gz
Algorithm Hash digest
SHA256 631a0899f2031e06d82efe8b6da0a95321a79f49991e2535ed93869dc51e16a1
MD5 bc0b510b06c6cab99e7c5c138103530a
BLAKE2b-256 0ae5c42d9a00bf4062bb1a5d5ece833b7fa10464791fb03e2f7a3ab772f394c1

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentx_kit-0.3.0.tar.gz:

Publisher: publish.yml on muhammadyahiya/agentx-kit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agentx_kit-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: agentx_kit-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 66.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for agentx_kit-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 00bde8a088b7d0e24ed5698bfc1c8c0a30e4dfa9aee2edf886639d9ba243525a
MD5 fe508fc6e9c55394817bebf0cbe97cdc
BLAKE2b-256 56ed1857c10bc467c973e92a36ece8d6da65aa34a52e9b6d907aac0acd5ca920

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentx_kit-0.3.0-py3-none-any.whl:

Publisher: publish.yml on muhammadyahiya/agentx-kit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page