-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
103 lines (88 loc) · 2.6 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
99
100
101
102
103
# SPDX-FileCopyrightText: Magenta ApS <https://magenta.dk>
# SPDX-License-Identifier: MPL-2.0
[tool.poetry]
name = "os2mo-sd-integration"
version = "0.0.0"
description = "OS2mo integration for SD Løn"
authors = ["Magenta ApS <[email protected]>"]
readme = "README.md"
packages = [{include = "sdlon"}]
[tool.poetry.dependencies]
another-sd-client = "^1.13.0"
fastapi = "^0.112"
fastramqpi = "^10.0.1"
pydantic = "^1"
python = "^3.11"
#gql = "^3.4.0"
more-itertools = ">=8.14.0"
#fastramqpi = "^7.4.0"
structlog = "^24.4.0"
uvicorn = "^0.30.6"
[tool.poetry.group.dev.dependencies]
ariadne-codegen = {extras = ["subscriptions"], version = "^0.7"}
[tool.poetry.group.pre-commit.dependencies]
mypy = "^1"
pre-commit = "^3"
ruff = "^0.4"
deptry = "^0.16"
[tool.poetry.group.test.dependencies]
pytest = "^7"
pytest-asyncio = "^0.23"
pytest-cov = "^5"
pytest-split = "^0.9"
asgi-lifespan = "^2.1"
freezegun = "^1.5.1"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.pytest.ini_options]
asyncio_mode="auto"
[tool.mypy]
plugins = "pydantic.mypy, pydantic.v1.mypy"
[tool.coverage.report]
omit = [
"sdlon/autogenerated_graphql_client/*",
# Skip these 4 file temporarily
"sdlon/api.py",
"sdlon/app.py",
"sdlon/config.py",
"sdlon/depends.py",
]
[tool.ruff.lint]
extend-select = ["I"]
[tool.ruff.lint.isort]
force-single-line = true
[tool.deptry]
extend_exclude = [
"sdlon/autogenerated_graphql_client/*"
]
[tool.deptry.per_rule_ignores]
DEP002 = [
# uvicorn is used by the Dockerfile
"uvicorn",
]
[tool.ariadne-codegen]
# Ideally, the GraphQL client is generated as part of the build process and
# never committed to git. Unfortunately, most of our tools and CI analyses the
# project directly as it is in Git. In the future - when the CI templates
# operate on the built container image - only the definition of the schema and
# queries should be checked in.
#
# The default package name is `graphql_client`. Make it more obvious that the
# files are not to be modified manually.
target_package_name = "autogenerated_graphql_client"
target_package_path = "sdlon/"
client_name = "GraphQLClient"
schema_path = "schema.graphql" # curl -O http://localhost:5000/graphql/v22/schema.graphql
queries_path = "queries.graphql"
include_all_inputs = false
include_all_enums = false
plugins = [
# Return values directly when only a single top field is requested
"ariadne_codegen.contrib.shorter_results.ShorterResultsPlugin",
]
[tool.ariadne-codegen.scalars.DateTime]
type = "datetime.datetime"
parse = "fastramqpi.ariadne.parse_graphql_datetime"
[tool.ariadne-codegen.scalars.UUID]
type = "uuid.UUID"