-
Notifications
You must be signed in to change notification settings - Fork 13
/
pyproject.toml
105 lines (88 loc) · 2.79 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
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
[project]
name = "cluster_tools"
version = "0.0.0" # filled by dunamai
description = "Utility library for easily distributing code execution on clusters"
authors = [{name= "scalable minds", email="[email protected]"}]
readme = "README.md"
license = {text = "MIT"}
requires-python = ">=3.9"
dependencies = [
"typing-extensions ~=4.12.0",
]
[project.urls]
Repository = "https://github.com/scalableminds/webknossos-libs"
Changelog = "https://github.com/scalableminds/webknossos-libs/blob/master/cluster_tools/Changelog.md"
[project.optional-dependencies]
kubernetes = ["distributed ~=2023.9.1"]
dask = ["kubernetes ~=27.2.0"]
all=["cluster_tools[kubernetes]", "cluster_tools[dask]"]
[tool.uv]
dev-dependencies = [
"icecream ~=2.1.1",
"mypy ~=1.0.0",
"pytest ~=8.3.3",
"ruff ~=0.5.0",
]
[build-system]
requires = ["setuptools>=70.0", "wheel; python_version>='3.12'"]
build-backend = "setuptools.build_meta"
[tool.setuptools.packages.find]
where = ["."]
include = ["cluster_tools*"]
exclude = ["cluster_tools.tests"]
[tool.ruff]
# Exclude a variety of commonly ignored directories.
exclude = [
".direnv",
".eggs",
".git",
".git-rewrite",
".ipynb_checkpoints",
".mypy_cache",
".pyenv",
".pytest_cache",
".ruff_cache",
".venv",
".vscode",
"__pypackages__",
"_build",
"build",
"dist",
"node_modules",
"site-packages",
"venv",
"webknossos/dataset/_utils/vendor"
]
# Same as Black.
line-length = 88
indent-width = 4
# Assume Python 3.9 for automatic linting fixes
target-version = "py39"
[tool.ruff.lint]
# F = Pyflakes https://docs.astral.sh/ruff/rules/#pyflakes-f
# E, W = pycodestyle https://docs.astral.sh/ruff/rules/#pycodestyle-e-w
# I = iSort https://docs.astral.sh/ruff/rules/#isort-i
# A = Flake8 Builtins https://docs.astral.sh/ruff/rules/#flake8-builtins-a
# PERF = Perflint https://docs.astral.sh/ruff/rules/#perflint-perf
# FIX = Flake8 fixme https://docs.astral.sh/ruff/rules/#flake8-fixme-fix
# ARG = Flake8 unused-arguments https://docs.astral.sh/ruff/rules/#flake8-unused-arguments-arg
select = ["F", "E", "W", "I", "A", "PERF", "FIX", "ARG"]
# Allow fix for all enabled rules (when `--fix`) is provided.
fixable = ["ALL"]
# E501 Line too long https://docs.astral.sh/ruff/rules/line-too-long/
# E712 true-false-comparison https://docs.astral.sh/ruff/rules/true-false-comparison/
ignore = ["E501", "E712"]
[tool.ruff.format]
# Like Black, use double quotes for strings.
quote-style = "double"
# Like Black, indent with spaces, rather than tabs.
indent-style = "space"
# Like Black, automatically detect the appropriate line ending.
line-ending = "auto"
[tool.mypy]
disallow_untyped_defs = true
ignore_missing_imports = true
namespace_packages = true
strict_equality = true
show_error_codes = true
no_implicit_optional = true