--- id: h2o-authn version: "3.1.0" license: Apache-2.0 license_treatment: permissive maintenance: active --- # h2o-authn — H2O Python Clients Authentication Helpers License: permissive · Maintenance: active · Downloads: 223.8K/mo ## What it is and what it does h2o-authn wraps OAuth 2.0 token exchange for H2O.ai's Python ecosystem. It manages refresh tokens, handles access token expiration, and provides both synchronous and asynchronous token providers that can be passed directly to H2O client libraries. The package accepts either an issuer URL (for OIDC discovery) or a direct token endpoint URL, plus credentials and optional scope/expiry configuration. Tokens are exposed as callable objects that return fresh access strings, or as Token instances with additional attributes like expiration time and scope. The package is designed as a thin authentication layer for H2O services—MLOps, Drive, Enterprise Steam—and optionally integrates with H2O Cloud Discovery for simplified configuration in cloud environments. It depends only on httpx for HTTP requests and supports current Python versions (3.9+). Use it for: - Authenticate to H2O MLOps Python Client by passing a TokenProvider instance as the token_provider argument - Manage OAuth tokens in async H2O Wave applications using AsyncTokenProvider with environment-sourced credentials - Exchange refresh tokens for access tokens in H2O Enterprise Steam login workflows - Simplify multi-service authentication using H2O Cloud Discovery to auto-configure token providers - Clone token providers with different scopes when accessing H2O services with varying permission requirements ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides OAuth 2.0 token management for H2O Python clients, handling refresh token exchange and access token lifecycle with both sync and async interfaces. Yes. Low install friction, active maintenance, no known vulnerabilities, and permissive licensing make this a straightforward choice if you are using H2O Python clients. Install only if you need OAuth token management for H2O services; it is not a general-purpose OAuth library. ## Install pip install h2o-authn uv add h2o-authn poetry add h2o-authn ## Installing h2o-authn Before you install: Low friction: pure Python wheel with a single runtime dependency (httpx). Active maintenance with recent release on 2025-04-28 and last commit 2026-08-11. License in practice: Apache-2.0 permissive license allows commercial and private use with minimal restrictions. Quickstart: pip install h2o-authn import h2o_authn provider = h2o_authn.TokenProvider( refresh_token="your_refresh_token", client_id="your_client_id", issuer_url="https://your-issuer-url" ) access_token = provider() Requires Python 3.9 or later. Token endpoint URL or issuer URL must be provided; issuer URL requires network access for OIDC discovery. Verify before relying: - Whether the package handles token refresh automatically or requires explicit calls - Performance characteristics under high-frequency token requests - Compatibility with H2O services outside the documented examples ## Package facts - License: Apache-2.0 (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 223.8K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags oauth token provider, h2o authentication, refresh token exchange, access token management, async token provider, oauth 2.0 client, h2o cloud authentication, oauth-2.0, h2o-ecosystem, token-management [View on SkillFed](https://skillfed.io/packages/h2o-authn) · [View on PyPI](https://pypi.org/project/h2o-authn/)