Skip to content

chore(deps-dev): Bump strict-kwargs from 2026.6.8.post1 to 2026.7.24#3107

Merged
github-actions[bot] merged 5 commits into
mainfrom
dependabot/pip/strict-kwargs-2026.7.24
Jul 24, 2026
Merged

chore(deps-dev): Bump strict-kwargs from 2026.6.8.post1 to 2026.7.24#3107
github-actions[bot] merged 5 commits into
mainfrom
dependabot/pip/strict-kwargs-2026.7.24

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 24, 2026

Copy link
Copy Markdown
Contributor

Bumps strict-kwargs from 2026.6.8.post1 to 2026.7.24.

Release notes

Sourced from strict-kwargs's releases.

Release 2026.7.24

2026.7.24

  • Avoid false constructor diagnostics and unsafe fixes when a class call crosses multiple locally modeled runtime boundaries. Calls now remain unchanged when a local __new__ competes with __init__ or a custom metaclass __call__ can impose a different positional-only contract.

  • Extend ty hover-answer reuse from self/cls attribute calls to every call on a stable name binding: any parameter, a module-level import/def/class, a single assignment (f = open(...), with open(...) as f), and bare-name calls on such bindings (Decimal(...), check(...)). Deferred calls that share a binding, an attribute, and a call-shape fingerprint now resolve from one hover/definition round trip instead of one per call site, cutting the CPython completeness run's ty request volume by about 17% (138k to 114k requests). Bindings stay grouped only while they are provably stable: any rebinding, del, augmented assignment, global/nonlocal, match subject or capture, narrowing test, or escape into a call poisons the group, a binding that shadows an enclosing name retroactively un-groups call sites recorded before it in the same scope (Python makes the name scope-local throughout), and class-body bindings never shadow names inside methods. The wider reuse also recovers nine CPython diagnostics that per-site queries had been losing to ty's answer instability (LibraryLoader.LoadLibrary, IdleConf.GetOption, ExitStack.enter_context, ...), with no entries lost on either completeness oracle.

    The whole-project pipeline now also streams: files needing the ty fallback are dispatched to the four shard servers in sorted order as soon as the parallel built-in pass finishes each file, so the servers work concurrently with the scan instead of idling until it drains, and a shard that never receives a query no longer starts a server at all. The first-party index build reads and parses candidate files in parallel as well (about 1.1s to 0.5s on a CPython checkout). Each server's request stream is byte-identical to the previous scan-then-shard pipeline's, so diagnostics are unchanged.

  • Fix a regression in ty hover-answer reuse that dropped real diagnostics for calls grouped across a platform-specific branch. When a group's earliest call site sits in code ty considers unreachable (for example a sys.platform-guarded branch that is dead on the host platform), ty answers with the bottom type Never instead of the receiver's real signature. That answer was cached and reused for the whole group, suppressing the group's live members, which do resolve. Only a usable callable signature is now treated as the shared group answer, so a Never (or absent) answer at one member no longer hides violations at the others.

  • Include Python environment modules and stubs in the persistent diagnostic cache fingerprint. Changes below a project .venv, VIRTUAL_ENV, or an

... (truncated)

Changelog

Sourced from strict-kwargs's changelog.

2026.7.24

  • Avoid false constructor diagnostics and unsafe fixes when a class call crosses multiple locally modeled runtime boundaries. Calls now remain unchanged when a local __new__ competes with __init__ or a custom metaclass __call__ can impose a different positional-only contract.

  • Extend ty hover-answer reuse from self/cls attribute calls to every call on a stable name binding: any parameter, a module-level import/def/class, a single assignment (f = open(...), with open(...) as f), and bare-name calls on such bindings (Decimal(...), check(...)). Deferred calls that share a binding, an attribute, and a call-shape fingerprint now resolve from one hover/definition round trip instead of one per call site, cutting the CPython completeness run's ty request volume by about 17% (138k to 114k requests). Bindings stay grouped only while they are provably stable: any rebinding, del, augmented assignment, global/nonlocal, match subject or capture, narrowing test, or escape into a call poisons the group, a binding that shadows an enclosing name retroactively un-groups call sites recorded before it in the same scope (Python makes the name scope-local throughout), and class-body bindings never shadow names inside methods. The wider reuse also recovers nine CPython diagnostics that per-site queries had been losing to ty's answer instability (LibraryLoader.LoadLibrary, IdleConf.GetOption, ExitStack.enter_context, ...), with no entries lost on either completeness oracle.

    The whole-project pipeline now also streams: files needing the ty fallback are dispatched to the four shard servers in sorted order as soon as the parallel built-in pass finishes each file, so the servers work concurrently with the scan instead of idling until it drains, and a shard that never receives a query no longer starts a server at all. The first-party index build reads and parses candidate files in parallel as well (about 1.1s to 0.5s on a CPython checkout). Each server's request stream is byte-identical to the previous scan-then-shard pipeline's, so diagnostics are unchanged.

  • Fix a regression in ty hover-answer reuse that dropped real diagnostics for calls grouped across a platform-specific branch. When a group's earliest call site sits in code ty considers unreachable (for example a sys.platform-guarded branch that is dead on the host platform), ty answers with the bottom type Never instead of the receiver's real signature. That answer was cached and reused for the whole group, suppressing the group's live members, which do resolve. Only a usable callable signature is now treated as the shared group answer, so a Never (or absent) answer at one member no longer hides violations at the others.

  • Include Python environment modules and stubs in the persistent diagnostic cache fingerprint. Changes below a project .venv, VIRTUAL_ENV, or an explicit --python environment now invalidate cached results instead of

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [strict-kwargs](https://github.com/adamtheturtle/strict-kwargs) from 2026.6.8.post1 to 2026.7.24.
- [Release notes](https://github.com/adamtheturtle/strict-kwargs/releases)
- [Changelog](https://github.com/adamtheturtle/strict-kwargs/blob/main/CHANGELOG.rst)
- [Commits](adamtheturtle/strict-kwargs@2026.6.8-post.1...2026.7.24)

---
updated-dependencies:
- dependency-name: strict-kwargs
  dependency-version: 2026.7.24
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Jul 24, 2026
@github-actions
github-actions Bot enabled auto-merge July 24, 2026 10:33
dependabot Bot and others added 4 commits July 24, 2026 10:33
Bumps [ty](https://github.com/astral-sh/ty) from 0.0.62 to 0.0.63.
- [Release notes](https://github.com/astral-sh/ty/releases)
- [Changelog](https://github.com/astral-sh/ty/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ty@0.0.62...0.0.63)

---
updated-dependencies:
- dependency-name: ty
  dependency-version: 0.0.63
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
chore(deps-dev): Bump ty from 0.0.62 to 0.0.63
@github-actions
github-actions Bot merged commit 73b73df into main Jul 24, 2026
15 checks passed
@github-actions
github-actions Bot deleted the dependabot/pip/strict-kwargs-2026.7.24 branch July 24, 2026 12:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update Python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant