Compare frameworks
LangChain vs LangGraph vs Mastra
Every figure below carries the source that reported it and the moment it was observed. Values that failed validation are withheld rather than shown, and a dash means no source we track carries that field for that framework.
| Field | LangChain | LangGraph | Mastra |
|---|---|---|---|
| Stars | 146,956 (highest of the compared values)Synced from sourceCurrent3h ago | 42,201Synced from sourceCurrent3h ago | 28,295Synced from sourceCurrent3h ago |
| downloads | 2,026,447Synced from sourceCurrent3h ago | 2,342,174 (highest of the compared values)Synced from sourceCurrent3h ago | 1,161,907Synced from sourceCurrent3h ago |
| Last commit | 2026-09-24Synced from sourceCurrent3h ago | 2026-09-23Synced from sourceCurrent3h ago | 2026-09-24Synced from sourceCurrent3h ago |
| Language | pythonSeeded, unreviewedwritten 1mo ago | pythonSeeded, unreviewedwritten 1mo ago | typescriptSeeded, unreviewedwritten 1mo ago |
| Licence | MITSynced from sourceCurrent3h ago | MITSynced from sourceCurrent3h ago | — |
| Archived | noSynced from sourceCurrent3h ago | noSynced from sourceCurrent3h ago | noSynced from sourceCurrent3h ago |
| Category | orchestrationSeeded, unreviewedwritten 1mo ago | orchestrationSeeded, unreviewedwritten 1mo ago | orchestrationSeeded, unreviewedwritten 1mo ago |
| Contributors | 3740Synced from sourceCurrent3h ago | 287Synced from sourceCurrent3h ago | 678Synced from sourceCurrent3h ago |
| Forks | 24587Synced from sourceCurrent3h ago | 7139Synced from sourceCurrent3h ago | 2845Synced from sourceCurrent3h ago |
| Maintainer | LangChainSeeded, unreviewedwritten 1mo ago | LangChainSeeded, unreviewedwritten 1mo ago | MastraSeeded, unreviewedwritten 1mo ago |
| npm downloads, monthly | 10553700Synced from sourceCurrent3h ago | 12112794Synced from sourceCurrent3h ago | 5528725Synced from sourceCurrent3h ago |
| npm downloads, weekly | 2026447Synced from sourceCurrent3h ago | 2342174Synced from sourceCurrent3h ago | 1161907Synced from sourceCurrent3h ago |
| npm package | langchainSynced from sourceCurrent3h ago | @langchain/langgraphSynced from sourceCurrent3h ago | @mastra/coreSynced from sourceCurrent3h ago |
| npm window ends | 2026-09-21Synced from sourceCurrent3h ago | 2026-09-21Synced from sourceCurrent3h ago | 2026-09-21Synced from sourceCurrent3h ago |
| Open issues | 561Synced from sourceCurrent3h ago | 816Synced from sourceCurrent3h ago | 447Synced from sourceCurrent3h ago |
| PyPI package | langchainSynced from sourceCurrent3h ago | langgraphSynced from sourceCurrent3h ago | — |
| PyPI released | 2026-09-18T17:31:10.056247ZSynced from sourceCurrent3h ago | 2026-09-21T14:43:28.196799ZSynced from sourceCurrent3h ago | — |
| Requires Python | <4.0.0,>=3.10.0Synced from sourceCurrent3h ago | >=3.10Synced from sourceCurrent3h ago | — |
| PyPI version | 1.4.2Synced from sourceCurrent3h ago | 1.2.12Synced from sourceCurrent3h ago | — |
| Repository | https://github.com/langchain-ai/langchainSynced from sourceCurrent3h ago | https://github.com/langchain-ai/langgraphSynced from sourceCurrent3h ago | https://github.com/mastra-ai/mastraSynced from sourceCurrent3h ago |
Sources: GitHub REST API, npm registry downloads, PyPI registry metadata, pypistats.org downloads. Most recent observation 3h ago. Where a row is marked, ▲ is the highest of the values shown and ▼ the lowest — arithmetic on the figures above, not a ranking or a recommendation. Rows where neither extreme is meaningful are left unmarked rather than given a direction they do not have.
Change the comparison
Remove one, or open the directory to pick a different set. Up to 3 at a time.