34 repository-uri
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 este o colecție de definiții de tipuri statice și stub-uri pentru biblioteca standard Python și pachete terțe. Acesta servește ca resursă standardizată pentru analizoarele statice și mediile de dezvoltare integrate (IDE) pentru a valida corectitudinea codului și a oferi completare de cod bazată pe tipuri, fără a modifica sursa originală a bibliotecilor. Proiectul se concentrează pe crearea și întreținerea fișierelor externe de tip hint care separă adnotările de tip de implementarea la runtime. Utilizează un sistem pentru versionarea și maparea acestor stub-uri la versiuni specifice ale pachetelor de runtime pentru a menține compatibilitatea. Depozitul include o suită de validare pentru a asigura acuratețea acestor definiții. Aceasta acoperă validarea runtime-la-stub pentru a identifica neconcordanțele dintre tipurile declarate și cele reale, verificarea structurii directoarelor și testarea de regresie pentru a preveni reintroducerea bug-urilor de tip-checking cunoscute.
Collection of library stubs for static type analysis.
Pytype este un instrument de analiză statică a codului și un motor de inferență a tipurilor pentru Python. Funcționează ca un analizor static de tipuri care detectează nepotrivirile de tip și verifică adnotările de tip fără a necesita hint-uri manuale complete, servind în același timp ca un generator de stub-uri de tip pentru producerea fișierelor de definiție standalone. Proiectul se distinge prin determinarea automată a tipurilor de variabile și funcții printr-o analiză a tiparelor de cod și a atribuirilor. Acest motor de inferență permite verificarea structurală a codului și generarea de stub-uri de tip care descriu interfețele modulelor și funcțiilor. Sistemul acoperă operațiuni largi de analiză statică, inclusiv validarea structurală a ierarhiilor de clase și a apelurilor de funcții, precum și urmărirea simbolurilor pentru a detecta erorile de namespace și încălcările de acces la atribute. De asemenea, oferă primitive de verificare a tipurilor pentru a impune adnotări și un sistem de tipuri capabil să modeleze structuri de date complexe folosind uniuni și opționale.
Infers and checks types without requiring manual annotations.
MonkeyType este un instrument de inferență a tipurilor la runtime și de analiză pentru Python. Acesta colectează tipurile reale ale argumentelor și valorilor returnate din apelurile de funcții în timpul execuției programului pentru a automatiza producerea de adnotări de tip static și fișiere stub compatibile. Sistemul convertește urmele de execuție capturate în hint-uri de tip static, care pot fi inserate direct în definițiile funcțiilor din codul sursă sau utilizate pentru a genera stub-uri de tip externe. Acest proces permite adăugarea siguranței tipurilor la codebase-urile existente prin analizarea tipurilor de date din lumea reală, mai degrabă decât prin auditare manuală. Capabilitățile instrumentului acoperă colectarea tipurilor la runtime, inferența dinamică a tipurilor și generarea definițiilor de tip static. Utilizează modificarea codului sursă și persistența urmelor de apel pentru a mapa tiparele observate la runtime către semnături statice.
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.