-
-
Notifications
You must be signed in to change notification settings - Fork 287
Expand file tree
/
Copy pathpyproject.toml
More file actions
83 lines (70 loc) · 2.95 KB
/
pyproject.toml
File metadata and controls
83 lines (70 loc) · 2.95 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
[tool.ruff.lint]
preview = true
select = ["ARG003", "ARG005", "B00", "E101", "E20", "E225", "E23", "E24", "E3", "E4", "E7", "E9", "F", "FURB142", "FURB145", "FURB148", "PLR0402", "RET506", "RUF029", "RUF100", "TID252", "UP032", "W29", "W391"]
ignore = ["E402", "E711", "E712", "E721", "E722"]
[tool.vulture]
paths = ["source/app", ".vulture.ignore"]
ignore_decorators = ["@*.route", "@app.*", "@*.post", "@*.get", "@*.put", "@*.delete", "@pre_load", "@post_load"]
[tool.importlinter]
root_package = "app"
include_external_packages = true
[[tool.importlinter.contracts]]
name = "Do not import the persistence layer from the API layer"
type = "forbidden"
source_modules = "app.blueprints.rest.v2"
forbidden_modules = "app.datamgmt"
allow_indirect_imports = true
[[tool.importlinter.contracts]]
name = "Do not import sqlalchemy from the API layer"
type = "forbidden"
source_modules = ["app.blueprints.rest.search_routes", "app.blueprints.rest.dim_tasks_routes", "app.blueprints.rest.case.case_notes_routes", "app.blueprints.rest.case.case_routes"]
forbidden_modules = "sqlalchemy"
allow_indirect_imports = true
[[tool.importlinter.contracts]]
name = "Do not import API layer from the business layer"
type = "forbidden"
source_modules = ["app.business.access_controls", "app.business.assets", "app.business.cases", "app.business.alerts"]
forbidden_modules = "app.blueprints"
allow_indirect_imports = true
[[tool.importlinter.contracts]]
name = "Do not import sqlalchemy from the business layer"
type = "forbidden"
source_modules = "app.business"
forbidden_modules = "sqlalchemy"
allow_indirect_imports = true
[[tool.importlinter.contracts]]
name = "Do not import API layer from the persistence layer"
type = "forbidden"
source_modules = "app.datamgmt.dashboard"
forbidden_modules = "app.blueprints"
allow_indirect_imports = true
[[tool.importlinter.contracts]]
name = "Do not import API layer from the persistence layer (access_controls)"
type = "forbidden"
source_modules = "app.datamgmt"
forbidden_modules = "app.blueprints.access_controls"
allow_indirect_imports = true
[[tool.importlinter.contracts]]
name = "Do not import marshables from the persistence layer"
type = "forbidden"
source_modules = ["app.datamgmt.manage.manage_case_state_db", "app.datamgmt.manage.manage_groups_db"]
forbidden_modules = "app.schema.marshables"
allow_indirect_imports = true
[[tool.importlinter.contracts]]
name = "Do not import marshmallow from the persistence layer"
type = "forbidden"
source_modules = "app.datamgmt.client"
forbidden_modules = "marshmallow"
allow_indirect_imports = true
[[tool.importlinter.contracts]]
name = "Do not import the engine from the persistence layer"
type = "forbidden"
source_modules = "app.datamgmt.case"
forbidden_modules = "app.iris_engine"
allow_indirect_imports = true
[[tool.importlinter.contracts]]
name = "Do not import the persistence layer from the models"
type = "forbidden"
source_modules = "app.models.cases"
forbidden_modules = "app.datamgmt"
allow_indirect_imports = true