2020-09-16 21:13:41 +00:00
|
|
|
[build-system]
|
2022-02-15 05:32:58 +00:00
|
|
|
requires = ["setuptools>=42", "cmake>=3.18", "ninja"]
|
2020-09-16 21:13:41 +00:00
|
|
|
build-backend = "setuptools.build_meta"
|
2021-07-12 18:58:59 +00:00
|
|
|
|
2023-06-21 17:25:10 +00:00
|
|
|
|
2021-07-12 18:58:59 +00:00
|
|
|
[tool.check-manifest]
|
|
|
|
ignore = [
|
|
|
|
"tests/**",
|
|
|
|
"docs/**",
|
|
|
|
"tools/**",
|
|
|
|
"include/**",
|
|
|
|
".*",
|
|
|
|
"pybind11/include/**",
|
|
|
|
"pybind11/share/**",
|
|
|
|
"CMakeLists.txt",
|
|
|
|
"noxfile.py",
|
|
|
|
]
|
|
|
|
|
2023-06-21 17:25:10 +00:00
|
|
|
|
2021-07-12 18:58:59 +00:00
|
|
|
[tool.mypy]
|
2022-02-11 02:28:08 +00:00
|
|
|
files = ["pybind11"]
|
2024-04-02 15:14:08 +00:00
|
|
|
python_version = "3.8"
|
2022-02-11 02:28:08 +00:00
|
|
|
strict = true
|
2022-04-11 20:54:33 +00:00
|
|
|
enable_error_code = ["ignore-without-code", "redundant-expr", "truthy-bool"]
|
|
|
|
warn_unreachable = true
|
2021-07-12 18:58:59 +00:00
|
|
|
|
2022-02-11 02:28:08 +00:00
|
|
|
[[tool.mypy.overrides]]
|
2023-06-21 17:25:10 +00:00
|
|
|
module = ["ghapi.*"]
|
2022-02-11 02:28:08 +00:00
|
|
|
ignore_missing_imports = true
|
2022-02-15 22:48:33 +00:00
|
|
|
|
|
|
|
|
|
|
|
[tool.pylint]
|
2024-06-22 04:55:00 +00:00
|
|
|
master.py-version = "3.7"
|
2022-02-15 22:48:33 +00:00
|
|
|
reports.output-format = "colorized"
|
|
|
|
messages_control.disable = [
|
|
|
|
"design",
|
|
|
|
"fixme",
|
|
|
|
"imports",
|
|
|
|
"line-too-long",
|
|
|
|
"imports",
|
|
|
|
"invalid-name",
|
|
|
|
"protected-access",
|
|
|
|
"missing-module-docstring",
|
2023-02-22 14:18:55 +00:00
|
|
|
"unused-argument", # covered by Ruff ARG
|
|
|
|
]
|
|
|
|
|
|
|
|
[tool.ruff]
|
2023-10-27 05:26:28 +00:00
|
|
|
target-version = "py37"
|
|
|
|
src = ["src"]
|
|
|
|
|
|
|
|
[tool.ruff.lint]
|
|
|
|
extend-select = [
|
2023-06-21 17:25:10 +00:00
|
|
|
"B", # flake8-bugbear
|
2023-02-22 14:18:55 +00:00
|
|
|
"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
|
2022-02-15 22:48:33 +00:00
|
|
|
]
|
2023-02-22 14:18:55 +00:00
|
|
|
ignore = [
|
2023-06-21 17:25:10 +00:00
|
|
|
"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())
|
2023-02-22 14:18:55 +00:00
|
|
|
]
|
|
|
|
unfixable = ["T20"]
|
|
|
|
isort.known-first-party = ["env", "pybind11_cross_module_tests", "pybind11_tests"]
|
2024-06-22 04:55:00 +00:00
|
|
|
isort.required-imports = ["from __future__ import annotations"]
|
|
|
|
|
2023-02-22 14:18:55 +00:00
|
|
|
|
2023-10-27 05:26:28 +00:00
|
|
|
[tool.ruff.lint.per-file-ignores]
|
2023-09-06 13:04:27 +00:00
|
|
|
"tests/**" = ["EM", "N", "E721"]
|
2023-04-28 18:32:32 +00:00
|
|
|
"tests/test_call_policies.py" = ["PLC1901"]
|
2024-05-24 16:26:40 +00:00
|
|
|
|
|
|
|
[tool.repo-review]
|
|
|
|
ignore = ["PP"]
|