-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
95 lines (79 loc) · 2.14 KB
/
pyproject.toml
File metadata and controls
95 lines (79 loc) · 2.14 KB
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
[project]
name = "Draken"
description = "Cython/Arrow Interop"
dependencies = []
requires-python = ">=3.11"
readme = "dynamic"
authors = [{name="Justin Joyce", email="justin.joyce@joocer.com"}]
maintainers = [{name="Justin Joyce", email="justin.joyce@joocer.com"}]
version = "0.4.2"
[project.optional-dependencies]
arrow = [
"pyarrow",
]
dev = [
"pyarrow",
"cython",
"opteryx"
]
[tool.black]
line-length = 100
target-version = ['py312']
fast = true
[tool.isort]
profile = "black"
extend_skip_glob = ["tests/**", "*.pyx", "*.pxd", "testdata/**"]
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>=61", "wheel", "cython"]
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']
[tool.ruff.lint]
select = ["SIM", "NPY201"]
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 = ["draken", "draken/**"]
[tool.coverage.report]
show_missing = true # Show missing lines in the report
fail_under = 10 # 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"
]
omit = ['__*__']
[tool.coverage.html]
directory = "coverage_html_report" # Output directory for HTML reports
[tool.coverage.xml]
output = "coverage.xml" # XML output (useful for CI)