Releases: aandresalvarez/athena_client
athena-client 1.0.33
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.
- The client now attempts to seed an Athena web session before retrying API calls when a 403 HTML response is received from
- Improved API retry behavior for transient conditions across search and detail/relations/graph calls.
- Updated event-loop safety for
generate_concept_setwrapper paths to avoid nestedasyncioissues. - 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-setby 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
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 prevent403 Forbiddenerrors encountered with modern bot detection systems. - Connection Reuse: Optimized
AthenaClientto properly reuse HTTP sessions (Keep-Alive), reducing latency and improving stability during high-volume requests. - Dynamic Timeouts: Added a per-request
timeoutparameter to allget()andpost()methods in both synchronous and asynchronous clients. - Async Alignment: Synchronized the
AthenaAsyncClientwith 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
Makefilewith a robustbump-versionworkflow.
⚠️ 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
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
-
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.pyimports fixed;examples/test.pyprints exploration stats, mappings, and suggestions.
- README: Clarified ConceptExplorer is async-only; example updated to use
-
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
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
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
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
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
Release v1.0.12: Improved dependency management and compatibility
v1.0.11
Bump version to 1.0.11 and fix CLI entrypoint test for Click SystemEx…