-
Notifications
You must be signed in to change notification settings - Fork 1
/
pyproject.toml
130 lines (115 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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.poetry]
name = "b3desk"
version = "1.2.19dev"
description = "Outil de visioconférence pour les agents de l'Education Nationale et de l'Etat en général."
authors = ["Your Name <[email protected]>"]
readme = "README.md"
package-mode = false
[tool.poetry.dependencies]
python = ">=3.9,<4.0"
celery = "^5.2.7"
filetype = "^1.2.0"
flask = "^3.0.0"
flask-babel = "^4.0.0"
flask-caching = "^2.0.2"
flask-uploads = "0.2.1"
flask-migrate = "^4.0.5"
flask-pyoidc = "^3.14.2"
flask-sqlalchemy = "^3.0.3"
flask-wtf = "^1.2.1"
gunicorn = "21.2.0"
netaddr = "^1.2.1"
psycopg2 = "^2.9.3"
pydantic-settings = "^2.1.0"
python-slugify = "^8.0.4"
redis = "^5.0.1"
requests = "^2.27.1"
sqlalchemy = "^1.4.31"
sqlalchemy-json = "^0.7.0"
sqlalchemy-utils = "^0.41.1"
webdavclient3 = "3.14.5"
sentry-sdk = "^2.3.1"
[tool.poetry.group.dev]
optional = true
[tool.poetry.group.dev.dependencies]
coverage = "^7.2.2"
flake8 = "^7.0.0"
Flask-WebTest = "^0.1.3"
pre-commit = "^3.1.1"
pytest = "^8.0.0"
pytest-cov = "^5.0.0"
pytest-dotenv = "^0.5.2"
pytest-iam = "^0.0.12"
pytest-mock = "^3.11.1"
wsgidav = "^4.3.1"
pytest-smtpd = "^0.1.0"
pyquery = "^2.0.0"
time-machine = "^2.14.1"
[tool.poetry.group.doc]
optional = true
[tool.poetry.group.doc.dependencies]
autodoc-pydantic = "^2.0.1"
myst-parser = "^2.0.0"
sphinx = "^7.0.0"
sphinx-rtd-theme = "^2.0.0"
sphinx-issues = "^4.0.0"
[tool.pytest.ini_options]
testpaths = "web"
markers = [
"secure: cloud auth responds with a https url",
"no_scheme: cloud auth responds without any scheme for url",
]
[tool.ruff.lint]
ignore = [
"E501", # line too long
"E722", # bare expect
"E402", # import not at the top of the file
]
[tool.tox]
legacy_tox_ini = """
[tox]
isolated_build = true
skipsdist = true
envlist =
style
py39
py310
py311
py312
coverage
doc
[testenv]
allowlist_externals = poetry
commands =
poetry install --with dev
poetry run pytest {posargs}
[testenv:style]
commands =
pip install pre-commit
pre-commit run --all-files
[testenv:coverage]
commands =
poetry install --with dev
poetry run pytest --cov --cov-report term:skip-covered {posargs}
poetry run coverage html
[testenv:doc]
commands =
poetry install --with doc
poetry run sphinx-build -W --keep-going documentation build/sphinx/html
"""
[tool.coverage.run]
branch = true
[tool.coverage.report]
exclude_lines = [
"pragma: no cover",
"raise NotImplementedError",
"except ImportError",
]
partial_branches = [
"pragma: no branch",
"if app.debug",
"if app.testing",
]