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

TheKevJames / coveralls-python / 29763296751
94%
master: 96%

Build:
Build:
LAST BUILD BRANCH: kjames/retries
DEFAULT BRANCH: master
Ran 20 Jul 2026 05:21PM UTC
Jobs 5
Files 8
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

20 Jul 2026 05:19PM UTC coverage: 94.042% (+0.7%) from 93.299%
29763296751

Pull #755

github

TheKevJames
refactor(config)!: model resolved configuration as a typed Config

resolve() now returns a typed Config dataclass instead of an untyped dict.
Config separates API payload fields from client-behaviour settings, exposes
to_payload() as the enforced payload boundary and request_timeout as the
resolved (connect, read) tuple, and validates the timeout family at
construction. api.py consumes Config by attribute and is now type-checked.

Unknown keys are handled the same way regardless of source -- config file or
Coveralls() keyword arguments -- dropped with a warning rather than crashing on
an unexpected kwarg. The boolean flags (parallel, skip_ssl_verify) are coerced
so a non-bool config value can't reach the API or a client toggle as a string.

changelog:
Resolved configuration is now a typed ``Config`` object. **Breaking (library
API):** ``Coveralls.config`` is a ``Config`` dataclass rather than a ``dict`` --
read values by attribute (``cover.config.service_name``) instead of by key
(``cover.config["service_name"]``). Unrecognised keys are now ignored with a
warning -- consistently whether they come from ``.coveralls.yml`` or a
``Coveralls()`` keyword argument -- instead of being silently accepted (config
file) or raising a ``TypeError`` (kwargs).
Pull Request #755: refactor(config): model resolved configuration as a typed Config

136 of 146 branches covered (93.15%)

Branch coverage included in aggregate %.

86 of 86 new or added lines in 2 files covered. (100.0%)

448 of 475 relevant lines covered (94.32%)

4.72 hits per line

Jobs
ID Job ID Ran Files Coverage
1 29763296751.1 20 Jul 2026 05:21PM UTC 8
94.04
GitHub Action Run
2 29763296751.2 20 Jul 2026 05:21PM UTC 8
94.04
GitHub Action Run
3 29763296751.3 20 Jul 2026 05:21PM UTC 8
94.04
GitHub Action Run
4 29763296751.4 20 Jul 2026 05:21PM UTC 8
94.04
GitHub Action Run
5 29763296751.5 20 Jul 2026 05:21PM UTC 8
94.04
GitHub Action Run
Source Files on build 29763296751
  • Tree
  • List 8
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Pull Request #755
  • PR Base - master (#CADEAD95...)
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