88 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			TOML
		
	
	
		
		
			
		
	
	
			88 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			TOML
		
	
	
|  | [build-system] | ||
|  | requires = ["setuptools>=42", "cmake>=3.18", "ninja"] | ||
|  | build-backend = "setuptools.build_meta" | ||
|  | 
 | ||
|  | 
 | ||
|  | [tool.check-manifest] | ||
|  | ignore = [ | ||
|  |     "tests/**", | ||
|  |     "docs/**", | ||
|  |     "tools/**", | ||
|  |     "include/**", | ||
|  |     ".*", | ||
|  |     "pybind11/include/**", | ||
|  |     "pybind11/share/**", | ||
|  |     "CMakeLists.txt", | ||
|  |     "noxfile.py", | ||
|  | ] | ||
|  | 
 | ||
|  | 
 | ||
|  | [tool.mypy] | ||
|  | files = ["pybind11"] | ||
|  | python_version = "3.8" | ||
|  | strict = true | ||
|  | enable_error_code = ["ignore-without-code", "redundant-expr", "truthy-bool"] | ||
|  | warn_unreachable = true | ||
|  | 
 | ||
|  | [[tool.mypy.overrides]] | ||
|  | module = ["ghapi.*"] | ||
|  | ignore_missing_imports = true | ||
|  | 
 | ||
|  | 
 | ||
|  | [tool.pylint] | ||
|  | master.py-version = "3.7" | ||
|  | reports.output-format = "colorized" | ||
|  | messages_control.disable = [ | ||
|  |   "design", | ||
|  |   "fixme", | ||
|  |   "imports", | ||
|  |   "line-too-long", | ||
|  |   "imports", | ||
|  |   "invalid-name", | ||
|  |   "protected-access", | ||
|  |   "missing-module-docstring", | ||
|  |   "unused-argument",  # covered by Ruff ARG | ||
|  | ] | ||
|  | 
 | ||
|  | [tool.ruff] | ||
|  | target-version = "py37" | ||
|  | src = ["src"] | ||
|  | 
 | ||
|  | [tool.ruff.lint] | ||
|  | extend-select = [ | ||
|  |   "B",           # flake8-bugbear | ||
|  |   "I",           # isort | ||
|  |   "N",           # pep8-naming | ||
|  |   "ARG",         # flake8-unused-arguments | ||
|  |   "C4",          # flake8-comprehensions | ||
|  |   "EM",          # flake8-errmsg | ||
|  |   "ICN",         # flake8-import-conventions | ||
|  |   "PGH",         # pygrep-hooks | ||
|  |   "PIE",         # flake8-pie | ||
|  |   "PL",          # pylint | ||
|  |   "PT",          # flake8-pytest-style | ||
|  |   "RET",         # flake8-return | ||
|  |   "RUF100",      # Ruff-specific | ||
|  |   "SIM",         # flake8-simplify | ||
|  |   "UP",          # pyupgrade | ||
|  |   "YTT",         # flake8-2020 | ||
|  | ] | ||
|  | ignore = [ | ||
|  |   "PLR",    # Design related pylint | ||
|  |   "E501",   # Line too long (Black is enough) | ||
|  |   "PT011",  # Too broad with raises in pytest | ||
|  |   "PT004",  # Fixture that doesn't return needs underscore (no, it is fine) | ||
|  |   "SIM118", # iter(x) is not always the same as iter(x.keys()) | ||
|  | ] | ||
|  | unfixable = ["T20"] | ||
|  | isort.known-first-party = ["env", "pybind11_cross_module_tests", "pybind11_tests"] | ||
|  | isort.required-imports = ["from __future__ import annotations"] | ||
|  | 
 | ||
|  | 
 | ||
|  | [tool.ruff.lint.per-file-ignores] | ||
|  | "tests/**" = ["EM", "N", "E721"] | ||
|  | "tests/test_call_policies.py" = ["PLC1901"] | ||
|  | 
 | ||
|  | [tool.repo-review] | ||
|  | ignore = ["PP"] |