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

Add model-index into the RHAI pipeline onboarding collection

    • Icon: Story Story
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • None
    • None
    • False
    • Hide

      None

      Show
      None
    • False

      Add package 'model-index' 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

      Here is the executive summary formatted as a JIRA comment in JIRA wiki markup:

      Executive Summary: model-index Build Analysis

      model-index (v0.1.11) is a pure-Python package with Simple build complexity (1/10) and no compiled extensions. It is MIT-licensed, and all four runtime dependencies (

      pyyaml

      ,

      markdown

      ,

      ordered-set

      ,

      click

      ) carry permissive licenses (MIT/BSD-3-Clause), making the full dependency chain fully compliant for Red Hat redistribution. The existing PyPI wheel (

      py3-none-any

      , 34 KB) is correctly formed with all dependencies properly declared in metadata and can serve as an immediate fallback. The repository (github.com/paperswithcode/model-index) has been unmaintained since June 2021.

      The sole blocking issue is that

      setup.py

      imports the package at build time (

      from modelindex import __version__

      ), triggering a cascade of imports that require all runtime dependencies to already be installed. This breaks PEP 517 isolated builds (pip's default behavior), making it impossible to build from sdist without intervention. Note: the JIRA ticket's description that runtime dependencies are "not properly declared in package metadata" is partially inaccurate — the wheel metadata is correct; the problem is specifically the build-time import chain in setup.py.

      Recommended fix: Apply two patches — (1) create a

      pyproject.toml

      declaring runtime deps as build-system requires, and (2) patch

      setup.py

      to read the version string directly from

      modelindex/version.py

      via regex instead of importing the package. This eliminates the build isolation failure entirely. The patched build command is straightforward:

      pip wheel --no-deps .
      # Produces: model_index-0.1.11-py3-none-any.whl
      

      As an alternative workaround, disabling build isolation (

      pip install --no-build-isolation

      ) after pre-installing dependencies also works. No platform-specific builds are needed — a single

      py3-none-any

      wheel serves all architectures and Python 3 versions.

      Key Takeaways

      • Blocker:
        setup.py

        build-time import chain — fixable with a simple patch

      • License: MIT + permissive deps — no redistribution concerns
      • Risk: Repository unmaintained 4+ years; recommend carrying patches downstream
      • Fallback: Existing PyPI wheel is correctly formed and installable as-is
      • Target date (2026-03-04): Fully achievable — trivial package size, no compilation, single-session patch-and-build effort

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

                Created:
                Updated: