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

openvax / topiary / 33405738431
93%

Build:
DEFAULT BRANCH: master
Ran 31 Aug 2026 03:05PM UTC
Jobs 3
Files 35
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

31 Aug 2026 02:58PM UTC coverage: 90.897% (+0.04%) from 90.861%
33405738431

push

github

web-flow
Keep both versions when one LENS tool appears twice (#208) (#210)

* Keep both versions when one LENS tool appears twice

Keying binding columns on (tool, metric) fixed the version-brittleness
in #206 but left the emitted name - {tool}_{kind}_{field} - with no room
for a version. A table carrying netmhcpan_4.1b.aff_nm and
netmhcpan_4.2.aff_nm produced netmhcpan_affinity_value twice, one
version's values were dropped, and Metadata.models kept only one.
topiary said nothing: the only signal was a pandas duplicate-column
warning later, which does not name the predictor that lost its values,
and to_long() raised, so a consumer could not route around it. Closes

When one tool appears with several versions its columns are qualified -
netmhcpan_4.1b_affinity_value - following the convention to_wide already
uses for the same situation, and topiary warns naming the tool and the
versions. A file with one version per tool is unchanged, warning
included.

Also fixes an older, LENS-independent gap that this exposed: to_wide
appends the version to the model key on collision, but from_wide set
prediction_method_name to the whole key and left predictor_version NaN,
so a round trip produced a method named "netmhcpan_4.1b" with no version
and Affinity["netmhcpan", "4.2"] matched nothing. to_wide now records
the qualified keys in its metadata and from_wide reverses the encoding.

Claude-Session: https://claude.ai/code/session_01BAUqjqDDPXaTdtUDJqapJG

* Address review: real collisions only, explicit key map, version guard

Review of the #208 fix found two defects in it.

Version drift within a file split the predictor. The collision test was
"two version strings appeared for this tool", so a file spelling one
run's version inconsistently across metrics (netmhcpan_4.1b.aff_nm
beside netmhcpan_4.1.score_ba) was qualified into two half-populated
predictors — undoing #206. The test is now whether two versions claim
the same output column.

from_wide guessed at the encoding.... (continued)

55 of 57 new or added lines in 4 files covered. (96.49%)

5562 of 6119 relevant lines covered (90.9%)

2.73 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
91.84
-0.1% topiary/ranking/nodes.py
Jobs
ID Job ID Ran Files Coverage
1 python-3.10 - 33405738431.1 31 Aug 2026 03:05PM UTC 35
90.9
GitHub Action Run
2 python-3.12 - 33405738431.2 31 Aug 2026 03:06PM UTC 35
90.9
GitHub Action Run
3 python-3.11 - 33405738431.3 31 Aug 2026 03:05PM UTC 35
90.9
GitHub Action Run
Source Files on build 33405738431
  • Tree
  • List 35
  • Changed 4
  • Source Changed 4
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #33405738431
  • 35cf1612 on github
  • Prev Build on master (#33402884781)
  • Next Build on master (#33407541185)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc