Compare frameworks
DSPy vs Mastra vs LangChain
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 | DSPy | Mastra | LangChain |
|---|---|---|---|
| Stars | 38,388Synced from sourceCurrent3h ago | 28,378Synced from sourceCurrent3h ago | 147,178 (highest of the compared values)Synced from sourceCurrent3h ago |
| downloads | — | 1,980,114Synced from sourceCurrent3h ago | 3,201,198 (highest of the compared values)Synced from sourceCurrent3h ago |
| Last commit | 2026-09-27Synced from sourceCurrent3h ago | 2026-09-28Synced from sourceCurrent3h ago | 2026-09-27Synced from sourceCurrent3h ago |
| Language | pythonSeeded, unreviewedwritten 1mo ago | typescriptSeeded, unreviewedwritten 1mo ago | pythonSeeded, 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 | optimisationSeeded, unreviewedwritten 1mo ago | orchestrationSeeded, unreviewedwritten 1mo ago | orchestrationSeeded, unreviewedwritten 1mo ago |
| Contributors | 461Synced from sourceCurrent3h ago | 682Synced from sourceCurrent3h ago | 3741Synced from sourceCurrent3h ago |
| Forks | 3372Synced from sourceCurrent3h ago | 2871Synced from sourceCurrent3h ago | 24634Synced from sourceCurrent3h ago |
| Maintainer | Stanford NLPSeeded, unreviewedwritten 1mo ago | MastraSeeded, unreviewedwritten 1mo ago | LangChainSeeded, unreviewedwritten 1mo ago |
| npm downloads, monthly | — | 5868462Synced from sourceCurrent3h ago | 10682493Synced from sourceCurrent3h ago |
| npm downloads, weekly | — | 1980114Synced from sourceCurrent3h ago | 3201198Synced from sourceCurrent3h ago |
| npm package | — | @mastra/coreSynced from sourceCurrent3h ago | langchainSynced from sourceCurrent3h ago |
| npm window ends | — | 2026-09-26Synced from sourceCurrent3h ago | 2026-09-26Synced from sourceCurrent3h ago |
| Open issues | 739Synced from sourceCurrent3h ago | 477Synced from sourceCurrent3h ago | 569Synced from sourceCurrent3h ago |
| PyPI package | dspy-aiSynced from sourceCurrent3h ago | — | langchainSynced from sourceCurrent3h ago |
| PyPI released | 2026-09-25T04:04:30.339197ZSynced from sourceCurrent3h ago | — | 2026-09-18T17:31:10.056247ZSynced from sourceCurrent3h ago |
| Requires Python | >=3.9Synced from sourceCurrent3h ago | — | <4.0.0,>=3.10.0Synced from sourceCurrent3h ago |
| PyPI version | 3.4.0Synced from sourceCurrent3h ago | — | 1.4.2Synced from sourceCurrent3h ago |
| Repository | https://github.com/stanfordnlp/dspySynced from sourceCurrent3h ago | https://github.com/mastra-ai/mastraSynced from sourceCurrent3h ago | https://github.com/langchain-ai/langchainSynced 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.