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

beartype / plum
99%

Build:
DEFAULT BRANCH: master
Repo Added 10 Mar 2023 02:29AM UTC
Files 16
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 master
branch: master
CHANGE BRANCH
x
Reset
  • master
  • alert-autofix-2
  • alert-autofix-3
  • alert-autofix-7
  • alert-autofix-8
  • claude/bleeding-edge-ci-uv-13cb3b
  • claude/plum-type-annotations-48be0a
  • codeql
  • copilot/update-docs-dispatch-decorator
  • dependabot/uv/cryptography-46.0.5
  • dependabot/uv/cryptography-46.0.6
  • dependabot/uv/cryptography-46.0.7
  • dependabot/uv/cryptography-48.0.1
  • dependabot/uv/idna-3.15
  • dependabot/uv/pygments-2.20.0
  • dependabot/uv/pytest-9.0.3
  • dependabot/uv/requests-2.33.0
  • dependabot/uv/soupsieve-2.8.4
  • dependabot/uv/tornado-6.5.5
  • dependabot/uv/tornado-6.5.6
  • dependabot/uv/tornado-6.5.7
  • dependabot/uv/urllib3-2.6.3
  • dependabot/uv/urllib3-2.7.0
  • dependabot/uv/uv-0.11.15
  • dependabot/uv/uv-0.11.6
  • dependabot/uv/virtualenv-20.36.1
  • dependabot/uv/wheel-0.46.2
  • feat-deprecate-submodule-imports
  • feat-methods
  • fix-type-annotation
  • fix/thread-safe-resolution-274
  • generics
  • git-attributes
  • improved-documentation
  • mnt/avoid-deprecated-numpy
  • mnt/coveragerc
  • mnt/drop-py39
  • mnt/improve-tox
  • mnt/positional-only
  • mnt/py314
  • mnt/py38
  • mnt/src-layout
  • mnt/tox-to-nox
  • mnt/use-uv
  • more-typing
  • mypy
  • mypy-typing
  • mypyc
  • optional-dependencies
  • pv/error-power
  • pv/errors
  • pv/minor
  • pv/ref
  • pv/visualize
  • remove-deprecated-val
  • rm-dep-imports
  • rm-multihash
  • rm-test-path-manipulation
  • signature
  • tests/dispatch-fixture
  • typing/dispatcher
  • typing/promote
  • typing/type
  • typing_extensions
  • use-typing-extensions-more
  • v2.0.1
  • v2.1.0
  • v2.1.1
  • v2.2.0
  • v2.2.1
  • v2.2.2
  • wbruinsma/fix-isinstance-covariance
  • wbruinsma/overload
  • wesselb/fix-add-promotion-rule
  • wesselb/fix-method-override
  • wesselb/moduletype-faithful
  • wesselb/moduletype-version-constraint
  • wesselb/publish-to-pypi-plum
  • wesselb/test

19 Jul 2026 11:47PM UTC coverage: 99.49% (+0.003%) from 99.487%
29708487956

push

github

web-flow
Make concurrent dispatch resolution thread-safe (#281)

Protect `Function`'s first-time dispatch resolution and cache clearing with a per-instance reentrant lock, eliminating races when multiple threads resolve the same function concurrently. A double-checked locking strategy keeps the already-resolved hot path lock-free while preventing concurrent mutation of deferred annotations during initial resolution.

Add a deterministic regression test exercising concurrent first resolution, refactor the test scaffolding to use a factory fixture so each iteration receives a fresh dispatcher, and update the accompanying documentation and comments. This change addresses the dispatch-resolution race only; the independent upstream beartype lazy-compilation race is fixed upstream.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Wessel <wessel.p.bruinsma@gmail.com>

26 of 26 new or added lines in 1 file covered. (100.0%)

976 of 981 relevant lines covered (99.49%)

6.74 hits per line

Relevant lines Covered
Build:
Build:
981 RELEVANT LINES 976 COVERED LINES
6.74 HITS PER LINE
Source Files on master
  • Tree
  • List 15
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
29708487956 master Make concurrent dispatch resolution thread-safe (#281) Protect `Function`'s first-time dispatch resolution and cache clearing with a per-instance reentrant lock, eliminating races when multiple threads resolve the same function concurrently. A do... push 19 Jul 2026 11:48PM UTC web-flow github
99.49
29282295207 master 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 ... push 13 Jul 2026 08:25PM UTC web-flow github
99.49
29277574967 master build(deps): bump soupsieve from 2.8 to 2.8.4 (#280) Bumps [soupsieve](https://github.com/facelessuser/soupsieve) from 2.8 to 2.8.4. - [Release notes](https://github.com/facelessuser/soupsieve/releases) - [Commits](https://github.com/facelessuser... push 13 Jul 2026 07:13PM UTC web-flow github
99.5
28042510171 master build(deps): bump tornado from 6.5.6 to 6.5.7 (#278) Bumps [tornado](https://github.com/tornadoweb/tornado) from 6.5.6 to 6.5.7. - [Changelog](https://github.com/tornadoweb/tornado/blob/master/docs/releases.rst) - [Commits](https://github.com/tor... push 23 Jun 2026 04:57PM UTC web-flow github
99.5
28042500036 master build(deps): bump cryptography from 46.0.7 to 48.0.1 (#279) Bumps [cryptography](https://github.com/pyca/cryptography) from 46.0.7 to 48.0.1. - [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst) - [Commits](https://github.c... push 23 Jun 2026 04:57PM UTC web-flow github
99.5
27546712910 master build(deps): bump tornado from 6.5.5 to 6.5.6 (#277) Bumps [tornado](https://github.com/tornadoweb/tornado) from 6.5.5 to 6.5.6. - [Changelog](https://github.com/tornadoweb/tornado/blob/master/docs/releases.rst) - [Commits](https://github.com/tor... push 15 Jun 2026 12:38PM UTC web-flow github
99.5
26956534061 master build(deps-dev): bump uv from 0.11.6 to 0.11.15 (#275) Bumps [uv](https://github.com/astral-sh/uv) from 0.11.6 to 0.11.15. - [Release notes](https://github.com/astral-sh/uv/releases) - [Changelog](https://github.com/astral-sh/uv/blob/main/CHANGEL... push 04 Jun 2026 02:00PM UTC web-flow github
99.5
26164190011 master build(deps): bump idna from 3.11 to 3.15 (#273) Bumps [idna](https://github.com/kjd/idna) from 3.11 to 3.15. - [Release notes](https://github.com/kjd/idna/releases) - [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.md) - [Commits](htt... push 20 May 2026 01:01PM UTC web-flow github
99.5
25821266534 master Remove deprecated `Val` class (#269) Removes `plum.Val` and its tests, which was deprecated in v0.5.0 in favor of `typing.Literal`. Also updates docs to drop the `Val` reference. Signed-off-by: nstarman <nstarman@users.noreply.github.com> push 13 May 2026 07:23PM UTC web-flow github
99.5
25788619057 master build(deps): bump urllib3 from 2.6.3 to 2.7.0 (#270) Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.6.3 to 2.7.0. - [Release notes](https://github.com/urllib3/urllib3/releases) - [Changelog](https://github.com/urllib3/urllib3/blob/mai... push 13 May 2026 08:49AM UTC web-flow github
99.51
See All Builds (593)
  • 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