34 个仓库
Tools for static type analysis and annotation generation.
Explore 34 awesome GitHub repositories matching part of an awesome list · Type Checking. Refine with filters or upvote what's useful.
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
Distributes code analysis across multiple worker processes to reduce the total time required for type validation.
This project is a high-performance static type checker and comprehensive development toolkit for Python. It functions as a core analysis engine that identifies type inconsistencies and enforces code correctness, while simultaneously providing a language server implementation to deliver real-time diagnostics and intelligence directly within development environments. The tool distinguishes itself through a parallelized execution engine that maximizes performance across large-scale codebases and monorepo structures. It supports gradual type adoption, allowing developers to integrate type checkin
High-performance type checker and language server.
ts-node is a TypeScript execution engine and just-in-time transpiler for Node.js. It enables the direct execution of TypeScript files by converting them to JavaScript on the fly, removing the requirement for a manual pre-compilation build step. It also provides a TypeScript read-eval-print loop for evaluating expressions and testing code snippets in real time. The project integrates with the Node.js module system as a loader hook to resolve and load files using native import syntax. It features a pluggable compiler interface that allows the use of external transpilers to accelerate execution
Allows skipping the type-checking phase during execution to reduce startup time.
is.js is a JavaScript validation library and data type checker. It provides a suite of utilities to verify whether variables are primitives, arrays, functions, or specific object types. The project allows for the implementation of custom validation logic and the use of naming namespaces to override default rules and regular expressions. It covers a broad range of validation capabilities, including numeric arithmetic properties, date and time analysis for relative and absolute ranges, and string format verification for patterns such as emails, URLs, and IP addresses. The library also includes
Micro-library for type checking.
This project serves as a comprehensive educational repository and technical reference collection, documenting a wide range of software engineering practices and modern development technologies. It provides a structured learning path for developers, curating tutorials and practical examples that cover the full lifecycle of application development, from initial project scaffolding to deployment and maintenance. The repository distinguishes itself by offering deep technical insights into complex architectural patterns, including actor-based concurrency models for managing parallel tasks and cont
Enforces type safety at compile time through static analysis to ensure structural consistency across application components.
Pyre is a high-performance static type checker and analysis tool for Python. It identifies type errors and ensures type safety without executing the program, utilizing a static type inference engine to maintain consistency across functions. The project is distinguished by an incremental type analysis engine that operates as a background daemon. This system monitors filesystem changes to re-validate only modified parts of a project, reducing the time required for repeated analysis. It also includes a static analysis security tool that uses taint analysis to track untrusted data flows and ident
Analyzes Python source code to identify type errors and ensure type safety without executing the program.
Anomalib is a PyTorch-based library for visual anomaly detection, offering a modular framework, a comprehensive model zoo, and a benchmarking suite designed for industrial defect detection. It provides a wide range of algorithms—including generative, discriminative, teacher-student, and vision-language approaches—that support unsupervised, few-shot, and zero-shot settings. The library enables deployment through model export to ONNX and OpenVINO for edge devices, and includes a no-code web application for training and inference. It also features a command-line interface for orchestrating multi
Defines typed dataclasses for anomaly detection samples with automatic field validation.
attrs is a Python library that automatically generates initialization, representation, equality, hashing, and ordering methods from declarative class attribute definitions. At its core, it provides a class decorator metaprogramming framework that intercepts class creation to rewrite the class body, producing dunder methods without manual boilerplate. The library includes a comprehensive attribute validation toolkit with built-in validators for type checks, range constraints, regex matching, length limits, and logical composition of validation rules. The library distinguishes itself through it
Provides PEP 681 dataclass transform markers for static type checker compatibility.
stc is a TypeScript type checker implemented entirely in Rust, designed to validate type correctness in TypeScript source code with native performance and memory safety. It operates as a no-emitting type validator, meaning it checks types only and does not produce JavaScript output, reducing overhead compared to a full compiler. The checker is built around a zero-false-positive design, reporting only errors that are provably certain from the type system, prioritizing correctness over speculative warnings. The tool distinguishes itself through parallel file processing, analyzing source files c
Reports only provably certain type errors, prioritizing correctness over speculative warnings.
Tortoise ORM is an asynchronous object-relational mapper for Python that mirrors Django's model and queryset API while running on asyncio. It defines database tables as Python classes with typed fields and supports foreign key, many-to-many, and one-to-one relations, providing a chainable query API for filtering, annotating, grouping, and prefetching related objects without blocking the event loop. The ORM includes a built-in migration engine that detects model changes, generates migration files, and applies or reverts schema changes through a command-line tool. It connects to PostgreSQL, MyS
Extends PyLint to understand dynamically built ORM models and fields, eliminating false positives during static analysis.
Luau is a high-performance programming language evolved from Lua 5.1. It consists of a bytecode virtual machine, an embeddable scripting engine, and a static code analyzer designed to provide a secure, sandboxed execution environment for host applications. The project is distinguished by its gradual typing system, which combines automatic type inference with optional manual annotations to detect bugs without requiring full static typing. It also features native vector mathematics for high-performance operations and a specialized debugging system that uses bytecode patching to minimize executi
Provides configurable type checking modes ranging from no checks to strict enforcement for individual files.
Monty is a sandboxed execution environment designed primarily for running Python code generated by AI models. It provides a secure, isolated runtime that blocks host access, enforces resource limits, and supports pre-execution type checking against built-in type hints to catch signature mismatches before code runs. The sandbox can persist its interpreter state at external function calls, allowing execution sessions to be serialized, stored, and later resumed from a file or database. What distinguishes Monty is its combination of stateful, resumable execution with multi-language native embeddi
Runs full Python type-checking against built-in type hints before code execution to catch signature mismatches early.
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
Infers types for Django ORM model fields and relationships without plugins.
This project is a Language Server Protocol implementation for PostgreSQL that provides autocompletion, syntax diagnostics, and type checking for SQL and PL/pgSQL. It functions as a database schema validator and a static analysis engine designed to detect security vulnerabilities, performance bottlenecks, and dangerous migration patterns in database scripts. The server differentiates itself by using live database connections to provide schema-aware intelligence, allowing it to verify that tables, columns, and data types actually exist. It performs static analysis on procedural functions to det
Validates column and table types by analyzing execution plans to find runtime errors before execution.
Typeshed 是一个为 Python 标准库和第三方包提供静态类型定义和存根(stubs)的集合。它作为静态分析器和集成开发环境(IDE)的标准资源,用于验证代码正确性并提供基于类型的代码补全,而无需修改库的原始源代码。 该项目专注于创建和维护外部类型提示文件,将类型注解与运行时实现分离。它利用一套版本控制系统,将这些存根映射到运行时包的特定版本,以保持兼容性。 该仓库包含一个验证套件,以确保这些定义的准确性。这涵盖了运行时到存根的验证(以识别声明类型与实际类型之间的不匹配)、目录结构验证以及回归测试(以防止已知类型检查错误的再次引入)。
Collection of library stubs for static type analysis.
Pytype 是一个 Python 静态代码分析工具和类型推断引擎。它作为一个静态类型分析器,在无需完全手动标注的情况下检测类型不匹配并验证类型注解,同时还作为类型存根(stub)生成器,用于生产独立的定义文件。 该项目的特色在于通过分析代码模式和赋值自动确定变量和函数类型。此推断引擎允许进行结构化代码验证,并生成描述模块和函数接口的类型存根。 该系统涵盖了广泛的静态分析操作,包括类层级和函数调用的结构验证,以及追踪符号以检测命名空间错误和属性访问违规。它还提供类型检查原语以强制执行注解,以及一个能够使用联合(unions)和可选(optionals)类型建模复杂数据结构的类型系统。
Infers and checks types without requiring manual annotations.
MonkeyType 是一个用于 Python 的运行时类型推断和分析工具。它在程序执行期间从函数调用中收集实际的参数和返回类型,以自动生成静态类型注解和兼容的存根文件。 该系统将捕获的执行跟踪转换为静态类型提示,这些提示可以直接插入到源代码函数定义中,或用于生成外部类型存根。通过分析真实数据类型而非手动审计,该过程能够为现有代码库增加类型安全性。 该工具的功能涵盖运行时类型收集、动态类型推断以及静态类型定义的生成。它利用源代码修改和调用跟踪持久化,将观察到的运行时模式映射到静态签名。
Generates static type annotations from runtime types.
REFramework is a runtime modding framework for games built on the RE Engine, providing a C# plugin system with typed proxy code generation, a Lua scripting interface, an ImGui-based UI system, a runtime debugging toolkit, and a VR integration layer. At its core, it intercepts and modifies internal game engine functions and state at runtime through hooking and scripting APIs, enabling deep inspection and manipulation of live game objects. The framework distinguishes itself through typed proxy code generation that auto-creates C# interfaces from the game's type database, giving compile-time saf
REFramework determines whether a type is a value type, even if it does not inherit from System.ValueType.
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,
Provides rapid development feedback by re-checking only modified files and their dependencies.
jscamp is a full-stack web development and education project focused on mastering JavaScript, TypeScript, and AI integration. It provides a structured curriculum and interactive exercises covering language fundamentals, frontend engineering, and backend API development. The project distinguishes itself through the implementation of autonomous AI agents capable of complex task automation, such as modifying files, managing servers, and executing API calls. It includes advanced AI development tools for conversational querying, real-time code suggestions, and automated repository analysis to gene
Validates code types during the compilation phase to identify bugs before the code is executed.