Skip to content

chore(deps): update mypy requirement from ==1.17.* to ==1.18.*#230

Merged
ttblanchard merged 1 commit into
mainlinefrom
dependabot/pip/mypy-eq-1.18.star
Sep 18, 2025
Merged

chore(deps): update mypy requirement from ==1.17.* to ==1.18.*#230
ttblanchard merged 1 commit into
mainlinefrom
dependabot/pip/mypy-eq-1.18.star

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 15, 2025

Copy link
Copy Markdown
Contributor

Updates the requirements on mypy to permit the latest version.

Changelog

Sourced from mypy's changelog.

Mypy Release Notes

Next Release

Mypy 1.18

We’ve just uploaded mypy 1.18 to the Python Package Index (PyPI). Mypy is a static type checker for Python. This release includes new features, performance improvements and bug fixes. You can install it as follows:

python3 -m pip install -U mypy

You can read the full documentation for this release on Read the Docs.

Mypy Performance Improvements

Mypy 1.18 includes numerous performance improvements, resulting in about 40% speedup compared to 1.17 when type checking mypy itself. In extreme cases, the improvement can be 10x or higher. The list below is an overview of the various mypy optimizations. Many mypyc improvements (discussed in a separate section below) also improve performance.

Type caching optimizations have a small risk of causing regressions. When reporting issues with unexpected inferred types, please also check if --disable-expression-cache will work around the issue, as it turns off some of these optimizations.

  • Improve self check performance by 1.8% (Jukka Lehtosalo, PR 19768, 19769, 19770)
  • Optimize fixed-format deserialization (Ivan Levkivskyi, PR 19765)
  • Use macros to optimize fixed-format deserialization (Ivan Levkivskyi, PR 19757)
  • Two additional micro‑optimizations (Ivan Levkivskyi, PR 19627)
  • Another set of micro‑optimizations (Ivan Levkivskyi, PR 19633)
  • Cache common types (Ivan Levkivskyi, PR 19621)
  • Skip more method bodies in third‑party libraries for speed (Ivan Levkivskyi, PR 19586)
  • Simplify the representation of callable types (Ivan Levkivskyi, PR 19580)
  • Add cache for types of some expressions (Ivan Levkivskyi, PR 19505)
  • Use cache for dictionary expressions (Ivan Levkivskyi, PR 19536)
  • Use cache for binary operations (Ivan Levkivskyi, PR 19523)
  • Cache types of type objects (Ivan Levkivskyi, PR 19514)
  • Avoid duplicate work when checking boolean operations (Ivan Levkivskyi, PR 19515)
  • Optimize generic inference passes (Ivan Levkivskyi, PR 19501)
  • Speed up the default plugin (Jukka Lehtosalo, PRs 19385 and 19462)
  • Remove nested imports from the default plugin (Ivan Levkivskyi, PR 19388)
  • Micro‑optimize type expansion (Jukka Lehtosalo, PR 19461)
  • Micro‑optimize type indirection (Jukka Lehtosalo, PR 19460)
  • Micro‑optimize the plugin framework (Jukka Lehtosalo, PR 19464)
  • Avoid temporary set creation in subtype checking (Jukka Lehtosalo, PR 19463)
  • Subtype checking micro‑optimization (Jukka Lehtosalo, PR 19384)
  • Return early where possible in subtype check (Stanislav Terliakov, PR 19400)
  • Deduplicate some types before joining (Stanislav Terliakov, PR 19409)
  • Speed up type checking by caching argument inference context (Jukka Lehtosalo, PR 19323)

... (truncated)

Commits

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 merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @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)

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Sep 15, 2025
@dependabot
dependabot Bot requested a review from a team as a code owner September 15, 2025 15:42
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Sep 15, 2025
@ttblanchard

Copy link
Copy Markdown
Contributor

@dependabot rebase

Updates the requirements on [mypy](https://github.com/python/mypy) to permit the latest version.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](python/mypy@v1.17.0...v1.18.1)

---
updated-dependencies:
- dependency-name: mypy
  dependency-version: 1.18.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/pip/mypy-eq-1.18.star branch from 593cc24 to 60888dc Compare September 18, 2025 15:06
@sonarqubecloud

Copy link
Copy Markdown

@ttblanchard
ttblanchard merged commit 33fb5e2 into mainline Sep 18, 2025
19 checks passed
@dependabot
dependabot Bot deleted the dependabot/pip/mypy-eq-1.18.star branch September 18, 2025 15:21
leongdl added a commit that referenced this pull request Jul 24, 2026
Bring the pure-Python (v0) 2023-09 model to EXPR (RFC 0007) and
WRAP_ACTIONS (RFC 0008) parity with openjd-rs, via the PyO3-bound Rust
expression engine. Base of the RFC 0008 stack (openjd-sessions-for-python
#333, openjd-cli #230). Supersedes #313 (production code contained here;
its tests ported).

- Deferred cancelation mode (FEATURE_BUNDLE_1): a format-string `mode`
  becomes CancelationMethodDeferred (mirrors CancelationMode::DeferredMode);
  the shape decision moves to run time so wrap hooks can forward
  "{{WrappedAction.Cancelation.Mode}}".
- Typed whole-field resolution (RFC 0006): FormatString.resolve_value +
  typed_resolve_fields metadata; range: "{{Param.Values}}" with a LIST[*]
  parameter instantiates to the native list, evaluated exactly once per
  field. §3.4's 1024-value range cap enforced at job creation for
  expression-driven ranges (parity with openjd-rs ranges.rs).
- Per-hook WRAP_ACTIONS variables via _template_field_inject
  (WrappedAction.*/WrappedEnv.Name/WrappedStep.Name visible only in their
  hook) and template-scope validation of timeout/cancelation via
  _template_field_scopes.
- EXPR runtime plumbing: step-level `let` at job creation (extends_symtab,
  preserved on Step.let), Job.Name seeding (§7.3.1), URI-form PATH values,
  exported parse-memoized openjd.model.evaluate_let_bindings.
- Performance: EXPR engine symbol table + host-context profile cached on
  SymbolTable keyed on a mutation version — 8.6 -> 1.9 ms per 20-arg
  action (removes the per-expression Rust-boundary rebuild).
- Crates pinned to the published releases containing DeferredMode:
  openjd-expr 0.2.1, openjd-model 0.4.0, openjd-sessions 0.4.0.

Validation tightenings (all matching openjd-rs and the spec; not purely
additive): onEnter required without WRAP_ACTIONS (§3.5); 1024-value range
caps (§3.4); 64-char identifier names without FEATURE_BUNDLE_1 (§7.1) and
decimals-requires-SPIN_BOX (§2.4).

Tested: 5394 passed / 24 skipped / 3 xfailed (coverage 94.4%); mypy,
black, ruff, clippy -D warnings clean; conformance 2023-09 at 1154/1158
(remaining 4 need sessions-runtime eager validation, tracked separately);
new §3.4/§7.3.1 conformance fixtures in openjd-specifications#155
validated against both implementations.

Signed-off-by: David Leong <116610336+leongdl@users.noreply.github.com>
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 waiting-on-maintainers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant