-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathpyproject.toml
More file actions
124 lines (105 loc) · 2.57 KB
/
pyproject.toml
File metadata and controls
124 lines (105 loc) · 2.57 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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
[project]
name = "spark8t"
version = "1.3.1"
description = "This project provides some utilities function and CLI commands to run Spark on K8s."
authors = [{ name = "Canonical Processing team" }]
urls = { contact = "https://matrix.to/#/%23charmhub-analytics%3Aubuntu.com" }
license = "Apache-2.0"
readme = "README.md"
[project.scripts]
pyspark = "spark8t.cli.pyspark:main"
service-account-registry = "spark8t.cli.service_account_registry:main"
spark-shell = "spark8t.cli.spark_shell:main"
spark-sql = "spark8t.cli.spark_sql:main"
spark-submit = "spark8t.cli.spark_submit:main"
[tool.poetry]
requires-poetry = ">=2.0.0"
[tool.poetry.requires-plugins]
poetry-plugin-export = ">=1.0"
[tool.poetry.dependencies]
python = ">=3.10,<4.0"
lightkube = ">=0.19.1"
jinja2 = ">=3.1.6"
envyaml = ">=1.10.211231"
typing-extensions = "^4.15.0"
[tool.poetry.group.fmt]
optional = true
[tool.poetry.group.fmt.dependencies]
ruff = "^0.15.5"
[tool.poetry.group.lint]
optional = true
[tool.poetry.group.lint.dependencies]
ruff = "^0.15.5"
codespell = "^2.4.2"
mypy = "^1.19.1"
pytest-mypy = ">=1.0.1"
types-pyyaml = "^6.0.12.20241230"
types-pygments = "^2.19.0.20250107"
types-colorama = "^0.4.15.20240311"
types-pyopenssl = "^24.1.0.20240722"
[tool.poetry.group.unit]
optional = true
[tool.poetry.group.unit.dependencies]
pytest-cov = ">=7.0.0"
pytest = "^9.0.2"
pytest-mock = ">=3.15.1"
pyOpenSSL = ">=25.3.0"
tox = "^4.48.1"
[tool.poetry.group.integration]
optional = true
[tool.poetry.group.integration.dependencies]
pytest-cov = ">=7.0.0"
pytest = "^9.0.2"
tox = "^4.48.1"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.pytest]
minversion = "9.0"
addopts = ["--doctest-modules", "--cov=./spark8t"]
norecursedirs = ["tests/integration/resources"]
[tool.ruff]
extend-exclude = ["__pycache__", "*.egg_info"]
target-version = "py310"
src = ["spark8t", "tests"]
[tool.ruff.lint]
select = ['B', 'C', 'D', 'E', 'F', 'W', 'B9', 'I001']
ignore = ["E501", "D107"]
extend-ignore = [
# Ignored by black
'E203',
'E266',
'E501',
# Ignored to conform to PEP257
'D203',
'D212',
'D213',
'D214',
'D215',
'D404',
'D405',
'D406',
'D407',
'D408',
'D409',
'D410',
'D411',
'D413',
'D415',
'D416',
'D417',
]
per-file-ignores = { "__init__.py" = ["F401"], "tests/*" = ["D"], "tests/test_utils.py" = ["F601"] }
mccabe.max-complexity = 18
[tool.ruff.lint.isort]
known-first-party = ["spark8t", "tests"]
[tool.mypy]
follow_imports = "silent"
[[tool.mypy.overrides]]
module = [
"parameterized",
"envyaml",
"pytest",
"pyspark",
]
ignore_missing_imports = true