Skip to content

Set the new env for clusTCR - #105

Merged
julenmendieta merged 5 commits into
mainfrom
julenmendieta/MILAB-6796_cusTcrEnv
Aug 25, 2026
Merged

julenmendieta merged 5 commits into
mainfrom
julenmendieta/MILAB-6796_cusTcrEnv

Conversation

@julenmendieta

@julenmendieta julenmendieta commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR adds and publishes a focused Python 3.12.10 environment for the clusTCR Clustering block.

  • Adds the 3.12.10-clustcr runtime package with pinned clusTCR, scientific-computing, FAISS, and Polars dependencies.
  • Registers Linux x64/ARM64 and macOS x64/ARM64 builds in CI, the pnpm workspace, and the public runtime catalogue.
  • Adds a changeset for the new runtime and catalogue release.
  • Important touched terms:
    • Run environment — A packaged, platform-specific Python distribution consumed by Platforma blocks. This PR introduces the 3.12.10-clustcr environment.
    • clusTCR — A T-cell receptor clustering library distributed as immunewatch-clustcr and imported through imw_clustcr. Version 1.0.1 is added as the environment’s primary workload dependency.
    • noDeps — Builder policy that installs a selected package without resolving its declared dependencies. The new profile applies it to clusTCR so its Python-3.12-incompatible SciPy metadata does not control resolution.
    • Dependency closure — The complete set of packages needed by an application at runtime. The profile explicitly supplies clusTCR’s closure, including NumPy, SciPy, pandas, scikit-learn, NetworkX, and clustering utilities.
    • FAISS — A native similarity-search library used by clusTCR’s two-step and V-gene-aware paths. The environment adds faiss-cpu==1.15.0.
    • Strict missing resolution — Builder behavior that fails rather than omitting a package when no permitted artifact can be resolved. The new profile enables strictMissing.
    • Catalogue entrypoint — A stable public name mapped to a runtime package’s generated software descriptor. The catalogue gains 3.12.10-clustcr.
    • Platform root — The packaged environment directory selected for an OS/architecture pair. The new package declares two Linux and two macOS roots.

Confidence Score: 5/5

The PR appears safe to merge because its runtime package, supported platform roots, CI matrix, workspace registration, catalogue reference, and release metadata are internally aligned.

No concrete blocking or independently actionable non-blocking defect remains after checking dependency-resolution semantics and the package’s build and publication wiring.

Important Files Changed

Filename Overview
python-3.12.10-clustcr/config.json Defines the pinned clusTCR dependency profile, bypasses incompatible upstream dependency metadata, and enables strict package resolution.
python-3.12.10-clustcr/package.json Defines the runtime package lifecycle and matching Linux and macOS environment roots.
catalogue/package.json Adds an aligned catalogue entrypoint and workspace dependency for the new runtime.
.github/workflows/build.yaml Adds CI jobs corresponding exactly to the four platform roots declared by the runtime package.
pnpm-workspace.yaml Registers the clusTCR package in the release workspace.
.changeset/clustcr-runenv.md Records release intent for the new runtime and its catalogue exposure.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart LR
    Config[clusTCR dependency profile] --> Builder[Shared Python runtime builder]
    Builder --> LinuxX64[Linux x64 root]
    Builder --> LinuxArm64[Linux ARM64 root]
    Builder --> MacX64[macOS x64 root]
    Builder --> MacArm64[macOS ARM64 root]
    LinuxX64 --> Runtime[Published clusTCR runtime package]
    LinuxArm64 --> Runtime
    MacX64 --> Runtime
    MacArm64 --> Runtime
    Runtime --> Catalogue[3.12.10-clustcr catalogue entrypoint]
    Catalogue --> Block[clusTCR Clustering block]
Loading

Reviews (1): Last reviewed commit: "Set the new env for clusTCR" | Re-trigger Greptile

Context used (6)

@julenmendieta
julenmendieta merged commit 85d171a into main Aug 25, 2026
63 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants