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

Add nvidia-riva-client into the RHAI pipeline onboarding collection

    • AIPCC Accelerators 27

      Add package 'nvidia-riva-client' into the RHAI pipeline onboarding collection.

      The package requires builder repository onboarding before it can be added to the RHAI pipeline. This ticket is blocked by the builder onboarding ticket.

      Summary

      Executive Summary: nvidia-riva-client Packaging Analysis

      nvidia-riva-client is a pure-Python gRPC client library for NVIDIA's Riva Speech AI platform, required as a hard dependency of Garak. The package produces a noarch wheel (

      py3-none-any

      ) with no native compilation required. However, the build process has a moderate complexity step: it compiles Protocol Buffer (

      .proto

      ) definitions from a git submodule (

      nvidia-riva/common

      ) into Python code using

      grpc_tools.protoc

      . A source build from the GitHub repository at tag

      r2.16.0

      has been verified successful, producing a wheel that matches the PyPI-distributed artifact. The package is licensed under MIT, fully compatible with Red Hat redistribution.

      CRITICAL BLOCKER: The JIRA ticket AIPCC-10994 references version 0.16.0, which does not exist on PyPI. The correct version is 2.16.0, as confirmed by Garak's

      pyproject.toml

      which pins

      nvidia-riva-client==2.16.0

      . This version discrepancy must be corrected before proceeding. Additionally, no sdist is published to PyPI for any version — the source must come from the GitHub repository at

      https://github.com/nvidia-riva/python-clients

      (tag

      r2.16.0

      ).

      Version 2.16.0 is advantageous for RPM packaging because its runtime dependencies (

      setuptools>=65

      ,

      grpcio-tools

      ) use relaxed version constraints, unlike later versions (2.17.0+) which aggressively pin exact versions and introduce ecosystem conflicts. The build requires

      grpcio-tools

      as a build dependency and

      git

      to initialize the

      common

      submodule containing the

      .proto

      files. For RPM packaging, the submodule content should be bundled into the source tarball to avoid network access during build.

      Key Actions

      • Immediate: Update JIRA ticket AIPCC-10994 to reference version 2.16.0 instead of 0.16.0
      • Source: Use
        https://github.com/nvidia-riva/python-clients/archive/refs/tags/r2.16.0.tar.gz

        as Source0, and bundle the

        common

        submodule content as Source1

      • BuildRequires:
        python3-grpcio-tools

        ,

        python3-setuptools
      • Requires:
        python3-setuptools >= 65

        ,

        python3-grpcio-tools
      • Architecture:
        noarch

        — no platform-specific build steps needed despite the ticket specifying x86_64

              lbarto Lance Barto
              aipcc-jira-bot@redhat.com AIPCC JIRABOT
              Frank's Team
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: