arpakitlib 1.7.45__py3-none-any.whl → 1.7.46__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- arpakitlib/_arpakit_project_template/example.env +2 -2
- arpakitlib/_arpakit_project_template/manage/requirements.txt +209 -0
- arpakitlib/_arpakit_project_template/src/api/const.py +5 -1
- arpakitlib/_arpakit_project_template/src/api/create_api_app.py +2 -2
- arpakitlib/_arpakit_project_template/src/api/router/v1/get_api_error_info.py +14 -0
- arpakitlib/_arpakit_project_template/src/api/router/v1/main_router.py +4 -0
- arpakitlib/_arpakit_project_template/src/api/schema/v1/out.py +6 -0
- arpakitlib/_arpakit_project_template/src/core/settings.py +2 -2
- arpakitlib/ar_fastapi_util.py +12 -8
- {arpakitlib-1.7.45.dist-info → arpakitlib-1.7.46.dist-info}/METADATA +1 -1
- {arpakitlib-1.7.45.dist-info → arpakitlib-1.7.46.dist-info}/RECORD +15 -13
- {arpakitlib-1.7.45.dist-info → arpakitlib-1.7.46.dist-info}/LICENSE +0 -0
- {arpakitlib-1.7.45.dist-info → arpakitlib-1.7.46.dist-info}/NOTICE +0 -0
- {arpakitlib-1.7.45.dist-info → arpakitlib-1.7.46.dist-info}/WHEEL +0 -0
- {arpakitlib-1.7.45.dist-info → arpakitlib-1.7.46.dist-info}/entry_points.txt +0 -0
@@ -5,8 +5,8 @@
|
|
5
5
|
# api_title=
|
6
6
|
# api_description=
|
7
7
|
# api_create_story_log_before_response_in_handle_exception=
|
8
|
-
#
|
9
|
-
#
|
8
|
+
# api_start_operation_executor_worker=
|
9
|
+
# api_start_scheduled_operation_creator_worker=
|
10
10
|
# api_port=
|
11
11
|
# api_correct_api_key=
|
12
12
|
# var_dirname=
|
@@ -0,0 +1,209 @@
|
|
1
|
+
aiofiles==24.1.0 ; python_version >= "3.12" and python_version < "4.0"
|
2
|
+
aiogram==3.17.0 ; python_version >= "3.12" and python_version < "4.0"
|
3
|
+
aiohappyeyeballs==2.4.4 ; python_version >= "3.12" and python_version < "4.0"
|
4
|
+
aiohttp-socks==0.9.2 ; python_version >= "3.12" and python_version < "4.0"
|
5
|
+
aiohttp==3.11.11 ; python_version >= "3.12" and python_version < "4.0"
|
6
|
+
aiosignal==1.3.2 ; python_version >= "3.12" and python_version < "4.0"
|
7
|
+
alembic==1.14.0 ; python_version >= "3.12" and python_version < "4.0"
|
8
|
+
amqp==5.3.1 ; python_version >= "3.12" and python_version < "4.0"
|
9
|
+
annotated-types==0.7.0 ; python_version >= "3.12" and python_version < "4.0"
|
10
|
+
anyio==4.7.0 ; python_version >= "3.12" and python_version < "4.0"
|
11
|
+
appnope==0.1.4 ; python_version >= "3.12" and python_version < "4.0" and platform_system == "Darwin"
|
12
|
+
argon2-cffi-bindings==21.2.0 ; python_version >= "3.12" and python_version < "4.0"
|
13
|
+
argon2-cffi==23.1.0 ; python_version >= "3.12" and python_version < "4.0"
|
14
|
+
arrow==1.3.0 ; python_version >= "3.12" and python_version < "4.0"
|
15
|
+
asttokens==3.0.0 ; python_version >= "3.12" and python_version < "4.0"
|
16
|
+
async-lru==2.0.4 ; python_version >= "3.12" and python_version < "4.0"
|
17
|
+
asyncpg==0.30.0 ; python_version >= "3.12" and python_version < "4.0"
|
18
|
+
asyncssh==2.19.0 ; python_version >= "3.12" and python_version < "4.0"
|
19
|
+
attrs==24.3.0 ; python_version >= "3.12" and python_version < "4.0"
|
20
|
+
babel==2.16.0 ; python_version >= "3.12" and python_version < "4.0"
|
21
|
+
bcrypt==4.2.1 ; python_version >= "3.12" and python_version < "4.0"
|
22
|
+
beautifulsoup4==4.12.3 ; python_version >= "3.12" and python_version < "4.0"
|
23
|
+
billiard==4.2.1 ; python_version >= "3.12" and python_version < "4.0"
|
24
|
+
bleach[css]==6.2.0 ; python_version >= "3.12" and python_version < "4.0"
|
25
|
+
bs4==0.0.2 ; python_version >= "3.12" and python_version < "4.0"
|
26
|
+
build==1.2.2.post1 ; python_version >= "3.12" and python_version < "4.0"
|
27
|
+
cachecontrol[filecache]==0.14.1 ; python_version >= "3.12" and python_version < "4.0"
|
28
|
+
cachetools==5.5.0 ; python_version >= "3.12" and python_version < "4.0"
|
29
|
+
celery==5.4.0 ; python_version >= "3.12" and python_version < "4.0"
|
30
|
+
certifi==2024.12.14 ; python_version >= "3.12" and python_version < "4.0"
|
31
|
+
cffi==1.17.1 ; python_version >= "3.12" and python_version < "4.0"
|
32
|
+
charset-normalizer==3.4.1 ; python_version >= "3.12" and python_version < "4.0"
|
33
|
+
cleo==2.1.0 ; python_version >= "3.12" and python_version < "4.0"
|
34
|
+
click-didyoumean==0.3.1 ; python_version >= "3.12" and python_version < "4.0"
|
35
|
+
click-plugins==1.1.1 ; python_version >= "3.12" and python_version < "4.0"
|
36
|
+
click-repl==0.3.0 ; python_version >= "3.12" and python_version < "4.0"
|
37
|
+
click==8.1.8 ; python_version >= "3.12" and python_version < "4.0"
|
38
|
+
colorama==0.4.6 ; python_version >= "3.12" and python_version < "4.0" and (platform_system == "Windows" or os_name == "nt" or sys_platform == "win32")
|
39
|
+
comm==0.2.2 ; python_version >= "3.12" and python_version < "4.0"
|
40
|
+
contourpy==1.3.1 ; python_version >= "3.12" and python_version < "4.0"
|
41
|
+
crashtest==0.4.1 ; python_version >= "3.12" and python_version < "4.0"
|
42
|
+
cryptography==44.0.0 ; python_version >= "3.12" and python_version < "4.0"
|
43
|
+
cycler==0.12.1 ; python_version >= "3.12" and python_version < "4.0"
|
44
|
+
debugpy==1.8.11 ; python_version >= "3.12" and python_version < "4.0"
|
45
|
+
decorator==5.1.1 ; python_version >= "3.12" and python_version < "4.0"
|
46
|
+
defusedxml==0.7.1 ; python_version >= "3.12" and python_version < "4.0"
|
47
|
+
distlib==0.3.9 ; python_version >= "3.12" and python_version < "4.0"
|
48
|
+
distro==1.9.0 ; python_version >= "3.12" and python_version < "4.0"
|
49
|
+
dnspython==2.7.0 ; python_version >= "3.12" and python_version < "4.0"
|
50
|
+
docutils==0.21.2 ; python_version >= "3.12" and python_version < "4.0"
|
51
|
+
dulwich==0.21.7 ; python_version >= "3.12" and python_version < "4.0"
|
52
|
+
email-validator==2.2.0 ; python_version >= "3.12" and python_version < "4.0"
|
53
|
+
emoji==2.14.0 ; python_version >= "3.12" and python_version < "4.0"
|
54
|
+
et-xmlfile==2.0.0 ; python_version >= "3.12" and python_version < "4.0"
|
55
|
+
executing==2.1.0 ; python_version >= "3.12" and python_version < "4.0"
|
56
|
+
fastapi==0.115.6 ; python_version >= "3.12" and python_version < "4.0"
|
57
|
+
fastjsonschema==2.21.1 ; python_version >= "3.12" and python_version < "4.0"
|
58
|
+
filelock==3.16.1 ; python_version >= "3.12" and python_version < "4.0"
|
59
|
+
fonttools==4.55.3 ; python_version >= "3.12" and python_version < "4.0"
|
60
|
+
fqdn==1.5.1 ; python_version >= "3.12" and python_version < "4"
|
61
|
+
frozenlist==1.5.0 ; python_version >= "3.12" and python_version < "4.0"
|
62
|
+
greenlet==3.1.1 ; python_version < "3.13" and (platform_machine == "aarch64" or platform_machine == "ppc64le" or platform_machine == "x86_64" or platform_machine == "amd64" or platform_machine == "AMD64" or platform_machine == "win32" or platform_machine == "WIN32") and python_version >= "3.12"
|
63
|
+
gunicorn==23.0.0 ; python_version >= "3.12" and python_version < "4.0"
|
64
|
+
h11==0.14.0 ; python_version >= "3.12" and python_version < "4.0"
|
65
|
+
httpcore==1.0.7 ; python_version >= "3.12" and python_version < "4.0"
|
66
|
+
httpx==0.28.1 ; python_version >= "3.12" and python_version < "4.0"
|
67
|
+
idna==3.10 ; python_version >= "3.12" and python_version < "4.0"
|
68
|
+
installer==0.7.0 ; python_version >= "3.12" and python_version < "4.0"
|
69
|
+
ipykernel==6.29.5 ; python_version >= "3.12" and python_version < "4.0"
|
70
|
+
ipython==8.31.0 ; python_version >= "3.12" and python_version < "4.0"
|
71
|
+
ipywidgets==8.1.5 ; python_version >= "3.12" and python_version < "4.0"
|
72
|
+
isoduration==20.11.0 ; python_version >= "3.12" and python_version < "4.0"
|
73
|
+
itsdangerous==2.2.0 ; python_version >= "3.12" and python_version < "4.0"
|
74
|
+
jaraco-classes==3.4.0 ; python_version >= "3.12" and python_version < "4.0"
|
75
|
+
jedi==0.19.2 ; python_version >= "3.12" and python_version < "4.0"
|
76
|
+
jeepney==0.8.0 ; python_version >= "3.12" and python_version < "4.0" and sys_platform == "linux"
|
77
|
+
jinja2==3.1.5 ; python_version >= "3.12" and python_version < "4.0"
|
78
|
+
jiter==0.8.2 ; python_version >= "3.12" and python_version < "4.0"
|
79
|
+
json5==0.10.0 ; python_version >= "3.12" and python_version < "4.0"
|
80
|
+
jsonpointer==3.0.0 ; python_version >= "3.12" and python_version < "4.0"
|
81
|
+
jsonschema-specifications==2024.10.1 ; python_version >= "3.12" and python_version < "4.0"
|
82
|
+
jsonschema==4.23.0 ; python_version >= "3.12" and python_version < "4.0"
|
83
|
+
jsonschema[format-nongpl]==4.23.0 ; python_version >= "3.12" and python_version < "4.0"
|
84
|
+
jupyter-client==8.6.3 ; python_version >= "3.12" and python_version < "4.0"
|
85
|
+
jupyter-console==6.6.3 ; python_version >= "3.12" and python_version < "4.0"
|
86
|
+
jupyter-core==5.7.2 ; python_version >= "3.12" and python_version < "4.0"
|
87
|
+
jupyter-events==0.11.0 ; python_version >= "3.12" and python_version < "4.0"
|
88
|
+
jupyter-lsp==2.2.5 ; python_version >= "3.12" and python_version < "4.0"
|
89
|
+
jupyter-server-terminals==0.5.3 ; python_version >= "3.12" and python_version < "4.0"
|
90
|
+
jupyter-server==2.15.0 ; python_version >= "3.12" and python_version < "4.0"
|
91
|
+
jupyter==1.1.1 ; python_version >= "3.12" and python_version < "4.0"
|
92
|
+
jupyterlab-pygments==0.3.0 ; python_version >= "3.12" and python_version < "4.0"
|
93
|
+
jupyterlab-server==2.27.3 ; python_version >= "3.12" and python_version < "4.0"
|
94
|
+
jupyterlab-widgets==3.0.13 ; python_version >= "3.12" and python_version < "4.0"
|
95
|
+
jupyterlab==4.3.4 ; python_version >= "3.12" and python_version < "4.0"
|
96
|
+
keyring==24.3.1 ; python_version >= "3.12" and python_version < "4.0"
|
97
|
+
kiwisolver==1.4.8 ; python_version >= "3.12" and python_version < "4.0"
|
98
|
+
kombu==5.4.2 ; python_version >= "3.12" and python_version < "4.0"
|
99
|
+
magic-filter==1.0.12 ; python_version >= "3.12" and python_version < "4.0"
|
100
|
+
mako==1.3.8 ; python_version >= "3.12" and python_version < "4.0"
|
101
|
+
markdown-it-py==3.0.0 ; python_version >= "3.12" and python_version < "4.0"
|
102
|
+
markupsafe==3.0.2 ; python_version >= "3.12" and python_version < "4.0"
|
103
|
+
matplotlib-inline==0.1.7 ; python_version >= "3.12" and python_version < "4.0"
|
104
|
+
matplotlib==3.10.0 ; python_version >= "3.12" and python_version < "4.0"
|
105
|
+
mdurl==0.1.2 ; python_version >= "3.12" and python_version < "4.0"
|
106
|
+
mistune==3.1.0 ; python_version >= "3.12" and python_version < "4.0"
|
107
|
+
more-itertools==10.5.0 ; python_version >= "3.12" and python_version < "4.0"
|
108
|
+
msgpack==1.1.0 ; python_version >= "3.12" and python_version < "4.0"
|
109
|
+
multidict==6.1.0 ; python_version >= "3.12" and python_version < "4.0"
|
110
|
+
nbclient==0.10.2 ; python_version >= "3.12" and python_version < "4.0"
|
111
|
+
nbconvert==7.16.5 ; python_version >= "3.12" and python_version < "4.0"
|
112
|
+
nbformat==5.10.4 ; python_version >= "3.12" and python_version < "4.0"
|
113
|
+
nest-asyncio==1.6.0 ; python_version >= "3.12" and python_version < "4.0"
|
114
|
+
nh3==0.2.20 ; python_version >= "3.12" and python_version < "4.0"
|
115
|
+
notebook-shim==0.2.4 ; python_version >= "3.12" and python_version < "4.0"
|
116
|
+
notebook==7.3.2 ; python_version >= "3.12" and python_version < "4.0"
|
117
|
+
numpy==2.2.1 ; python_version >= "3.12" and python_version < "4.0"
|
118
|
+
openai==1.58.1 ; python_version >= "3.12" and python_version < "4.0"
|
119
|
+
openpyxl==3.1.5 ; python_version >= "3.12" and python_version < "4.0"
|
120
|
+
overrides==7.7.0 ; python_version >= "3.12" and python_version < "4.0"
|
121
|
+
packaging==24.2 ; python_version >= "3.12" and python_version < "4.0"
|
122
|
+
pandas==2.2.3 ; python_version >= "3.12" and python_version < "4.0"
|
123
|
+
pandocfilters==1.5.1 ; python_version >= "3.12" and python_version < "4.0"
|
124
|
+
paramiko==3.5.0 ; python_version >= "3.12" and python_version < "4.0"
|
125
|
+
parso==0.8.4 ; python_version >= "3.12" and python_version < "4.0"
|
126
|
+
pexpect==4.9.0 ; python_version >= "3.12" and python_version < "4.0"
|
127
|
+
pillow==11.1.0 ; python_version >= "3.12" and python_version < "4.0"
|
128
|
+
pkginfo==1.12.0 ; python_version >= "3.12" and python_version < "4.0"
|
129
|
+
platformdirs==4.3.6 ; python_version >= "3.12" and python_version < "4.0"
|
130
|
+
poetry-core==1.9.1 ; python_version >= "3.12" and python_version < "4.0"
|
131
|
+
poetry-plugin-export==1.8.0 ; python_version >= "3.12" and python_version < "4.0"
|
132
|
+
poetry==1.8.5 ; python_version >= "3.12" and python_version < "4.0"
|
133
|
+
prometheus-client==0.21.1 ; python_version >= "3.12" and python_version < "4.0"
|
134
|
+
prompt-toolkit==3.0.48 ; python_version >= "3.12" and python_version < "4.0"
|
135
|
+
propcache==0.2.1 ; python_version >= "3.12" and python_version < "4.0"
|
136
|
+
psutil==6.1.1 ; python_version >= "3.12" and python_version < "4.0"
|
137
|
+
psycopg2-binary==2.9.10 ; python_version >= "3.12" and python_version < "4.0"
|
138
|
+
ptyprocess==0.7.0 ; python_version >= "3.12" and python_version < "4.0"
|
139
|
+
pure-eval==0.2.3 ; python_version >= "3.12" and python_version < "4.0"
|
140
|
+
pycparser==2.22 ; python_version >= "3.12" and python_version < "4.0"
|
141
|
+
pydantic-core==2.27.2 ; python_version >= "3.12" and python_version < "4.0"
|
142
|
+
pydantic-settings==2.7.1 ; python_version >= "3.12" and python_version < "4.0"
|
143
|
+
pydantic==2.10.4 ; python_version >= "3.12" and python_version < "4.0"
|
144
|
+
pygments==2.18.0 ; python_version >= "3.12" and python_version < "4.0"
|
145
|
+
pyjwt==2.10.1 ; python_version >= "3.12" and python_version < "4.0"
|
146
|
+
pymongo==4.10.1 ; python_version >= "3.12" and python_version < "4.0"
|
147
|
+
pynacl==1.5.0 ; python_version >= "3.12" and python_version < "4.0"
|
148
|
+
pyparsing==3.2.1 ; python_version >= "3.12" and python_version < "4.0"
|
149
|
+
pyproject-hooks==1.2.0 ; python_version >= "3.12" and python_version < "4.0"
|
150
|
+
pysocks==1.7.1 ; python_version >= "3.12" and python_version < "4.0"
|
151
|
+
python-dateutil==2.9.0.post0 ; python_version >= "3.12" and python_version < "4.0"
|
152
|
+
python-dotenv==1.0.1 ; python_version >= "3.12" and python_version < "4.0"
|
153
|
+
python-json-logger==3.2.1 ; python_version >= "3.12" and python_version < "4.0"
|
154
|
+
python-multipart==0.0.20 ; python_version >= "3.12" and python_version < "4.0"
|
155
|
+
python-socks[asyncio]==2.6.1 ; python_version >= "3.12" and python_version < "4.0"
|
156
|
+
pytz==2024.2 ; python_version >= "3.12" and python_version < "4.0"
|
157
|
+
pywin32-ctypes==0.2.3 ; python_version >= "3.12" and python_version < "4.0" and sys_platform == "win32"
|
158
|
+
pywin32==308 ; sys_platform == "win32" and platform_python_implementation != "PyPy" and python_version >= "3.12" and python_version < "4.0"
|
159
|
+
pywinpty==2.0.14 ; python_version >= "3.12" and python_version < "4.0" and os_name == "nt"
|
160
|
+
pyyaml==6.0.2 ; python_version >= "3.12" and python_version < "4.0"
|
161
|
+
pyzabbix==1.3.1 ; python_version >= "3.12" and python_version < "4.0"
|
162
|
+
pyzmq==26.2.0 ; python_version >= "3.12" and python_version < "4.0"
|
163
|
+
rapidfuzz==3.11.0 ; python_version >= "3.12" and python_version < "4.0"
|
164
|
+
readme-renderer==44.0 ; python_version >= "3.12" and python_version < "4.0"
|
165
|
+
redis==5.2.1 ; python_version >= "3.12" and python_version < "4.0"
|
166
|
+
referencing==0.35.1 ; python_version >= "3.12" and python_version < "4.0"
|
167
|
+
requests-toolbelt==1.0.0 ; python_version >= "3.12" and python_version < "4.0"
|
168
|
+
requests==2.32.3 ; python_version >= "3.12" and python_version < "4.0"
|
169
|
+
requests[socks]==2.32.3 ; python_version >= "3.12" and python_version < "4.0"
|
170
|
+
rfc3339-validator==0.1.4 ; python_version >= "3.12" and python_version < "4.0"
|
171
|
+
rfc3986-validator==0.1.1 ; python_version >= "3.12" and python_version < "4.0"
|
172
|
+
rfc3986==2.0.0 ; python_version >= "3.12" and python_version < "4.0"
|
173
|
+
rich==13.9.4 ; python_version >= "3.12" and python_version < "4.0"
|
174
|
+
rpds-py==0.22.3 ; python_version >= "3.12" and python_version < "4.0"
|
175
|
+
secretstorage==3.3.3 ; python_version >= "3.12" and python_version < "4.0" and sys_platform == "linux"
|
176
|
+
send2trash==1.8.3 ; python_version >= "3.12" and python_version < "4.0"
|
177
|
+
setuptools==75.6.0 ; python_version >= "3.12" and python_version < "4.0"
|
178
|
+
shellingham==1.5.4 ; python_version >= "3.12" and python_version < "4.0"
|
179
|
+
six==1.17.0 ; python_version >= "3.12" and python_version < "4.0"
|
180
|
+
sniffio==1.3.1 ; python_version >= "3.12" and python_version < "4.0"
|
181
|
+
soupsieve==2.6 ; python_version >= "3.12" and python_version < "4.0"
|
182
|
+
sqladmin==0.20.1 ; python_version >= "3.12" and python_version < "4.0"
|
183
|
+
sqlalchemy==2.0.36 ; python_version >= "3.12" and python_version < "4.0"
|
184
|
+
stack-data==0.6.3 ; python_version >= "3.12" and python_version < "4.0"
|
185
|
+
starlette==0.41.3 ; python_version >= "3.12" and python_version < "4.0"
|
186
|
+
terminado==0.18.1 ; python_version >= "3.12" and python_version < "4.0"
|
187
|
+
tinycss2==1.4.0 ; python_version >= "3.12" and python_version < "4.0"
|
188
|
+
tomlkit==0.13.2 ; python_version >= "3.12" and python_version < "4.0"
|
189
|
+
tornado==6.4.2 ; python_version >= "3.12" and python_version < "4.0"
|
190
|
+
tqdm==4.67.1 ; python_version >= "3.12" and python_version < "4.0"
|
191
|
+
traitlets==5.14.3 ; python_version >= "3.12" and python_version < "4.0"
|
192
|
+
trove-classifiers==2024.10.21.16 ; python_version >= "3.12" and python_version < "4.0"
|
193
|
+
twine==6.0.1 ; python_version >= "3.12" and python_version < "4.0"
|
194
|
+
types-python-dateutil==2.9.0.20241206 ; python_version >= "3.12" and python_version < "4.0"
|
195
|
+
typing-extensions==4.12.2 ; python_version >= "3.12" and python_version < "4.0"
|
196
|
+
tzdata==2024.2 ; python_version >= "3.12" and python_version < "4.0"
|
197
|
+
uri-template==1.3.0 ; python_version >= "3.12" and python_version < "4.0"
|
198
|
+
urllib3==2.3.0 ; python_version >= "3.12" and python_version < "4.0"
|
199
|
+
uvicorn==0.32.1 ; python_version >= "3.12" and python_version < "4.0"
|
200
|
+
vine==5.1.0 ; python_version >= "3.12" and python_version < "4.0"
|
201
|
+
virtualenv==20.28.0 ; python_version >= "3.12" and python_version < "4.0"
|
202
|
+
wcwidth==0.2.13 ; python_version >= "3.12" and python_version < "4.0"
|
203
|
+
webcolors==24.11.1 ; python_version >= "3.12" and python_version < "4.0"
|
204
|
+
webencodings==0.5.1 ; python_version >= "3.12" and python_version < "4.0"
|
205
|
+
websocket-client==1.8.0 ; python_version >= "3.12" and python_version < "4.0"
|
206
|
+
widgetsnbextension==4.0.13 ; python_version >= "3.12" and python_version < "4.0"
|
207
|
+
wtforms==3.1.2 ; python_version >= "3.12" and python_version < "4.0"
|
208
|
+
xattr==1.1.0 ; python_version >= "3.12" and python_version < "4.0" and sys_platform == "darwin"
|
209
|
+
yarl==1.18.3 ; python_version >= "3.12" and python_version < "4.0"
|
@@ -1,9 +1,13 @@
|
|
1
|
-
from arpakitlib.ar_fastapi_util import BaseAPIErrorCodes
|
1
|
+
from arpakitlib.ar_fastapi_util import BaseAPIErrorCodes, BaseAPIErrorSpecificationCodes
|
2
2
|
|
3
3
|
|
4
4
|
class APIErrorCodes(BaseAPIErrorCodes):
|
5
5
|
pass
|
6
6
|
|
7
7
|
|
8
|
+
class APIErrorSpecificationCodes(BaseAPIErrorSpecificationCodes):
|
9
|
+
pass
|
10
|
+
|
11
|
+
|
8
12
|
if __name__ == '__main__':
|
9
13
|
print(APIErrorCodes.str_for_print())
|
@@ -55,7 +55,7 @@ def create_api_app() -> FastAPI:
|
|
55
55
|
|
56
56
|
startup_api_events.append(StartupAPIEvent(transmitted_api_data=transmitted_api_data))
|
57
57
|
|
58
|
-
if settings.
|
58
|
+
if settings.api_start_operation_executor_worker:
|
59
59
|
raise_for_type(sqlalchemy_db, SQLAlchemyDB)
|
60
60
|
startup_api_events.append(
|
61
61
|
SafeRunWorkerStartupAPIEvent(
|
@@ -70,7 +70,7 @@ def create_api_app() -> FastAPI:
|
|
70
70
|
)
|
71
71
|
)
|
72
72
|
|
73
|
-
if settings.
|
73
|
+
if settings.api_start_scheduled_operation_creator_worker:
|
74
74
|
raise_for_type(sqlalchemy_db, SQLAlchemyDB)
|
75
75
|
startup_api_events.append(
|
76
76
|
SafeRunWorkerStartupAPIEvent(
|
@@ -0,0 +1,14 @@
|
|
1
|
+
from fastapi import APIRouter
|
2
|
+
|
3
|
+
from src.api.const import APIErrorCodes, APIErrorSpecificationCodes
|
4
|
+
from src.api.schema.v1.out import APIErrorInfo
|
5
|
+
|
6
|
+
api_router = APIRouter()
|
7
|
+
|
8
|
+
|
9
|
+
@api_router.get("/", response_model=APIErrorInfo)
|
10
|
+
async def _():
|
11
|
+
return APIErrorInfo(
|
12
|
+
api_error_codes=APIErrorCodes.values_list(),
|
13
|
+
api_error_specification_codes=APIErrorSpecificationCodes.values_list()
|
14
|
+
)
|
@@ -25,9 +25,9 @@ class Settings(SimpleSettings):
|
|
25
25
|
|
26
26
|
api_create_story_log_before_response_in_handle_exception: bool = True
|
27
27
|
|
28
|
-
|
28
|
+
api_start_operation_executor_worker: bool = False
|
29
29
|
|
30
|
-
|
30
|
+
api_start_scheduled_operation_creator_worker: bool = False
|
31
31
|
|
32
32
|
api_port: int | None = int("{API_PORT}") if "{API_PORT}".isdigit() else None
|
33
33
|
|
arpakitlib/ar_fastapi_util.py
CHANGED
@@ -75,10 +75,14 @@ class BaseAPIErrorCodes(Enumeration):
|
|
75
75
|
not_found = "NOT_FOUND"
|
76
76
|
|
77
77
|
|
78
|
+
class BaseAPIErrorSpecificationCodes(Enumeration):
|
79
|
+
pass
|
80
|
+
|
81
|
+
|
78
82
|
class ErrorSO(BaseSO):
|
79
83
|
has_error: bool = True
|
80
84
|
error_code: str | None = None
|
81
|
-
|
85
|
+
error_specification_code: str | None = None
|
82
86
|
error_description: str | None = None
|
83
87
|
error_data: dict[str, Any] = {}
|
84
88
|
|
@@ -120,13 +124,13 @@ class APIException(fastapi.exceptions.HTTPException):
|
|
120
124
|
*,
|
121
125
|
status_code: int = starlette.status.HTTP_400_BAD_REQUEST,
|
122
126
|
error_code: str | None = BaseAPIErrorCodes.unknown_error,
|
123
|
-
|
127
|
+
error_specification_code: str | None = None,
|
124
128
|
error_description: str | None = None,
|
125
129
|
error_data: dict[str, Any] | None = None
|
126
130
|
):
|
127
131
|
self.status_code = status_code
|
128
132
|
self.error_code = error_code
|
129
|
-
self.
|
133
|
+
self.error_specification_code = error_specification_code
|
130
134
|
self.error_description = error_description
|
131
135
|
if error_data is None:
|
132
136
|
error_data = {}
|
@@ -135,7 +139,7 @@ class APIException(fastapi.exceptions.HTTPException):
|
|
135
139
|
self.error_so = ErrorSO(
|
136
140
|
has_error=True,
|
137
141
|
error_code=self.error_code,
|
138
|
-
|
142
|
+
error_specification_code=self.error_specification_code,
|
139
143
|
error_description=self.error_description,
|
140
144
|
error_data=self.error_data
|
141
145
|
)
|
@@ -211,9 +215,9 @@ def create_handle_exception(
|
|
211
215
|
if error_so.error_code:
|
212
216
|
error_so.error_code = error_so.error_code.upper().replace(" ", "_").strip()
|
213
217
|
|
214
|
-
if error_so.
|
215
|
-
error_so.
|
216
|
-
error_so.
|
218
|
+
if error_so.error_specification_code:
|
219
|
+
error_so.error_specification_code = (
|
220
|
+
error_so.error_specification_code.upper().replace(" ", "_").strip()
|
217
221
|
)
|
218
222
|
|
219
223
|
if _need_exc_info:
|
@@ -588,7 +592,7 @@ def simple_api_router_for_testing():
|
|
588
592
|
async def _():
|
589
593
|
raise APIException(
|
590
594
|
error_code="raise_fake_exception_2",
|
591
|
-
|
595
|
+
error_specification_code="raise_fake_exception_2",
|
592
596
|
error_description="raise_fake_exception_2"
|
593
597
|
)
|
594
598
|
|
@@ -6,7 +6,7 @@ arpakitlib/_arpakit_project_template/AUTHOR.md,sha256=d5QAx-1vbHfYYABpNQ0Yfjaxsw
|
|
6
6
|
arpakitlib/_arpakit_project_template/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
|
7
7
|
arpakitlib/_arpakit_project_template/NOTICE,sha256=95aUzaPJjVpDsGAsNzVnq7tHTxAl0s5UFznCTkVCau4,763
|
8
8
|
arpakitlib/_arpakit_project_template/README.md,sha256=EEoHPZrJQtLS3fKD3JvoPhkGhjfuDihxK5fmAGwihCQ,65
|
9
|
-
arpakitlib/_arpakit_project_template/example.env,sha256=
|
9
|
+
arpakitlib/_arpakit_project_template/example.env,sha256=WGjeWQDQBZOh5c1jef6U8D7xxxz4dZAHWqBP8uEQAHs,464
|
10
10
|
arpakitlib/_arpakit_project_template/manage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
11
11
|
arpakitlib/_arpakit_project_template/manage/docker_ps.sh,sha256=uwm8vHgeuNLCOn0o9hgP_uc-PUkS9FwLyzZh6ItZ3do,15
|
12
12
|
arpakitlib/_arpakit_project_template/manage/docker_ps_a.sh,sha256=nOQejihYlzstg9oROvYwHIsSLt2Sw0DWQEeT3GBaBNs,18
|
@@ -48,6 +48,7 @@ arpakitlib/_arpakit_project_template/manage/poetry_show.sh,sha256=pclR9efCNrrGyJ
|
|
48
48
|
arpakitlib/_arpakit_project_template/manage/poetry_show_arpakitlib.sh,sha256=5ibH12wGYc-Cj8zl5abtI_hLVSW0o4ofktt-w7I6wQo,37
|
49
49
|
arpakitlib/_arpakit_project_template/manage/poetry_update.sh,sha256=ZtoXIC4Qq7PMTDxQMwUxvkYC6lTc5LC23ILTywWbyoU,164
|
50
50
|
arpakitlib/_arpakit_project_template/manage/poetry_update_arpakitlib.sh,sha256=hh7vj-yKgKqLfaGb8cjsJ_NTa7fBtE4s3yxzte4D8bw,163
|
51
|
+
arpakitlib/_arpakit_project_template/manage/requirements.txt,sha256=CGgX4eDsmuQN9UP0KZd4J0EeTIJVpdoC6_DyF1U6bco,15651
|
51
52
|
arpakitlib/_arpakit_project_template/manage/sandbox/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
52
53
|
arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_1.py,sha256=WdE1IWyObxVUT9jE3qgNMaFXXkKV6nUI0ZToLT1uhdk,155
|
53
54
|
arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_2.py,sha256=WdE1IWyObxVUT9jE3qgNMaFXXkKV6nUI0ZToLT1uhdk,155
|
@@ -72,23 +73,24 @@ arpakitlib/_arpakit_project_template/src/additional_model/additional_model.py,sh
|
|
72
73
|
arpakitlib/_arpakit_project_template/src/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
73
74
|
arpakitlib/_arpakit_project_template/src/api/asgi.py,sha256=a5UBxOyNC8NG3E0ayhiDo3t5tPoB3WtOf2gbZJFWBAA,74
|
74
75
|
arpakitlib/_arpakit_project_template/src/api/auth.py,sha256=Ljq_VjjiAaW3HEzq60nkSI-HkHfuv6j5-8Q6Qs8V9bU,261
|
75
|
-
arpakitlib/_arpakit_project_template/src/api/const.py,sha256=
|
76
|
-
arpakitlib/_arpakit_project_template/src/api/create_api_app.py,sha256=
|
76
|
+
arpakitlib/_arpakit_project_template/src/api/const.py,sha256=7d4qD5hedqr7QxVzbfsA7E1bNZn2Pm2U8joXGtpANu0,287
|
77
|
+
arpakitlib/_arpakit_project_template/src/api/create_api_app.py,sha256=JQMzbvdu6Vnl8zrQFFkOTNKmqj0tMvDEz5JRVnMJlf4,4502
|
77
78
|
arpakitlib/_arpakit_project_template/src/api/event.py,sha256=58wCVyVSIe_kydWi44M0Wvp7bTnV8xvO30gMXzjbFYc,750
|
78
79
|
arpakitlib/_arpakit_project_template/src/api/router/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
79
80
|
arpakitlib/_arpakit_project_template/src/api/router/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
80
|
-
arpakitlib/_arpakit_project_template/src/api/router/v1/
|
81
|
+
arpakitlib/_arpakit_project_template/src/api/router/v1/get_api_error_info.py,sha256=aq_AXaJAz335shcPhUvoPXgXSk_KnbFztBCEXaI7UWE,402
|
82
|
+
arpakitlib/_arpakit_project_template/src/api/router/v1/main_router.py,sha256=9vhW_qzBuBV0rl4X8iP85ZF8K0xv-ughO34JNAG8DHc,180
|
81
83
|
arpakitlib/_arpakit_project_template/src/api/schema/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
82
84
|
arpakitlib/_arpakit_project_template/src/api/schema/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
83
85
|
arpakitlib/_arpakit_project_template/src/api/schema/v1/in_.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
84
|
-
arpakitlib/_arpakit_project_template/src/api/schema/v1/out.py,sha256=
|
86
|
+
arpakitlib/_arpakit_project_template/src/api/schema/v1/out.py,sha256=v5MDcwcHPEbdUEJqC7lzLhI4n8LRfQRcyRKr_C4xSN8,162
|
85
87
|
arpakitlib/_arpakit_project_template/src/api/start_api_for_dev.py,sha256=BwROGTR8Hm1ewx_Z0k8HXeql4RIItCdCtP_hmhTT_PM,344
|
86
88
|
arpakitlib/_arpakit_project_template/src/api/transmitted_api_data.py,sha256=YtpATqzN216e76W5QOuzN-Vo6343PVDiHpKWYQ6oqyU,278
|
87
89
|
arpakitlib/_arpakit_project_template/src/api/util.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
88
90
|
arpakitlib/_arpakit_project_template/src/business_service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
89
91
|
arpakitlib/_arpakit_project_template/src/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
90
92
|
arpakitlib/_arpakit_project_template/src/core/const.py,sha256=CZZew674y7LhCAlYhvuF5cV4Zb9nQ17j2Tcuj2GEBf4,1232
|
91
|
-
arpakitlib/_arpakit_project_template/src/core/settings.py,sha256=
|
93
|
+
arpakitlib/_arpakit_project_template/src/core/settings.py,sha256=O3uVuw9TSSIR2R32EWALAuUK05B6ufdWHl0LKVOuY98,2060
|
92
94
|
arpakitlib/_arpakit_project_template/src/core/util.py,sha256=J1_AiI4DW_VB8ldLNATP6mjxz254CSxceGcqUbT0SVU,2006
|
93
95
|
arpakitlib/_arpakit_project_template/src/db/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
94
96
|
arpakitlib/_arpakit_project_template/src/db/sqlalchemy_model.py,sha256=nXtayUkBaVb6tWx5qJgXZLbLOTVAjnSLpSDxBm7yZLc,234
|
@@ -141,7 +143,7 @@ arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.css,sha256=jzPZlgJTFwSdSphk9C
|
|
141
143
|
arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.css.map,sha256=5wq8eXMLU6Zxb45orZPL1zAsBFJReFw6GjYqGpUX3hg,262650
|
142
144
|
arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.js,sha256=ffrLZHHEQ_g84A-ul3yWa10Kk09waOAxHcQXPuZuavg,339292
|
143
145
|
arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.js.map,sha256=9UhIW7MqCOZPAz1Sl1IKfZUuhWU0p-LJqrnjjJD9Xhc,1159454
|
144
|
-
arpakitlib/ar_fastapi_util.py,sha256=
|
146
|
+
arpakitlib/ar_fastapi_util.py,sha256=hPJwvxVMo9AtMoFLTlvxhFgP6pavO_haiCQOK8-dSWg,24181
|
145
147
|
arpakitlib/ar_file_storage_in_dir_util.py,sha256=D3e3rGuHoI6xqAA5mVvEpVVpOWY1jyjNsjj2UhyHRbE,3674
|
146
148
|
arpakitlib/ar_file_util.py,sha256=07xCF7paAUP2JUyfpeX0l3N1oCSma7qAcBmrCIZVi3g,452
|
147
149
|
arpakitlib/ar_hash_util.py,sha256=Iqy6KBAOLBQMFLWv676boI5sV7atT2B-fb7aCdHOmIQ,340
|
@@ -170,9 +172,9 @@ arpakitlib/ar_str_util.py,sha256=oCEtQ_TTn35OEz9jCNLjbhopq76JmaifD_iYR-nEJJ4,214
|
|
170
172
|
arpakitlib/ar_type_util.py,sha256=e6Ch8I_B3FMJMj-fiZvTwtGde4hxSa48fGt5g8RlV6I,2301
|
171
173
|
arpakitlib/ar_yookassa_api_client_util.py,sha256=sh4fcUkAkdOetFn9JYoTvjcSXP-M1wU04KEY-ECLfLg,5137
|
172
174
|
arpakitlib/ar_zabbix_api_client_util.py,sha256=Q-VR4MvoZ9aHwZeYZr9G3LwN-ANx1T5KFmF6pvPM-9M,6402
|
173
|
-
arpakitlib-1.7.
|
174
|
-
arpakitlib-1.7.
|
175
|
-
arpakitlib-1.7.
|
176
|
-
arpakitlib-1.7.
|
177
|
-
arpakitlib-1.7.
|
178
|
-
arpakitlib-1.7.
|
175
|
+
arpakitlib-1.7.46.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
|
176
|
+
arpakitlib-1.7.46.dist-info/METADATA,sha256=QFhSuPk-zI6tFcm5u0DM1SQO-EtJnWOxjsyHnWwLDIE,2824
|
177
|
+
arpakitlib-1.7.46.dist-info/NOTICE,sha256=95aUzaPJjVpDsGAsNzVnq7tHTxAl0s5UFznCTkVCau4,763
|
178
|
+
arpakitlib-1.7.46.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
179
|
+
arpakitlib-1.7.46.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
|
180
|
+
arpakitlib-1.7.46.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|