mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 21:14:14 +08:00
Enables [TC007] https://docs.astral.sh/ruff/rules/unquoted-type-alias/#unquoted-type-alias-tc007 this finds type aliases that should be quoted if they have to interact with IF TYPE_CHECKING blocks: https://docs.astral.sh/ruff/rules/unquoted-type-alias/#unquoted-type-alias-tc007 Disabled it when we updated RUFF, but really should only have disabled TC006 as that is the one that is going to cause some changes codebase wide. Pull Request resolved: https://github.com/pytorch/pytorch/pull/153394 Approved by: https://github.com/albanD
275 lines
6.4 KiB
TOML
275 lines
6.4 KiB
TOML
[project]
|
|
name = "torch"
|
|
requires-python = ">=3.9"
|
|
license = {text = "BSD-3-Clause"}
|
|
dynamic = [
|
|
"authors",
|
|
"classifiers",
|
|
"entry-points",
|
|
"dependencies",
|
|
"description",
|
|
"keywords",
|
|
"optional-dependencies",
|
|
"readme",
|
|
"scripts",
|
|
"version",
|
|
]
|
|
|
|
[project.urls]
|
|
Homepage = "https://pytorch.org/"
|
|
Documentation = "https://pytorch.org/docs/"
|
|
Source = "https://github.com/pytorch/pytorch"
|
|
Forum = "https://discuss.pytorch.org/"
|
|
|
|
|
|
[build-system]
|
|
requires = [
|
|
# After 75.8.2 dropped dep disttools API. Please fix
|
|
# API temporarily restored and shim used. Please fix
|
|
# Setuptools will drop support for setup.py past 80
|
|
# min version for recursive glob package data support
|
|
"setuptools>=62.3.0,<80.0",
|
|
"wheel",
|
|
"astunparse",
|
|
"numpy",
|
|
"ninja",
|
|
"pyyaml",
|
|
"cmake",
|
|
"typing-extensions>=4.10.0",
|
|
"requests",
|
|
]
|
|
# Use legacy backend to import local packages in setup.py
|
|
build-backend = "setuptools.build_meta:__legacy__"
|
|
|
|
|
|
[tool.black]
|
|
line-length = 88
|
|
|
|
[tool.isort]
|
|
src_paths = ["caffe2", "torch", "torchgen", "functorch", "test"]
|
|
extra_standard_library = ["typing_extensions"]
|
|
skip_gitignore = true
|
|
skip_glob = ["third_party/*"]
|
|
atomic = true
|
|
profile = "black"
|
|
indent = 4
|
|
line_length = 88
|
|
lines_after_imports = 2
|
|
multi_line_output = 3
|
|
include_trailing_comma = true
|
|
combine_as_imports = true
|
|
|
|
|
|
[tool.usort.known]
|
|
first_party = ["caffe2", "torch", "torchgen", "functorch", "test"]
|
|
standard_library = ["typing_extensions"]
|
|
|
|
|
|
[tool.ruff]
|
|
line-length = 88
|
|
src = ["caffe2", "torch", "torchgen", "functorch", "test"]
|
|
|
|
[tool.ruff.format]
|
|
docstring-code-format = true
|
|
quote-style = "double"
|
|
|
|
[tool.ruff.lint]
|
|
# NOTE: Synchoronize the ignores with .flake8
|
|
external = [
|
|
"B001",
|
|
"B902",
|
|
"B950",
|
|
"E121",
|
|
"E122",
|
|
"E128",
|
|
"E131",
|
|
"E704",
|
|
"E723",
|
|
"F723",
|
|
"F812",
|
|
"P201",
|
|
"P204",
|
|
"T484",
|
|
"TOR901",
|
|
]
|
|
ignore = [
|
|
# these ignores are from flake8-bugbear; please fix!
|
|
"B007", "B008", "B017",
|
|
"B018", # Useless expression
|
|
"B023",
|
|
"B028", # No explicit `stacklevel` keyword argument found
|
|
"E402",
|
|
"C408", # C408 ignored because we like the dict keyword argument syntax
|
|
"E501", # E501 is not flexible enough, we're using B950 instead
|
|
"E721",
|
|
"E741",
|
|
"EXE001",
|
|
"F405",
|
|
# these ignores are from flake8-logging-format; please fix!
|
|
"G101",
|
|
# these ignores are from ruff NPY; please fix!
|
|
"NPY002",
|
|
# these ignores are from ruff PERF; please fix!
|
|
"PERF203",
|
|
"PERF401",
|
|
# these ignores are from PYI; please fix!
|
|
"PYI024",
|
|
"PYI036",
|
|
"PYI041",
|
|
"PYI056",
|
|
"SIM102", "SIM103", "SIM112", # flake8-simplify code styles
|
|
"SIM105", # these ignores are from flake8-simplify. please fix or ignore with commented reason
|
|
"SIM108", # SIM108 ignored because we prefer if-else-block instead of ternary expression
|
|
"SIM110",
|
|
"SIM114", # Combine `if` branches using logical `or` operator
|
|
"SIM115",
|
|
"SIM116", # Disable Use a dictionary instead of consecutive `if` statements
|
|
"SIM117",
|
|
"SIM118",
|
|
"UP007", # keep-runtime-typing
|
|
"TC006",
|
|
]
|
|
select = [
|
|
"B",
|
|
"B904", # Re-raised error without specifying the cause via the from keyword
|
|
"C4",
|
|
"G",
|
|
"E",
|
|
"EXE",
|
|
"F",
|
|
"SIM1",
|
|
"SIM911",
|
|
"W",
|
|
# Not included in flake8
|
|
"FURB",
|
|
"LOG",
|
|
"NPY",
|
|
"PERF",
|
|
"PGH004",
|
|
"PIE790",
|
|
"PIE794",
|
|
"PIE800",
|
|
"PIE804",
|
|
"PIE807",
|
|
"PIE810",
|
|
"PLC0131", # type bivariance
|
|
"PLC0132", # type param mismatch
|
|
"PLC0205", # string as __slots__
|
|
"PLC3002", # unnecessary-direct-lambda-call
|
|
"PLE",
|
|
"PLR0133", # constant comparison
|
|
"PLR0206", # property with params
|
|
"PLR1722", # use sys exit
|
|
"PLR1736", # unnecessary list index
|
|
"PLW0129", # assert on string literal
|
|
"PLW0131", # named expr without context
|
|
"PLW0133", # useless exception statement
|
|
"PLW0245", # super without brackets
|
|
"PLW0406", # import self
|
|
"PLW0711", # binary op exception
|
|
"PLW1501", # bad open mode
|
|
"PLW1509", # preexec_fn not safe with threads
|
|
"PLW2101", # useless lock statement
|
|
"PLW3301", # nested min max
|
|
"PT006", # TODO: enable more PT rules
|
|
"PT022",
|
|
"PT023",
|
|
"PT024",
|
|
"PT025",
|
|
"PT026",
|
|
"PYI",
|
|
"Q003", # avoidable escaped quote
|
|
"Q004", # unnecessary escaped quote
|
|
"RSE",
|
|
"RUF008", # mutable dataclass default
|
|
"RUF013", # ban implicit optional
|
|
"RUF015", # access first ele in constant time
|
|
"RUF016", # type error non-integer index
|
|
"RUF017",
|
|
"RUF018", # no assignment in assert
|
|
"RUF019", # unnecessary-key-check
|
|
"RUF024", # from keys mutable
|
|
"RUF026", # default factory kwarg
|
|
"RUF030", # No print statement in assert
|
|
"S324", # for hashlib FIPS compliance
|
|
"SLOT",
|
|
"TC",
|
|
"TRY002", # ban vanilla raise (todo fix NOQAs)
|
|
"TRY203",
|
|
"TRY401", # verbose-log-message
|
|
"UP",
|
|
]
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
"__init__.py" = [
|
|
"F401",
|
|
]
|
|
"functorch/notebooks/**" = [
|
|
"F401",
|
|
]
|
|
"test/export/**" = [
|
|
"PGH004"
|
|
]
|
|
"test/typing/**" = [
|
|
"PGH004"
|
|
]
|
|
"test/typing/reveal/**" = [
|
|
"F821",
|
|
]
|
|
"test/torch_np/numpy_tests/**" = [
|
|
"F821",
|
|
"NPY201",
|
|
]
|
|
"test/dynamo/test_bytecode_utils.py" = [
|
|
"F821",
|
|
]
|
|
"test/dynamo/test_debug_utils.py" = [
|
|
"UP037",
|
|
]
|
|
"test/dynamo/test_misc.py" = [
|
|
"PGH004",
|
|
]
|
|
"test/jit/**" = [
|
|
"PLR0133", # tests require this for JIT
|
|
"PYI",
|
|
"RUF015",
|
|
"UP", # We don't want to modify the jit test as they test specify syntax
|
|
]
|
|
"test/test_jit.py" = [
|
|
"PLR0133", # tests require this for JIT
|
|
"PYI",
|
|
"RUF015",
|
|
"UP", # We don't want to modify the jit test as they test specify syntax
|
|
]
|
|
"test/inductor/s429861_repro.py" = [
|
|
"PGH004",
|
|
]
|
|
"test/inductor/test_torchinductor.py" = [
|
|
"UP037",
|
|
]
|
|
# autogenerated #TODO figure out why file level noqa is ignored
|
|
"torch/_appdirs.py" = ["PGH004"]
|
|
"torch/jit/_shape_functions.py" = ["PGH004"]
|
|
"torch/_inductor/fx_passes/serialized_patterns/**" = ["F401", "F501"]
|
|
"torch/_inductor/autoheuristic/artifacts/**" = ["F401", "F501"]
|
|
"torch/_inductor/codegen/**" = [
|
|
"PGH004"
|
|
]
|
|
"torchgen/api/types/__init__.py" = [
|
|
"F401",
|
|
"F403",
|
|
]
|
|
"torchgen/executorch/api/types/__init__.py" = [
|
|
"F401",
|
|
"F403",
|
|
]
|
|
"torch/utils/collect_env.py" = [
|
|
"UP", # collect_env.py needs to work with older versions of Python
|
|
]
|
|
"torch/_vendor/**" = [
|
|
"UP", # No need to mess with _vendor
|
|
]
|
|
"tools/linter/**" = [
|
|
"LOG015" # please fix
|
|
]
|