-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
94 lines (84 loc) · 1.98 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
[project]
name = "aoc"
version = "0.1.0"
authors = [
{ name = "viv sedov", email = "[email protected]" },
]
dependencies = [
"advent-of-code-data>=2.0.1",
"more-itertools>=10.1.0",
"numpy>=1.26.2",
"z3-solver>=4.12.4",
"lark>=1.1.8",
"networkx>=3.2.1",
"aocd>=0.1",
"icecream>=2.1.3",
"numba>=0.60.0",
"psutil>=6.1.0",
"memory-profiler>=0.61.0",
"line-profiler>=4.2.0",
"bigo>=0.2",
"big-o>=0.11.0",
"rich>=13.9.4",
"pyperf>=2.8.1",
"scalene>=1.5.49",
]
requires-python = ">=3.12"
readme = "README.md"
license = { text = "MIT" }
[project.urls]
homepage = "https://github.com/vsedov/advent-of-code"
[project.entry-points."adventofcode.user"]
src = "src:sovle"
[tool.uv]
dev-dependencies = [
"ruff>=0.6.2",
"mypy>=1.11.2",
"pytest>=8.3.2",
"pytest-cov>=5.0.0",
"types-networkx>=3.2.1.20240813",
"pre-commit>=3.8.0",
]
[tool.coverage.run]
branch = true
parallel = true
omit = []
[tool.coverage.report]
exclude_also = [
'if __name__ == "__main__":',
'if TYPE_CHECKING:',
'raise NotImplementedError',
'@abc\.abstractmethod',
'assert False',
'assert_never\(.*\)',
]
[tool.ruff]
line-length = 120
target-version = "py38" # FIXME: replace w/ project.requires-python - https://docs.astral.sh/ruff/settings/#target-version
output-format = "grouped"
src = [
"src",
# "test",
]
[tool.ruff.lint]
select = [ # https://docs.astral.sh/ruff/rules/ # TODO: enable additional linter rules
# "F", # Pyflakes
"F401", # unused-import
# "E", # pycodestyle errors
"W", # pycodestyle warnings
"I", # isort
"UP", # pyupgrade
# TODO: evaluate flake8 rules
"ERA",
# "PL", # pylint
# "FURB", #refurb
"RUF", # ruff
]
[tool.pytest.ini_options]
[[tool.mypy.overrides]]
# aocd doesn't provide types https://github.com/wimglenn/advent-of-code-data/issues/78
module = ['aocd']
ignore_missing_imports = true
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"