pyre-check-nightly


Namepyre-check-nightly JSON
Version 0.0.101742555493 PyPI version JSON
download
home_pagehttps://pyre-check.org/
SummaryA performant type checker for Python
upload_time2025-03-21 11:30:19
maintainerFacebook
docs_urlNone
authorFacebook
requires_python>=3.8
licenseMIT
keywords typechecker development
VCS
bugtrack_url
requirements click dataclasses-json libcst psutil pyre-extensions tabulate testslide typing_extensions typing_inspect tomli tomli-w
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![tests](https://github.com/facebook/pyre-check/workflows/tests/badge.svg)](https://github.com/facebook/pyre-check/actions/workflows/tests.yml)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Gitter](https://badges.gitter.im/pyre-check/community.svg)](https://gitter.im/pyre-check/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)

<p align="center">
  <img src="https://raw.githubusercontent.com/facebook/pyre-check/main/logo.png">
</p>

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. You can try it out on examples in [the Pyre Playground](https://pyre-check.org/play).

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-quickstart) to get started with our security analysis.

Pysa is also available on the [GitHub Marketplace as a Github Action](https://github.com/marketplace/actions/pysa-action)

## Requirements
To get started, you need [Python 3.8 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` and [homebrew](https://brew.sh/):
```bash
$ sudo apt-get install python3 python3-pip python3-venv
$ brew install watchman
```
We tested Pyre on *Ubuntu 18.04.5 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.

            

Raw data

            {
    "_id": null,
    "home_page": "https://pyre-check.org/",
    "name": "pyre-check-nightly",
    "maintainer": "Facebook",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "pyre@fb.com",
    "keywords": "typechecker development",
    "author": "Facebook",
    "author_email": "pyre@fb.com",
    "download_url": "https://files.pythonhosted.org/packages/36/37/9b6a06d898e6acedc60bb3febcf3cdc60da36a2a2df6fb04f1a8485f3bf5/pyre-check-nightly-0.0.101742555493.tar.gz",
    "platform": null,
    "description": "[![tests](https://github.com/facebook/pyre-check/workflows/tests/badge.svg)](https://github.com/facebook/pyre-check/actions/workflows/tests.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Gitter](https://badges.gitter.im/pyre-check/community.svg)](https://gitter.im/pyre-check/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/facebook/pyre-check/main/logo.png\">\n</p>\n\nPyre 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 \u2013 providing instantaneous feedback to developers as they write code. You can try it out on examples in [the Pyre Playground](https://pyre-check.org/play).\n\nPyre 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-quickstart) to get started with our security analysis.\n\nPysa is also available on the [GitHub Marketplace as a Github Action](https://github.com/marketplace/actions/pysa-action)\n\n## Requirements\nTo get started, you need [Python 3.8 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/):\n```bash\n$ brew install python3 watchman\n```\nOn *Ubuntu*, *Mint*, or *Debian*; use `apt-get` and [homebrew](https://brew.sh/):\n```bash\n$ sudo apt-get install python3 python3-pip python3-venv\n$ brew install watchman\n```\nWe tested Pyre on *Ubuntu 18.04.5 LTS*, *CentOS 7*, as well as *OSX 10.11* and later.\n\n## Setting up a Project\nWe start by creating an empty project directory and setting up a virtual environment:\n\n```bash\n$ mkdir my_project && cd my_project\n$ python3 -m venv ~/.venvs/venv\n$ source ~/.venvs/venv/bin/activate\n(venv) $ pip install pyre-check\n```\n\nNext, we teach Pyre about our new project:\n```bash\n(venv) $ pyre init\n```\nThis 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 \u2013 you can change them later if necessary.\n\n## Running Pyre\nWe are now ready to run Pyre:\n```bash\n(venv) $ echo \"i: int = 'string'\" > test.py\n(venv) $ pyre\n \u019b Found 1 type error!\ntest.py:1:0 Incompatible variable type [9]: i is declared to have type `int` but is used as type `str`.\n```\nThis first invocation will start a daemon listening for filesystem changes \u2013\u00a0type 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.\n\nFor more detailed documentation, see https://pyre-check.org.\n\n## Join the Pyre community\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for how to help out.\n\n## License\n\nPyre is licensed under the MIT license.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A performant type checker for Python",
    "version": "0.0.101742555493",
    "project_urls": {
        "Download": "https://github.com/facebook/pyre-check",
        "Homepage": "https://pyre-check.org/"
    },
    "split_keywords": [
        "typechecker",
        "development"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "020faeeb6a63766e2d93e1a49da23b29fa0257a878d8fdc778dd2a5952e436b4",
                "md5": "3a71589842884d780c79204ac91548ee",
                "sha256": "f639f1fa9f4f3642b0aa5c1dc9bce7e867614629d63334dec58958eba1cda74a"
            },
            "downloads": -1,
            "filename": "pyre_check_nightly-0.0.101742555493-py3-none-macosx_10_11_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3a71589842884d780c79204ac91548ee",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 21851068,
            "upload_time": "2025-03-21T11:30:16",
            "upload_time_iso_8601": "2025-03-21T11:30:16.872465Z",
            "url": "https://files.pythonhosted.org/packages/02/0f/aeeb6a63766e2d93e1a49da23b29fa0257a878d8fdc778dd2a5952e436b4/pyre_check_nightly-0.0.101742555493-py3-none-macosx_10_11_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e7cf37dba37d6baf28feb8e57c18384149f5711ddd8092c5e579c7fbc9490f60",
                "md5": "22cea8cb9e89cea33480871256db74d2",
                "sha256": "61175b3da18b1d9b6cfe7cd7a8dbe5961f2213f45669d77d95005aaa06cb430c"
            },
            "downloads": -1,
            "filename": "pyre_check_nightly-0.0.101742555493-py3-none-manylinux1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "22cea8cb9e89cea33480871256db74d2",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 45253553,
            "upload_time": "2025-03-21T11:30:11",
            "upload_time_iso_8601": "2025-03-21T11:30:11.334755Z",
            "url": "https://files.pythonhosted.org/packages/e7/cf/37dba37d6baf28feb8e57c18384149f5711ddd8092c5e579c7fbc9490f60/pyre_check_nightly-0.0.101742555493-py3-none-manylinux1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "36379b6a06d898e6acedc60bb3febcf3cdc60da36a2a2df6fb04f1a8485f3bf5",
                "md5": "c98b9e1d6fb0af9f9ceb76b81bb79911",
                "sha256": "6208bec8aa5a4fe6cc806510bf676963d940698accb499289755d5b9c34979a7"
            },
            "downloads": -1,
            "filename": "pyre-check-nightly-0.0.101742555493.tar.gz",
            "has_sig": false,
            "md5_digest": "c98b9e1d6fb0af9f9ceb76b81bb79911",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 21112184,
            "upload_time": "2025-03-21T11:30:19",
            "upload_time_iso_8601": "2025-03-21T11:30:19.888343Z",
            "url": "https://files.pythonhosted.org/packages/36/37/9b6a06d898e6acedc60bb3febcf3cdc60da36a2a2df6fb04f1a8485f3bf5/pyre-check-nightly-0.0.101742555493.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-03-21 11:30:19",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "facebook",
    "github_project": "pyre-check",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "click",
            "specs": [
                [
                    ">=",
                    "8.0"
                ]
            ]
        },
        {
            "name": "dataclasses-json",
            "specs": [
                [
                    "==",
                    "0.5.7"
                ]
            ]
        },
        {
            "name": "libcst",
            "specs": []
        },
        {
            "name": "psutil",
            "specs": []
        },
        {
            "name": "pyre-extensions",
            "specs": [
                [
                    ">=",
                    "0.0.29"
                ]
            ]
        },
        {
            "name": "tabulate",
            "specs": []
        },
        {
            "name": "testslide",
            "specs": [
                [
                    ">=",
                    "2.7.0"
                ]
            ]
        },
        {
            "name": "typing_extensions",
            "specs": []
        },
        {
            "name": "typing_inspect",
            "specs": []
        },
        {
            "name": "tomli",
            "specs": []
        },
        {
            "name": "tomli-w",
            "specs": []
        }
    ],
    "lcname": "pyre-check-nightly"
}
        
Elapsed time: 4.52620s