langchain-dependencies

INVOKE THIS SKILL when setting up a new project or when asked about package versions, installation, or dependency management for LangChain, LangGraph, LangSmith, or Deep Agents. Covers required packages, minimum versions, environment requirements, versioning best practices, and common community tool

By langchain-ai · 13,261 installs

npx skills add langchain-ai/langchain-skills --skill langchain-dependencies

Source repository · Upstream listing

<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]( 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/core must 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). </python </ex langgraph python <ex langgraph typescript <typescript Minimal package.json dependencies for a LangGraph project (provider agnostic). </typescript </ex langgraph typescript <ex deepagents python <python Minimal dependency set for a Deep Agents project (provider agnostic). </python </ex deepagents python <ex deepagents typescript <typescript Minimal package.json dependencies for a Deep Agents project (provider agnostic). </typescript </ex deepagents typescript <ex with tools python <python Adding Tavily search and a vector store to a LangGraph project. </python </ex with tools python <ex with tools typescript <typescript Adding Tavily search and a vector store to a LangGraph project. </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. </environment variables Common Mistakes <fix legacy version Never start a new project on LangChain 0.3. It is maintenance only until December 2026. </fix legacy version <fix community unpinned langchain community can break on minor version bumps — it does not follow semver. Also 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. </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. 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. </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. </typescript </fix core not installed <fix python version <python Python 3.9 and below are not supported by LangChain 1.0. </python </fix python version <fix node version <typescript Node.js below 20 is not officially supported. </typescript </fix node version