Compare frameworks
DSPy vs Haystack vs Pydantic AI
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 | Haystack | Pydantic AI |
|---|---|---|---|
| Stars | 38,388 (highest of the compared values)Synced from sourceCurrent4h ago | 26,618Synced from sourceCurrent4h ago | 20,220Synced from sourceCurrent4h ago |
| downloads | — | — | 3,076,771Synced from sourceStale1mo ago· past SLA |
| Last commit | 2026-09-27Synced from sourceCurrent4h ago | 2026-09-25Synced from sourceCurrent4h ago | 2026-09-28Synced from sourceCurrent4h ago |
| Language | pythonSeeded, unreviewedwritten 1mo ago | pythonSeeded, unreviewedwritten 1mo ago | pythonSeeded, unreviewedwritten 1mo ago |
| Licence | MITSynced from sourceCurrent4h ago | Apache-2.0Synced from sourceCurrent4h ago | MITSynced from sourceCurrent4h ago |
| Archived | noSynced from sourceCurrent4h ago | noSynced from sourceCurrent4h ago | noSynced from sourceCurrent4h ago |
| Category | optimisationSeeded, unreviewedwritten 1mo ago | ragSeeded, unreviewedwritten 1mo ago | structured-outputSeeded, unreviewedwritten 1mo ago |
| Contributors | 461Synced from sourceCurrent4h ago | 479Synced from sourceCurrent4h ago | 609Synced from sourceCurrent4h ago |
| Forks | 3372Synced from sourceCurrent4h ago | 3198Synced from sourceCurrent4h ago | 2796Synced from sourceCurrent4h ago |
| Maintainer | Stanford NLPSeeded, unreviewedwritten 1mo ago | deepsetSeeded, unreviewedwritten 1mo ago | PydanticSeeded, unreviewedwritten 1mo ago |
| Open issues | 739Synced from sourceCurrent4h ago | 183Synced from sourceCurrent4h ago | 1013Synced from sourceCurrent4h ago |
| PyPI downloads, monthly | — | — | 13478631Synced from sourceStale1mo ago· past SLA |
| PyPI downloads, weekly | — | — | 3076771Synced from sourceStale1mo ago· past SLA |
| PyPI package | dspy-aiSynced from sourceCurrent4h ago | haystack-aiSynced from sourceCurrent4h ago | pydantic-aiSynced from sourceCurrent4h ago |
| PyPI released | 2026-09-25T04:04:30.339197ZSynced from sourceCurrent4h ago | 2026-09-24T10:49:23.742948ZSynced from sourceCurrent4h ago | 2026-09-25T23:32:17.554286ZSynced from sourceCurrent4h ago |
| Requires Python | >=3.9Synced from sourceCurrent4h ago | >=3.10Synced from sourceCurrent4h ago | >=3.10Synced from sourceCurrent4h ago |
| PyPI version | 3.4.0Synced from sourceCurrent4h ago | 3.2.0Synced from sourceCurrent4h ago | 2.51.0Synced from sourceCurrent4h ago |
| Repository | https://github.com/stanfordnlp/dspySynced from sourceCurrent4h ago | https://github.com/deepset-ai/haystackSynced from sourceCurrent4h ago | https://github.com/pydantic/pydantic-aiSynced from sourceCurrent4h ago |
Sources: GitHub REST API, npm registry downloads, PyPI registry metadata, pypistats.org downloads. Most recent observation 4h 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.