-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
86 lines (77 loc) · 2.1 KB
/
pyproject.toml
File metadata and controls
86 lines (77 loc) · 2.1 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
[project]
name = "aerooffers"
version = "3.0"
requires-python = ">=3.12"
dependencies = [
"flask==3.1.3",
"flask-cors==6.0.2",
"flask-headers==1.0",
"gunicorn==25.1.0",
"jinja2==3.1.6",
"nltk==3.9.3",
"price-parser==0.5.1",
"requests==2.32.5",
"scrapy==2.14.2",
"twisted==25.5.0",
"azure-cosmos==4.15.0",
"azure-identity==1.25.3",
"azure-storage-blob==12.28.0",
"defusedxml==0.7.1",
"google-genai==1.68.0",
"python-dotenv==1.2.2",
]
[dependency-groups]
dev = [
{include-group = "lint"},
"pytest==9.0.2",
"pytest-cov==7.1.0",
"assertpy==1.1",
"testcontainers[cosmosdb]==4.14.2",
]
lint = [
"ruff>=0.15.7",
"mypy>=1.19.1",
"types-requests==2.33.0.20260327",
"types-defusedxml==0.7.0.20250822",
"types-flask-cors==6.0.0.20250809",
"types-assertpy==1.1.0.20260221",
]
[tool.pytest.ini_options]
pythonpath = "src"
testpaths = ["tests"]
[tool.coverage.run]
omit = ["tests/*", "**/__init__.py", ]
[tool.ruff.lint]
preview = true
select = [
"A", # flake8-builtins
"B", # flake8-bugbear
"C90", # mccabe (complexity)
"F", # pyflakes
"I", # imports
"N", # pep8-naming
"PERF", # perflint
"PT", # flake8-pytest-style
"S", # flake-8 bandit (forbid plain asserts, secrets detection, etc)
"UP", # pyupgrade (better compatibility with newer python versions)
]
ignore = [
"E501", # `ruff format --check` takes care of this, as this rule enforcing max line length is not compatible with formatter
"D10", # disable requirement for everything needing a description
"S101" # plain asserts are useful sometimes
]
[tool.ruff.lint.per-file-ignores]
"tests/**" = ["D", "S105"] # no need for docstrings and secrets checks in tests
[tool.ruff.lint.isort]
order-by-type = false
[tool.mypy]
files = ["src/aerooffers", "tests"]
exclude = ".cache"
strict_equality = true
check_untyped_defs = true
disallow_untyped_defs = true
show_error_codes = true
[[tool.mypy.overrides]]
module = ["nltk.*", "flask_headers", "distutils.util", "testcontainers.*"]
follow_untyped_imports = false
ignore_missing_imports = true