-
Notifications
You must be signed in to change notification settings - Fork 4
/
pyproject.toml
100 lines (94 loc) · 2.65 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
[tool.poetry]
name = "iris"
version = "1.1.7"
description = "Resilient Internet-scale measurement system."
license = "MIT"
authors = [
"Matthieu Gouel <matthieu.gouel@lip6.fr>",
"Maxime Mouchet <maxime.mouchet@lip6.fr>"
]
readme = "README.md"
homepage = "https://github.com/dioptra-io/iris"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Science/Research",
"Operating System :: MacOS :: MacOS X",
"Operating System :: POSIX :: Linux",
"Topic :: Internet",
]
[tool.poetry.dependencies]
python = "^3.10"
aioboto3 = "^12.0.0"
aiofiles = "^23.2.1"
# We make alembic a runtime dependency so that is available in the Docker images.
alembic = "^1.12.1"
asgiref = "^3.7.2"
asyncpg = "^0.28.0"
diamond-miner = "^1.1.1"
dramatiq = {extras = ["redis", "watch"], version = "^1.13.0"}
email-validator = "^1.3.1"
fastapi = "^0.104.0"
fastapi-users = {extras = ["sqlalchemy"], version = "^10.3.0"}
gunicorn = "^21.2.0"
mkdocs-material = "^9.4.7"
psutil = "^5.9.4"
psycopg2 = "^2.9.9"
pych-client = {extras = ["orjson"], version = "^0.4.0"}
pydantic = "^1.10.12"
python-jose = {extras = ["cryptography"], version = "^3.3.0"}
python-multipart = "^0.0.5"
pytricia = "^1.0.2"
SQLAlchemy = "^1.4.49"
SQLAlchemy-Utils = "^0.38.3"
sqlmodel = "^0.0.10"
starlette_exporter = "^0.14.0"
tenacity = "^8.2.3"
uvicorn = "^0.23.2"
zstandard = "^0.21.0"
redis = "^5.0.1"
[tool.poetry.dev-dependencies]
black = "^23.10.1"
boto3-stubs = "^1.28.73"
bumpversion = "^0.6.0"
coverage = {extras = ["toml"], version = "^7.3.2"}
flake8 = "^6.1.0"
isort = "^5.12.0"
mypy = "^1.6.1"
pre-commit = "^3.5.0"
pytest = "^7.4.3"
pytest-asyncio = "^0.21.1"
pytest-cov = "^4.1.0"
pytest-clarity = "^1.0.1"
# Required by fastapi.testclient -> starlette.testclient.
requests = "^2.31.0"
types-aiofiles = "^23.2.0.0"
[tool.pytest.ini_options]
addopts = "--capture=no --doctest-modules --ignore=alembic --ignore=iris_data --strict-markers --verbosity=2"
asyncio_mode = "auto"
filterwarnings = [
"ignore::DeprecationWarning:aioboto3.*:",
"ignore::DeprecationWarning:aiofiles.*:",
"ignore::DeprecationWarning:aiohttp.*:",
"ignore::DeprecationWarning:urllib3.*:",
]
markers = ["cifail"]
[tool.mypy]
plugins = ["pydantic.mypy"]
ignore_missing_imports = true
# Disabled due to fastapi_users reexports
# implicit_reexport = false
strict_equality = true
strict_optional = true
warn_redundant_casts = true
warn_return_any = true
# warn_unreachable = true
warn_unused_ignores = true
[tool.coverage.report]
exclude_lines = [
"if TYPE_CHECKING:$",
"if __name__ == \"__main__\":$",
"pass$"
]
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"