arpakitlib 1.7.45__py3-none-any.whl → 1.7.47__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.
@@ -5,8 +5,8 @@
5
5
  # api_title=
6
6
  # api_description=
7
7
  # api_create_story_log_before_response_in_handle_exception=
8
- # api_start_execute_operation_worker=
9
- # api_start_create_scheduled_operation_worker=
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.api_start_execute_operation_worker:
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.api_start_create_scheduled_operation_worker:
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
+ )
@@ -1,3 +1,7 @@
1
1
  from fastapi import APIRouter
2
2
 
3
+ from src.api.router.v1 import get_api_error_info
4
+
3
5
  api_v1_main_router = APIRouter()
6
+
7
+ api_v1_main_router.include_router(get_api_error_info.api_router)
@@ -0,0 +1,6 @@
1
+ from arpakitlib.ar_fastapi_util import BaseSO
2
+
3
+
4
+ class APIErrorInfoSO(BaseSO):
5
+ api_error_codes: list[str] = []
6
+ api_error_specification_codes: list[str] = []
@@ -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
- api_start_execute_operation_worker: bool = False
28
+ api_start_operation_executor_worker: bool = False
29
29
 
30
- api_start_create_scheduled_operation_worker: bool = False
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
 
@@ -13,7 +13,7 @@ _logger = logging.getLogger(__name__)
13
13
 
