Update README.md

This commit is contained in:
Shunsuke Shibayama 2024-08-21 11:59:17 +09:00
parent 42c11642fd
commit 18af09b5e4

View file

@ -16,7 +16,7 @@
pip install pylyzer pip install pylyzer
``` ```
### cargo (rust package manager) ### cargo (Rust package manager)
```bash ```bash
cargo install pylyzer --locked cargo install pylyzer --locked
@ -29,7 +29,7 @@ git clone https://github.com/mtshiba/pylyzer.git
cargo install --path . --locked cargo install --path . --locked
``` ```
Make sure that `cargo/rustc` is up-to-date, as pylyzer may be written with the latest language features. Make sure that `cargo`/`rustc` is up-to-date, as pylyzer may be written with the latest (stable) language features.
### [GitHub Releases](https://github.com/mtshiba/pylyzer/releases/latest) ### [GitHub Releases](https://github.com/mtshiba/pylyzer/releases/latest)
@ -69,10 +69,10 @@ You can install the VSCode extension from the [Marketplace](https://marketplace.
code --install-extension pylyzer.pylyzer code --install-extension pylyzer.pylyzer
``` ```
## What is the difference from [Ruff](https://github.com/charliermarsh/ruff)? ## What is the difference from [Ruff](https://github.com/astral-sh/ruff)?
[Ruff](https://github.com/charliermarsh/ruff), like pylyzer, is a static code analysis tool for Python written in Rust, but Ruff is a linter and pylyzer is a type checker & language server. [Ruff](https://github.com/astral-sh/ruff), like pylyzer, is a static code analysis tool for Python written in Rust, but Ruff is a linter and pylyzer is a type checker & language server.
pylyzer does not perform linting, and Ruff does not perform type checking. pylyzer does not perform linting & formatting, and Ruff does not perform type checking.
## How it works ## How it works
@ -118,6 +118,7 @@ pylyzer converts Python ASTs to Erg ASTs and passes them to Erg's type checker.
* [x] `list` * [x] `list`
* [x] `dict` * [x] `dict`
* [x] `tuple` * [x] `tuple`
* [x] `set`
* [ ] `typing` * [ ] `typing`
* [x] `Union` * [x] `Union`
* [x] `Optional` * [x] `Optional`
@ -134,7 +135,7 @@ pylyzer converts Python ASTs to Erg ASTs and passes them to Erg's type checker.
* [x] type parameter syntax * [x] type parameter syntax
* [x] type narrowing * [x] type narrowing
* [ ] others * [ ] others
* `collections.abc` * [ ] `collections.abc`
* [x] `Iterable` * [x] `Iterable`
* [x] `Iterator` * [x] `Iterator`
* [x] `Mapping` * [x] `Mapping`
@ -145,6 +146,14 @@ pylyzer converts Python ASTs to Erg ASTs and passes them to Erg's type checker.
* [ ] `pyi` (stub) files support * [ ] `pyi` (stub) files support
* [ ] glob pattern file check * [ ] glob pattern file check
## Join us!
We are looking for contributors to help us improve pylyzer. If you are interested in contributing and have any questions, please feel free to contact us.
* [Discord (Erg language)](https://discord.gg/kQBuaSUS46)
* [#pylyzer](https://discord.com/channels/1006946336433774742/1056815981168697354)
* [GitHub discussions](https://github.com/mtshiba/pylyzer/discussions)
--- ---
<span id="1" style="font-size:x-small"><sup>1</sup> The performance test was conducted on MacBook (Early 2016) with 1.1 GHz Intel Core m3 processor and 8 GB 1867 MHz LPDDR3 memory.[](#f1)</span> <span id="1" style="font-size:x-small"><sup>1</sup> The performance test was conducted on MacBook (Early 2016) with 1.1 GHz Intel Core m3 processor and 8 GB 1867 MHz LPDDR3 memory.[](#f1)</span>