Skip to content

Commit 937d2f2

Browse files
committed
feat: add root level pyproject file
1 parent 1876d86 commit 937d2f2

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed

pyproject.toml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
[project]
2+
name = "security-analysis-tool"
3+
description = "Monitor the Security Health of Databricks Workspaces"
4+
readme = "README.md"
5+
license = {file = "LICENSE"}
6+
requires-python = ">=3.8"
7+
classifiers = [
8+
"Programming Language :: Python :: 3",
9+
"License :: Other/Proprietary License",
10+
"Operating System :: OS Independent",
11+
]
12+
dynamic = ["version"]
13+
14+
[build-system]
15+
requires = ["setuptools>=42", "wheel"]
16+
build-backend = "setuptools.build_meta"
17+
18+
# --- Ruff (linter + formatter) ---
19+
[tool.ruff]
20+
target-version = "py38"
21+
line-length = 120
22+
src = ["src/securityanalysistoolproject", "dabs"]
23+
24+
[tool.ruff.lint]
25+
select = [
26+
"E", # pycodestyle errors
27+
"W", # pycodestyle warnings
28+
"F", # pyflakes
29+
"I", # isort
30+
"B", # flake8-bugbear
31+
"UP", # pyupgrade
32+
]
33+
ignore = [
34+
"E501", # line too long (handled by formatter)
35+
]
36+
37+
[tool.ruff.lint.isort]
38+
known-first-party = ["core", "clientpkgs", "sat"]
39+
40+
[tool.ruff.format]
41+
quote-style = "double"
42+
43+
# --- Pytest ---
44+
[tool.pytest.ini_options]
45+
testpaths = ["src/securityanalysistoolproject/tests"]
46+
pythonpath = ["src/securityanalysistoolproject"]
47+
addopts = "-v --tb=short"
48+
49+
# --- Coverage ---
50+
[tool.coverage.run]
51+
source = ["src/securityanalysistoolproject"]
52+
omit = ["*/tests/*"]
53+
54+
[tool.coverage.report]
55+
show_missing = true
56+
skip_empty = true
57+
58+
# --- Mypy (optional type checking) ---
59+
[tool.mypy]
60+
python_version = "3.8"
61+
warn_return_any = true
62+
warn_unused_configs = true
63+
ignore_missing_imports = true

0 commit comments

Comments
 (0)