forked from i-dot-ai/minute
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
112 lines (100 loc) · 2.65 KB
/
pyproject.toml
File metadata and controls
112 lines (100 loc) · 2.65 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
[tool.ruff]
line-length = 120
target-version = 'py312'
fix = true
[tool.cruft]
skip = [
# general_paths
".env.*",
"data",
]
[tool.pytest.ini_options]
minversion = "8.3"
addopts = "-ra -q"
testpaths = [
"tests"
]
[tool.poetry]
name = "minute"
authors = ["i.AI <i-dot-ai-enquiries@cabinetoffice.gov.uk>"]
license = "MIT"
readme = "README.md"
packages = [
{include = "worker"},
{include = "backend"},
{include = "common"},
]
version = "2.0.0"
# add common dependencies here
[tool.poetry.dependencies]
python = ">=3.12,<3.13"
cryptography = "^44.0.2"
pydantic-settings = "^2.5.2"
alembic = "^1.13.3"
sqlmodel = "^0.0.27"
tenacity = "^9.1.2"
aioboto3 = "^14.3.0"
breame = "^0.1.2"
mistune = "^3.1.3"
httpx = "^0.28.1"
psycopg2-binary = "^2.9.9"
boto3 = "^1.35.3"
fastapi = ">=0.112.0"
sentry-sdk = {extras = ["fastapi"], version = "^2.18.0"}
sqlalchemy = {extras = ["asyncio"], version = "^2.0.42"}
asyncpg = "^0.30.0"
markdownify = "^1.2.0"
python-multipart = "^0.0.20"
i-dot-ai-utilities = "^0.4.4"
azure-servicebus = "^7.14.2"
[tool.poetry.group.backend.dependencies]
pyjwt = "^2.9.0"
posthog = "^6.6.1"
uvicorn = "^0.31.0"
apscheduler = "^3.11.0"
[tool.poetry.group.worker.dependencies]
google-genai = "^1.10.0"
openai = "^1.42.0"
ffmpeg-python = "^0.2.0"
ray = {extras = ["default"], version = "^2.53.0"}
azure-storage-blob = "^12.26.0"
azure-identity = "^1.23.1"
[tool.poetry.group.dev.dependencies]
bumpversion = "^0.6.0"
pre-commit = "^3.8.0"
pytest = "^8.3.2"
pytest-env = "^1.1.1"
pytest-mock = "^3.14.0"
pytest-cov = "^5.0.0"
pytest-dotenv = "^0.5.2"
pytest-asyncio = "^0.23.8"
ruff = "0.8.2"
bandit = "^1.7.9"
detect-secrets = "^1.5.0"
playwright = "^1.45"
pytest-playwright = "^0.5"
diagrams = "^0.23.4"
ipykernel = "^6.29.5"
#needed for running llm related tests
beautifulsoup4 = "^4.13.3"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.ruff.format]
exclude = ["data/*"]
[tool.ruff.lint]
select = [
"A", "B", "C", "E", "F", "G", "I", "N", "Q", "S", "T", "W",
"ARG", "ASYNC", "BLE", "COM", "DJ", "DTZ", "EM", "EXE", "FURB",
"ICN", "INT", "ISC", "LOG", "NPY", "PD", "PGH", "PIE", "PL",
"PT", "PTH", "PYI", "RET", "RSE", "RUF", "SIM", "SLF", "SLOT",
"TCH", "TD", "TID", "UP", "YTT"
]
exclude = ["out/*"]
ignore = ["COM812", "DJ001", "RET505", "RET508", "PLR0913", "S318","ISC001"]
[tool.ruff.lint.isort]
known-first-party = ["backend", "frontend"]
[tool.ruff.lint.per-file-ignores]
"tests/*" = ["S101", "S106", "PLR0913", "PLR0915", "PLR2004", "TD003", "S311"]
"*/tests/*" = ["S101", "S106", "PLR0913", "PLR0915", "PLR2004", "TD003"]
"*/tests_playwright/*" = ["S101", "S106", "PLR0913", "PLR2004", "TD003"]