-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
98 lines (87 loc) · 2.34 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
[project]
name = "dotfiles"
version = "1.0.0"
description = "Ansible playbooks for setting up personal machines."
readme = "readme.md"
# Python 3.12.5 has a memory safety issue that can cause
# Black's AST safety checks to fail.
requires-python = ">=3.10,!=3.12.5"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["scripts"]
[dependency-groups]
dev = [
"ansible-lint>=24.12.2 ; sys_platform != 'win32'",
"ansible-core>=2.17.3",
"black>=24.8.0",
"click-help-colors>=0.9.4",
"click>=8.1.7",
"gitpython>=3.1.43",
"graphviz>=0.20.3",
"isort>=5.13.2",
"luadata>=1.0.5",
# required for no-longer-needed roles/terminals
# and causes issues when bootstraping the project,
# since it requires C compiler
#"lupa>=2.2",
"mypy>=1.11.1",
"passlib>=1.7.4",
"psutil>=6.0.0",
# Limit pydriller version since it requires git >= 2.38
# Whereas Ubuntu 22.04 only has 2.34
"pydriller<2.7",
"pylint>=3.2.6",
"requests>=2.32.3",
"ruamel-yaml>=0.18.6",
"semver>=3.0.2",
"types-requests>=2.32.0.20240712",
"types-urllib3>=1.26.25.14",
"yamllint>=1.35.1",
"ruff>=0.7.1",
]
[tool.uv]
# W/A for ansible-lint
# For some reason ansible-lint-specific sys_platform marker is not working
environments = ["sys_platform != 'win32'"]
[tool.ruff]
line-length = 120
[tool.black]
line-length = 120
[tool.isort]
profile = "black"
line_length = 120
skip_gitignore = true
[tool.pylint]
max-line-length = 120
disable = [
"logging-fstring-interpolation",
"logging-not-lazy",
"missing-docstring",
"too-few-public-methods",
"too-many-arguments",
"too-many-locals",
"too-many-branches",
"too-many-instance-attributes",
]
# https://stackoverflow.com/a/78218489/8099151
[tool.pylint.typecheck]
signature-mutators = [
"click.decorators.option",
"click.decorators.argument",
"click.decorators.version_option",
"click.decorators.help_option",
"click.decorators.pass_context",
"click.decorators.confirmation_option",
"scripts.utils.makelike",
]
[tool.mypy]
strict = true
# W/A for errors like this one:
# error: Skipping analyzing "ruamel": module is installed, but missing library stubs or py.typed marker [import-untyped]
# https://github.com/python/mypy/issues/12664
# https://github.com/python/mypy/issues/7276
incremental = false
[tool.pydocstyle]
ignore = ["D100", "D103"]