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

TheKevJames / coveralls-python
94%
master: 95%

Build:
Build:
LAST BUILD BRANCH: kjames/cli-subcommands
DEFAULT BRANCH: master
Repo Added 13 Jan 2021 07:44AM UTC
Files 8
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

LAST BUILD ON BRANCH kjames/typed-config
branch: kjames/typed-config
CHANGE BRANCH
x
Reset
  • kjames/typed-config
  • 3.3.2a0
  • 3.4.0a0
  • 3.4.0a1
  • 4.0.0
  • 4.0.2
  • 4.1.0
  • coverage7
  • dependabot/pip/certifi-2024.7.4
  • dependabot/pip/pyyaml-5.4
  • dependabot/pip/requests-2.32.0
  • dependabot/pip/urllib3-2.2.2
  • dependabot/uv/idna-3.15
  • dependabot/uv/pygments-2.20.0
  • dependabot/uv/urllib3-2.7.0
  • kj/fixup-service-id-from-env
  • kjames/bump-max-python
  • kjames/bump-pythons
  • kjames/bump-pyyaml
  • kjames/cli-subcommands
  • kjames/config-cleanup
  • kjames/consistent-setting-names
  • kjames/drop-cov41
  • kjames/drop-py37
  • kjames/find-test-interdependencies
  • kjames/fix-payload-leak
  • kjames/fix-tests
  • kjames/gha-422
  • kjames/public-coverage-interface
  • kjames/py310
  • kjames/resolve-consistency
  • kjames/skip-git-tests-outside-of-gitdir
  • kjames/support-coverage-7.5
  • kjames/trigger-build
  • kjames/updates
  • master
  • renovate/actions-checkout-2.x
  • renovate/actions-checkout-4.1.x
  • renovate/actions-checkout-4.2.x
  • renovate/actions-checkout-4.3.x
  • renovate/actions-checkout-4.x
  • renovate/actions-checkout-5.x
  • renovate/actions-checkout-6.0.x
  • renovate/actions-checkout-6.x
  • renovate/actions-checkout-7.0.x
  • renovate/actions-checkout-7.x
  • renovate/actions-dependency-review-action-2.x
  • renovate/actions-dependency-review-action-4.2.x
  • renovate/actions-dependency-review-action-4.3.x
  • renovate/actions-dependency-review-action-4.7.x
  • renovate/actions-dependency-review-action-4.8.x
  • renovate/actions-dependency-review-action-4.x
  • renovate/actions-dependency-review-action-5.x
  • renovate/actions-dependency-review-action-rollback
  • renovate/actions-setup-python-5.x
  • renovate/actions-setup-python-6.x
  • renovate/actions-setup-python-7.x
  • renovate/asottile-add-trailing-comma-3.x
  • renovate/asottile-add-trailing-comma-4.x
  • renovate/asottile-pyupgrade-2.x
  • renovate/asottile-pyupgrade-3.15.x
  • renovate/asottile-pyupgrade-3.2.x
  • renovate/asottile-pyupgrade-3.x
  • renovate/asottile-reorder-python-imports-3.x
  • renovate/asottile-reorder_python_imports-3.x
  • renovate/asottile-yesqa-1.x
  • renovate/compilerla-conventional-pre-commit-3.x
  • renovate/compilerla-conventional-pre-commit-4.x
  • renovate/coverage-7.13.x
  • renovate/coverage-7.14.x
  • renovate/coverage-7.15.x
  • renovate/coverage-7.x
  • renovate/coveralls-4.0.x
  • renovate/coveralls-4.x
  • renovate/coveralls-rollback
  • renovate/docker-4.x
  • renovate/docker.io-library-alpine-3.x
  • renovate/dosisod-refurb-2.3.x
  • renovate/dosisod-refurb-2.x
  • renovate/flake8-builtins-2.x
  • renovate/flake8-builtins-3.x
  • renovate/flake8-comprehensions-3.x
  • renovate/hhatto-autopep8-2.1.x
  • renovate/hhatto-autopep8-2.3.x
  • renovate/hhatto-autopep8-2.x
  • renovate/linter-1.x
  • renovate/linter-4.0.x
  • renovate/lock-file-maintenance
  • renovate/lucas-c-pre-commit-hooks-1.5.x
  • renovate/lucas-c-pre-commit-hooks-1.x
  • renovate/node-22.4.x
  • renovate/node-22.5.x
  • renovate/node-22.x
  • renovate/node-23.11.x
  • renovate/node-23.6.x
  • renovate/node-23.x
  • renovate/node-24.x
  • renovate/node-25.6.x
  • renovate/node-25.8.x
  • renovate/node-25.x
  • renovate/node-26.3.x
  • renovate/node-26.x
  • renovate/node-rollback
  • renovate/node.js
  • renovate/pandoc-core-3.1.x
  • renovate/pandoc-core-3.2.x
  • renovate/pandoc-core-3.6.x
  • renovate/pandoc-core-3.8.x
  • renovate/pandoc-core-3.x
  • renovate/pin-dependencies
  • renovate/poetry-2.3.x
  • renovate/poetry-2.4.x
  • renovate/poetry-2.x
  • renovate/pre-commit-mirrors-autopep8-2.0.x
  • renovate/pre-commit-mirrors-mypy-1.20.x
  • renovate/pre-commit-mirrors-mypy-1.x
  • renovate/pre-commit-mirrors-mypy-2.x
  • renovate/pre-commit-pre-commit-hooks-3.x
  • renovate/pre-commit-pre-commit-hooks-4.x
  • renovate/pre-commit-pre-commit-hooks-5.x
  • renovate/pre-commit-pre-commit-hooks-6.x
  • renovate/pre-commit-pygrep-hooks-1.x
  • renovate/pycqa-flake8-6.x
  • renovate/pycqa-flake8-7.1.x
  • renovate/pycqa-flake8-7.x
  • renovate/pycqa-pydocstyle-6.x
  • renovate/pycqa-pylint-2.15.x
  • renovate/pycqa-pylint-2.x
  • renovate/pycqa-pylint-3.1.x
  • renovate/pycqa-pylint-3.2.x
  • renovate/pycqa-pylint-3.x
  • renovate/pycqa-pylint-4.0.x
  • renovate/pycqa-pylint-4.x
  • renovate/pyjson5-1.6.x
  • renovate/pyjson5-2.0.x
  • renovate/pyjson5-2.x
  • renovate/pypi-pytest-vulnerability
  • renovate/pypi-requests-vulnerability
  • renovate/pypy-rollback
  • renovate/pytest-8.1.x
  • renovate/pytest-8.2.x
  • renovate/pytest-8.3.x
  • renovate/pytest-8.x
  • renovate/pytest-9.0.x
  • renovate/pytest-9.x
  • renovate/python
  • renovate/python-3.10.x
  • renovate/python-3.x
  • renovate/python-jsonschema-check-jsonschema-0.28.x
  • renovate/python-jsonschema-check-jsonschema-0.29.x
  • renovate/python-jsonschema-check-jsonschema-0.36.x
  • renovate/python-jsonschema-check-jsonschema-0.37.x
  • renovate/python-jsonschema-check-jsonschema-0.x
  • renovate/pyyaml-5.x
  • renovate/pyyaml-6.x
  • renovate/responses-0.25.x
  • renovate/responses-0.26.x
  • renovate/responses-0.x
  • renovate/snok-install-poetry-1.4.x
  • renovate/snok-install-poetry-1.x
  • renovate/sphinx-7.4.x
  • renovate/sphinx-7.x
  • renovate/sphinx-8.x
  • renovate/sphinx-9.x
  • renovate/typer-0.24.x
  • renovate/typer-0.25.x
  • renovate/typer-0.26.x
  • renovate/typer-0.x
  • renovate/types-pyyaml-6.0.x
  • renovate/types-requests-2.32.x
  • renovate/types-requests-2.33.x
  • renovate/types-requests-2.x

