-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
111 lines (96 loc) · 2.4 KB
/
pyproject.toml
File metadata and controls
111 lines (96 loc) · 2.4 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
[project]
name = "register-your-data-api"
version = "0.3.3"
requires-python = ">= 3.12.11"
readme = "README.md"
authors = [{name="IATI Secretariat", email="support@iatistandard.org"}]
license = {file = "LICENSE"}
description = "API for writing to the IATI Registry"
dependencies = [
"alembic",
"azure-communication-email>=1.0.0,<2.0.0",
"click",
"cryptography==45.0.5",
"email_validator>=2.3.0,<3.0.0",
"fastapi[standard]==0.116.0",
"jinja2>=3.1.6,<4.0.0",
"libsuitecrm @ git+https://github.com/iati/iati-registry-libsuitecrm@v0.5.1",
"prometheus-client>=0.22.1",
"pyjwt>=2.10.0",
"python-dotenv>=1.1.1",
"psycopg[binary]>3",
"requests==2.32.4",
"sqlmodel==0.0.25",
"SQLAlchemy==2.0.43",
"types-requests==2.32.4.20250611"
]
[project.optional-dependencies]
dev = [
"bandit[baseline]",
"black",
"flake8",
"flake8-pyproject",
"isort",
"mypy",
"pip-tools",
"pytest",
"pytest-watcher>=0.6.0,<1.0.0"
]
[tool.alembic]
script_location = "alembic"
prepend_sys_path = ["."]
version_path_separator = "os"
sqlalchemy.url = ""
# Logging configuration
[tool.alembic.logger_alembic]
level = "INFO"
handlers = ""
qualname = "alembic"
[tool.alembic.logger_root]
level = "WARN"
handlers = "console"
qualname = ""
[tool.alembic.handler_console]
class = "StreamHandler"
args = "(sys.stderr,)"
level = "NOTSET"
formatter = "generic"
[tool.alembic.formatter_generic]
format = "%(levelname)-5.5s [%(name)s] %(message)s"
datefmt = "%H:%M:%S"
[tool.bandit]
exclude_dirs = ['.ve', '.venv', '.mypy_cache', '.pytest_cache']
fail_on_severity = "LOW"
fail_on_confidence = "LOW"
[tool.bandit.assert_used]
skips = ["*/tests/integration/test_*.py", "*/tests/security/test_*.py", "*/tests/unit/test_*.py"]
[tool.mypy]
strict = true
mypy_path = "src"
files = ["tests"]
[tool.pytest.ini_options]
testpaths = ["tests/unit", "tests/integration", "tests/security"]
addopts = [
"--import-mode=importlib"
]
pythonpath = [
"src", "tests"
]
[tool.pip-tools]
strip-extras = true
[tool.isort]
py_version=312
extend_skip = ['__pycache__', '.ve', '.venv']
skip_gitignore = true
src_paths = ['src', 'tests']
line_length = 119
profile = "black"
[tool.flake8]
max-line-length = 119
extend_ignore = ['E203', 'W503', 'E275']
exclude = ['__pycache__', '.pytest_cache', '.ve', '.venv']
max_complexity = 7
[tool.black]
line-length = 119
target-version = ['py312']
include='''/.*/*.py$'''