Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

langgraph-forge

Initialise LangGraph-based agent architectures: pick a provider, a pattern, a deployment — get a runnable project.

PyPI - Version PyPI - Python Versions License: MIT CI

Why?

LangGraph's primitives — init_chat_model, create_react_agent, langgraph-supervisor, langchain-mcp-adapters, cloud-runtime wrappers — are individually excellent but scattered across five packages with inconsistent config shapes. Every team building an agent re-writes the same wiring.

langgraph-forge absorbs that wiring into thin, opinionated factories plus a CLI scaffolder. We compose, we don't reimplement. The value is a coherent surface and a trade-off-aware starter, not new primitives.

Install

pip install langgraph-forge
# or, for optional cloud adapters:
pip install 'langgraph-forge[bedrock,vertex,azure]'

Quickstart (under a minute)

# 1. Scaffold a project
langgraph-forge init my-agent --provider anthropic --pattern supervisor --deploy direct --no-input
cd my-agent

# 2. Install + set credentials
cp .env.example .env        # then edit
uv sync --extra dev

# 3. Smoke-test the generated graph (uses mocked LLM)
uv run pytest tests/unit -q

# 4. Run it
uv run python -m my_agent

Matrix

Provider (--provider) Pattern (--pattern) Deployment (--deploy)
anthropic, openai, grok, google, bedrock, azure single, supervisor direct, bedrock, vertex, azure

All combinations scaffold end-to-end. direct is fully functional in v0.1; cloud adapters (bedrock / vertex / azure) ship as Protocol-conformant contract stubs — the scaffolded deploy.py imports successfully and the smoke test passes, but calling the cloud prepare / invoke raises NotImplementedError until the SDK glue lands in v0.2.

Library usage (without the CLI)

from langgraph_forge import (
    ModelSpec,
    SpecialistSpec,
    create_supervisor_agent,
    get_model,
)

supervisor = get_model(ModelSpec(model="claude-opus-4-7", provider="anthropic"))
worker_model = ModelSpec(model="claude-haiku-4-5", provider="anthropic")

graph = create_supervisor_agent(
    supervisor_model=supervisor,
    specialists=[
        SpecialistSpec(
            name="researcher",
            prompt="You gather facts.",
            model=worker_model,
        ),
        SpecialistSpec(
            name="summariser",
            prompt="You produce concise summaries.",
            model=worker_model,
        ),
    ],
    supervisor_prompt="Delegate research and summarisation to specialists.",
)

Swap providers by changing provider="anthropic" to "openai", "xai", "google_genai", "bedrock_converse", or "azure_openai". Swap deployment by replacing DirectAdapter with BedrockAgentCoreAdapter / VertexAgentEngineAdapter / AzureAIAgentAdapter.

MCP integration

from langgraph_forge import MCPConfig, MCPServerConfig, load_mcp_tools

config = MCPConfig(
    servers={
        "filesystem": MCPServerConfig(
            transport="stdio",
            command="npx",
            args=["-y", "@modelcontextprotocol/server-filesystem", "/tmp"],
        ),
    }
)
tools = await load_mcp_tools(config)

Extending: writing a new deployment adapter

Every adapter satisfies the DeploymentAdapter Protocol (name, extras, prepare, invoke, template fragment). Third-party packages register via the langgraph_forge.deployment_adapters entry-point group, which means adding a fifth target does not require a PR to this repo.

# your_package/pyproject.toml
[project.entry-points."langgraph_forge.deployment_adapters"]
modal = "your_package.modal_adapter:ModalAdapter"

After pip install your-package, langgraph-forge list-deploy includes modal and --deploy modal works in init.

Not included — by design

Listed so expectations stay calibrated. These are out of scope in v0.1, many permanently:

  • Swarm pattern / non-supervisor multi-agent topologies (may return in v0.3+)
  • LangSmith / OpenTelemetry / tracing / metrics
  • Prompt versioning, PromptPack, content_hash, prompt registry, eval harness
  • Tool allowlists, SideEffectGate, autonomy gates, budget / cost ceilings, cycle detection
  • Schema registry, output-envelope validation, per-specialist output_type
  • Peer review, human review queue, ExceptionTicket, routing hints
  • HTTP / REST serving, WebSocket, SSE, web UI
  • Auth(n/z), permissions, multi-tenancy, rate limiting
  • DynamoDB / S3 / custom persistence beyond langgraph.checkpoint.*
  • Model-chain fallback (compose LangChain's with_fallbacks yourself)
  • Streaming helpers (graph.astream() is already the answer)

Documentation

Deeper material lives under docs/, organised by audience and (for user docs) by Diátaxis quadrant:

Versioning

Pre-1.0; see VERSIONING.md for the full policy (breaking-change rule, deprecation grace period, yank policy, and the gates to 1.0). Release notes live in GitHub Releases.

Contributing

See CONTRIBUTING.md for the full flow (fork → branch → PR → review). Deeper material in docs/contributing/.

Security

See SECURITY.md for private disclosure.

License

MIT — see LICENSE.

Metadata

Release files for langgraph-forge 0.4.0a1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for langgraph-forge 0.4.0a1
File Size Uploaded Provenance Actions
langgraph_forge-0.4.0a1.tar.gz 61.6 kB With provenance Details for langgraph_forge-0.4.0a1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for langgraph-forge 0.4.0a1
File Interpreter ABI Platform Actions
langgraph_forge-0.4.0a1-py3-none-any.whl Python 3 none any Details for langgraph_forge-0.4.0a1-py3-none-any.whl

Total release size: 123.5 kB

Release files / langgraph_forge-0.4.0a1.tar.gz

Download URL langgraph_forge-0.4.0a1.tar.gz
Size 61.6 kB
Tags Source
SHA-256 checksum
How to use checksums
cddc5ffb1c3ab060af9049a5382e74779aa051905381456f4da8b4c9405de4e4
BLAKE2b-256 checksum
How to use checksums
5fb35839143942f3c37796c75e99c95e7eeb92d694c1b8a0568ad42794f57bd5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 25, 2026.

Transparency log

Release files / langgraph_forge-0.4.0a1-py3-none-any.whl

Download URL langgraph_forge-0.4.0a1-py3-none-any.whl
Size 61.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
271ad48531092fc07e59d099cdfd26997b1e76dd4a142a1eb286035e84a6bab3
BLAKE2b-256 checksum
How to use checksums
797bd24510e6730c8927d9fbad550df84d6468a82050e60636e87a872108c532
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 25, 2026.

Transparency log

Security for langgraph-forge 0.4.0a1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for langgraph_forge-0.4.0a1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 25, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
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