-
Story
-
Resolution: Won't Do
-
Undefined
-
None
-
None
-
None
-
False
-
-
False
-
-
Package 'google-auth-oauthlib' does not build as-is via the AIPCC self-service pipeline and requires builder repository onboarding.
Build Failure Summary
Root Cause Analysis: `google-auth-oauthlib` Build Failure
Summary
This is not a wheel build failure — the pipeline failed during requirements parsing, before any package building began.
Root Cause
The requirements file contains an invalid PEP 440 version specifier:
google-auth-oauthlib==any
^
The string `any` is not a valid version number. The `packaging` library's requirement parser rejects it because `==any` does not conform to [PEP 440](https://peps.python.org/pep-0440/) version specification syntax. The error originates from parsing the file:
/collection-repository/collections/torch-2.9.0/cpu-ubi9/requirements.txt
at line 0 (the first line), during the `prepare-requirements` step.
Key Log Excerpt
ValueError: Failed to parse /collection-repository/collections/torch-2.9.0/cpu-ubi9/requirements.txt
line 0 'google-auth-oauthlib==any':
Expected semicolon (after name with no version specifier) or end
google-auth-oauthlib==any
^
Fix
In the file `requirements.txt` for the `torch-2.9.0/cpu-ubi9` collection, replace:
google-auth-oauthlib==any
with one of:
- `google-auth-oauthlib` — if any version is acceptable (no version pin)
- `google-auth-oauthlib>=0.4.0` — if a minimum version is needed
- `google-auth-oauthlib==1.2.1` — if a specific version is required
The `==any` syntax is not valid in Python packaging. To express "any version," simply omit the version specifier entirely.
Packaging Analysis Summary
Here is the executive summary formatted as a JIRA comment in JIRA wiki markup:
Executive Summary: google-auth-oauthlib Build Analysis
google-auth-oauthlib (v1.2.4) is a pure-Python package with a complexity score of 1/10, providing oauthlib integration with Google Auth for OAuth 2.0 authorization flows. There are no blockers for source building or redistribution. The package requires no native compilation, uses the Apache 2.0 license (fully Red Hat compatible), and produces a universal py3-none-any wheel — meaning a single build covers all hardware targets (CPU, CUDA, ROCm) with no architecture-specific considerations. The recommended approach is a straightforward source build from the upstream repository using setuptools.
Key Technical Details
The build process is trivial and requires only standard Python tooling (setuptools, wheel, Python 3.7+). No environment variables, system libraries, or compilers are needed. The package has two direct runtime dependencies: google-auth (>=2.15.0,<3.0.0) and requests-oauthlib (>=0.7.0). Note: the transitive dependency cryptography (via google-auth) contains compiled C extensions, but this is typically pre-installed in Red Hat base images and should not pose an issue. All transitive dependency licenses (Apache-2.0, ISC, BSD, MIT, MPL-2.0) are Red Hat-compatible with full redistribution rights.
git clone https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib.git
cd google-auth-library-python-oauthlib
pip wheel --no-deps . -w dist/
# Output: google_auth_oauthlib-1.2.4-py3-none-any.whl (19 KB)
Recommendations for AIPCC-10795
- Pin to version 1.2.4 (released 2026-01-15), which resolves all known google-auth compatibility issues (notably the version exclusions for 2.43.0–2.45.0 from issue #422).
- The optional [tool] extra (click) is only needed for the google-oauthlib-tool CLI and can be omitted for most use cases.
- google-api-python-client, also referenced in the JIRA ticket, is a separate package sharing the google-auth dependency and should be tracked independently.
- No critical blockers exist. All previously known packaging issues are resolved in 1.2.4, and upstream enforces 99% test coverage. Default probe tests are appropriate for validation.
- is blocked by
-
AIPCC-10819 Add google-auth-oauthlib into the RHAI pipeline onboarding collection
-
- Closed
-
- mentioned on