-
Story
-
Resolution: Unresolved
-
Undefined
-
None
-
None
-
None
-
False
-
-
False
-
-
Add package 'caikit' 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: caikit Build Analysis
caikit is a Simple complexity (1/10) pure-Python AI toolkit framework with no native compilation requirements. The package contains zero C/C++/Rust/Cython code and produces a universal wheel (py3-none-any). The build system is fully declarative — setuptools with setuptools-scm for version management, PEP 517/518 compliant via pyproject.toml, with no custom build logic. Pre-compiled protobuf stubs are checked into the repository, so no protoc step is needed. There are no blockers for building from source. The package is licensed under Apache-2.0, fully compatible with Red Hat distribution policies, and all core dependencies use permissive licenses (MIT, Apache-2.0, BSD-3-Clause).
The recommended build approach is a straightforward source build. The only notable build-time consideration is setting SETUPTOOLS_SCM_PRETEND_VERSION=0.28.3 when building from a source tarball without git history, to avoid version fallback to 0.0.0. All 17 core runtime dependencies have pre-built manylinux wheels available on PyPI for x86_64. Dependencies with native components — grpcio, numpy, protobuf, psutil, and PyYAML — are all well-established packages with broad platform wheel availability. The grpcio version exclusions (!=1.55.0, !=1.64.0) in pyproject.toml must be respected.
A key finding for AIPCC-10389: caikit itself is hardware-agnostic and contains zero GPU-specific code. The same py3-none-any wheel works identically across CPU, CUDA, and ROCm indexes. Separate per-accelerator builds are not required for this package. GPU/accelerator awareness comes from downstream packages such as caikit-nlp (which depends on PyTorch), not from caikit itself. No open GitHub issues block building or packaging; the only notable dependency concern is a pandas<2 pin on the optional interfaces-ts extra, which does not affect core runtime usage.
Build Command
export SETUPTOOLS_SCM_PRETEND_VERSION=0.28.3 pip wheel --no-deps .
Key Facts
- Source: https://github.com/caikit/caikit — public, IBM-originated, latest v0.28.3 (2025-10-22)
- License: Apache-2.0 — Red Hat distribution compliant, no copyleft dependencies
- Python Support: 3.8, 3.9, 3.10, 3.11, 3.12 (CI-tested on ubuntu-latest)
- Multi-index (CPU/CUDA/ROCm): Single universal wheel covers all — no separate builds needed
- Critical Blockers: None
- blocks
-
AIPCC-10724 Onboard caikit into the AIPCC Builder
-
- In Progress
-
- mentioned on