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

gladiaio / num2words2 / 35664733890
97%

Build:
DEFAULT BRANCH: main
Ran 21 Sep 2026 10:55PM UTC
Jobs 6
Files 172
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

21 Sep 2026 10:50PM UTC coverage: 96.706% (+1.6%) from 95.13%
35664733890

push

github

web-flow
fix(ci,cli): run the whole suite in CI, and ship the CLI again (ports savoirfairelinux/num2words#624 + #623 by @shamilbi) (#146)

* fix(ci,cli): run the whole test suite, and ship the CLI again

CI ran 'coverage run -m unittest discover'. unittest only collects
TestCase subclasses, so every module-level 'def test_*' function in
tests/ was silently skipped - 52 of them across 23 files. Five were
failing and nobody could see it. tox now runs pytest.

Four of those five failures were real.

The CLI does not exist in the published package. setup.py declares
scripts=["bin/num2words2"], but the wheel is built by maturin from
pyproject.toml, which never reads setup.py - so neither the num2words2
command nor 'python -m num2words2' worked once installed, both of which
the wiki documents. bin/num2words2 would not have run anyway: it imports
docopt, which is not a dependency, and calls
num2words2.CONVERTER_CLASSES, which this package does not define.

Adds num2words2/__main__.py using argparse and the core's
supported_langs(), plus a [project.scripts] entry point so the console
command ships. Ports savoirfairelinux/num2words#624 and #623 by
@shamilbi. Removes the two dead bin/ scripts and points setup.py's
entry_points at the module for anyone building the sdist by hand.

The remaining two failures were stale expectations, not product bugs:

- tests/lang/test_tr.py passed the float 1.5 but expected the string
  "1.50" reading ("elli" rather than "beş"), contradicting an
  assertion six lines above it. Both spellings are now pinned.
- tests/lang/test_pt_BR.py predates num2words2#75: a string keeps the
  precision it was written with, so "1.50" is "um ponto cinco zero",
  matching num2words("1.50", lang="en").

tests/lang/test_uk.py::test_uk_gender_short_alias_feminine is a genuine
gap - uk raises NotImplementedError for every gender= value - so it is
marked xfail(strict=True) pointing at #145 rather than deleted. It flips
to a failure the moment someone fixes it.... (continued)

1288 of 1436 branches covered (89.69%)

Branch coverage included in aggregate %.

97 of 98 new or added lines in 6 files covered. (98.98%)

25219 of 25974 relevant lines covered (97.09%)

5.83 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
96.23
num2words2/__main__.py
Jobs
ID Job ID Ran Files Coverage
1 3.11 - 35664733890.1 21 Sep 2026 11:00PM UTC 172
96.71
GitHub Action Run
2 3.10 - 35664733890.2 21 Sep 2026 11:00PM UTC 172
96.71
GitHub Action Run
3 3.13 - 35664733890.3 21 Sep 2026 11:00PM UTC 172
96.71
GitHub Action Run
4 3.14 - 35664733890.4 21 Sep 2026 11:00PM UTC 172
96.71
GitHub Action Run
5 3.15 - 35664733890.5 21 Sep 2026 11:00PM UTC 172
96.71
GitHub Action Run
6 3.12 - 35664733890.6 21 Sep 2026 11:00PM UTC 172
96.71
GitHub Action Run
Source Files on build 35664733890
  • Tree
  • List 172
  • Changed 27
  • Source Changed 0
  • Coverage Changed 27
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 33165314 on github
  • Prev Build on main (#35660982929)
  • Next Build on main (#35665468011)
  • Delete
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