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

beartype / plum / 29282295207
99%

Build:
DEFAULT BRANCH: master
Ran 13 Jul 2026 08:25PM UTC
Jobs 7
Files 15
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

13 Jul 2026 08:25PM UTC coverage: 99.487% (-0.008%) from 99.495%
29282295207

push

github

web-flow
More typing (#268)

* typing: add overloads to `Function.__get__` and static type tests

Add `@overload` signatures to `Function.__get__` so type checkers can distinguish class-level access (returns `Function`) from instance-level access (returns `MethodType`).

Add `tests/static/function_get.pyi` with `assert_type` checks covering both access modes and the `@plum.dispatch` return-type preservation.

* typing: add `_BoundFunctionProto` to fix mypy descriptor resolution

Introduces `_BoundFunctionProto` as the declared type of `_BoundFunction._f`
instead of `Function` directly. This prevents mypy from applying
`Function.__get__`'s descriptor protocol when resolving instance-attribute
accesses of `_f`, eliminating the need for `# type: ignore[union-attr]`
and `# type: ignore[return-value]` suppressions in `_BoundFunction`.

* typing: suppress mypy no-untyped-def warnings in `_promotion.py`
* typing: add type annotations to `_parametric.py` and include in mypy checks

Add return types and parameter annotations to `ParametricTypeMeta` methods, `CovariantMeta` methods, and helpers in `_parametric.py`. Also add `_parametric.py` to the mypy-checked files list in `pyproject.toml`.

* refactor: narrow `parametric` signature: `type | None` → `type`

- Replace `cast(Callable[..., type], meta)(...)` with direct `meta(...)` calls using `meta: Any`
- Access `__new__` via intermediate `_new: Any` variable to satisfy mypy descriptor checks
- Remove stray blank line after docstring

Signed-off-by: nstarman <nstarman@users.noreply.github.com>
Co-authored-by: Wessel <wessel.p.bruinsma@gmail.com>

44 of 44 new or added lines in 3 files covered. (100.0%)

969 of 974 relevant lines covered (99.49%)

6.74 hits per line

Jobs
ID Job ID Ran Files Coverage
1 run-3.11 - 29282295207.1 13 Jul 2026 08:25PM UTC 15
99.06
GitHub Action Run
2 run-3.14-pre-beartype - 29282295207.2 13 Jul 2026 08:25PM UTC 15
99.45
GitHub Action Run
3 run-3.14 - 29282295207.3 13 Jul 2026 08:25PM UTC 15
99.45
GitHub Action Run
4 run-3.13-pre-beartype - 29282295207.4 13 Jul 2026 08:25PM UTC 15
99.06
GitHub Action Run
5 run-3.10 - 29282295207.5 13 Jul 2026 08:25PM UTC 15
99.06
GitHub Action Run
6 run-3.13 - 29282295207.6 13 Jul 2026 08:25PM UTC 15
99.06
GitHub Action Run
7 run-3.12 - 29282295207.7 13 Jul 2026 08:25PM UTC 15
99.06
GitHub Action Run
Source Files on build 29282295207
  • Tree
  • List 15
  • Changed 3
  • Source Changed 3
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #29282295207
  • d0f7780f on github
  • Prev Build on master (#29277574967)
  • Next Build on master (#29708487956)
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