Back to Explore

python/mypy

GitHub
4 updates · last 90 days1 watchersOpen source

Last release:

Mypy is a static type checker for Python. It uses type hints to warn you when your code uses variables and functions with incompatible types, helping find bugs without running the program. It can also be integrated into IDEs and supports incremental checking via daemon mode (dmypy).

Project status

  • Actively maintained: The repository shows an upstream push as of 2026-10-02, with recent version updates in 2026 (v2.4.0 on 2026-10-01, v2.3.1 on 2026-08-15, v2.3.0 on 2026-07-13), indicating ongoing development.
  • Update cadence: Updates are arriving on the order of weeks to a few months (roughly from mid-July to mid-August, then to early October), suggesting a continuing, relatively fast release tempo rather than maintenance mode.

AI summary generated

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • v2.4.0

    No publisher release notes were provided for v2.4.0, so the documented-change comparison cannot rely on official text. The code diff strongly indicates a mypy 2.4 release that switches the default parser to the native (Rust-based) parser, enhances parallel type checking (including auto worker count), and adds new support such as the PEP 661 sentinel type.

    Features
  • v2.3.1

    Release v2.3.1 has no published release notes, but the diff shows both type-checking behavior changes in mypy and substantial runtime lifetime management changes in mypyc for generators/coroutines. The mypyc changes add explicit class clear functions and new cleanup paths to clear generator/coroutine environments, including on completion and some error paths.

    BreakingFeatures
  • v2.3.0

    Release v2.3.0 was published, but the publisher did not provide release notes (no detailed changes listed). As a result, there is no documented information here about new features, fixes, or breaking changes, so you should review the corresponding commit diff and changelog in the repository to assess upgrade impact.

  • v2.2.0

    Release v2.2.0 has no publisher release notes provided in the input. The diff indicates large internal changes, including type-checking logic updates around generic application and callable instance type handling, plus updates to JSON export behavior and CI/tooling dependency bumps.

  • v2.1.0

    The publisher provided no release notes for v2.1.0, so the changelog and code diff are the only sources to understand what changed. The diff shows a mix of mypy build-process behavior changes (error formatting wiring, cache-based semantic analysis decisions, and stale module re-parsing order) plus substantial typeshed stub updates.

  • v2.0.0

    Release v2.0.0 has no publisher release notes provided, but the code diff shows a major internal overhaul of mypy's build worker and caching pipeline, along with multiple CLI and configuration-related behavior changes reflected in the docs and option handling code. There are also changes to cache serialization/deserialization and support for sharded sqlite metadata caches.

    BreakingFeatures
  • v1.20.2

    Release v1.20.2 (published 2026-04-21) has no provided release notes. The code diff shows changes across mypy type-checking logic, sqlite metadata store behavior, mypyc package compilation and CPython runtime import attribute handling, plus some dependency pinning updates.

  • v1.20.1

    Release v1.20.1 ships with no publisher-provided release notes. The diff shows a mix of internal mypy type-checking logic changes, CLI flag behavior tweaks, and metastore cache behavior adjustments, plus some typeshed stub updates.

  • v1.20.0

    Release v1.20.0 has no publisher release notes provided. The diff shows mostly CI and documentation/tooling updates, but also several user-facing configuration and command line changes, plus internal changes to error reporting and cache-diff tooling.

    BreakingFeatures
  • v1.19.1

    Release v1.19.1 was published on 2025-12-14. The publisher did not provide any release notes, so this release cannot be assessed for new features, fixes, or breaking changes based on the provided information.