IBM WatsonX

OutdatedAudit Done
View Session

Health

Outdated

Benchmark

14/100

SDK Version

exa-py>=1.8.7 (resolved 2.1.1 with current requirements)

Latest: 2.12.1

Audit Status

Audit Done

Started May 11, 2026

Approval

Not requested

Latest Audit Result

Partnership cookbook demo combining IBM WatsonX AI with Exa web search. Only the search endpoint is used, via the now-deprecated exa-py `search_and_contents()` helper with `type="auto"` and `text=True`. All three declared capabilities (search endpoint, auto search type, text content) are confirmed implemented and working at runtime. No deprecated API features (per April 2026 changelog) are used. However, the SDK-level `search_and_contents()` method is deprecated in favor of `search(..., contents={"text": True})`. The resolved exa-py version (2.1.1) is far behind latest (2.12.1) due to ibm-watsonx-ai dependency conflicts. pyproject.toml claims Python >=3.8 but ibm-watsonx-ai now requires >=3.11. The notebook's ExaSearchClient is missing the `x-exa-integration` header that the src/ module sets.

Health: outdated
Current SDK: exa-py>=1.8.7 (resolved 2.1.1 with current requirements)
Latest SDK: 2.12.1

Missing Features (3)

  • Uses deprecated exa-py `search_and_contents()` SDK method — should migrate to `search(..., contents={"text": True})`
  • pyproject.toml declares `requires-python >= 3.8` but ibm-watsonx-ai 1.5.11 requires Python >=3.11 — the declared Python range is incorrect and will fail on install for 3.8-3.10
  • Resolved exa-py version is 2.1.1 (10 major versions behind latest 2.12.1) due to ibm-watsonx-ai dependency constraint conflicts

Marked outdated since May 11, 2026

Missing Features (7)

  • Uses deprecated exa-py `search_and_contents()` SDK method — should migrate to `search(..., contents={"text": True})`
  • pyproject.toml declares `requires-python >= 3.8` but ibm-watsonx-ai 1.5.11 requires Python >=3.11 — the declared Python range is incorrect and will fail on install for 3.8-3.10
  • Resolved exa-py version is 2.1.1 (10 major versions behind latest 2.12.1) due to ibm-watsonx-ai dependency constraint conflicts
  • Migrate `search_and_contents(query, type="auto", num_results=5, text=True)` → `search(query, type="auto", num_results=5, contents={"text": True})`
  • Wire through the `num_results` parameter in `ExaSearchClient.search()` instead of hardcoding 5
  • Add the `x-exa-integration: ibm-watsonx` header to the notebook's ExaSearchClient (currently only in `src/exa_client.py`)
  • Update pyproject.toml `requires-python` from `>=3.8` to `>=3.11` to match ibm-watsonx-ai