14
14
  def init_arpakit_project_template(
15
15
  *,
16
- project_dirpath: str,
16
+ project_dirpath: str = "./",
17
17
  overwrite_if_exists: bool = False,
18
18
  project_name: str | None = None,
19
19
  sql_db_port: int | None = None,
@@ -22,12 +22,17 @@ def execute_arpakitlib_cli(*, full_command: str | None = None):
22
22
  raise Exception(f"not command, command={command}")
23
23
 
24
24
  if command == "help":
25
- print(
26
- "Commands:"
27
- "\n- init_arpakit_project_template"
28
- " (project_dirpath, overwrite_if_exists, project_name, sql_db_port, api_port,"
29
- " ignore_paths_startswith, only_paths_startswith)"
30
- )
25
+ print("Commands:")
26
+ print()
27
+ print("-c init_arpakit_project_template")
28
+ print("-project_dirpath ...")
29
+ print("-overwrite_if_exists ...")
30
+ print("-project_name ...")
31
+ print("-sql_db_port ...")
32
+ print("-api_port ...")
33
+ print("-ignore_paths_startswith ...")
34
+ print("-only_paths_startswith ...")
35
+ print("\n")
31
36
 
32
37
  elif command == "init_arpakit_project_template":
33
38
  project_dirpath = raise_if_string_blank(parsed_command.get_value_by_keys(keys=["pd", "project_dirpath"]))
@@ -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
- error_code_specification: str | None = None
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
- error_code_specification: str | None = None,
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.error_code_specification = error_code_specification
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
- error_code_specification=self.error_code_specification,
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.error_code_specification:
215
- error_so.error_code_specification = (
216
- error_so.error_code_specification.upper().replace(" ", "_").strip()
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
- error_code_specification="raise_fake_exception_2",
595
+ error_specification_code="raise_fake_exception_2",
592
596
  error_description="raise_fake_exception_2"
593
597
  )
594
598
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: arpakitlib
3
- Version: 1.7.45
3
+ Version: 1.7.47
4
4
  Summary: arpakitlib
5
5
  Home-page: https://github.com/ARPAKIT-Company/arpakitlib
6
6
  License: Apache-2.0
@@ -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=CgmnowXuyz3_VGVPtS4e2hGupEIa_zeWY5zfOjsW4pc,462
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=ttbzJdOUZoAngR5naFubXjaI3ED06051HGpXZFpDPV0,178
76
- arpakitlib/_arpakit_project_template/src/api/create_api_app.py,sha256=mqEg3MV_EQQI2RhtpRu0ElWZ1vo_F7iRYqAvk88qSJo,4500
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/main_router.py,sha256=7MnhMwhmkYlbtvhmprXJ8nfs_iOPYBluwhcef5e_EBY,64
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=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
86
+ arpakitlib/_arpakit_project_template/src/api/schema/v1/out.py,sha256=odc-UyxBwUPh4t0H6qIuzAsBA_Qrm3H2qP-YBgJpaKc,164
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=Rg90TaiilxSxqvfeqrFeZNIXxrvfWgvwYME9ErHJ200,2058
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
@@ -110,9 +112,9 @@ arpakitlib/api_key_util.py,sha256=DtzREor5h70XlZOv1ounNoPHL5_cc0YA28SaHvlFaWs,22
110
112
  arpakitlib/ar_additional_model_util.py,sha256=tNzZhZtvtJ1qC6Cn4UnyoEL58HudfpCdQy5ftkCqyik,473
111
113
  arpakitlib/ar_aiogram_util.py,sha256=5JPCDZpdBGTE-EIWPRez9amCZAX7XemFIVu5YrQK7Pw,12264
112
114
  arpakitlib/ar_arpakit_lib_module_util.py,sha256=V_mc3Ml73Tzz3arxmwEfIxruKMyrwbe8XZ9FfVDtUXY,5446
113
- arpakitlib/ar_arpakit_project_template_util.py,sha256=p_Xl6snazS17UwX0EI5M0mPE_GDBIZNgtpIfVixJIms,3692
115
+ arpakitlib/ar_arpakit_project_template_util.py,sha256=AswzQvvb-zfUyrcP4EP0K756YL-oC8fA9VperlPf_d0,3699
114
116
  arpakitlib/ar_arpakit_schedule_uust_api_client_util.py,sha256=SYWWQDohPnw0qpBIu2hEvGZRVdaI4NUUQdEjnMnseo4,18237
115
- arpakitlib/ar_arpakitlib_cli_util.py,sha256=h1Iby85XsNjEy88ABZqYQr5fDfdtbysnkxsbTZfOaHI,2985
117
+ arpakitlib/ar_arpakitlib_cli_util.py,sha256=ZktW3T6YRSM4_IDjbVhO3erceiQ5N6Gab_O-LtglfAI,3117
116
118
  arpakitlib/ar_base64_util.py,sha256=aZkg2cZTuAaP2IWeG_LXJ6RO7qhyskVwec-Lks0iM-k,676
117
119
  arpakitlib/ar_base_worker_util.py,sha256=vb7JrqiYvG7yw7-gZAP-oFwEEMqOuBGCpMJ5lw8wF-E,3382
118
120
  arpakitlib/ar_cache_file_util.py,sha256=Fo2pH-Zqm966KWFBHG_pbiySGZvhIFCYqy7k1weRfJ0,3476
@@ -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=HOn_jpi4ruH11m8XGiFpyvUZmAED7z31-CdL-wXvjK8,24119
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.45.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
174
- arpakitlib-1.7.45.dist-info/METADATA,sha256=7WXqfpqnXNdClOAoxKGuDN9DwBfiMcVB7MO203v_cyU,2824
175
- arpakitlib-1.7.45.dist-info/NOTICE,sha256=95aUzaPJjVpDsGAsNzVnq7tHTxAl0s5UFznCTkVCau4,763
176
- arpakitlib-1.7.45.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
177
- arpakitlib-1.7.45.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
178
- arpakitlib-1.7.45.dist-info/RECORD,,
175
+ arpakitlib-1.7.47.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
176
+ arpakitlib-1.7.47.dist-info/METADATA,sha256=PzkNQVnM-G5EjBRQm4AbGScs6galVyRLRruq_MJ6kmQ,2824
177
+ arpakitlib-1.7.47.dist-info/NOTICE,sha256=95aUzaPJjVpDsGAsNzVnq7tHTxAl0s5UFznCTkVCau4,763
178
+ arpakitlib-1.7.47.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
179
+ arpakitlib-1.7.47.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
180
+ arpakitlib-1.7.47.dist-info/RECORD,,