langchain-dependencies

LangChain ecosystem package versions, dependencies, and installation guidance for Python and TypeScript. Start all new projects on LangChain 1.0 LTS; version 0.3 is legacy maintenance-only. Always install langchain-core explicitly alongside other packages. Choose one orchestration layer: LangGraph for fine-grained graph control, or Deep Agents for batteries-included planning and memory. Pin langchain-community conservatively to exact minor versions (e.g., >=0.4.0,<0.5.0 ) since it does not follow semantic versioning; prefer dedicated integration packages like langchain-chroma or langchain-tavily when available. Requires Python 3.10+ or Node.js 20+; model providers, vector stores, and tools are installed separately so you only pull in what you use. Keep dedicated integration packages (Tavily, Chroma, Pinecone, etc.) at latest versions for compatibility fixes; use provided minimal templates to scaffold new projects.

INSTALLATION
npx skills add https://github.com/langchain-ai/langchain-skills --skill langchain-dependencies
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

Key principles:

  • LangChain 1.0 is the current LTS release. Always start new projects on 1.0+. LangChain 0.3 is legacy maintenance-only — do not use it for new work.
  • langchain-core is the shared foundation: always install it explicitly alongside any other package.
  • langchain-community (Python only) does NOT follow semantic versioning; pin it conservatively.
  • LangGraph vs Deep Agents: choose one orchestration approach based on your use case — they are alternatives, not a required stack (see [Framework Choice](#framework-choice) below).
  • Provider integrations (model, vector store, tools) are installed separately so you only pull in what you use.

Environment Requirements

Requirement

Python

TypeScript / Node

Runtime minimum

Python 3.10+

Node.js 20+

LangChain

1.0+ (LTS)

1.0+ (LTS)

LangSmith SDK

>= 0.3.0

>= 0.3.0

Framework Choice

Framework

When to use

Core extra package

LangGraph

Need fine-grained graph control, custom workflows, loops, or branching

langgraph / @langchain/langgraph

Deep Agents

Want batteries-included planning, memory, file context, and skills out of the box

deepagents (depends on LangGraph; installs it as a transitive dep)

Both sit on top of langchain + langchain-core + langsmith.

Core Packages

Python — always required

Package

Role

Min version

langchain

Agents, chains, retrieval

1.0

langchain-core

Base types &#x26; interfaces (peer dep)

1.0

langsmith

Tracing, evaluation, datasets

0.3.0

Python — orchestration (pick one)

Package

Use when

Min version

langgraph

Building custom graphs directly

1.0

deepagents

Using the Deep Agents framework

latest

Python — model providers (pick the one(s) you use)

Package

Provider

langchain-openai

OpenAI (GPT-4o, o3, …)

langchain-anthropic

Anthropic (Claude)

langchain-google-genai

Google (Gemini)

langchain-mistralai

Mistral

langchain-groq

Groq (fast inference)

langchain-cohere

Cohere

langchain-fireworks

Fireworks AI

langchain-together

Together AI

langchain-huggingface

Hugging Face Hub

langchain-ollama

Ollama (local models)

langchain-aws

AWS Bedrock

langchain-azure-ai

Azure AI Foundry

Python — common tool &#x26; retrieval packages

These packages have tighter compatibility requirements — use the latest available version unless you have a specific reason not to.

Package

Adds

Notes

langchain-tavily

Tavily web search (TavilySearch)

Dedicated integration package; prefer latest

langchain-text-splitters

Text chunking utilities

Semver, keep current

langchain-community

1000+ integrations (fallback)

NOT semver — pin to minor series

faiss-cpu

FAISS vector store (local)

Via langchain-community; use latest

langchain-chroma

Chroma vector store

Dedicated integration package; prefer latest

langchain-pinecone

Pinecone vector store

Dedicated integration package; prefer latest

langchain-qdrant

Qdrant vector store

Dedicated integration package; prefer latest

langchain-weaviate

Weaviate vector store

Dedicated integration package; prefer latest

langsmith[pytest]

pytest plugin for LangSmith

Requires langsmith >= 0.3.4

langchain-community stability note: This package is NOT on semantic versioning. Minor releases can contain breaking changes. Prefer dedicated integration packages (e.g. langchain-chroma, langchain-tavily) when they exist — they are independently versioned and more stable.

TypeScript — always required

Package

Role

Min version

@langchain/core

Base types &#x26; interfaces (peer dep)

1.0

langchain

Agents, chains, retrieval

1.0

langsmith

Tracing, evaluation, datasets

0.3.0

TypeScript — orchestration (pick one)

Package

Use when

Min version

@langchain/langgraph

Building custom graphs directly

1.0

deepagents

Using the Deep Agents framework

latest

TypeScript — model providers (pick the one(s) you use)

Package

Provider

@langchain/openai

OpenAI (GPT-4o, o3, …)

@langchain/anthropic

Anthropic (Claude)

@langchain/google-genai

Google (Gemini)

@langchain/mistralai

Mistral

@langchain/groq

Groq (fast inference)

@langchain/cohere

Cohere

@langchain/aws

AWS Bedrock

@langchain/azure-openai

Azure OpenAI

@langchain/ollama

Ollama (local models)

TypeScript — common tool &#x26; retrieval packages

Package

Adds

Notes

@langchain/tavily

Tavily web search (TavilySearch)

Dedicated integration package; prefer latest

@langchain/community

Broad set of community integrations

Use sparingly; prefer dedicated packages

@langchain/pinecone

Pinecone vector store

Dedicated integration package; prefer latest

@langchain/qdrant

Qdrant vector store

Dedicated integration package; prefer latest

@langchain/weaviate

Weaviate vector store

Dedicated integration package; prefer latest

**@langchain/core must be installed explicitly** in yarn workspaces and monorepos — it is a peer dependency and will not always be hoisted automatically.

Minimal Project Templates

# requirements.txt

langchain>=1.0,<2.0

langchain-core>=1.0,<2.0

langgraph>=1.0,<2.0

langsmith>=0.3.0

# Add your model provider, e.g.:

# langchain-openai

# langchain-anthropic

# langchain-google-genai
{

  "dependencies": {

    "@langchain/core": "^1.0.0",

    "langchain": "^1.0.0",

    "@langchain/langgraph": "^1.0.0",

    "langsmith": "^0.3.0"

  }

}
# requirements.txt

deepagents            # bundles langgraph internally

langchain>=1.0,<2.0

langchain-core>=1.0,<2.0

langsmith>=0.3.0

# Add your model provider, e.g.:

# langchain-anthropic

# langchain-openai
{

  "dependencies": {

    "deepagents": "latest",

    "@langchain/core": "^1.0.0",

    "langchain": "^1.0.0",

    "langsmith": "^0.3.0"

  }

}
# requirements.txt

langchain>=1.0,<2.0

langchain-core>=1.0,<2.0

langgraph>=1.0,<2.0

langsmith>=0.3.0

# Web search

langchain-tavily          # use latest; partner package, semver

# Vector store — pick one:

langchain-chroma          # use latest; partner package, semver

# langchain-pinecone      # use latest; partner package, semver

# langchain-qdrant        # use latest; partner package, semver

# Text processing

langchain-text-splitters  # use latest; semver

# Your model provider:

# langchain-openai / langchain-anthropic / etc.
{

  "dependencies": {

    "@langchain/core": "^1.0.0",

    "langchain": "^1.0.0",

    "@langchain/langgraph": "^1.0.0",

    "langsmith": "^0.3.0",

    "@langchain/tavily": "latest",

    "@langchain/pinecone": "latest"

  }

}

Versioning Policy &#x26; Upgrade Strategy

Package group

Versioning

Safe upgrade strategy

langchain, langchain-core

Strict semver (1.0 LTS)

Allow minor: >=1.0,<2.0

langgraph / @langchain/langgraph

Strict semver (v1 LTS)

Allow minor: >=1.0,<2.0

langsmith

Strict semver

Allow minor: >=0.3.0

Dedicated integration packages (e.g. langchain-tavily, langchain-chroma)

Independently versioned

Allow minor updates; use latest

langchain-community

NOT semver

Pin exact minor: >=0.4.0,<0.5.0

deepagents

Follow project releases

Pin to tested version in production

Breaking changes only happen in major versions (1.x → 2.x) for all semver-compliant packages. Deprecated features remain functional across the entire 1.x series with warnings.

Prefer dedicated integration packages over langchain-community. When a dedicated package exists (e.g. langchain-chroma instead of langchain-community's Chroma integration), use it — dedicated packages are independently versioned and better tested.

Community tool packages (Tavily, vector stores, etc.) should be kept at latest unless your project requires a locked environment. These packages frequently release compatibility fixes alongside LangChain/LangGraph updates.

Environment Variables

# LangSmith (always recommended for observability)

LANGSMITH_API_KEY=<your-key>

LANGSMITH_PROJECT=<project-name>   # optional, defaults to "default"

# Model provider — set the one(s) you use

OPENAI_API_KEY=<your-key>

ANTHROPIC_API_KEY=<your-key>

GOOGLE_API_KEY=<your-key>

MISTRAL_API_KEY=<your-key>

GROQ_API_KEY=<your-key>

COHERE_API_KEY=<your-key>

FIREWORKS_API_KEY=<your-key>

TOGETHER_API_KEY=<your-key>

HUGGINGFACEHUB_API_TOKEN=<your-key>

# Common tool/retrieval services

TAVILY_API_KEY=<your-key>          # for Tavily search

PINECONE_API_KEY=<your-key>        # for Pinecone

Common Mistakes

# WRONG: legacy, no new features, security patches only

langchain>=0.3,<0.4

# CORRECT: LangChain 1.0 LTS

langchain>=1.0,<2.0
# WRONG: allows minor-version updates that may be breaking

langchain-community>=0.4

# CORRECT: pin to exact minor series

langchain-community>=0.4.0,<0.5.0

Also consider switching to the equivalent dedicated integration package if one exists (e.g. langchain-chroma instead of the community Chroma integration).

# RISKY: old pin may be incompatible with LangChain 1.0

langchain-tavily==0.0.1

# BETTER: allow latest within the current major

langchain-tavily>=0.1
# WRONG — deprecated community import path

from langchain_community.tools.tavily_search import TavilySearchResults

from langchain_community.tools import WikipediaQueryRun

from langchain_community.vectorstores import Chroma

from langchain_community.vectorstores import Pinecone

# CORRECT — use dedicated package imports

from langchain_tavily import TavilySearch                  # pip: langchain-tavily (TavilySearchResults is deprecated)

from langchain_community.tools import WikipediaQueryRun  # no dedicated pkg yet

from langchain_chroma import Chroma                       # pip: langchain-chroma

from langchain_pinecone import PineconeVectorStore        # pip: langchain-pinecone

To find the current canonical import for any integration, search the integrations directory:

https://python.langchain.com/docs/integrations/tools/

Each entry shows the correct package and import path. If a dedicated package exists, use it — the community path may still work but is considered legacy.

// WRONG: missing @langchain/core (breaks in yarn workspaces / strict hoisting)

{

  "dependencies": {

    "@langchain/langgraph": "^1.0.0"

  }

}

// CORRECT: always list @langchain/core explicitly

{

  "dependencies": {

    "@langchain/core": "^1.0.0",

    "@langchain/langgraph": "^1.0.0"

  }

}
# Verify before installing

import sys

assert sys.version_info >= (3, 10), "Python 3.10+ required for LangChain 1.0"
# Verify before installing

node --version   # must be v20.x or higher
BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card