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

openvax / topiary / 34914989442-1
93%
master: 93%

Build:
Build:
LAST BUILD BRANCH: v5.59.2
DEFAULT BRANCH: master
Ran 15 Sep 2026 12:58AM UTC
Jobs 1
Files 43
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

15 Sep 2026 12:52AM UTC coverage: 92.262% (+0.1%) from 92.154%
34914989442-1

Pull #319

github

iskandr
Make declared dependencies and exported surface match the code (#314, #315)

Two mechanical issues from today's review. Every claim verified before
changing anything.

Dependencies (#315):

- mhcnames was a hard dependency with no importer anywhere since 2018,
  when lazy_ligandome_dict was deleted. Allele parsing uses mhcgnomes.
  Dropped.
- mhcgnomes and pyensembl are imported directly but were declared by
  nobody, arriving only through mhctools and varcode. pyensembl is
  imported at module scope in topiary/sources.py, so it was never
  optional in the first place. Both declared, with floors matching what
  mhctools already guarantees so resolution is unchanged, and the
  pyensembl <3.0.0 cap matching mhctools and vaxrank - leaving it open
  here could resolve a 3.x that breaks them.
- Confirmed the change reaches built metadata by building a wheel and
  reading Requires-Dist, not just by editing requirements.txt.
- Two ImportError guards deleted as unreachable: gtfparse is imported
  unconditionally in topiary/rna/gtf.py and pyensembl in
  topiary/sources.py, so neither guard's "pip install ..." advice could
  ever print. Genuinely optional integrations keep using
  require_optional_dependency, which names the right extra.

Dead surface (#314):

- _dsl_filter_to_string and CachedPredictor._row_key had no callers.
- A cache_kinds local in predict_peptides_dataframe was computed and
  never read. Removing it orphaned _cache_kinds - so rather than delete
  that too, it is now the one definition of "which kinds does this
  cache hold", since kind_support was recomputing the same set inline.
  The two differed only in a str() coercion that is a no-op on a
  normalized cache, where _normalize has already cast the column.
- The version predicate had three names for one rule. _known_versions,
  documented as a deprecated internal alias, was what internal code
  called, while the public known_versions had no internal users. The
  five sites now call known... (continued)
Pull Request #319: Make declared dependencies and exported surface match the code (#314, #315)

6 of 7 new or added lines in 5 files covered. (85.71%)

136 existing lines in 3 files now uncovered.

7118 of 7715 relevant lines covered (92.26%)

0.92 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
61.11
1.25% topiary/rna/expression_loader.py

Coverage Regressions

Lines Coverage ∆ File
116
92.58
-0.01% topiary/ranking/nodes.py
19
61.11
1.25% topiary/rna/expression_loader.py
1
80.0
0.0% topiary/cli/script.py
Jobs
ID Job ID Ran Files Coverage
1 34914989442-1.1 15 Sep 2026 12:58AM UTC 43
92.26
GitHub Action Run
Source Files on build 34914989442-1
  • Tree
  • List 43
  • Changed 9
  • Source Changed 9
  • Coverage Changed 9
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #34914989...
  • Pull Request #319
  • PR Base - master (#34904426...)
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