Update README.md

This commit is contained in:
Shunsuke Shibayama 2022-12-12 23:50:51 +09:00
parent 5cb0f4c6b6
commit 005480fd73
1 changed files with 8 additions and 8 deletions

View File

@ -12,13 +12,6 @@ cargo install pype
or download the binary from [the releases page].
## How it works
pype uses the type checker of [the erg programming language](https://erg-lang.org) internally.
This language is a transpiled language that targets Python, and has a static type system.
pype converts Python ASTs to Erg ASTs and passes them to Erg's type checker. It then displays the results with appropriate modifications.
## What is the advantage over pylint, pyright, pytype, etc.?
pype performs type inference of Python source code. Therefore, there is no need to annotate or type your Python scripts in order to use pype. You can, however, explicitly request type checks by specifying types.
@ -27,7 +20,7 @@ There are other softwares that takes the same approach as pype, such as pytype,
However, pype is superior to them in the following points:
* Performance: pype can inspect Python scripts on average 100 times faster than pytype. This is largely due to the fact that pype is implemented in Rust, whereas pytype is implemented in Python.
* Performance: pype can inspect Python scripts on average __100 times faster__ than pytype and pyright. This is largely due to the fact that pype is implemented in Rust, whereas pytype is implemented in Python.
![performance](images/performance.png)
@ -40,3 +33,10 @@ pype can do more than the usual type testing. For example, it can detect out-of-
* Reports readability: While pytype's error reports are crude, showing only that an error has occurred, pype shows where the error occurred and provides clear error messages.
![reports](images/reports.png)
## How it works
pype uses the type checker of [the Erg programming language](https://erg-lang.org) internally.
This language is a transpiled language that targets Python, and has a static type system.
pype converts Python ASTs to Erg ASTs and passes them to Erg's type checker. It then displays the results with appropriate modifications.