arpakitlib 1.7.44__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 +3 -2
- arpakitlib/_arpakit_project_template/manage/requirements.txt +209 -0
- arpakitlib/_arpakit_project_template/manage/settings_generate_env_example.py +2 -4
- 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/_arpakit_project_template/src/operation_execution/const.py +1 -3
- arpakitlib/_arpakit_project_template/src/operation_execution/scheduled_operations.py +18 -6
- arpakitlib/ar_fastapi_util.py +12 -8
- arpakitlib/ar_operation_execution_util.py +28 -2
- arpakitlib/ar_settings_util.py +9 -2
- {arpakitlib-1.7.44.dist-info → arpakitlib-1.7.46.dist-info}/METADATA +1 -1
- {arpakitlib-1.7.44.dist-info → arpakitlib-1.7.46.dist-info}/RECORD +20 -18
- {arpakitlib-1.7.44.dist-info → arpakitlib-1.7.46.dist-info}/LICENSE +0 -0
- {arpakitlib-1.7.44.dist-info → arpakitlib-1.7.46.dist-info}/NOTICE +0 -0
- {arpakitlib-1.7.44.dist-info → arpakitlib-1.7.46.dist-info}/WHEEL +0 -0
- {arpakitlib-1.7.44.dist-info → arpakitlib-1.7.46.dist-info}/entry_points.txt +0 -0
@@ -5,9 +5,10 @@
|
|
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
|
+
# api_correct_api_key=
|
11
12
|
# var_dirname=
|
12
13
|
# var_dirpath=
|
13
14
|
# log_filename=
|
@@ -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"
|
@@ -5,10 +5,8 @@ from src.core.settings import Settings
|
|
5
5
|
|
6
6
|
|
7
7
|
def command():
|
8
|
-
|
9
|
-
|
10
|
-
with open(os.path.join(BASE_DIRPATH, "example.env"), mode="w") as f:
|
11
|
-
f.write(env_example)
|
8
|
+
print(Settings.generate_env_example())
|
9
|
+
Settings.save_env_example_to_file(filepath=os.path.join(BASE_DIRPATH, "example.env"))
|
12
10
|
|
13
11
|
|
14
12
|
if __name__ == '__main__':
|
@@ -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
|
|
@@ -1,13 +1,25 @@
|
|
1
|
-
from datetime import timedelta
|
1
|
+
from datetime import timedelta, time
|
2
2
|
|
3
|
-
from arpakitlib.ar_operation_execution_util import ScheduledOperation, every_timedelta_is_time_func
|
3
|
+
from arpakitlib.ar_operation_execution_util import ScheduledOperation, every_timedelta_is_time_func, \
|
4
|
+
between_different_times_is_time_func
|
4
5
|
from arpakitlib.ar_sqlalchemy_model_util import BaseOperationTypes
|
5
6
|
|
6
7
|
ALL_SCHEDULED_OPERATIONS = []
|
7
8
|
|
8
|
-
|
9
|
+
healthcheck_1_scheduled_operation = ScheduledOperation(
|
9
10
|
type=BaseOperationTypes.healthcheck_,
|
10
|
-
input_data={},
|
11
|
-
is_time_func=every_timedelta_is_time_func(td=timedelta(seconds=
|
11
|
+
input_data={"healthcheck_1": "healthcheck_1"},
|
12
|
+
is_time_func=every_timedelta_is_time_func(td=timedelta(seconds=15))
|
12
13
|
)
|
13
|
-
ALL_SCHEDULED_OPERATIONS.append(
|
14
|
+
ALL_SCHEDULED_OPERATIONS.append(healthcheck_1_scheduled_operation)
|
15
|
+
|
16
|
+
healthcheck_2_scheduled_operation = ScheduledOperation(
|
17
|
+
type=BaseOperationTypes.healthcheck_,
|
18
|
+
input_data={"healthcheck_2": "healthcheck_2"},
|
19
|
+
is_time_func=between_different_times_is_time_func(
|
20
|
+
from_time=time(hour=12, minute=0),
|
21
|
+
to_time=time(hour=12, minute=15)
|
22
|
+
),
|
23
|
+
timeout_after_creation=timedelta(seconds=60)
|
24
|
+
)
|
25
|
+
ALL_SCHEDULED_OPERATIONS.append(healthcheck_2_scheduled_operation)
|
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
|
|
@@ -16,6 +16,7 @@ from sqlalchemy.orm import Session
|
|
16
16
|
from arpakitlib.ar_base_worker_util import BaseWorker
|
17
17
|
from arpakitlib.ar_datetime_util import now_utc_dt
|
18
18
|
from arpakitlib.ar_dict_util import combine_dicts
|
19
|
+
from arpakitlib.ar_sleep_util import sync_safe_sleep, async_safe_sleep
|
19
20
|
from arpakitlib.ar_sqlalchemy_model_util import OperationDBM, StoryLogDBM, BaseOperationTypes
|
20
21
|
from arpakitlib.ar_sqlalchemy_util import SQLAlchemyDB
|
21
22
|
|
@@ -292,6 +293,7 @@ class ScheduledOperation(BaseModel):
|
|
292
293
|
type: str
|
293
294
|
input_data: dict[str, Any] | None = None
|
294
295
|
is_time_func: Callable[[], bool]
|
296
|
+
timeout_after_creation: timedelta | None = None
|
295
297
|
|
296
298
|
|
297
299
|
class ScheduledOperationCreatorWorker(BaseWorker):
|
@@ -315,6 +317,8 @@ class ScheduledOperationCreatorWorker(BaseWorker):
|
|
315
317
|
self.sqlalchemy_db.init()
|
316
318
|
|
317
319
|
def sync_run(self):
|
320
|
+
timeout = None
|
321
|
+
|
318
322
|
for scheduled_operation in self.scheduled_operations:
|
319
323
|
if not scheduled_operation.is_time_func():
|
320
324
|
continue
|
@@ -327,10 +331,22 @@ class ScheduledOperationCreatorWorker(BaseWorker):
|
|
327
331
|
session.commit()
|
328
332
|
session.refresh(operation_dbm)
|
329
333
|
|
330
|
-
|
334
|
+
if scheduled_operation.timeout_after_creation is not None:
|
335
|
+
if timeout is not None:
|
336
|
+
if scheduled_operation.timeout_after_creation > timeout:
|
337
|
+
timeout = scheduled_operation.timeout_after_creation
|
338
|
+
else:
|
339
|
+
timeout = scheduled_operation.timeout_after_creation
|
340
|
+
|
341
|
+
if timeout is not None:
|
342
|
+
sync_safe_sleep(n=timeout)
|
343
|
+
|
344
|
+
async def async_on_startup(self):
|
331
345
|
self.sqlalchemy_db.init()
|
332
346
|
|
333
|
-
def async_run(self):
|
347
|
+
async def async_run(self):
|
348
|
+
timeout: timedelta | None = None
|
349
|
+
|
334
350
|
for scheduled_operation in self.scheduled_operations:
|
335
351
|
if not scheduled_operation.is_time_func():
|
336
352
|
continue
|
@@ -343,6 +359,16 @@ class ScheduledOperationCreatorWorker(BaseWorker):
|
|
343
359
|
session.commit()
|
344
360
|
session.refresh(operation_dbm)
|
345
361
|
|
362
|
+
if scheduled_operation.timeout_after_creation is not None:
|
363
|
+
if timeout is not None:
|
364
|
+
if scheduled_operation.timeout_after_creation > timeout:
|
365
|
+
timeout = scheduled_operation.timeout_after_creation
|
366
|
+
else:
|
367
|
+
timeout = scheduled_operation.timeout_after_creation
|
368
|
+
|
369
|
+
if timeout is not None:
|
370
|
+
await async_safe_sleep(n=timeout)
|
371
|
+
|
346
372
|
|
347
373
|
def every_timedelta_is_time_func(*, td: timedelta) -> Callable:
|
348
374
|
last_now_utc_dt = now_utc_dt()
|
arpakitlib/ar_settings_util.py
CHANGED
@@ -35,8 +35,8 @@ class SimpleSettings(BaseSettings):
|
|
35
35
|
return v
|
36
36
|
|
37
37
|
@property
|
38
|
-
def
|
39
|
-
return self.mode_type == self.ModeTypes.
|
38
|
+
def is_mode_type_not_prod(self) -> bool:
|
39
|
+
return self.mode_type == self.ModeTypes.not_prod
|
40
40
|
|
41
41
|
@property
|
42
42
|
def is_mode_type_prod(self) -> bool:
|
@@ -45,3 +45,10 @@ class SimpleSettings(BaseSettings):
|
|
45
45
|
@classmethod
|
46
46
|
def generate_env_example(cls) -> str:
|
47
47
|
return generate_env_example(settings_class=cls)
|
48
|
+
|
49
|
+
@classmethod
|
50
|
+
def save_env_example_to_file(cls, filepath: str) -> str:
|
51
|
+
env_example = cls.generate_env_example()
|
52
|
+
with open(filepath, mode="w") as f:
|
53
|
+
f.write(env_example)
|
54
|
+
return env_example
|
@@ -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
|
@@ -59,7 +60,7 @@ arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_7.py,sha256=WdE1IWyO
|
|
59
60
|
arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_8.sh,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
60
61
|
arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_9.sh,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
61
62
|
arpakitlib/_arpakit_project_template/manage/settings_check.py,sha256=DeOGoWXgk2_VXpCIFbQgf1k2zcnv4hOLWIVc5BDv80c,260
|
62
|
-
arpakitlib/_arpakit_project_template/manage/settings_generate_env_example.py,sha256=
|
63
|
+
arpakitlib/_arpakit_project_template/manage/settings_generate_env_example.py,sha256=BLLeF4JenexXbO1mMj8X-lB81TG3-QTmN4DjPYEUI8o,288
|
63
64
|
arpakitlib/_arpakit_project_template/manage/sqlalchemy_db_check_conn.py,sha256=3Q4QfvFVBZsbMMH5yr6v3a6v6UjQuIEIujlxGpvykNA,190
|
64
65
|
arpakitlib/_arpakit_project_template/manage/sqlalchemy_db_init.py,sha256=FqKVuakafDndHKBsyPcSowhss6MZb0Soy5oREUPVLUw,184
|
65
66
|
arpakitlib/_arpakit_project_template/manage/sqlalchemy_db_reinit.py,sha256=twBWh64WU-sqHUte8v9ZJUZ_bCsFABExgIWLOnfLu4w,186
|
@@ -72,31 +73,32 @@ 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
|
95
97
|
arpakitlib/_arpakit_project_template/src/db/util.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
96
98
|
arpakitlib/_arpakit_project_template/src/operation_execution/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
97
|
-
arpakitlib/_arpakit_project_template/src/operation_execution/const.py,sha256=
|
99
|
+
arpakitlib/_arpakit_project_template/src/operation_execution/const.py,sha256=HjupGEDUWVijQlbzxZPI9vBbAVOETUYzYU9pdnc9IcI,176
|
98
100
|
arpakitlib/_arpakit_project_template/src/operation_execution/operation_executor.py,sha256=5sZpn3tVxnmcuIVRD5sbBhiMY5SAqPCc4tHzoNzDe4c,619
|
99
|
-
arpakitlib/_arpakit_project_template/src/operation_execution/scheduled_operations.py,sha256=
|
101
|
+
arpakitlib/_arpakit_project_template/src/operation_execution/scheduled_operations.py,sha256=hBPZIOJAX7ym54s2tJ2QRky15FqqDF9r4yTr8Nh2YqI,985
|
100
102
|
arpakitlib/_arpakit_project_template/src/operation_execution/start_operation_executor_for_dev_.py,sha256=N-X3kvjQZeEDxp2Z7DDrr4hR-wR9LmFMLPAA8tzo87A,589
|
101
103
|
arpakitlib/_arpakit_project_template/src/operation_execution/start_scheduled_operation_creator_for_dev.py,sha256=RyHCafGTJaY-o3mgt7MReqgJ2txoBDhhsFzrjRiZWe4,574
|
102
104
|
arpakitlib/_arpakit_project_template/src/test_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -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
|
@@ -156,12 +158,12 @@ arpakitlib/ar_logging_util.py,sha256=Gyd7B9k0glIXPm6dASiigWLq9LC9lw6vhXTCeWpY5PY
|
|
156
158
|
arpakitlib/ar_mongodb_util.py,sha256=2ECkTnGAZ92qxioL-fmN6R4yZOSr3bXdXLWTzT1C3vk,4038
|
157
159
|
arpakitlib/ar_need_type_util.py,sha256=xq5bbAXJG-93CRVZUcLW0ZdM22rj-ZUW17C5hX_5grg,1699
|
158
160
|
arpakitlib/ar_openai_api_client_util.py,sha256=dHUbfg1sVVCjsNl_fra3iCMEz1bR-Hk9fE-DdYbu7Wc,1215
|
159
|
-
arpakitlib/ar_operation_execution_util.py,sha256=
|
161
|
+
arpakitlib/ar_operation_execution_util.py,sha256=EL7X7vN2GlOjlps3lCNoJPOP5lyqpbz4VTKmOWz7gVE,14948
|
160
162
|
arpakitlib/ar_parse_command.py,sha256=-s61xcATIsfw1eV_iD3xi-grsitbGzSDoAFc5V0OFy4,3447
|
161
163
|
arpakitlib/ar_postgresql_util.py,sha256=1AuLjEaa1Lg4pzn-ukCVnDi35Eg1k91APRTqZhIJAdo,945
|
162
164
|
arpakitlib/ar_run_cmd_util.py,sha256=D_rPavKMmWkQtwvZFz-Io5Ak8eSODHkcFeLPzNVC68g,1072
|
163
165
|
arpakitlib/ar_schedule_uust_api_client_util.py,sha256=JD-hRUQSs-euK0zq9w_4QUfGO00yWM08gllWUVKTtHc,6109
|
164
|
-
arpakitlib/ar_settings_util.py,sha256=
|
166
|
+
arpakitlib/ar_settings_util.py,sha256=gnuC8rs7IkyXkRWurrV-K0jObDMMxeH_1NdfJLkekHA,1473
|
165
167
|
arpakitlib/ar_sleep_util.py,sha256=OaLtRaJQWMkGjfj_mW1RB2P4RaSWsAIH8LUoXqsH0zM,1061
|
166
168
|
arpakitlib/ar_sqlalchemy_model_util.py,sha256=TFGOAgpxcnBV_u7yZrLCkf1ldlB4Of8vIRsyk9kyP5c,4987
|
167
169
|
arpakitlib/ar_sqlalchemy_util.py,sha256=Hcg1THrDsSR_-8dsY1CG3NWPEv0FqCbkPXFXLtjlSJ0,4207
|
@@ -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
|