## 経緯 [[Ruff]]が登場してしばらく経ったが、開発が活発であり速度も圧倒的なので移行したい。特に最近は[[Neovim]]ですべての開発をしているため、数十msというスピードがとても気になるようになってきた。[[Python]]以外の言語でも、[[Rust]]製のツールに置き換えた成功事例がある ([[Biome]]など) ので信頼もできそう。 ## 不要なものを削除 ### mypyの削除 既に[[mypy]]自体は使ってなさそうだったので、ゴミと思われる`mypy.ini`などの削除に留める。 ### Blackの削除 [[Black]]はローカルインストールされてなさそうだったので、不要な設定をまるまる削除する。 ```toml [tool.poetry.dev-dependencies] black = {extras = ["d"], version = "^23.3.0"} [tool.black] line-length = 100 target-version = ['py37', 'py38', 'py39', 'py310', 'py311', 'py312'] include = '\.pyi? exclude = ''' /( \.eggs | \.git | \.hg | \.tox | \.venv | _build | buck-out | build | dist # The following are specific to Black, you probably don't want those. | blib2to3 | tests/data | profiling )/ ''' ``` ## Ruffのインストール グローバルにインストール済だがローカルの方がよさそうな気もするので。 ```console poetry add --dev ruff ``` 他のライブラリものきなみInstallingされていてちょっと不安...。 ## 設定ファイルの調整 [[pyproject.toml]]に設定する。 ```toml [tool.ruff.lint] # import順を最適化 extend-select = ["I"] [tool.ruff.lint.per-file-ignores] # ここのインポート順を変えると動かなくなるので... "main.py" = ["E402"] ``` > - [[特定ファイルだけ特定ルールを無視 (Ruff)]] > - [[📝Ruffでimport順のwarningが表示されず、Organize ImportのCode Actionも実行できない]]