-
Notifications
You must be signed in to change notification settings - Fork 26
Expand file tree
/
Copy pathpyproject.toml
More file actions
77 lines (70 loc) · 2.1 KB
/
pyproject.toml
File metadata and controls
77 lines (70 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
[project]
name = "apim-samples"
version = "0.0.0"
description = "Azure API Management Samples: infra + policy playground"
readme = "README.md"
requires-python = ">=3.12"
authors = [{ name = "Azure Samples" }]
license = { file = "LICENSE" }
# Core runtime dependencies
dependencies = [
"pillow>=12.2.0", # Resolves GHSA-whj4-6x5x-4v2j (CVE-2026-40192): https://pillow.readthedocs.io/en/stable/releasenotes/12.2.0.html#prevent-fits-decompression-bomb
"ipykernel",
"jinja2",
"matplotlib",
"pandas",
"pyjwt>=2.12.1",
"python-dotenv",
"requests",
"tornado>=6.5.5",
]
[dependency-groups]
# Developer tooling (installed automatically by default with `uv sync`)
dev = [
"ruff>=0.15.12",
"pytest>=9.0.3",
"pytest-cov>=7.1.0",
"coverage>=7.13.5",
"pip-audit>=2.10.0",
]
[tool.ruff]
line-length = 150
[tool.ruff.format]
quote-style = "single"
exclude = ["*.ipynb"]
[tool.ruff.lint]
select = [
"E", # pycodestyle errors
"W", # pycodestyle warnings
"F", # Pyflakes
"PLC", # Pylint convention
"PLC0415", # import-outside-toplevel (explicit; enforce imports at top of file/cell)
"PLE", # Pylint error
"PLR", # Pylint refactoring
"PLW", # Pylint warning
"Q", # flake8-quotes
]
ignore = [
"PLR0911", # Too many return statements
"PLR0912", # Too many branches
"PLR0913", # Too many arguments
"PLR0914", # Too many local variables
"PLR0915", # Too many statements
"PLR0917", # Too many positional arguments
"PLR1702", # Too many nested blocks
"PLR2004", # Magic value used in comparison
]
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+_*)|mock_|fixture_|suppress_|temp_|fake_|monkeypatch.*)"
[tool.ruff.lint.flake8-quotes]
inline-quotes = "single"
[tool.ruff.lint.per-file-ignores]
"*.ipynb" = [
"F821", # Undefined name — notebook cells share state across cells
"F401", # Imported but unused — imports in one cell are used in later cells
]
"tests/python/test_*.py" = [
"SLF001", # Private member access
"ARG001", # Unused function argument
"ARG002", # Unused method argument
"BLE001", # Blind exception catch
]