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.

🏢 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
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.2.0.tar.gz (44.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.2.0-py3-none-any.whl (53.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: agentx_kit-0.2.0.tar.gz
  • Upload date:
  • Size: 44.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.2.0.tar.gz
Algorithm Hash digest
SHA256 66c45a8ed8f31c5a349001426a18029c3e8bea4322a5fe84a434dcf8c81c69ae
MD5 4e9cd3632888af8c11cc4908cf5d49c7
BLAKE2b-256 0a8fbbd54942a2085e39017f2c93e475dcdf25036307706fd5cc5761dd2177d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentx_kit-0.2.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.2.0-py3-none-any.whl.

File metadata

  • Download URL: agentx_kit-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 53.5 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9db26ce6bb079fd1f1620b6ae03707fbca276732701d909a39f8865a13eb8a60
MD5 e17e890669d7201c2726f8401c17f713
BLAKE2b-256 041053ccf50260c36105f0a0ba24c31535bae2a0a2b01beb4cf3e238349c5a31

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentx_kit-0.2.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