Compare frameworks
DSPy vs LangChain vs Haystack
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 | LangChain | Haystack |
|---|---|---|---|
| Stars | 38,243Synced from sourceCurrent2h ago | 146,956 (highest of the compared values)Synced from sourceCurrent2h ago | 26,584Synced from sourceCurrent2h ago |
| downloads | — | 2,026,447Synced from sourceCurrent2h ago | — |
| Last commit | 2026-09-23Synced from sourceCurrent2h ago | 2026-09-24Synced from sourceCurrent2h ago | 2026-09-23Synced from sourceCurrent2h ago |
| Language | pythonSeeded, unreviewedwritten 1mo ago | pythonSeeded, unreviewedwritten 1mo ago | pythonSeeded, unreviewedwritten 1mo ago |
| Licence | MITSynced from sourceCurrent2h ago | MITSynced from sourceCurrent2h ago | Apache-2.0Synced from sourceCurrent2h ago |
| Archived | noSynced from sourceCurrent2h ago | noSynced from sourceCurrent2h ago | noSynced from sourceCurrent2h ago |
| Category | optimisationSeeded, unreviewedwritten 1mo ago | orchestrationSeeded, unreviewedwritten 1mo ago | ragSeeded, unreviewedwritten 1mo ago |
| Contributors | 459Synced from sourceCurrent2h ago | 3740Synced from sourceCurrent2h ago | 475Synced from sourceCurrent2h ago |
| Forks | 3353Synced from sourceCurrent2h ago | 24587Synced from sourceCurrent2h ago | 3176Synced from sourceCurrent2h ago |
| Maintainer | Stanford NLPSeeded, unreviewedwritten 1mo ago | LangChainSeeded, unreviewedwritten 1mo ago | deepsetSeeded, unreviewedwritten 1mo ago |
| npm downloads, monthly | — | 10553700Synced from sourceCurrent2h ago | — |
| npm downloads, weekly | — | 2026447Synced from sourceCurrent2h ago | — |
| npm package | — | langchainSynced from sourceCurrent2h ago | — |
| npm window ends | — | 2026-09-21Synced from sourceCurrent2h ago | — |
| Open issues | 726Synced from sourceCurrent2h ago | 561Synced from sourceCurrent2h ago | 168Synced from sourceCurrent2h ago |
| PyPI package | dspy-aiSynced from sourceCurrent2h ago | langchainSynced from sourceCurrent2h ago | haystack-aiSynced from sourceCurrent2h ago |
| PyPI released | 2026-08-21T23:06:20.945191ZSynced from sourceCurrent2h ago | 2026-09-18T17:31:10.056247ZSynced from sourceCurrent2h ago | 2026-09-03T09:27:43.312258ZSynced from sourceCurrent2h ago |
| Requires Python | >=3.9Synced from sourceCurrent2h ago | <4.0.0,>=3.10.0Synced from sourceCurrent2h ago | >=3.10Synced from sourceCurrent2h ago |
| PyPI version | 3.3.1Synced from sourceCurrent2h ago | 1.4.2Synced from sourceCurrent2h ago | 3.1.1Synced from sourceCurrent2h ago |
| Repository | https://github.com/stanfordnlp/dspySynced from sourceCurrent2h ago | https://github.com/langchain-ai/langchainSynced from sourceCurrent2h ago | https://github.com/deepset-ai/haystackSynced 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.