Settings#
Top-level#
builtins#
システムの組み込みコマンドに加えて、定義された参照として扱う組み込みコマンドのリスト。
Default value: []
Type: list[str]
Example usage:
cache-dir#
キャッシュディレクトリへのパス。
デフォルトでは、Ruff は現在のプロジェクトルートの.ruff_cacheディレクトリにキャッシュ結果を保存します。
ただし、Ruff は環境変数RUFF_CACHE_DIRも尊重します。これはデフォルトよりも優先されます。
この設定は、環境変数RUFF_CACHE_DIRが設定されている場合でも上書きされます。
Default value: .ruff_cache
Type: str
Example usage:
exclude#
書式設定とリンティングから除外するファイルパターンのリスト。
除外はグローバルに基づいており、次のいずれかになります。:
.mypy_cache(ツリー内の.mypy_cacheという名前のディレクトリを除外する)、foo.py(foo.pyという名前のファイルを除外する)、foo_*.py(foo_*.pyに一致するファイルを除外する)のような単一パスパターン。directory/foo.py(特定のファイルを除外するため)やdirectory/*.py(directory内のすべての Python ファイルを除外するため)のような相対パターン。これらのパスはプロジェクトルート(例えば、pyproject.tomlを含むディレクトリ)からの相対パスであることに注意してください。
glob 構文の詳細については、globset documentationを参照してください。
通常、除外されたパスを変更するには、extend-excludeを使用することに注意してください。
Default value: [".bzr", ".direnv", ".eggs", ".git", ".git-rewrite", ".hg", ".mypy_cache", ".nox", ".pants.d", ".pytype", ".ruff_cache", ".svn", ".tox", ".venv", "__pypackages__", "_build", "buck-out", "dist", "node_modules", "venv"]
Type: list[str]
Example usage:
extend#
この構成にマージするローカルのpyproject.tomlファイルへのパス。ユーザーのホームディレクトリと環境変数が展開されます。
現在のpyproject.tomlファイルを解決するために、Ruff はまずこの基本構成ファイルを解決し、次に現在の構成ファイルで定義されている任意のプロパティにマージします。
Default value: null
Type: str
Example usage:
extend-exclude#
excludeで指定されたものに加えて、フォーマットとリンティングから除外するファイルパターンのリスト。
除外はグローバルに基づいており、次のいずれかになります。:
.mypy_cache(ツリー内の.mypy_cacheという名前のディレクトリを除外する)、foo.py(foo.pyという名前のファイルを除外する)、foo_*.py(foo_*.pyに一致するファイルを除外する)のような単一パスパターン。directory/foo.py(特定のファイルを除外するため)やdirectory/*.py(directory内の Python ファイルを除外するため)のような相対パターン。これらのパスはプロジェクトのルート(例えば、pyproject.tomlを含むディレクトリ)からの相対パスであることに注意してください。
glob 構文の詳細については、globset documentationを参照してください。
Default value: []
Type: list[str]
Example usage:
extend-include#
includeで指定されたものに加えて、リンティング時に含めるファイルパターンのリスト。
包含は glob に基づいており、.pyw拡張子を持つ任意のファイルを含めるには、*.pywのような単一パスパターンである必要があります。
glob 構文の詳細については、globset documentationを参照してください。
Default value: []
Type: list[str]
Example usage:
fix#
ruffの実行時にデフォルトで修正動作を有効にします(--fixおよび--no-fixコマンドラインフラグで上書きされます)。
--unsafe-fixesが指定されていない限り、自動修正のみが含まれます。
Default value: false
Type: bool
Example usage:
fix-only#
fixと似ていますが、残りの違反の報告を無効にします。fixを意味します。
Default value: false
Type: bool
Example usage:
force-exclude#
明示的に Ruff に渡されたパスに対しても、excludeとextend-excludeパターンを強制するかどうか。通常、Ruff は、通常は除外されるパスであっても、直接渡されたパスを無視します。force-exclude=trueを設定すると、Ruff はこれらの除外を明確に尊重します。
これは、pre-commitの場合に便利です。このプラグインは、変更されたすべてのファイルを明示的にruff-pre-commitプラグインに渡します。Ruff の独自の設定で除外としてマークされているかどうかは関係ありません。
Default value: false
Type: bool
Example usage:
include#
リンティング時に含めるファイルパターンのリスト。
包含は glob に基づいており、*.pywのような単一パスパターンである必要があります。これは、.pyw拡張子を持つファイルを含めるためです。pyproject.tomlは設定のためではなく、例えば[project]がスキーマに一致するかどうかを調べるためにここに含まれています。
ノートブックファイル(.ipynb拡張子)は、Ruff 0.6.0+にデフォルトで含まれています。
glob 構文の詳細については、globset documentationを参照してください。
Default value: ["*.py", "*.pyi", "*.ipynb", "**/pyproject.toml"]
Type: list[str]
Example usage:
indent-width#
インデントレベル(タブ)ごとのスペースの数。
タブの表示幅を決定するために(E501のような)長い行の違反を強制するときに、フォーマッタによって使用されます。
このオプションは、ソフトタブ(indent-style = space)を使用するときにフォーマッタが挿入するスペースの数を変更します。
PEP 8 recommends using 4 spaces per indentation level.
PEP 8 では、indentation levelごとに 4 つのスペースを使用することを推奨しています。
Default value: 4
Type: int
Example usage:
line-length#
長い行の違反(E501など)を強制するときに使用する行の長さで、isortとフォーマッタが行をラップするのに適した場所です。
長さは、東アジアの文字または絵文字を含む行を除き、1 行あたりの文字数によって決まります。
これらの行では、各文字のunicode widthが加算されて長さが決定されます。
値は0より大きく、320以下でなければなりません。
注意:フォーマッタはline-length内に収まるように行を整形しようとしますが、これは厳密な上限ではなく、整形された行はline-lengthを超える可能性があります。
E501とフォーマッタに異なる長さを設定するには、pycodestyle.max-line-lengthを参照してください。
Default value: 88
Type: int
Example usage:
namespace-packages#
指定されたディレクトリを名前空間パッケージとしてマークします。モジュールを解決するために、Ruff はこれらのディレクトリとそのすべてのサブディレクトリを__init__.pyファイルが含まれているかのように扱います。
Default value: []
Type: list[str]
Example usage:
output-format#
違反メッセージをフォーマットするスタイル:"full"(デフォルト)(ソースを表示)、"concise"、"grouped"(ファイルごとにメッセージをグループ化)、"json"(機械可読)、"junit"(機械可読 XML)、"GitHub"(GitHub Actions アノテーション)、"GitLab"(GitLab CI コード品質レポート)、"pyint"(Pyint テキスト形式)、または"azure"(Azure Pipeline ロギングコマンド)。
Default value: "full"
Type: "full" | "concise" | "grouped" | "json" | "junit" | "github" | "gitlab" | "pylint" | "azure"
Example usage:
preview#
プレビュー・モードを使用可能にするかどうか。プレビュー・モードが使用可能な場合、Ruff は不安定なルール、修正およびフォーマットを使用します。
Default value: false
Type: bool
Example usage:
required-version#
実行時に適用するために、Ruff のバージョンに要件を適用します。
Ruff のバージョンが要件を満たしていない場合、Ruff はエラーで終了します。
たとえば、pyproject.tomlファイルを使用して、多くの環境にわたって結果を統合する場合に便利です。
==0.3.1や>=0.3.1のようなPEP 440指定子を受け入れます。
Default value: null
Type: str
Example usage:
respect-gitignore#
.ignore、.gitignore、.git/info/exclude、およびグローバルなgitignoreファイルによって無視されるファイルを自動的に除外するかどうか。
デフォルトで有効になっています。
Default value: true
Type: bool
Example usage:
show-fixes#
修正されたすべてのリント違反の列挙を表示するかどうか(--show-fixesコマンドラインフラグで上書きされます)。
Default value: false
Type: bool
Example usage:
src#
ファーストパーティとサードパーティのインポートを解決するときに考慮するディレクトリ。
省略した場合、srcディレクトリには通常、次の両方がデフォルトで含まれます。:
- 最も近い
pyproject.toml、ruff.toml、または.ruff.tomlファイルを含むディレクトリ("プロジェクトルート")。 - プロジェクトルートの
"src"サブディレクトリ。
これらの既定により、UV はフラットレイアウトと「src」レイアウトの両方をサポートします。(設定ファイルが明示的に提供されている場合(たとえば、--configコマンドラインフラグを使用して)、現在の作業ディレクトリがプロジェクトのルートと見なされます)。
例として、次のような代替プロジェクト構造を考えてみましょう。:
この場合、インポートを解決するときにmy_package.fooがファーストパーティと見なされるように、./libディレクトリをsrcオプションに含める必要があります(たとえば、src = ["lib"])。
このフィールドは glob をサポートします。例えば、python_modulesディレクトリに一連の Python パッケージがある場合、src = ["python_modules/*"]を展開すると、そのディレクトリ内のすべてのパッケージが組み込まれます。ユーザーのホームディレクトリと環境変数も展開されます。
Default value: [".", "src"]
Type: list[str]
Example usage:
target-version#
型アノテーションの書き換えなど、自動コードアップグレードを検討する場合にターゲットとする Python の最小バージョン。Ruff は、特定のバージョンでは利用できない機能を使用して変更を提案することはありません。
たとえば、Python>=3.10 または==3.10 のサポートを表すには、target-version = "py310"と指定します。
すでにpyproject.tomlファイルを使用している場合は、代わりにproject.requires-pythonをお勧めします。これは、Python パッケージング標準に基づいており、他のツールによって尊重されるためです。たとえば、Ruff は次のものをtarget-version="py38"と同じものとして扱います。:
If both are specified, target-version takes precedence overrequires-python.
両方を指定した場合、target-versionがrequires-pythonより優先されます。
Default value: "py38"
Type: "py37" | "py38" | "py39" | "py310" | "py311" | "py312"
Example usage:
unsafe-fixes#
安全でない修正の適用を有効にします。
除外すると、安全でない修正が利用可能になったときにヒントが表示されます。
false に設定すると、ヒントは非表示になります。
Default value: null
Type: bool
Example usage:
format#
Ruff がコードをフォーマットする方法を設定します。
docstring-code-format#
docstring 内のコードスニペットをフォーマットするかどうか。
これを有効にすると、docstring 内の Python コード例は自動的に再フォーマットされます。
たとえば、これを有効にすると、次のコードが実行されます。:
def f(x):
"""
Something about `f`. And an example in doctest format:
>>> f( x )
Markdown is also supported:
```py
f( x )
```
As are reStructuredText literal blocks::
f( x )
And reStructuredText code blocks:
.. code-block:: python
f( x )
"""
pass
次のように再フォーマットされます(残りのオプションがデフォルトに設定されていると仮定します)。:
def f(x):
"""
Something about `f`. And an example in doctest format:
>>> f(x)
Markdown is also supported:
```py
f(x)
```
As are reStructuredText literal blocks::
f(x)
And reStructuredText code blocks:
.. code-block:: python
f(x)
"""
pass
docstring 内のコード・スニペットに無効な Python コードが含まれている場合、またはフォーマッターが無効な Python コードを書き込む可能性がある場合には、そのコード例はフォーマッターによって無視され、そのまま保持されます。
現在、doctest、Markdown、reStructuredText リテラルブロック、reStructuredText コードブロックはすべてサポートされており、自動的に認識されます。Markdown および reStructuredText リテラルブロック内のラベルのないフェンスで囲まれたコードブロックの場合、内容は Python であると想定され、再フォーマットされます。他のフォーマットと同様に、内容が有効でない場合
Python の場合、ブロックは自動的に変更されません。
Default value: false
Type: bool
Example usage:
docstring-code-line-length#
docstring 内のコードスニペットをフォーマットするときに使用する行の長さを設定します。
これは、docstring-code-format設定が有効になっている場合にのみ有効です。
この設定のデフォルト値は"dynamic"です。これにより、docstring 内の再フォーマットされたコード例が、周囲の Python コードに使用されるグローバルな行長設定に準拠することが保証されます。この設定のポイントは、コード例を再フォーマットするときに docstring のインデントを考慮することです。
または、固定整数に設定することもできます。これにより、docstring 内のすべての再フォーマットされたコード例に同じ行長制限が適用されます。固定整数に設定すると、docstring のインデントは考慮されません。つまり、再フォーマットされたコード例の行が、グローバルに設定された行長制限を超える可能性があります。
たとえば、これが20に設定されていて、docstring-code-formatが有効になっている場合、次のコードが表示されます。:
def f(x):
'''
Something about `f`. And an example:
.. code-block:: python
foo, bar, quux = this_is_a_long_line(lion, hippo, lemur, bear)
'''
pass
次のように再フォーマットされます(残りのオプションがデフォルトに設定されていると仮定します):
def f(x):
"""
Something about `f`. And an example:
.. code-block:: python
(
foo,
bar,
quux,
) = this_is_a_long_line(
lion,
hippo,
lemur,
bear,
)
"""
pass
Default value: "dynamic"
Type: int | "dynamic"
Example usage:
exclude#
グローバルに除外されたファイルに加えて、フォーマットから除外するファイルパターンのリスト(excludeおよびextend-excludeを参照)。
除外はグローバルに基づいており、次のいずれかになります。:
.mypy_cache(ツリー内の.mypy_cacheという名前のディレクトリを除外する)、foo.py(foo.pyという名前のファイルを除外する)、foo_*.py(foo_*.pyに一致するファイルを除外する)のような単一パスパターン。- 相対パターン:
directory/foo.py(その特定のファイルを除外する)またはdirectory/*.py( これらのパスはプロジェクトのルート(例えば、pyproject.tomlを含むディレクトリ)からの相対パスであることに注意してください。
glob 構文の詳細については、globset documentationを参照してください。
Default value: []
Type: list[str]
Example usage:
indent-style#
インデントにスペースまたはタブを使用するかどうか。
indent-style = "space" (default):
indent-style = "tab":
indent-style="tab"::
PEP 8 では、indentationにスペースを使用することを推奨しています。
私たちはアクセシビリティを重視しています。アクセシビリティ用のタブが必要ない場合は、タブを使用することはお勧めしません。
インデントごとのスペースの数とタブ幅を設定するには、indent-widthを参照してください。
Default value: space
Type: "space" | "tab"
Example usage:
line-ending#
Ruff が行末で使用する文字。
auto: 改行スタイルはファイルごとに自動的に検出されます。行末が混在しているファイルは、最初に検出された行末に変換されます。行末が含まれていないファイルのデフォルトは\nです。lf: 行末は\nに変換されます。UNIX のデフォルトの行末です。cr-lf: 行末は\r\nに変換されます。Windows のデフォルトの行末です。native: 行末は UNIX では\nに、Windows では\r\nに変換されます。
Default value: auto
Type: "auto" | "lf" | "cr-lf" | "native"
Example usage:
preview#
不安定なプレビュースタイルの書式設定を有効にするかどうかを指定します。
Default value: false
Type: bool
Example usage:
quote-style#
文字列の優先引用符文字を構成します。推奨されるオプションは次のとおりです。
double(デフォルト): 二重引用符"を使用しますsingle: 単一引用符'を使用します
Ruff は、quote-style = "single"を使用している場合でも、トリプルクォートされた文字列と docstring に対して二重引用符を好みます。
Ruff は、設定された引用符を使用することで、文字列内の引用符文字をエスケープする必要がなくなる場合、その使用から逸脱します。:
quote-style = "single"を使用すると、Ruff はaに割り当てられた文字列の引用符を単一引用符に変更します。
しかし、Ruff はbに割り当てられた文字列に二重引用符を使用します。これは、単一引用符を使用すると'をエスケープする必要があり、コードが読みにくくなるためです:'It\'s monday morning'。
さらに、Ruff は、すでに単一引用符と二重引用符の混合を使用しており、ダブルまたはシングルスタイルに移行できないプロジェクトに対して、引用符スタイルの「保持」をサポートしています。
引用符スタイルのpreserveは、すべての文字列の引用符を変更しません。
Default value: double
Type: "double" | "single" | "preserve"
Example usage:
skip-magic-trailing-comma#
Ruff は、既存の末尾のカンマを使用して、短い行を分離しておく必要があることを示します。
このオプションがtrueに設定されている場合、マジック・トレーリング・カンマは無視されます。
例えば、skip-magic-trailing-comma=falseの場合、引数を 1 行にまとめると行の長さを超えないとしても、Ruff は引数を分離したままにします。:
# The arguments remain on separate lines because of the trailing comma after `b`
def test(
a,
b,
): pass
skip-magic-trailing-comma = trueを設定すると、書式が次のように変更されます。:
# The arguments remain on separate lines because of the trailing comma after `b`
def test(a, b):
pass
Default value: false
Type: bool
Example usage:
lint#
Ruff がコードをチェックする方法を設定します。
lintセクションで指定されたオプションは、推奨されていないトップレベルの設定よりも優先されます。
allowed-confusables#
RUF001、RUF002、およびRUF003を適用する際に無視することが許される"紛らわしい"Unicode 文字のリスト。
Default value: []
Type: list[str]
Example usage:
dummy-variable-rgx#
「ダミー」変数を識別するために使用される正規表現、または(例えば)未使用変数の規則を適用するときに無視されるべき変数。デフォルトの式は_、__、および_varに一致しますが、_var_には一致しません。
Default value: "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
Type: re.Pattern
Example usage:
exclude#
グローバルに除外されたファイルに加えて、リンティングから除外するファイルパターンのリスト(excludeおよびextend-excludeを参照)。
除外はグローバルに基づいており、次のいずれかになります。:
.mypy_cache(ツリー内の.mypy_cacheという名前のディレクトリを除外する)、foo.py(foo.pyという名前のファイルを除外する)、foo_*.py(foo_*.pyに一致するファイルを除外する)のような単一パスパターン。- 相対パターン:
directory/foo.py(その特定のファイルを除外する)またはdirectory/*.py( これらのパスはプロジェクトのルート(例えば、pyproject.tomlを含むディレクトリ)からの相対パスであることに注意してください。
glob 構文の詳細については、globset documentationを参照してください。
Default value: []
Type: list[str]
Example usage:
explicit-preview-rules#
プレビュー・ルールを選択するために正確なコードを必要とするかどうか。有効にすると、プレビュー・ルールは接頭辞によって選択されません。ルールを有効にするには、各プレビュー・ルールの完全なコードが必要です。
Default value: false
Type: bool
Example usage:
extend-fixable#
fixableで指定されたものに加えて、修正可能とみなされるルールコードまたはプレフィックスのリスト。
Default value: []
Type: list[RuleSelector]
Example usage:
extend-ignore#
ignoreで指定されたものに加えて、無視するルールコードまたはプレフィックスのリスト。
Default value: []
Type: list[RuleSelector]
Example usage:
extend-per-file-ignores#
per-file-ignoriesによって除外されたルールに加えて、除外するルール・コードまたはプレフィックスへのファイル・パターンからのマッピングのリスト。
Default value: {}
Type: dict[str, list[RuleSelector]]
Example usage:
extend-safe-fixes#
安全でない修正が安全であると考えられるルールコードまたはプレフィックスのリスト。
Default value: []
Type: list[RuleSelector]
Example usage:
extend-select#
selectで指定されたものに加えて、有効にするルールコードまたはプレフィックスのリスト。
Default value: []
Type: list[RuleSelector]
Example usage:
extend-unsafe-fixes#
安全な修正が安全でないと見なされるルールコードまたはプレフィックスのリスト。
Default value: []
Type: list[RuleSelector]
Example usage:
external#
Ruff によってサポートされていないが、(例えば)# noqaディレクティブを検証するときに保持されるべきルールコードまたはプレフィックスのリスト。Ruff によってまだ実装されていないプラグインをカバーする# noqaディレクティブを保持するのに便利です。
Default value: []
Type: list[str]
Example usage:
fixable#
修正可能とみなされるルール・コードまたは接頭辞のリスト。デフォルトでは、すべてのルールが修正可能とみなされます。
Default value: ["ALL"]
Type: list[RuleSelector]
Example usage:
ignore#
無視する規則コードまたは接頭辞のリスト。接頭辞は、厳密な規則(F841など)、カテゴリ全体(Fなど)、またはその間の任意のものを指定できます。
有効なルールと無効なルールの関係を(それぞれselectとignoreによって)断ち切る場合、より具体的なプレフィックスがより具体的でないプレフィックスを上書きします。
Default value: []
Type: list[RuleSelector]
Example usage:
ignore-init-module-imports#
Deprecated
このオプションは0.4. 4で廃止されました。ignore-init-module-importsは将来のバージョンで削除される予定です。これは、F401が__init__.py(現在プレビューモード)の未使用のインポートに対する適切な修正を推奨するようになったためです。詳細についてはドキュメントを参照し、構成を更新してください。
__init__.pyファイル内の未使用のインポートを自動的に削除しないようにしてください。このようなインポートにはフラグが付けられますが、インポートがモジュールの__all__シンボルに追加されるか、冗長なエイリアス(例えば、import os as os)で再エクスポートされるかを示す専用のメッセージが表示されます。
このオプションはデフォルトで有効になっていますが、安全でない修正を介してインポートを削除することもできます。
Default value: true
Type: bool
Example usage:
logger-objects#
logging.Loggerオブジェクトと同等に扱われるべきオブジェクトのリスト。
これは、共通モジュールからlogging.Loggerオブジェクトを再エクスポートするプロジェクトの適切な診断(例えば、loggingの非推奨やその他のベストプラクティスを特定するため)を確実にするのに役立ちます。
たとえば、次の内容のモジュールlogging_setup.pyがあるとします。:
"logging_setup.logger"をlogger-objectsに追加すると、他のモジュール(例えばfrom logging_setup import logger)からインポートされた場合、logging_setup.loggerがlogging.Loggerオブジェクトとして扱われるようになります。
Default value: []
Type: list[str]
Example usage:
per-file-ignores#
一致するファイルを考慮する場合に、ファイル・パターンから除外するルール・コードまたは接頭辞へのマッピングのリスト。最初の!はファイル・パターンを否定します。
Default value: {}
Type: dict[str, list[RuleSelector]]
Example usage:
preview#
プレビュー・モードを有効にするかどうか。プレビュー・モードが有効な場合、Ruff は不安定なルールと修正を使用します。
Default value: false
Type: bool
Example usage:
select#
使用可能にするルール・コードまたは接頭辞のリスト。接頭辞は、正確なルール(F841など)、カテゴリ全体(Fなど)またはその間の任意のものを指定できます。
有効なルールと無効なルールの関係を(それぞれselect とignoreによって)断ち切る場合、より具体的なプレフィックスがより具体的でないプレフィックスを上書きします。
Default value: ["E4", "E7", "E9", "F"]
Type: list[RuleSelector]
Example usage:
task-tags#
認識するタスクタグのリスト("TODO"、"FIXME"、"XXX"など)。
これらのタグで始まるコメントは、コメントアウトされたコード検出(ERA)では無視され、ignore-overlong-task-commentsがtrueに設定されている場合は、行長ルール(E501)によってスキップされます。
Default value: ["TODO", "FIXME", "XXX"]
Type: list[str]
Example usage:
typing-modules#
エクスポートがtypingモジュールのメンバーと同等に扱われるべきモジュールのリスト。
これは、互換性モジュールからtypingおよびtyping_extensionsメンバを再エクスポートするプロジェクトに対して、適切な型アノテーション推論を保証するのに便利です。省略した場合、typingおよびtyping_extensions以外のモジュールからインポートされたメンバは、通常の Python オブジェクトとして扱われます。
Default value: []
Type: list[str]
Example usage:
unfixable#
修正不可能と見なす規則コードまたはプレフィクスのリスト。
Default value: []
Type: list[RuleSelector]
Example usage:
lint.flake8-annotations#
allow-star-arg-any#
動的に型指定された*argsおよび**kwargs引数に対してANN401を抑制するかどうか。
Default value: false
Type: bool
Example usage:
ignore-fully-untyped#
型指定されていない宣言に対してANN*規則を抑制するかどうか。
これにより、コードベースに型を徐々に追加することが容易になります。
Default value: false
Type: bool
Example usage:
mypy-init-return#
少なくとも 1 つの引数に注釈が付けられている場合に、__init__の戻り値の型ヒントの省略を許可するかどうか。
Default value: false
Type: bool
Example usage:
suppress-dummy-args#
(_のような)"ダミー"変数 regex にマッチする引数に対してANN000レベルの違反を抑制するかどうか。
Default value: false
Type: bool
Example usage:
suppress-none-returning#
次のいずれかの条件を満たす関数に対して、ANN200レベルの違反を抑止するかどうか。:
return文が含まれていません。- 明示的な
return文はすべてNoneを(明示的または暗黙的に)返します。
Default value: false
Type: bool
Example usage:
lint.flake8-bandit#
check-typed-exception#
特定の例外タイプに対してtry-except-pass(S110)を禁止するかどうか。デフォルトでは、try-except-passはExceptionとBaseExceptionに対してのみ禁止されています。
Default value: false
Type: bool
Example usage:
hardcoded-tmp-directory#
一時的と見なすディレクトリのリスト。
Default value: ["/tmp", "/var/tmp", "/dev/shm"]
Type: list[str]
Example usage:
hardcoded-tmp-directory-extend#
hardcoded-tmp-directoryで指定されたディレクトリに加えて、一時的と見なすディレクトリのリスト。
Default value: []
Type: list[str]
Example usage:
lint.flake8-boolean-trap#
extend-allowed-calls#
ブール値トラップを許可する追加の呼び出し可能関数。
完全修飾名のリスト(例えば、Fieldではなくpydantic.Field)を受け取ることを期待します。
Default value: []
Type: list[str]
Example usage:
lint.flake8-bugbear#
extend-immutable-calls#
例えば、function-call-in-default-argumentルール(B008)やfunction-call-in-dataclass-defaultsルール(RUF009)など、評価時に「不変」とみなされる追加の呼び出し可能な関数。
完全修飾名のリスト(例えば、Queryではなくfastapi.Query)を受け取ることを期待します。
Default value: []
Type: list[str]
Example usage:
lint.flake8-builtins#
builtins-allowed-modules#
許可する組み込みモジュール名のリスト。
Default value: []
Type: list[str]
Example usage:
builtins-ignorelist#
組み込みコマンドのリストを無視します。
Default value: []
Type: list[str]
Example usage:
lint.flake8-comprehensions#
allow-dict-calls-with-keyword-arguments#
キーワード引数(例:dict(a=1, b=2))を使用するdict呼び出しを許可します。
Default value: false
Type: bool
Example usage:
lint.flake8-copyright#
author#
著作権表示内で実行する著者。提供されている場合、著者は著作権表示の直後に存在する必要があります。
Default value: null
Type: str
Example usage:
min-file-size#
著作権表示を適用するために必要な最小ファイル・サイズ(バイト単位)。デフォルトでは、すべてのファイルが検証されます。
Default value: 0
Type: int
Example usage:
notice-rgx#
regexクレートでコンパイルされた、著作権表示と一致するために使用される正規表現。
デフォルトは(?i)Copyright\s+((?:\(C\)©)\s+)?\d{4}((-,\s)\d{4})*で、次の文字列と一致します。:
Copyright 2023Copyright (C) 2023Copyright 2021-2023Copyright (C) 2021-2023Copyright (C) 2021, 2023
Default value: (?i)Copyright\s+((?:\(C\)|©)\s+)?\d{4}((-|,\s)\d{4})*
Type: str
Example usage:
lint.flake8-errmsg#
max-string-length#
例外メッセージ内の文字列リテラルの最大文字列長。
Default value: 0
Type: int
Example usage:
lint.flake8-gettext#
extend-function-names#
function-namesに含まれている関数名に加えて、国際化呼び出しとして考慮すべき追加の関数名。
Default value: []
Type: list[str]
Example usage:
function-names#
国際化コールと見なされる関数名。
Default value: ["_", "gettext", "ngettext"]
Type: list[str]
Example usage:
lint.flake8-implicit-str-concat#
allow-multiline#
複数行の文字列に暗黙的な文字列連結を許可するかどうか。
デフォルトでは、複数行ストリングの暗黙的な連結が許可されています(ただし、バックスラッシュで区切られた継続行は禁止されています)。
allow-multiline=falseを設定すると、explicit-string-concatenation(ISC003)ルールが自動的に無効になります。そうしないと、暗黙的および明示的な複数行文字列の連結が違反と見なされ、linter 準拠の複数行文字列を書くことができなくなります。
Default value: true
Type: bool
Example usage:
lint.flake8-import-conventions#
aliases#
インポート用の従来のエイリアス。これらのエイリアスは、extend-aliasesオプションで拡張できます。
Default value: {"altair": "alt", "matplotlib": "mpl", "matplotlib.pyplot": "plt", "numpy": "np", "pandas": "pd", "seaborn": "sns", "tensorflow": "tf", "tkinter": "tk", "holoviews": "hv", "panel": "pn", "plotly.express": "px", "polars": "pl", "pyarrow": "pa", "xml.etree.ElementTree": "ET"}
Type: dict[str, str]
Example usage:
banned-aliases#
モジュールから禁止されたインポートエイリアスへのマッピング。
Default value: {}
Type: dict[str, list[str]]
Example usage:
banned-from#
from ... import ... 構文を使用してからインポートしてはならないモジュールのリスト。
例えば、banned-from=["pandas"]が指定された場合、from pandas import DataFrameは許可されず、import pandasは許可されます。
Default value: []
Type: list[str]
Example usage:
extend-aliases#
モジュールから従来のインポートエイリアスへのマッピング。これらのエイリアスはaliasesマッピングに追加されます。
Default value: {}
Type: dict[str, str]
Example usage:
lint.flake8-pytest-style#
fixture-parentheses#
パラメータなしの@pytest.fixture()が括弧を持つべきかどうかを指定するブールフラグです。オプションがfalse(デフォルト)に設定されている場合、@pytest.fixtureは有効で@pytest.fixture()は無効です。trueに設定されている場合、@pytest.fixture()は有効で@pytest.fixtureは無効です。
Default value: false
Type: bool
Example usage:
mark-parentheses#
パラメータなしの@pytest.mark.foo()が括弧を持つべきかどうかを指定するブールフラグです。オプションがfalse(デフォルト)に設定されている場合、@pytest.mark.fooは有効で@pytest.mark.foo()は無効です。trueに設定されている場合、@pytest.mark.foo()は有効で@pytest.mark.fooは無効です。
Default value: false
Type: bool
Example usage:
parametrize-names-type#
@pytest.mark.parametizeで複数の引数名に必要な型です。以下の値がサポートされています:
csv- カンマで区切られたリスト、例:@pytest.mark.parametize("name1,name2",...)tuple(デフォルト) - 例:@pytest.mark.parametize(("name1","name2"),...)list- 例:@pytest.mark.parametize(["name1","name2"],...)
Default value: tuple
Type: "csv" | "tuple" | "list"
Example usage:
parametrize-values-row-type#
複数のパラメータの場合、@pytest.mark.parametizeの値の各行に必要な型です。次の値がサポートされています:
tuple(default) — e.g.@pytest.mark.parametrize(("name1", "name2"), [(1, 2), (3, 4)])list— e.g.@pytest.mark.parametrize(("name1", "name2"), [[1, 2], [3, 4]])
Default value: tuple
Type: "tuple" | "list"
Example usage:
parametrize-values-type#
@pytest.mark.parametricizeの値リスト行に必要な型です。次の値がサポートされています:
tuple-例:@pytest.mark.parametize("name",(1, 2, 3))list(デフォルト) - 例:@pytest.mark.parametize("name",[1, 2, 3])
Default value: list
Type: "tuple" | "list"
Example usage:
raises-extend-require-match-for#
pytest.raises()呼び出しで match=パラメータを必要とする追加の例外名のリスト。これにより、match=パラメータを必要とする例外のデフォルトリストが拡張されます。
このオプションは、リスト全体を指定しなくても、match=パラメーターを必要とする例外のデフォルト・リストを拡張したい場合に便利です。
このオプションは、defaultlist から例外を削除しないことに注意してください。
Supports glob patterns. For more information on the glob syntax, referto the globset documentation.
glob パターンをサポートします。glob 構文の詳細については、globset documentationを参照してください。
Default value: []
Type: list[str]
Example usage:
raises-require-match-for#
pytest.raises()呼び出しで match=パラメータを必要とする例外名のリスト。
glob パターンをサポートします。glob 構文の詳細については、globset documentationを参照してください。
Default value: ["BaseException", "Exception", "ValueError", "OSError", "IOError", "EnvironmentError", "socket.error"]
Type: list[str]
Example usage:
lint.flake8-quotes#
avoid-escape#
PEP 8に従って、文字列に一重引用符が含まれている場合に一重引用符を使用しないようにするか、またはその逆に二重引用符を使用するか。
これにより、ストリング内の引用符をエスケープする必要性が最小限に抑えられます。
Default value: true
Type: bool
Example usage:
docstring-quotes#
docstring に適した引用符のスタイル("single"または"double")。
フォーマッタを使用する場合、"double"のみが互換性があります。これは、フォーマッタが docstrings 文字列に二重引用符を強制するためです。
Default value: "double"
Type: "single" | "double"
Example usage:
inline-quotes#
インライン文字列に適した引用符のスタイル("single"または"double")。
フォーマッタを使用するときは、format.quote-styleが同じ推奨の引用スタイルに設定されていることを確認してください。
Default value: "double"
Type: "single" | "double"
Example usage:
multiline-quotes#
複数行の文字列に適した引用符のスタイル("single"または"double")。
フォーマッタを使用する場合、"double"のみが互換性があります。これは、フォーマッタが複数行の文字列に二重引用符を強制するためです。
Default value: "double"
Type: "single" | "double"
Example usage:
lint.flake8-self#
extend-ignore-names#
ignore-namesに含まれる名前に加えて、flake8-self違反を考慮する場合に無視する追加の名前。
Default value: []
Type: list[str]
Example usage:
ignore-names#
flake8-self違反を考慮するときに無視する名前のリスト。
Default value: ["_make", "_asdict", "_replace", "_fields", "_field_defaults", "_name_", "_value_"]
Type: list[str]
Example usage:
lint.flake8-tidy-imports#
ban-relative-imports#
すべての関連するインポートを禁止するか("all")、親モジュール内またはそれ以降に拡張するインポートのみを禁止するか("parents")。
Default value: "parents"
Type: "parents" | "all"
Example usage:
banned-api#
インポートまたはアクセスできない特定のモジュールまたはモジュールメンバー。
この規則は偶発的な使用にフラグを立てることだけを目的としており、evalまたはimportlibによって回避できることに注意してください。
Default value: {}
Type: dict[str, { "msg": str }]
Example usage:
banned-module-level-imports#
モジュールレベルでインポートされない可能性があり、代わりに遅延インポートされる必要がある特定のモジュールのリスト(例:関数定義、if TYPE_CHECKING:ブロック、またはその他のネストされたコンテキスト内)。
Default value: []
Type: list[str]
Example usage:
lint.flake8-type-checking#
exempt-modules#
特定のモジュールをタイプチェックブロックに移動する必要がないようにします。
Default value: ["typing"]
Type: list[str]
Example usage:
quote-annotations#
タイプ注釈の周りに引用符を追加するかどうか。追加すると、対応するインポートがタイプチェックブロックに移動されます。
例えば、以下の例では、型アノテーションでのみ使用されているにもかかわらず、Python はSequenceが実行時に使用可能であることを要求しています。:
言い換えると、from collections.abc import Sequenceを上記のif TYPE_CHECKING:ブロックに移動すると、実行時にその型が使用できなくなるため、実行時エラーが発生します。
デフォルトでは、Ruff はそのようなランタイムセマンティクスを尊重し、そのようなランタイムエラーを防ぐためにインポートの移動を回避します。
quote-annotationsをtrueに設定すると、Ruff は注釈の周りに引用符を追加するように指示され(例えば"Sequence[int]")、次のように Ruff がインポートをif TYPE_CHECKING:ブロックに移動できるようになります。:
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from collections.abc import Sequence
def func(value: "Sequence[int]") -> None:
...
この設定は、from_ _future __import annotationsが存在する場合には効果がないことに注意してください。__future__アノテーションは常に引用されたアノテーションと区別して扱われます。
Default value: false
Type: bool
Example usage:
runtime-evaluated-base-classes#
列挙されたクラスのいずれかを基本クラスとしてリストするクラスは、型チェックブロックに移動する必要がないように免除します。
一般的な例としては、Pydantic のpydantic.BaseModelや SQLAlchemy のSQLAlchemy.orm.DeclarativeBaseなどがありますが、これらの基本クラスを継承するユーザー定義のクラスもサポートできます。たとえば、プロジェクト全体で使用される共通のDeclarativeBaseサブクラス(base.pyのclass Base(DeclarativeBase) ...など)を定義している場合は、このリスト(runtime-evaluated-base-classes=["base.Base"])に追加して、モデルが型チェックブロックに移動されないようにすることができます。
Default value: []
Type: list[str]
Example usage:
runtime-evaluated-decorators#
列挙されたデコレータのいずれかで修飾されたクラスと関数を、型チェックブロックに移動しないように免除します。
一般的な例としては、Pydantic の@pydantic.validate_callデコレータ(関数用)や attrs の@attrs.defineデコレータ(クラス用)などがあります。
Default value: []
Type: list[str]
Example usage:
strict#
同じモジュールに対して有効なランタイムインポートが存在する場合でも、TC001、TC002、およびTC003ルールを適用します。
flake8-type-checking のstrictオプションを参照してください。
Default value: false
Type: bool
Example usage:
lint.flake8-unused-arguments#
ignore-variadic-names#
*argsや**kwargsのような使用されていない可変引数を許可するかどうか。
Default value: false
Type: bool
Example usage:
lint.isort#
case-sensitive#
大文字と小文字の区別を考慮してインポートをソートします。
Default value: false
Type: bool
Example usage:
classes#
大文字小文字の区別に関係なく、常にorder-by-typeのクラスとして認識されるトークンのオーバーライドリスト。
Default value: []
Type: list[str]
Example usage:
combine-as-imports#
同じ行でインポートとして結合します。isort のcombine-as-importsオプションを参照してください。
Default value: false
Type: bool
Example usage:
constants#
大文字小文字の区別に関係なく、常に CONSTANTfororder-by-typeとして認識されるトークンのオーバーライドリスト。
Default value: []
Type: list[str]
Example usage:
default-section#
指定されたsection-orderに適合しないインポートのデフォルトセクションを定義します。
Default value: third-party
Type: str
Example usage:
detect-same-package#
同じパッケージ内からのインポートを自動的にファーストパーティとしてマークするかどうか。
たとえば、detect-same-package = trueの場合、fooパッケージ内のファイルを分析すると、fooパッケージ内からのインポートはすべてファーストパーティと見なされます。
srcがすべてのファーストパーティソースを検出するように設定されている場合、このヒューリスティックは不要なことがよくあります。ただし、srcが設定されていない場合、このヒューリスティックは、within(acrossではなく_)ファーストパーティパッケージからのファーストパーティインポートを検出するのに役立ちます。
Default value: true
Type: bool
Example usage:
extra-standard-library#
Ruff が事前に知っているモジュールに加えて、標準ライブラリを考慮すべきモジュールのリスト。
glob パターンをサポートします。glob 構文の詳細については、globset documentationを参照してください。
Default value: []
Type: list[str]
Example usage:
force-single-line#
読み込みからのすべてのデータを、それぞれの行に表示します。
Default value: false
Type: bool
Example usage:
force-sort-within-sections#
(import sysのような)単純なスタイルのインポートを、(from itertools import groupbyのような)from スタイルのインポートの前にソートしないでください。
Default value: false
Type: bool
Example usage:
force-to-top#
特定のインポートを該当するセクションの先頭に強制的に配置します。
Default value: []
Type: list[str]
Example usage:
force-wrap-aliases#
複数のメンバーと少なくとも 1 つの別名を持つimport fromステートメント(たとえば、import A as B)を、すべての行に正確に 1 つのメンバーが含まれるようにラップするように強制します。たとえば、このフォーマットは 1 行に凝縮されるのではなく、保持されます::
この設定は、combine-as-imports=trueと組み合わせた場合にのみ有効であることに注意してください。combine-as-importsが有効になっていない場合、エイリアスされたすべてのimport fromに独自の行が与えられます。この場合、ラップは必要ありません。
フォーマッタを使用する場合は、force-wrap-aliasesを有効にするときにformat.skip-magic-trailing-commaがfalse(デフォルト)に設定されていることを確認してください。これにより、すべてのメンバーが 1 行に収まる場合にフォーマッタがメンバーを折りたたまないようにします。
Default value: false
Type: bool
Example usage:
forced-separate#
指定された順序で、インポートの補助ブロックに分割するモジュールのリスト。
Default value: []
Type: list[str]
Example usage:
from-first#
ソート時にimport fromインポートを「straight」インポートの前に配置するかどうか。
For example, by default, imports will be sorted such that straight imports appearbefore import from imports, as in:
たとえば、デフォルトでは、インポートは次のようにimport fromインポートの前に表示されるようにソートされます。:
代わりに、from-first = trueを設定すると、次のように、import fromインポートがストレートインポートの前に表示されるようにソートされます。:
Default value: false
Type: bool
Example usage:
known-first-party#
ローカルファイルシステムのイントロスペクションによって識別できるかどうかに関係なく、ファーストパーティと見なすモジュールのリスト。
glob パターンをサポートします。glob 構文の詳細については、globset documentationを参照してください。
Default value: []
Type: list[str]
Example usage:
known-local-folder#
ローカルフォルダと見なすモジュールのリスト。
通常、これは相対インポート(from . import module)のために予約されています。
glob パターンをサポートします。glob 構文の詳細については、globset documentationを参照してください。
Default value: []
Type: list[str]
Example usage:
known-third-party#
ローカルファイルシステムのイントロスペクションによって識別できるかどうかに関係なく、サードパーティと見なすモジュールのリスト。
glob パターンをサポートします。glob 構文の詳細については、globset documentationを参照してください。
Default value: []
Type: list[str]
Example usage:
length-sort#
文字列の長さでインポートをソートし、短いインポートが長いインポートの前に表示されるようにします。たとえば、デフォルトでは、インポートは次のようにアルファベット順にソートされます:
length-sort = trueを設定すると、次のように、短いインポートが長いインポートの前に表示されるようにソートされます。:
Default value: false
Type: bool
Example usage:
length-sort-straight#
文字列の長さで直接インポートをソートします。length-sortに似ていますが、直接インポートにのみ適用され、fromインポートには影響しません。
Default value: false
Type: bool
Example usage:
lines-after-imports#
インポート後に配置する空白行の数。
自動判別には-1を使用してください。
Ruff は、型付けスタイルの推奨事項(source)に従って、型付けスタブファイル(拡張子.pyiのファイル)のインポート後に最大 1 行の空白行を使用します。
フォーマッタを使用する場合、値-1、1、2のみが互換性があります。これは、インポート後に少なくとも 1 行、多くても 2 行の空行が強制されるためです。
Default value: -1
Type: int
Example usage:
lines-between-types#
"direct"とimport fromimports の間に置く行数。
フォーマッタを使用する場合、空行0と1のみが互換性があります。これは、ネストされたブロックにインポートした後、最大 1 つの値が保持されるためです。
Default value: 0
Type: int
Example usage:
no-lines-before#
前のセクションから空行で区切られるべきではないセクションのリスト。
Default value: []
Type: list["future" | "standard-library" | "third-party" | "first-party" | "local-folder" | str]
Example usage:
no-sections#
すべてのインポートを同じセクションバケットに配置します。
たとえば、標準ライブラリとサードパーティのインポートを分離するのではなく、次のようにします。:
no-sections = trueを設定すると、代わりにすべての読み込みが 1 つのセクションにグループ化されます。:
Default value: false
Type: bool
Example usage:
order-by-type#
アルファベット順に加えて、大文字と小文字を区別して、インポートをタイプ別に順序付けします。
Default value: true
Type: bool
Example usage:
relative-imports-order#
"より近い"インポート(より少ない.文字、最もローカル)を"より遠い"インポート(より多い.文字、最もローカル)の前に配置するか、またはその逆に配置するか。
デフォルト("furthest-to-closest")は、isort のreverse-relativeデフォルト(reverse-relative=false)と同じです。これを"closest-to-furthest"に設定することは、isort のreverse-relative = trueと同じです。
Default value: furthest-to-closest
Type: "furthest-to-closest" | "closest-to-furthest"
Example usage:
required-imports#
指定したインポート行をすべてのファイルに追加します。
Default value: []
Type: list[str]
Example usage:
section-order#
セクションを出力する順序を上書きします。カスタム・セクションの移動に使用できます。
Default value: ["future", "standard-library", "third-party", "first-party", "local-folder"]
Type: list["future" | "standard-library" | "third-party" | "first-party" | "local-folder" | str]
Example usage:
sections#
セクション名からモジュールへのマッピングのリスト。
デフォルトでは、インポートはタイプ(future, third-partyなど)に従って分類されます。この設定により、モジュールをカスタム・セクションにグループ化して、組込みセクションを拡張または上書きできます。
たとえば、すべてのテストユーティリティをグループ化するには、testingセクションを作成します。:
リスト内の値は、glob パターンとして扱われます。たとえば、LangChain エコシステム(LangChain-core、LangChain-openaiなど)内のすべてのパッケージを一致させるには、次のようにします。:
カスタムセクションは通常、section-orderリストに挿入して、次のようにスタンドアロングループとして意図した順序で表示されるようにする必要があります。:
section-order = [
"future",
"standard-library",
"third-party",
"first-party",
"local-folder",
"testing"
]
カスタムセクションがsection-orderから省略された場合、そのセクションのインポートはdefault-section(デフォルトではthird-party)に割り当てられます。
Default value: {}
Type: dict[str, list[str]]
Example usage:
single-line-exclusions#
単一行ルールから除外する 1 つ以上のモジュール。
Default value: []
Type: list[str]
Example usage:
split-on-trailing-comma#
複数行のインポートで最後のメンバーの後にカンマを置くと、インポートが 1 行に折りたたまれることはありません。
isort のsplit-on-trailing-commaオプションを参照してください。
フォーマッタを使用する場合、split-on-trailing-commaを有効にするときに、format.skip-magic-trailing-commaがfalse(デフォルト)に設定されていることを確認してください。これにより、フォーマッタが末尾のカンマを削除しないようにします。
Default value: true
Type: bool
Example usage:
variables#
大文字小文字の区別に関係なく、常に varfororder-by-typeとして認識されるトークンのオーバーライドリスト。
Default value: []
Type: list[str]
Example usage:
lint.mccabe#
max-complexity#
C901エラーを引き起こす前に許容される McCabe の最大複雑度。
Default value: 10
Type: int
Example usage:
lint.pep8-naming#
classmethod-decorators#
メソッドに適用されたときに、そのメソッドが(組み込みの@classmethodに加えて)クラスメソッドとして扱われるべきであることを示すデコレータのリスト。
例えば、Ruff は、このリスト内のデコレータによって修飾されたメソッドが最初の引数としてcls引数を取ることを期待します。
完全修飾された名前のリスト(例えばvalidatorではなくpydantic.validator)を受け取るか、デコレータ自体がドット付きの名前で構成されている場合には最後のセグメントと照合されるプレーンな名前を受け取ることを期待します。
Default value: []
Type: list[str]
Example usage:
[tool.ruff.lint.pep8-naming]
classmethod-decorators = [
# Allow Pydantic's `@validator` decorator to trigger class method treatment.
"pydantic.validator",
# Allow SQLAlchemy's dynamic decorators, like `@field.expression`, to trigger class method treatment.
"declared_attr",
"expression",
"comparator",
]
extend-ignore-names#
ignore-namesに含まれるものに加えて、pep8-naming違反を考慮するときに無視する追加の名前(またはパターン)。
glob パターンをサポートします。たとえば、test_で始まる名前や_testで終わる名前をすべて無視するには、ignore-names=["test_*","*_test"]を使用します。
glob 構文の詳細については、globset documentationを参照してください。
Default value: []
Type: list[str]
Example usage:
ignore-names#
pep8-naming違反を考慮するときに無視する名前(またはパターン)のリスト。
glob パターンをサポートします。たとえば、test_で始まる名前や_testで終わる名前をすべて無視するには、ignore-names = ["test_*", "*_test"]を使用します。
glob 構文の詳細については、globset documentationを参照してください。
Default value: ["setUp", "tearDown", "setUpClass", "tearDownClass", "setUpModule", "tearDownModule", "asyncSetUp", "asyncTearDown", "setUpTestData", "failureException", "longMessage", "maxDiff"]
Type: list[str]
Example usage:
staticmethod-decorators#
メソッドに適用されたときに、そのメソッドが(組み込みの@staticmethodに加えて)静的メソッドとして扱われるべきであることを示すデコレータのリスト。
例えば Ruff は、このリストのデコレータによって修飾されたメソッドには、selfやcls引数がないことを期待します。
完全修飾された名前のリスト(例えば、teardownではなくbelay.Device.teardown)を受け取るか、デコレータ自体がドット付きの名前で構成されている場合には、最後のセグメントと照合されるプレーンな名前を受け取ることを期待します。
Default value: []
Type: list[str]
Example usage:
lint.pycodestyle#
ignore-overlong-task-comments#
task-tags(デフォルトでは:["TODO","FIXME","XXX"])で始まるコメントに対して行長違反(E501)を発生させるかどうか。
Default value: false
Type: bool
Example usage:
max-doc-length#
スタンドアロンコメントを含む、doc-line-too-longドキュメント(W505)内の違反に許可される最大行長。デフォルトでは、これはnullに設定されており、違反のレポートは無効になります。
長さは、アジア系文字または絵文字を含む行を除き、1 行あたりの文字数によって決まります。
これらの行では、各文字のunicode widthが加算されて長さが決定されます。
詳細については、doc-line-too-longルールを参照してください。
Default value: null
Type: int
Example usage:
max-line-length#
line-too-long違反に対して許可される最大行長。デフォルトでは、これはline-lengthオプションの値に設定されます。
このオプションは、pycodestyle.line-lengthをline-lengthより大きい値に設定することで、フォーマッタが自動的に分割できない非常に長い行を検出したい場合に使用します。
# The formatter wraps lines at a length of 88.
line-length = 88
[pycodestyle]
# E501 reports lines that exceed the length of 100.
max-line-length = 100
長さは、東アジアの文字または絵文字を含む行を除き、1 行あたりの文字数によって決まります。
これらの行では、各文字のunicode widthが加算されて長さが決定されます。
詳細については、line-too-longルールを参照してください。
Default value: null
Type: int
Example usage:
lint.pydocstyle#
convention#
docstring セクションを分析するときに、Google スタイル、NumPy スタイルの規則、またはPEP 257のデフォルトを使用するかどうか。
規則を有効にすると、指定した規則に含まれていないすべての規則が無効になります。そのため、意図されたワークフローでは、規則を有効にしてから、その上にある追加の規則を選択的に有効または無効にします。
たとえば、Google スタイルの規則を使用しながら、すべての関数パラメータのドキュメントを必要としないようにするには、次のようにします。:
[tool.ruff.lint]
# Enable all `pydocstyle` rules, limiting to those that adhere to the
# Google convention via `convention = "google"`, below.
select = ["D"]
# On top of the Google convention, disable `D417`, which requires
# documentation for every function parameter.
ignore = ["D417"]
[tool.ruff.lint.pydocstyle]
convention = "google"
To enable an additional rule that's excluded from the convention,select the desired rule via its fully qualified rule code (e.g.,D400 instead of D4 or D40):
規則から除外された追加の規則を有効にするには、完全修飾された規則コード(たとえば、D40またはD4ではなくD400)を使用して目的の規則を選択します。:
[tool.ruff.lint]
# Enable D400 on top of the Google convention.
extend-select = ["D400"]
[tool.ruff.lint.pydocstyle]
convention = "google"
Default value: null
Type: "google" | "numpy" | "pep257"
Example usage:
ignore-decorators#
指定された完全修飾子で修飾された関数やメソッドの docstring は無視してください。
Default value: []
Type: list[str]
Example usage:
property-decorators#
デコレータのリストで、メソッドに適用されると、(組み込みの@propertyと標準ライブラリ@functools.cached_propertyに加えて)そのメソッドがプロパティとして扱われることを示します。
例えば、Ruff は、このリストのデコレータによって装飾されたメソッドが、非命令的なサマリ行を使用できることを期待します。
Default value: []
Type: list[str]
Example usage:
lint.pyflakes#
extend-generics#
任意の添字を型注釈として扱う必要があるような、汎用と見なされる追加の関数またはクラス(例えば、django.db.models.ForeignKey["User"]のForeignKey)。
完全修飾名のリスト(例えば、ForeignKeyではなくdjango.db.models.ForeignKey)を受け取ることを期待します。
Default value: []
Type: list[str]
Example usage:
lint.pylint#
allow-dunder-method-names#
Python 標準ライブラリ(PLW3201を参照)のデフォルトセットに加えて、許可するダンダメソッド名。
Default value: []
Type: list[str]
Example usage:
allow-magic-value-types#
「マジック値」として使用される場合に無視される定数型です(PLR2004を参照)。
Default value: ["str", "bytes"]
Type: list["str" | "bytes" | "complex" | "float" | "int"]
Example usage:
max-args#
関数またはメソッドの定義に使用できる引数の最大数(PLR0913を参照)。
Default value: 5
Type: int
Example usage:
max-bool-expr#
1 つのif文内で許可されるブール式の最大数です(PLR0916を参照)。
Default value: 5
Type: int
Example usage:
max-branches#
関数またはメソッド本体に許可される分岐の最大数(PLR0912を参照)。
Default value: 12
Type: int
Example usage:
max-locals#
関数またはメソッド本体に許可されるローカル変数の最大数(PLR0914を参照)。
Default value: 15
Type: int
Example usage:
max-nested-blocks#
関数またはメソッド本体内で許容されるネストされたブロックの最大数(PLR1702を参照)。
Default value: 5
Type: int
Example usage:
max-positional-args#
関数またはメソッドの定義に使用できる位置引数の最大数(PLR0917を参照)。
指定しない場合、デフォルトではmax-argsの値になります。
Default value: 5
Type: int
Example usage:
max-public-methods#
クラスに許可されている public メソッドの最大数(PLR0904を参照)。
Default value: 20
Type: int
Example usage:
max-returns#
関数またはメソッド本体に許可される return 文の最大数(PLR0911を参照)
Default value: 6
Type: int
Example usage:
max-statements#
関数またはメソッド本体に許可されるステートメントの最大数(PLR0915を参照)。
Default value: 50
Type: int
Example usage:
lint.pyupgrade#
keep-runtime-typing#
Whether to avoid PEP 585 (List[int] -> list[int]) and PEP 604(Union[str, int] -> str | int) rewrites even if a file importsfrom __future__ import annotations.
PEP 585(List[int] -> list[int])とPEP 604(Union[str, int] -> str | int)を回避するかどうかは、ファイルがfrom__future__import annotationsをインポートした場合でも書き換えます。
For example, while the following is valid Python 3.8 code due to thepresence of from __future__ import annotations, the use of str | intprior to Python 3.10 will cause Pydantic to raise a TypeError atruntime:
例えば、以下のコードはfrom __future__ import annotationsが存在するため Python 3.8 のコードとしては有効ですが、Python 3.10 より前のバージョンでstr | intを使用すると、Pydantic は実行時にTypeErrorを発生させてしまいます。:
Default value: false
Type: bool
Example usage:
lint.ruff#
parenthesize-tuple-in-subscript#
タプルによってキー付けされたアイテムに、タプルを括弧で囲んでアクセスするかどうかを指定します(RUF031を参照)。
Default value: false
Type: bool
Example usage: