Compare frameworks
LangGraph vs Letta vs DSPy
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 | Letta | DSPy |
|---|---|---|---|
| Stars | 42,201 (highest of the compared values)Synced from sourceCurrent2h ago | 24,864Synced from sourceCurrent2h ago | 38,243Synced from sourceCurrent2h ago |
| downloads | 2,342,174Synced from sourceCurrent2h ago | — | — |
| Last commit | 2026-09-23Synced from sourceCurrent2h ago | 2026-09-10Synced 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 | Apache-2.0Synced 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 | memorySeeded, unreviewedwritten 1mo ago | optimisationSeeded, unreviewedwritten 1mo ago |
| Contributors | 287Synced from sourceCurrent2h ago | 155Synced from sourceCurrent2h ago | 459Synced from sourceCurrent2h ago |
| Forks | 7139Synced from sourceCurrent2h ago | 2628Synced from sourceCurrent2h ago | 3353Synced from sourceCurrent2h ago |
| Maintainer | LangChainSeeded, unreviewedwritten 1mo ago | LettaSeeded, unreviewedwritten 1mo ago | Stanford NLPSeeded, unreviewedwritten 1mo ago |
| npm downloads, monthly | 12112794Synced from sourceCurrent2h ago | — | — |
| npm downloads, weekly | 2342174Synced from sourceCurrent2h ago | — | — |
| npm package | @langchain/langgraphSynced from sourceCurrent2h ago | — | — |
| npm window ends | 2026-09-21Synced from sourceCurrent2h ago | — | — |
| Open issues | 816Synced from sourceCurrent2h ago | 0Synced from sourceCurrent2h ago | 726Synced from sourceCurrent2h ago |
| PyPI package | langgraphSynced from sourceCurrent2h ago | lettaSynced from sourceCurrent2h ago | dspy-aiSynced from sourceCurrent2h ago |
| PyPI released | 2026-09-21T14:43:28.196799ZSynced from sourceCurrent2h ago | 2026-09-23T23:59:05.225455ZSynced from sourceCurrent2h ago | 2026-08-21T23:06:20.945191ZSynced from sourceCurrent2h ago |
| Requires Python | >=3.10Synced from sourceCurrent2h ago | >=3.9Synced from sourceCurrent2h ago | >=3.9Synced from sourceCurrent2h ago |
| PyPI version | 1.2.12Synced from sourceCurrent2h ago | 0.33.0Synced from sourceCurrent2h ago | 3.3.1Synced from sourceCurrent2h ago |
| Repository | https://github.com/langchain-ai/langgraphSynced from sourceCurrent2h ago | https://github.com/letta-ai/lettaSynced from sourceCurrent2h ago | https://github.com/stanfordnlp/dspySynced 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.