# pyre-check **Repository Path**: zhaowx_admin/pyre-check ## Basic Information - **Project Name**: pyre-check - **Description**: Pyre 是一个快速、可扩展和高性能的 Python 类型检查工具,适用于大型的 Python 3 代码库,旨在通过在终端或编辑器中以交互方式标记类型错误来帮助提高代码质量和开发速 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: https://www.oschina.net/p/pyre - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2020-08-11 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ![Pyre](https://raw.githubusercontent.com/facebook/pyre-check/master/logo.png) Pyre is a performant type checker for Python compliant with [PEP 484](https://www.python.org/dev/peps/pep-0484/). Pyre can analyze codebases with millions of lines of code incrementally – providing instantaneous feedback to developers as they write code. Pyre ships with **Pysa**, a security focused static analysis tool we've built on top of Pyre that reasons about data flows in Python applications. Please refer to our [documentation](https://pyre-check.org/docs/pysa-basics.html) to get started with our security analysis. ## Requirements To get started, you need [Python 3.6 or later](https://www.python.org/getit/) and [watchman](https://facebook.github.io/watchman/) working on your system. On *MacOS* you can get everything with [homebrew](https://brew.sh/): ```bash $ brew install python3 watchman ``` On *Ubuntu*, *Mint*, or *Debian*; use `apt-get`: ```bash $ sudo apt-get install python3 python3-pip watchman ``` We tested Pyre on *Ubuntu 16.04 LTS*, *CentOS 7*, as well as *OSX 10.11* and later. ## Setting up a Project We start by creating an empty project directory and setting up a virtual environment: ```bash $ mkdir my_project && cd my_project $ python3 -m venv ~/.venvs/venv $ source ~/.venvs/venv/bin/activate (venv) $ pip install pyre-check ``` Next, we teach Pyre about our new project: ```bash (venv) $ pyre init ``` This command will set up a configuration for Pyre (`.pyre_configuration`) as well as watchman (`.watchmanconfig`) in your project's directory. Accept the defaults for now – you can change them later if necessary. ## Running Pyre We are now ready to run Pyre: ```bash (venv) $ echo "i: int = 'string'" > test.py (venv) $ pyre ƛ Found 1 type error! test.py:1:0 Incompatible variable type [9]: i is declared to have type `int` but is used as type `str`. ``` This first invocation will start a daemon listening for filesystem changes – type checking your project incrementally as you make edits to the code. You will notice that subsequent invocations of `pyre` will be faster than the first one. For more detailed documentation, see https://pyre-check.org. ## Join the Pyre community See [CONTRIBUTING.md](CONTRIBUTING.md) for how to help out. ## License Pyre is licensed under the MIT license.