mypy is a static type checker for Python that analyzes source code to detect type errors and inconsistencies without executing the program. It functions as a static analysis tool and type inference engine, providing a gradual typing system that allows type hints to be added to a codebase incrementally while maintaining compatibility with dynamic typing. The project distinguishes itself through a combination of performance and precision features. It utilizes a daemon-based incremental checking system and multi-process parallel analysis to manage large codebases, supported by binary cache persi
Pyrefly is a static type checker for Python that operates as a language server, delivering real-time diagnostics, completions, and navigation in any editor supporting the Language Server Protocol. It also performs static tensor shape analysis, using symbolic dimension variables and arithmetic to verify shape consistency in deep learning models without runtime execution. Beyond core type checking, Pyrefly supports gradual adoption workflows: it can generate a baseline of known errors so only new issues are reported, migrate configuration from other type checkers, and automatically suppress exi
Typeshed is a collection of static type definitions and stubs for the Python standard library and third-party packages. It serves as a standardized resource for static analyzers and integrated development environments to validate code correctness and provide type-based code completion without modifying the original source code of the libraries. The project focuses on the creation and maintenance of external type hint files that separate type annotations from runtime implementation. It utilizes a system for versioning and mapping these stubs to specific versions of runtime packages to maintain
Sorbet is a static analysis tool and type checker designed for Ruby codebases. It identifies type inconsistencies, potential bugs, and logic errors by examining source code without execution, helping to improve software reliability and maintainability in large-scale projects. The system employs a constraint-based type inference engine that evaluates expressions against defined annotations to validate data structures. To support rapid development, it utilizes incremental analysis and caching to provide feedback by processing only modified files and their dependencies. Beyond static analysis,
Pytype 是一个 Python 静态代码分析工具和类型推断引擎。它作为一个静态类型分析器,在无需完全手动标注的情况下检测类型不匹配并验证类型注解,同时还作为类型存根(stub)生成器,用于生产独立的定义文件。
google/pytype 的主要功能包括:Automatic Type Inferences, Type Annotations, Argument Type Mismatch Detectors, Static Argument Validation, Type Stub Generators, Type Stub Files, Generic Types, Constraint-Based Inference。
google/pytype 的开源替代品包括: python/mypy — mypy is a static type checker for Python that analyzes source code to detect type errors and inconsistencies without… facebook/pyrefly — Pyrefly is a static type checker for Python that operates as a language server, delivering real-time diagnostics,… python/typeshed — Typeshed is a collection of static type definitions and stubs for the Python standard library and third-party… sorbet/sorbet — Sorbet is a static analysis tool and type checker designed for Ruby codebases. It identifies type inconsistencies,… instagram/monkeytype — MonkeyType is a runtime type inferencer and analysis tool for Python. It collects actual argument and return types… luals/lua-language-server — lua-language-server is a static analysis tool and type checker for the Lua language that implements the Language…