-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
71 lines (58 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
[tool.poetry]
name = "smartschedule"
version = "0.1.0"
description = "Domain Drivers Smartschedule"
authors = ["Piotr Wysocki <hello@piotrwysocki.com>"]
readme = "README.md"
[tool.poetry.dependencies]
python = "^3.12"
attrs = "^23.2.0"
pendulum = "^3.0.0"
[tool.poetry.group.dev.dependencies]
pytest = "^8.2.0"
ruff = "^0.4.3"
pyright = "^1.1.363"
import-linter = "^2.0"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.ruff]
line-length = 88
[tool.ruff.lint]
select = ["I", "W", "E", "F", "PT"]
[tool.ruff.lint.per-file-ignores]
"tests/*.py" = [
"E501" # Line too long
]
[tool.importlinter]
root_package = "smartschedule"
[tool.pytest.ini_options]
markers = [
"unit: unit tests",
"int: integration tests",
]
[[tool.importlinter.contracts]]
name = "sorter does not import from forbidden modules"
type = "forbidden"
source_modules = ["smartschedule.sorter"]
forbidden_modules = ["smartschedule.planning", "smartschedule.simulation", "smartschedule.optimization"]
[[tool.importlinter.contracts]]
name = "optimization does not import from forbidden modules"
type = "forbidden"
source_modules = ["smartschedule.optimization"]
forbidden_modules = ["smartschedule.sorter", "smartschedule.simulation", "smartschedule.planning"]
[[tool.importlinter.contracts]]
name = "simulation does not import from forbidden modules"
type = "forbidden"
source_modules = ["smartschedule.simulation"]
forbidden_modules = ["smartschedule.sorter", "smartschedule.planning"]
[[tool.importlinter.contracts]]
name = "shared does not import from forbidden modules"
type = "forbidden"
source_modules = ["smartschedule.shared"]
forbidden_modules = ["smartschedule.sorter", "smartschedule.planning", "smartschedule.simulation", "smartschedule.optimization"]
[[tool.importlinter.contracts]]
name = "planning does not import from forbidden modules"
type = "forbidden"
source_modules = ["smartschedule.planning"]
forbidden_modules = ["smartschedule.simulation", "smartschedule.optimization"]