Langchain Dependencies
LangChainOfficialPublished by LangChain
- Skill
- Tool integration
- Software development
- MIT
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
The LangChain ecosystem is modular, consisting of independently-versioned packages. This skill provides guidance on selecting the correct packages, managing version constraints, and configuring environments for Python and TypeScript projects. It emphasizes the use of LangChain 1.0 LTS, proper dependency pinning for non-semver packages like langchain-community, and the preference for dedicated integration packages over legacy community imports.
What it does
- Provides minimum version requirements for Python and Node.js environments.
- Outlines dependency requirements for LangChain, LangGraph, and Deep Agents.
- Explains the difference between LangGraph and Deep Agents for orchestration.
- Lists essential model provider and tool integration packages.
- Offers best practices for version pinning and upgrading strategies.
- Identifies common pitfalls in dependency management and import paths.
When to use it
- When initializing a new LangChain-based project.
- When troubleshooting dependency conflicts or import errors.
- When upgrading existing projects to LangChain 1.0.
- When determining which integration packages to install for specific tools or models.
Advantages
- Prevents common versioning conflicts and runtime errors.
- Promotes the use of stable, independently-versioned integration packages.
- Ensures projects are built on supported LTS versions.
- Reduces technical debt by avoiding deprecated community import paths.
Usage examples
- “What are the minimum dependencies for a new LangGraph project in Python?”
- The agent provides a requirements.txt template including langchain, langchain-core, langgraph, and langsmith, with appropriate version constraints.
- “Should I use langchain-community for Chroma vector store?”
- The agent advises using the dedicated langchain-chroma package instead of langchain-community for better stability and versioning.
- “How do I pin langchain-community correctly?”
- The agent explains that langchain-community does not follow semver and provides the correct pinning syntax: langchain-community>=0.4.0,<0.5.0.
- “What is the minimum Node.js version for LangChain 1.0?”
- The agent confirms that Node.js 20+ is the minimum requirement for LangChain 1.0.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/langchain-ai/langchain-dependencies/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip langchain-dependencies.zip -d .agents/skills
Documentation by LangChain
<overview> The LangChain ecosystem is split into focused, independently-versioned packages. Understanding which packages you need — and their version constraints — prevents incompatibilities and keeps upgrades predictable.
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 below).
Provider integrations (model, vector store, tools) are installed separately so you only pull in what you use.
</overview>
Environment Requirements
<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 |
</environment-requirements>
Framework Choice
<framework-choice> Pick **one** agent orchestration layer. You do not need both.
| 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.
</framework-choice>
Core Packages
<python-packages>
Python — always required
| Package | Role | Min version |
|---|---|---|
langchain | Agents, chains, retrieval | 1.0 |
langchain-core | Base types & 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 & 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.
</python-packages>
<typescript-packages>
TypeScript — always required
| Package | Role | Min version |
|---|---|---|
@langchain/core | Base types & 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 & 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/coremust be installed explicitly in yarn workspaces and monorepos — it is a peer dependency and will not always be hoisted automatically.
</typescript-packages>
Minimal Project Templates
<ex-langgraph-python> <python> Minimal dependency set for a LangGraph project (provider-agnostic).
# 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</python> </ex-langgraph-python>
<ex-langgraph-typescript> <typescript> Minimal package.json dependencies for a LangGraph project (provider-agnostic).
{
"dependencies": {
"@langchain/core": "^1.0.0",
"langchain": "^1.0.0",
"@langchain/langgraph": "^1.0.0",
"langsmith": "^0.3.0"
}
}</typescript> </ex-langgraph-typescript>
<ex-deepagents-python> <python> Minimal dependency set for a Deep Agents project (provider-agnostic).
# 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</python> </ex-deepagents-python>
<ex-deepagents-typescript> <typescript> Minimal package.json dependencies for a Deep Agents project (provider-agnostic).
{
"dependencies": {
"deepagents": "latest",
"@langchain/core": "^1.0.0",
"langchain": "^1.0.0",
"langsmith": "^0.3.0"
}
}</typescript> </ex-deepagents-typescript>
<ex-with-tools-python> <python> Adding Tavily search and a vector store to a LangGraph project.
# 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.</python> </ex-with-tools-python>
<ex-with-tools-typescript> <typescript> Adding Tavily search and a vector store to a LangGraph project.
{
"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"
}
}</typescript> </ex-with-tools-typescript>
Versioning Policy & Upgrade Strategy
<versioning-policy>
| 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.
</versioning-policy>
Environment Variables
<environment-variables> All keys are read from the environment at runtime. Set only the keys for services you actually use.
# 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</environment-variables>
Common Mistakes
<fix-legacy-version> Never start a new project on LangChain 0.3. It is maintenance-only until December 2026.
# WRONG: legacy, no new features, security patches only
langchain>=0.3,<0.4
# CORRECT: LangChain 1.0 LTS
langchain>=1.0,<2.0</fix-legacy-version>
<fix-community-unpinned> `langchain-community` can break on minor version bumps — it does not follow semver.
# 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.0Also consider switching to the equivalent dedicated integration package if one exists (e.g. langchain-chroma instead of the community Chroma integration).
</fix-community-unpinned>
<fix-community-tool-outdated> Community tool packages like `langchain-tavily` and vector store integrations release compatibility fixes alongside LangChain updates. Using an old pinned version can cause import errors or broken tool schemas.
# 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</fix-community-tool-outdated>
<fix-community-import-deprecated> Many tools that used to live in `langchain-community` now have dedicated packages with updated import paths. Always prefer the dedicated package import.
# 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-pineconeTo 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. </fix-community-import-deprecated>
<fix-core-not-installed> <typescript> `@langchain/core` is a peer dependency — it must be in your package.json, especially in monorepos.
// 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"
}
}</typescript> </fix-core-not-installed>
<fix-python-version> <python> Python 3.9 and below are not supported by LangChain 1.0.
# Verify before installing
import sys
assert sys.version_info >= (3, 10), "Python 3.10+ required for LangChain 1.0"</python> </fix-python-version>
<fix-node-version> <typescript> Node.js below 20 is not officially supported.
# Verify before installing
node --version # must be v20.x or higher</typescript> </fix-node-version>
Files
- ATTRIBUTION.mdAdded by AutoGineer906 B
- LICENSELicence file added by AutoGineer1.0 KiB
- SKILL.md14.3 KiB
ATTRIBUTION.md
Attribution
This folder is an unmodified copy of the Agent Skill "langchain-dependencies", distributed by AutoGineer (https://autogineer.com/agent-skills).
Commit: 126c384d8552dcb476b226c244172186cc3f4328
Published by: LangChain (https://github.com/langchain-ai)
Publisher: LangChain (https://github.com/langchain-ai)
Licence: MIT License (https://github.com/langchain-ai/langchain-skills/blob/126c384d8552dcb476b226c244172186cc3f4328/LICENSE)
Licence evidence: repository licence LICENSE
Retrieved: 2026-11-07
The skill's own files are unmodified copies. AutoGineer is not affiliated with or endorsed by the author or the publisher.
Files added by AutoGineer
ATTRIBUTION.md: this file, written by AutoGineer
LICENSE: copied from LICENSE
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs an API key, Needs Python, Needs Node.js
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- LangChain
- Publisher
- LangChain (Official)
- Source
- langchain-ai/langchain-skills · config/skills/langchain-dependencies · commit 126c384
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by LangChain.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download langchain-dependencies.zip