-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
106 lines (97 loc) · 2.4 KB
/
pyproject.toml
File metadata and controls
106 lines (97 loc) · 2.4 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
[project]
name = "qpy-dev"
version = "0.0.0"
description = "Dev repository to facilitate multi-repo development for QuestionPy"
readme = "README.md"
requires-python = ">=3.12,<4.0.0"
license = {file = "LICENSE.md"}
authors = [
{email = "info@isis.tu-berlin.de"},
{name = "innoCampus"}
]
urls = { Homepage = "https://questionpy.org" }
dependencies = [
"poethepoet >=0.34.0, <1.0.0",
"poetry >=2.1.0, <3.0.0",
"watchdog[watchmedo] >=6.0.0, <7.0.0",
"tox >=4.26.0, <5.0.0",
]
[build-system]
requires = ["poetry_core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.poetry]
package-mode = false
[tool.mypy]
disallow_untyped_defs = true
strict_optional = true
show_error_codes = true
exclude = [
# mypy complains about Duplicate module named "tests"
"^questionpy/.+\\.py$",
]
[tool.poe]
verbosity = -1
envfile = [
".env",
".env.local",
]
include = [
"./modules/utils.toml",
"./modules/qpy.toml",
"./modules/lint.toml",
"./modules/fmt.toml",
"./modules/typecheck.toml",
"./modules/test.toml",
"./modules/check.toml",
"./modules/tox.toml",
"./modules/venv.toml",
"./modules/docs.toml",
"./modules/up.toml",
"./modules/config.toml",
"./modules/moodle.toml",
"./modules/clone.toml",
]
shell_interpreter = "bash"
[tool.poe.env]
COLOR_TASK = '\033[1;34m'
COLOR_MSG = '\033[1;37m'
COLOR_REPO = '\033[1;35m'
COLOR_WARN = '\033[1;31m'
COLOR_OFF = '\033[0m'
MOODLE_DOCKER_WWWROOT = "${POE_ROOT}/external/moodle"
COMPOSE_PROJECT_NAME= "${MOODLE_DOCKER_COMPOSE_PROJECT_NAME}"
[tool.ruff]
extend = "ruff_defaults.toml"
[tool.ruff.lint.extend-per-file-ignores]
"modules/**/*.py" = [
"INP001",
"T201",
]
"scratch/**/*.py" = [
"INP001",
"T201",
]
[tool.tox]
legacy_tox_ini = """
[tox]
env_list =
py{312,313}-{sdk,server}-test
{sdk,server}-{format,lint,typecheck}
minversion = 4.23.0
[testenv]
allowlist_externals = poetry
skip_install = true
change_dir =
sdk: questionpy/sdk
server: questionpy/server
commands_pre =
test: poetry install --no-interaction --only main,dev,test
typecheck: poetry install --no-interaction --no-root --only main,dev,test,type-checker
lint,format: poetry install --no-interaction --no-root --only linter
sdk-{test,typcheck}: pip install --no-input --disable-pip-version-check --editable ../server
commands =
test: pytest {tty:--color=yes} tests {posargs}
format: ruff format --check {posargs:.}
lint: ruff check {posargs:.}
typecheck: mypy {posargs:.}
"""