Compare frameworks
LangGraph vs LlamaIndex 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 | LangGraph | LlamaIndex | Mastra |
|---|---|---|---|
| Stars | 42,201Synced from sourceCurrent2h ago | 52,306 (highest of the compared values)Synced from sourceCurrent2h ago | 28,295Synced from sourceCurrent2h ago |
| downloads | 2,342,174 (highest of the compared values)Synced from sourceCurrent2h ago | 83,631Synced from sourceCurrent2h ago | 1,161,907Synced from sourceCurrent2h ago |
| Last commit | 2026-09-23Synced from sourceCurrent2h ago | 2026-09-24Synced from sourceCurrent2h ago | 2026-09-24Synced from sourceCurrent2h ago |
| Language | pythonSeeded, unreviewedwritten 1mo ago | pythonSeeded, unreviewedwritten 1mo ago | typescriptSeeded, unreviewedwritten 1mo ago |
| Licence | MITSynced from sourceCurrent2h ago | MITSynced from sourceCurrent2h ago | — |
| Archived | noSynced from sourceCurrent2h ago | noSynced from sourceCurrent2h ago | noSynced from sourceCurrent2h ago |
| Category | orchestrationSeeded, unreviewedwritten 1mo ago | ragSeeded, unreviewedwritten 1mo ago | orchestrationSeeded, unreviewedwritten 1mo ago |
| Contributors | 287Synced from sourceCurrent2h ago | 1999Synced from sourceCurrent2h ago | 678Synced from sourceCurrent2h ago |
| Forks | 7139Synced from sourceCurrent2h ago | 8203Synced from sourceCurrent2h ago | 2845Synced from sourceCurrent2h ago |
| Maintainer | LangChainSeeded, unreviewedwritten 1mo ago | LlamaIndexSeeded, unreviewedwritten 1mo ago | MastraSeeded, unreviewedwritten 1mo ago |
| npm downloads, monthly | 12112794Synced from sourceCurrent2h ago | 429018Synced from sourceCurrent2h ago | 5528725Synced from sourceCurrent2h ago |
| npm downloads, weekly | 2342174Synced from sourceCurrent2h ago | 83631Synced from sourceCurrent2h ago | 1161907Synced from sourceCurrent2h ago |
| npm package | @langchain/langgraphSynced from sourceCurrent2h ago | llamaindexSynced from sourceCurrent2h ago | @mastra/coreSynced from sourceCurrent2h ago |
| npm window ends | 2026-09-21Synced from sourceCurrent2h ago | 2026-09-21Synced from sourceCurrent2h ago | 2026-09-21Synced from sourceCurrent2h ago |
| Open issues | 816Synced from sourceCurrent2h ago | 849Synced from sourceCurrent2h ago | 447Synced from sourceCurrent2h ago |
| PyPI package | langgraphSynced from sourceCurrent2h ago | llama-indexSynced from sourceCurrent2h ago | — |
| PyPI released | 2026-09-21T14:43:28.196799ZSynced from sourceCurrent2h ago | 2026-09-21T16:22:20.056831ZSynced from sourceCurrent2h ago | — |
| Requires Python | >=3.10Synced from sourceCurrent2h ago | <4.0,>=3.10Synced from sourceCurrent2h ago | — |
| PyPI version | 1.2.12Synced from sourceCurrent2h ago | 0.14.25Synced from sourceCurrent2h ago | — |
| Repository | https://github.com/langchain-ai/langgraphSynced from sourceCurrent2h ago | https://github.com/run-llama/llama_indexSynced from sourceCurrent2h ago | https://github.com/mastra-ai/mastraSynced from sourceCurrent2h ago |
Sources: GitHub REST API, npm registry downloads, PyPI registry metadata, pypistats.org downloads. Most recent observation 2h 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.