Skip to content

Releases: aandresalvarez/athena_client

athena-client 1.0.33

17 Feb 19:44

Choose a tag to compare

athena-client 1.0.33

This release improves reliability against Athena API responses and hardens the client behavior in edge cases.

What’s changed

Improvements

  • Added resilient session bootstrap handling for Athena HTML 403 responses.
    • The client now attempts to seed an Athena web session before retrying API calls when a 403 HTML response is received from athena.ohdsi.org.
  • Improved API retry behavior for transient conditions across search and detail/relations/graph calls.
  • Updated event-loop safety for generate_concept_set wrapper paths to avoid nested asyncio issues.
  • Added stricter parsing/validation for model enums and cleaner handling of unknown shorthand values.
  • Added tests for:
    • HTML 403 bootstrap behavior
    • Non-Athena host behavior on 403
    • Schemaless base URL handling
    • Search result limiting and CLI regression paths

Fixes

  • Resolved compatibility issue in CLI-related test path for generate-set by aligning module-level async import/usage.
  • Miscellaneous formatting/type-cleanup and request-header consistency updates for better runtime stability.

Validation

  • Full test suite: make test
  • Packaging consistency checks remain in place (version + release metadata aligned).

Install / upgrade

python -m pip install --upgrade "athena-client==1.0.33"
# or full extras:
python -m pip install --upgrade "athena-client[full]==1.0.33"

v1.0.31 - WAF Bypass & Performance Improvements

02 Jan 22:55

Choose a tag to compare

This release focuses on improving the client's reliability against Web Application Firewalls (WAF) and enhancing connection management.

🚀 Key Improvements

  • WAF Compatibility: Modernized HTTP headers and added browser security headers (Origin, Sec-Fetch-*) to prevent 403 Forbidden errors encountered with modern bot detection systems.
  • Connection Reuse: Optimized AthenaClient to properly reuse HTTP sessions (Keep-Alive), reducing latency and improving stability during high-volume requests.
  • Dynamic Timeouts: Added a per-request timeout parameter to all get() and post() methods in both synchronous and asynchronous clients.
  • Async Alignment: Synchronized the AthenaAsyncClient with the same header and session management improvements.

🧪 Quality & Testing

  • Regression Tests: Added new test suites to verify header behavior and prevent 403 regressions.
  • Live API Integration: Introduced opt-in live API tests (ATHENA_LIVE_TESTS=true) for real-world verification.
  • Developer Tooling: Improved Makefile with a robust bump-version workflow.

⚠️ Backward Compatibility

This version is fully backward compatible. All existing implementations will continue to work without modification while benefiting from the improved connectivity.

v1.0.30

03 Nov 00:04
8a0c674

Choose a tag to compare

What's Changed

  • Fix pipx installation - missing dependencies (ModuleNotFoundError: requests) by @aandresalvarez in #14

Full Changelog: v1.0.29...v1.0.30

athena-client v1.0.29 — Async reliability, ConceptExplorer docs, and example fixes

29 Oct 19:29

Choose a tag to compare

  • Fix: async requests 403 on public OHDSI Athena

    • Async client now sends browser-like headers (Referer, Accept-Language, realistic User-Agent).
    • Fallback across multiple User-Agents for non-JSON/403 responses.
    • Do not retry on network errors with different User-Agents.
    • Anonymous usage against https://athena.ohdsi.org/api/v1 works out-of-the-box.
    • Reference: Issue #12 and PR #13. See: PR #13
  • Improvement: ConceptExplorer time-limit handling

    • Honors tight time budgets by skipping heavy steps when remaining time is small.
    • Early return for very small budgets; tests added/adjusted.
  • Documentation

    • README: Clarified ConceptExplorer is async-only; example updated to use AthenaAsyncClient.
    • Concept Exploration Guide: Added explicit async setup; reiterated anonymous access on public server.
    • Examples: examples/concept_exploration_demo.py imports fixed; examples/test.py prints exploration stats, mappings, and suggestions.
  • Quality and tests

    • New tests assert async default headers and auth/default header merge.
    • Tests verify fallback UA behavior and network error handling.
    • Full suite: 360 tests passing locally; pre-commit checks green.

Upgrade notes

  • No breaking API changes.
  • If you use ConceptExplorer, switch to AthenaAsyncClient.
  • Public OHDSI Athena requires no token; private instances may still require ATHENA_TOKEN.

Thanks

  • Community report and feedback that helped identify and validate the fix: Issue #12.

v1.0.19 – Responsible Usage, Documentation, and Safeguards Update

01 Jul 18:12

Choose a tag to compare

This release focuses on responsible API usage, improved documentation, and enhanced safeguards:

Added and clarified responsible usage warnings in both the CLI and documentation.
Improved large query warning logic: now only warns when a large result set may be downloaded.
Expanded Concept Exploration Guide with detailed CLI option tables and usage explanations.
Updated README with clearer disclaimers, maintainer info, and best practices.
Ensured all changes are fully tested (pytest, coverage ~89%) and documented.
Bumped version to 1.0.18 and tagged the release.
This update helps users understand the SDK’s capabilities and limitations, encourages responsible use, and provides better guidance for both CLI and API interactions.

v1.0.18 – Responsible Usage, Documentation, and Safeguards Update

01 Jul 17:50

Choose a tag to compare

This release focuses on responsible API usage, improved documentation, and enhanced safeguards:

Added and clarified responsible usage warnings in both the CLI and documentation.
Improved large query warning logic: now only warns when a large result set may be downloaded.
Expanded Concept Exploration Guide with detailed CLI option tables and usage explanations.
Updated README with clearer disclaimers, maintainer info, and best practices.
Ensured all changes are fully tested (pytest, coverage ~89%) and documented.
Bumped version to 1.0.18 and tagged the release.
This update helps users understand the SDK’s capabilities and limitations, encourages responsible use, and provides better guidance for both CLI and API interactions.

v1.0.17 – Documentation & Disclaimer Update

01 Jul 02:22

Choose a tag to compare

Updated the README to clarify the unofficial status of the library and add a clear disclaimer about the lack of warranty or guarantees.
No code changes; this release is for documentation and transparency improvements only.
Maintainer: Alvaro A. Alvarez P. (alvaro1@stanford.edu)
Recommended for all users to ensure clarity on project status and support.

v1.0.16 – Bugfix & Documentation Update

01 Jul 02:12

Choose a tag to compare

What's new in v1.0.16
Bugfix: Resolved an issue affecting the previous release. All known problems have been fixed and the package is now stable.
Documentation: Updated the Concept Exploration Guide for improved clarity and usage examples.
Maintenance: General improvements and dependency updates for better compatibility and performance.
This release is recommended for all users. Please report any issues on GitHub Issues.

v1.0.12

26 Jun 07:12

Choose a tag to compare

Release v1.0.12: Improved dependency management and compatibility

v1.0.11

26 Jun 06:47

Choose a tag to compare

Bump version to 1.0.11 and fix CLI entrypoint test for Click SystemEx…