DSPy

OutdatedAudit Done
View Session

Health

Outdated

Benchmark

33/100

SDK Version

>=2.0.0

Latest: 2.12.1

Audit Status

Audit Done

Started May 11, 2026

Approval

Not requested

Latest Audit Result

exa-dspy implements search via ExaSearchTool, get_contents via ExaContentsTool, and find_similar via ExaFindSimilarTool. Search passes through num_results, type/search_type, include/exclude domains, published-date filters, category, and contents with text/summary/highlights/livecrawl; get_contents passes text/summary/highlights/livecrawl; find_similar passes text contents plus domain filters and exclude_source_domain. It does not support answer, answer_streaming/stream_answer, search_streaming/stream_search, or research; research is sunset per the Exa changelog and should not be flagged as missing. No deprecated Exa features from the changelog are used: research endpoint, resolvedSearchType, highlightScores, and startCrawlDate/endCrawlDate are absent.

Health: outdated
Current SDK: >=2.0.0
Latest SDK: 2.12.1

Missing Features (3)

  • exa-py is declared as an unpinned lower bound of >=2.0.0 in pyproject.toml; latest PyPI version is 2.12.1, so the integration allows significantly older SDK installs.
  • ExaFindSimilarTool implements the find_similar endpoint but only passes text contents; it does not expose highlights even though content option support is declared for the integration.
  • Capability metadata is incomplete: README/code support keyword search via search_type, but the declared search types only list auto and neural.

Marked outdated since May 11, 2026

Missing Features (7)

  • exa-py is declared as an unpinned lower bound of >=2.0.0 in pyproject.toml; latest PyPI version is 2.12.1, so the integration allows significantly older SDK installs.
  • ExaFindSimilarTool implements the find_similar endpoint but only passes text contents; it does not expose highlights even though content option support is declared for the integration.
  • Capability metadata is incomplete: README/code support keyword search via search_type, but the declared search types only list auto and neural.
  • Add or document support for newer search types deep-lite, deep, and deep-reasoning; the code accepts arbitrary strings, but README only documents auto/neural/keyword.
  • Expose max_age_hours for freshness control on search and contents flows; current Exa docs recommend it over older livecrawl examples.
  • Expose system_prompt and output_schema on ExaSearchTool for latest exa-py structured/guided search support.
  • Add summary, highlights, and livecrawl/max_age_hours options to ExaFindSimilarTool for parity with ExaSearchTool and ExaContentsTool.