• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

openvax / topiary / 24418527228
88%
master: 90%

Build:
Build:
LAST BUILD BRANCH: v5.16.2
DEFAULT BRANCH: master
Ran 14 Apr 2026 07:31PM UTC
Jobs 3
Files 32
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

14 Apr 2026 07:24PM UTC coverage: 88.297% (+0.2%) from 88.127%
24418527228

Pull #130

github

iskandr
Tighten CachedPredictor version handling + mhcflurry auto-compose

Six add-ons from the PR #128 design discussion, bundled:

1. Empty-cache + fallback mode — CachedPredictor(fallback=p) with no
   df is now valid; (name, version) are discovered from the fallback's
   output on the first query and locked in thereafter.  Pure read-
   through cache.

2. Reject null / NaN / empty-string on prediction_method_name and
   predictor_version at construction.  Silent "I don't know" agreement
   would mask the invariant; force the user to supply a real identity.

3. also_accept_versions opt-in equivalence set.  A fallback's version
   passes if it equals the cache's OR is in the caller's accepted set.
   Names stay strict — different predictors are different.  Default
   (empty set) keeps today's strict equality.

4. mhcflurry_composite_version() helper and auto-default in
   from_mhcflurry.  Discovers mhcflurry.__version__ plus
   mhcflurry.downloads.get_current_release() and composes e.g.
   "2.2.1+release-2.2.0".  Users never enumerate model bundles —
   CachedPredictor.from_mhcflurry("predictions.csv") just works.
   Explicit predictor_version= still overrides when a custom label is
   needed.

5. from_mhcflurry docstring now explains the mhcflurry-specific
   package-version + model-release composition (scoped to this loader,
   not the generic class — NetMHCpan et al. have their model data baked
   into the binary and don't need composite versions).

6. Lookup refactor: one pass to identify peptides with any miss, one
   fallback call per round, one pass to assemble rows from the updated
   cache.  Fixes a latent duplicate-row bug in the prior implementation
   (allele-level partial results + fallback union).

15 new tests across null-version rejection, empty-cache-plus-fallback
identity discovery, equivalence-set acceptance vs. rejection, the
helper's composition + error paths (stubbed mhcflurry module — avoids
tensorflow/libomp collisions in the test en... (continued)
Pull Request #130: Add CachedPredictor — predictions-as-data core (part 1 of #128)

208 of 229 new or added lines in 2 files covered. (90.83%)

3214 of 3640 relevant lines covered (88.3%)

2.65 hits per line

Uncovered Changes

Lines Coverage ∆ File
21
90.79
topiary/cached.py
Jobs
ID Job ID Ran Files Coverage
1 python-3.11 - 24418527228.1 14 Apr 2026 07:32PM UTC 32
88.3
GitHub Action Run
2 python-3.10 - 24418527228.2 14 Apr 2026 07:31PM UTC 32
88.3
GitHub Action Run
3 python-3.12 - 24418527228.3 14 Apr 2026 07:31PM UTC 32
88.3
GitHub Action Run
Source Files on build 24418527228
  • Tree
  • List 32
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #24418527228
  • Pull Request #130
  • PR Base - master (#24411959128)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc