Uploaded image for project: 'AI Platform Core Components'
  1. AI Platform Core Components
  2. AIPCC-10809

Onboard google-auth-oauthlib into the AIPCC Builder

    • Icon: Story Story
    • Resolution: Won't Do
    • Icon: Undefined Undefined
    • None
    • None
    • None
    • False
    • Hide

      None

      Show
      None
    • 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.

              epacific@redhat.com Einat Pacifici
              aipcc-jira-bot@redhat.com AIPCC JIRABOT
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: