pyre-check: Check Python Types and Find Data Flows

pyre-check: Check Python Types and Find Data Flows

Summary

Pyre is an incremental, performant type checker for Python, with Pysa for security-focused data-flow analysis. The repository is archived: type checking has moved to Pyrefly, and Pysa is maintained in a separate repository.

At a glance

Language
OCaml
License
MIT
Stars
7.2k
Forks
450
Added to OSRepos
November 16, 2025
Last analyzed
October 3, 2026

This repository is archived on GitHub and no longer maintained.

View on GitHub

Topics

Click on any tag to explore related repositories

Use at your own risk

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.

Overview

Pyre checks Python code against type annotations and reports mismatches, helping developers catch errors during development. Its incremental analysis and daemon are intended to provide quick feedback on large codebases as files change.

The repository also documents Pysa, a security-focused static analysis tool for tracking data flows. This repository is archived, so it is best treated as a reference for existing Pyre setups rather than the starting point for a new deployment. Type checking has been replaced by Pyrefly, and Pysa has moved to its own repository.

Key Features

  • Checks Python type annotations in line with PEP 484.
  • Analyzes code incrementally and can monitor filesystem changes through a daemon.
  • Reports type errors with locations and descriptions.
  • Supports large codebases, according to the project documentation.
  • Includes Pysa, a security-oriented static analysis tool for reasoning about Python data flows, now maintained separately.

Use Cases

  • Python developers maintaining an existing Pyre configuration can use it to understand or continue a legacy setup.
  • Teams working in typed Python can use type checking to catch incompatible assignments during development.
  • Developers of large codebases may find incremental checking useful for faster feedback while editing.
  • Security engineers looking for Python data-flow analysis should use the current Pysa repository, not this archived repository.
  • Teams choosing a type checker for a new project should evaluate Pyrefly, the stated successor.

Project Facts

  • Language: OCaml
  • License: MIT
  • Stars: 7.2k
  • Forks: 450
  • Topics: abstract-interpretation, code-quality, control-flow-analysis, ocaml, program-analysis, python, security, static-analysis, taint-analysis, type-check, typechecker
  • Archived: true

Getting Started

For an existing setup, install the package with pip install pyre-check. The repository is archived, so consult the Pyre README for setup details and consider the successor projects for current use.

Alternatives

  • Mypy: Mypy is another Python static type checker, while Pyre emphasizes incremental performance and paired with Pysa for security-focused data-flow analysis.
  • Pytype: Pytype is another Python static analyzer, using bytecode-based inference rather than Pyre's incremental type-checking approach.

Considerations

  • The repository is archived and is no longer maintained.
  • Pyre type checking has been replaced by Pyrefly; Pysa has moved to a separate repository.
  • The documented setup requires Python 3.9 or later and Watchman.
  • The project is implemented in OCaml, while its analysis targets Python code.

Source repository

Open the original repository on GitHub.

21 counted GitHub visits

View on GitHub

Related repositories

Similar repositories that may be relevant next.

OS
OSRepos

Analysis and discovery of open source repositories. Find interesting projects and follow their updates.

Monitor your website with YourWebsiteScore

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of third-party repository code is at your own risk. Always review source code, dependencies, licenses, and security implications before running anything.

© 2025 OSRepos. Built with Nuxt 3 and lots of ❤️