-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathpyproject.toml
More file actions
123 lines (111 loc) · 2.36 KB
/
pyproject.toml
File metadata and controls
123 lines (111 loc) · 2.36 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
[tool.poetry]
name = "binarycookies"
version = "2.3.0"
description = "Python Binary Cookies (de)serializer"
authors = ["Daniel Tom <d.e.tom89@gmail.com>"]
readme = "README.md"
packages = [{include = "binarycookies", from="src"}]
[tool.poetry.dependencies]
python = ">=3.8,<4.0"
typer = ">=0.12.3,<0.21.0"
pydantic = ">=2.0.0,<3.0.0"
[tool.poetry.group.dev.dependencies]
pytest = "^8.2.2"
ruff = ">=0.5.1,<0.8.0"
pytest-cov = "^5.0.0"
[tool.poetry.group.docs.dependencies]
mkdocs = "^1.4.2"
mkdocs-material = "^9.1.4"
mkdocs-gen-files = ">=0.4,<0.6"
mkdocs-literate-nav = "^0.6.0"
mkdocstrings = {extras = ["python"], version = ">=0.20,<0.30"}
mkautodoc = "^0.2.0"
pymdown-extensions = "^10.0.1"
[tool.poetry.scripts]
bcparser = "binarycookies.__main__:main"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.ruff]
# https://beta.ruff.rs/docs/rules/
# https://beta.ruff.rs/docs/settings/
lint.ignore = [
"FBT003",
"ANN101",
"DTZ007",
"TRY003",
"A003", # shadow built-in types
"ANN002", # type annotation for **kwargs
"ANN003", # type annotation for *args
"ANN102", # Missing type annotation for `cls` in classmethod
"D101", # docstring in public classes
"D102", # docstring in public methods
"D103", # docstring in public functions
"DTZ", # timezone information in datetimes
"RUF012", # causes failures in pydantic models
"PLR0911", # for some reason can't ignore this on func definition
"ISC001",
"COM812",
"T201", # WE want to use print in CLI
]
lint.extend-select = [
"I",
"N",
"ASYNC",
"ANN",
"BLE",
"FBT",
"A",
"COM",
"C4",
"DTZ",
"ISC",
"ICN",
"T20",
"D101",
"D102",
"D103",
"D419",
"PT",
"Q",
"RSE",
"RET",
"SLF",
"SLOT",
"SIM",
"TID252",
"ARG",
"ERA001",
"G010",
"PGH005",
"PL",
"TRY",
"FLY",
"NPY",
"AIR",
"PERF101",
"PERF102",
"RUF",
]
line-length = 120
target-version = "py310"
exclude = ["deploy", ".venv"]
[tool.ruff.lint.per-file-ignores]
"tests/*" = [
"ANN001",
"ARG001",
"D101",
"D102",
"D103",
"D419",
"DTZ005",
"DTZ011",
"PLR2004",
"SLF001",
"PLR0913",
"PGH005",
]
[tool.ruff.lint.pylint]
max-args = 7
[tool.ruff.lint.flake8-annotations]
suppress-none-returning = true