blob: 8662723d700afcdfc4ece6b2d84b4adfea3e0fa9 [file] [log] [blame]
Gilles Boccon-Gibod6ac91f72022-05-16 19:42:31 -07001[build-system]
2requires = ["setuptools>=52", "wheel", "setuptools_scm>=6.2"]
3build-backend = "setuptools.build_meta"
4
5[tool.setuptools_scm]
Alan Rosenthal55e2f232022-12-09 12:23:45 -05006write_to = "bumble/_version.py"
Gilles Boccon-Gibodc2959da2022-12-10 09:29:51 -08007
8[tool.pytest.ini_options]
9pythonpath = "."
10testpaths = [
11 "tests"
12]
13
14[tool.pylint.master]
15init-hook = 'import sys; sys.path.append(".")'
Gilles Boccon-Gibod5f86cdd2023-01-18 23:27:06 +000016ignore-paths = [
17 '.*_pb2(_grpc)?.py'
18]
Gilles Boccon-Gibodc2959da2022-12-10 09:29:51 -080019
20[tool.pylint.messages_control]
21max-line-length = "88"
22
23disable = [
24 "broad-except",
25 "fixme",
26 "logging-fstring-interpolation",
27 "logging-not-lazy",
28 "no-member", # Temporary until pylint works better with class/method decorators
29 "no-value-for-parameter", # Temporary until pylint works better with class/method decorators
30 "missing-class-docstring",
31 "missing-function-docstring",
32 "missing-module-docstring",
33 "too-few-public-methods",
34 "too-many-arguments",
35 "too-many-branches",
36 "too-many-instance-attributes",
37 "too-many-lines",
38 "too-many-locals",
39 "too-many-public-methods",
40 "too-many-statements",
41]
42
uaelafcce0d2023-05-10 08:20:24 +000043[tool.pylint.main]
44ignore="pandora" # FIXME: pylint does not support stubs yet:
45
Gilles Boccon-Gibodc2959da2022-12-10 09:29:51 -080046[tool.pylint.typecheck]
47signature-mutators="AsyncRunner.run_in_task"
48
49[tool.black]
50skip-string-normalization = true
Gilles Boccon-Gibod5f86cdd2023-01-18 23:27:06 +000051extend-exclude = '''
52(
53 .*_pb2(_grpc)?.py # exclude autogenerated Protocol Buffer files anywhere in the project
54)
55'''
56
57[tool.mypy]
58exclude = ['bumble/transport/grpc_protobuf']
Gilles Boccon-Gibod99758e42023-01-20 00:20:50 -080059
60[[tool.mypy.overrides]]
Gilles Boccon-Gibod5f86cdd2023-01-18 23:27:06 +000061module = "bumble.transport.grpc_protobuf.*"
Gilles Boccon-Gibod99758e42023-01-20 00:20:50 -080062ignore_errors = true
63
64[[tool.mypy.overrides]]
65module = "aioconsole.*"
66ignore_missing_imports = true
67
68[[tool.mypy.overrides]]
Gilles Boccon-Gibodb7ef09d2023-02-04 09:26:31 -080069module = "construct.*"
70ignore_missing_imports = true
71
72[[tool.mypy.overrides]]
Gilles Boccon-Gibod99758e42023-01-20 00:20:50 -080073module = "grpc.*"
74ignore_missing_imports = true
75
76[[tool.mypy.overrides]]
77module = "serial_asyncio.*"
78ignore_missing_imports = true
79
80[[tool.mypy.overrides]]
81module = "usb.*"
82ignore_missing_imports = true
83
84[[tool.mypy.overrides]]
85module = "usb1.*"
86ignore_missing_imports = true
87