[project]
name = "ComfyUI"
version = "0.24.0"
readme = "README.md"
license = { file = "LICENSE" }
requires-python = ">=3.10"

[project.urls]
homepage = "https://www.comfy.org/"
repository = "https://github.com/comfyanonymous/ComfyUI"
documentation = "https://docs.comfy.org/"

[tool.ruff]
lint.select = [
  "N805", # invalid-first-argument-name-for-method
  "S307", # suspicious-eval-usage
  "S102", # exec
  "E",
  "T",    # print-usage
  "W",
  # The "F" series in Ruff stands for "Pyflakes" rules, which catch various Python syntax errors and undefined names.
  # See all rules here: https://docs.astral.sh/ruff/rules/#pyflakes-f
  "F",
]

lint.ignore = ["E501", "E722", "E731", "E712", "E402", "E741"]

exclude = ["*.ipynb", "**/generated/*.pyi"]

[tool.pylint]
master.py-version = "3.10"
master.extension-pkg-allow-list = [
  "pydantic",
]
reports.output-format = "colorized"
similarities.ignore-imports = "yes"
messages_control.disable = [
  "missing-module-docstring",
  "missing-class-docstring",
  "missing-function-docstring",
  "line-too-long",
  "too-few-public-methods",
  "too-many-public-methods",
  "too-many-instance-attributes",
  "too-many-positional-arguments",
  "broad-exception-raised",
  "too-many-lines",
  "invalid-name",
  "unused-argument",
  "broad-exception-caught",
  "consider-using-with",
  "fixme",
  "too-many-statements",
  "too-many-branches",
  "too-many-locals",
  "too-many-arguments",
  "too-many-return-statements",
  "too-many-nested-blocks",
  "duplicate-code",
  "abstract-method",
  "superfluous-parens",
  "arguments-differ",
  "redefined-builtin",
  "unnecessary-lambda",
  "dangerous-default-value",
  "invalid-overridden-method",
  # next warnings should be fixed in future
  "bad-classmethod-argument",  # Class method should have 'cls' as first argument
  "wrong-import-order",  # Standard imports should be placed before third party imports
  "ungrouped-imports",
  "unnecessary-pass",
  "unnecessary-lambda-assignment",
  "no-else-return",
  "unused-variable",
]