20 Jul 2026 05:19PM UTC coverage: 94.042% (+0.7%) from 93.299%
f497c5fd-627e-4a6b-8194-b4eec908744a

Pull #755

circleci

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%)

5.66 hits per line

Relevant lines Covered
Build:
Build:
475 RELEVANT LINES 448 COVERED LINES
5.66 HITS PER LINE
Source Files on kjames/typed-config
  • Tree
  • List 8
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
f497c5fd... kjames/typed-config 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 ... Pull #755 20 Jul 2026 05:22PM UTC TheKevJames circleci
94.04
29763296751 kjames/typed-config 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 ... Pull #755 20 Jul 2026 05:21PM UTC TheKevJames github
94.04
42298608... kjames/typed-config 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 ... Pull #755 20 Jul 2026 04:59PM UTC TheKevJames circleci
93.97
29761810199 kjames/typed-config 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 ... Pull #755 20 Jul 2026 04:59PM UTC TheKevJames github
93.97
b6351565... kjames/typed-config 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 ... Pull #755 20 Jul 2026 04:53PM UTC TheKevJames circleci
93.97
29761355223 kjames/typed-config 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 ... Pull #755 20 Jul 2026 04:52PM UTC TheKevJames github
93.97
a58272c3... kjames/typed-config 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 ... Pull #755 20 Jul 2026 04:38PM UTC TheKevJames circleci
93.98
29760285650 kjames/typed-config 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 ... Pull #755 20 Jul 2026 04:37PM UTC TheKevJames github
93.98
ecc67e34... kjames/typed-config 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 ... Pull #755 20 Jul 2026 04:20PM UTC TheKevJames circleci
94.08
29759028326 kjames/typed-config 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 ... Pull #755 20 Jul 2026 04:19PM UTC TheKevJames github
94.08
See All Builds (4820)
  • Repo on GitHub
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