-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathpyproject.toml
More file actions
117 lines (105 loc) · 3.17 KB
/
Copy pathpyproject.toml
File metadata and controls
117 lines (105 loc) · 3.17 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
107
108
109
110
111
112
113
114
115
116
117
[project]
name = "aidial-sdk"
version = "0.37.0"
description = "Framework to create applications and model adapters for AI DIAL"
authors = [{ name = "EPAM RAIL", email = "SpecialEPM-DIALDevTeam@epam.com" }]
license = "Apache-2.0"
readme = "README.md"
requires-python = ">=3.10,<4.0"
dependencies = [
"fastapi (>=0.51,<1.0)",
"uvicorn (>=0.19,<1.0)",
"pydantic (>=1.10.17,<3)",
"wrapt (>=1.10,<2)",
]
[project.urls]
Homepage = "https://epam-rail.com"
Documentation = "https://epam-rail.com/dial_api"
Repository = "https://github.com/epam/ai-dial-sdk"
[project.optional-dependencies]
telemetry = [
"opentelemetry-sdk (>=1.22.0,<2.0)",
"opentelemetry-api (>=1.22.0,<2.0)",
"opentelemetry-exporter-otlp-proto-grpc (>=1.22.0,<2.0)",
"opentelemetry-instrumentation-aiohttp-client (>=0.43b0)",
"opentelemetry-instrumentation-fastapi (>=0.43b0)",
"opentelemetry-instrumentation-httpx (>=0.43b0)",
"opentelemetry-instrumentation-logging (>=0.43b0)",
"opentelemetry-instrumentation-requests (>=0.43b0)",
"opentelemetry-instrumentation-system-metrics (>=0.43b0)",
"opentelemetry-instrumentation-urllib (>=0.43b0)",
"opentelemetry-exporter-prometheus (>=0.43b0)",
"prometheus-client (>=0.17.1,<1.0)",
]
httpx = ["httpx (>=0.25.0,<1.0)"]
[tool.poetry.group.test.dependencies]
pytest = "^9.0.3"
pytest-asyncio = "^1.3.0"
nox = "^2023.4.22"
pillow = "^12.2.0"
httpx = "^0.25.0"
respx = "^0.21.1"
aiohttp = "^3.14.1"
aiointercept = "^0.1.7"
requests = "^2.33"
responses = "^0.25.3"
httpx2 = "^2.7.0" # required for Starlette.TestClient
[tool.poetry.group.lint.dependencies]
pyright = "1.1.385"
ruff = "0.12.11"
[tool.poetry.group.dev.dependencies]
pre-commit = "^4.5.1"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.pytest.ini_options]
asyncio_default_fixture_loop_scope = "function"
addopts = "--asyncio-mode=auto"
testpaths = ["tests"]
filterwarnings = [
"error",
# muting deprecation warnings coming from old pydantic
"ignore::DeprecationWarning:pydantic.typing",
]
markers = ["slow: marker for slow running tests"]
[tool.pyright]
typeCheckingMode = "basic"
reportDeprecated = "error"
reportUnusedVariable = "error"
reportIncompatibleMethodOverride = "error"
exclude = [
"examples/langchain_rag",
"**/node_modules",
"**/__pycache__",
"**/.*",
".venv",
]
[tool.ruff]
line-length = 80
target-version = "py310"
[tool.ruff.lint]
select = [
"ERA", # flake8-eradicate
"B", # flake8-builtins
"C4", # flake8-comprehensions
"SIM", # flake8-simplify
"B9", # flake8-bugbear
"E", # pycodestyle
"W", # pycodestyle
"F", # pyflakes
"I", # flake8-isort
"S", # flake8-bandit
"FURB", # refurb
"UP", # pyupgrade
]
ignore = [
"E501", # string literal is too long
"S101", # Use of `assert` detected
"B904", # Within an `except` clause, raise exceptions with `raise ... from err` or `raise ... from None`
]
[tool.ruff.lint.per-file-ignores]
"tests/*" = [
"B011", # Do not `assert False`
"B006", # Do not use mutable data structures for argument defaults
# "E731", # Do not assign a `lambda` expression, use a `def`
]