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

openvax / topiary / 25876363815
90%
master: 90%

Build:
Build:
LAST BUILD BRANCH: v5.16.2
DEFAULT BRANCH: master
Ran 14 May 2026 06: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

14 May 2026 05:57PM UTC coverage: 89.87% (-0.002%) from 89.872%
25876363815

push

github

iskandr
DSL: harden walker, fix IsIn empty-df fragility, fill api.md gaps

Three fixes from the review nudge after the prior "clean stopping
point" claim — all real, not nits.

1. `IsIn.eval` empty-DataFrame branch built a Series from a
   zero-length boolean array indexed by `ctx.group_index`.  Crashes
   if the context happened to carry a non-empty index alongside an
   empty df ("Length of values (0) does not match length of
   index (N)").  Unreachable on current callers but fragile, and
   inconsistent with `Column.eval`'s empty path.  Switch to
   `ctx.empty_series().astype("boolean")` for index alignment and
   pattern parity.

2. `_collect_column_names` walker grew an `isinstance + elif` chain
   when `IsIn` landed.  The docstring promised "implement
   child_nodes() and you're done" — duck-type the leaf check via
   `getattr(n, "col_name", None)` so future column-bearing leaves
   work without touching the walker.  Drops the now-unused `Column`
   and `IsIn` imports from `apply.py`.

3. `docs/api.md` was missing four real public exports: `IsIn`,
   `class_i`, `class_ii`, `derive_mhc_class`.  Add `IsIn` to the
   DSL leaves table; new "Categorical equality and membership"
   subsection under Column covering the methods, the string-DSL
   `==` / `!=` form, and NaN semantics; pre-built shortcuts table
   for `class_i` / `class_ii`; row for `derive_mhc_class` in the
   input-functions table.

Tests: new `test_empty_dataframe` exercising IsIn against an
empty input (regression guard); 145 dsl + pvacseq tests pass; 705
across pvacseq / io / io_lens / dsl / ranking / wide / dataframe.

3 of 4 new or added lines in 2 files covered. (75.0%)

4551 of 5064 relevant lines covered (89.87%)

2.7 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
88.94
0.0% topiary/ranking/nodes.py
Jobs
ID Job ID Ran Files Coverage
1 python-3.12 - 25876363815.1 14 May 2026 06:05PM UTC 35
89.87
GitHub Action Run
2 python-3.10 - 25876363815.2 14 May 2026 06:05PM UTC 35
89.87
GitHub Action Run
3 python-3.11 - 25876363815.3 14 May 2026 06:05PM UTC 35
89.87
GitHub Action Run
Source Files on build 25876363815
  • Tree
  • List 35
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25876363815
  • d9e63159 on github
  • Prev Build on pvacseq-loader (#25875561027)
  • Next Build on pvacseq-loader (#25876601215)
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