-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathpyproject.toml
76 lines (62 loc) · 1.82 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
[tool.black]
line-length = 100
target-version = ['py310']
fast = true
[tool.isort]
profile = "black"
extend_skip_glob = ["tests/**", "*.pyx", "*.pxd", "testdata/**", "**/operators/__init__.py"]
skip_gitignore = true
line_length = 100
multi_line_output = 9
force_single_line = true
float_to_top = true
ensure_newline_before_comments = true
[tool.pylint.messages_control]
disable = "C0103,C0415"
[tool.mypy]
exclude = ["bench", "#"]
[tool.bandit]
exclude_dirs = ["**/test_*.py",]
skips = ["B101", "B105", "B324", "B608"]
# B101 - Use of ASSERT
# B105 - Hardcoded passwords
# B324 - Use of weak crypto
# B608 - Hardcoded SQL
[build-system]
requires = ["setuptools>=42", "wheel", "Cython", "numpy"]
build-backend = "setuptools.build_meta"
[tool.ruff]
line-length = 100
indent-width = 4
target-version = 'py310'
[tool.ruff.format]
docstring-code-format = true
docstring-code-line-length = 100
[tool.cython-lint]
max-line-length = 120
ignore = ['E265', 'E501']
exclude = '**/containers.pxd'
[tool.ruff.lint]
select = ["SIM"]
ignore = []
[tool.ruff.lint.per-file-ignores]
"**/optimizer/**" = ["SIM102"]
"opteryx/managers/expression/ops.py" = ["SIM118"]
"**/third_party/**" = ["SIM115", "SIM110", "SIM109", "SIM108", "SIM105", "SIM103", "SIM102"]
[tool.coverage.run]
branch = true
source = ["opteryx", "opteryx/**"]
omit = ["**/third_party/**"]
[tool.coverage.report]
show_missing = true # Show missing lines in the report
fail_under = 80 # Fail if coverage is below 90%
skip_covered = true # Hide files that are fully covered
exclude_lines = [
"if __name__ == .__main__.:", # Ignore standard script entry point
"pragma: no cover", # Ignore manually marked lines
"except"
]
[tool.coverage.html]
directory = "coverage_html_report" # Output directory for HTML reports
[tool.coverage.xml]
output = "coverage.xml" # XML output (useful for CI)