arpakitlib 1.6.75__py3-none-any.whl → 1.6.78__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/_ar_arpakitlib_cli.py +11 -4
- arpakitlib/_arpakit_project_template/README.md +1 -1
- arpakitlib/_arpakit_project_template/manage/{git_push_dev_arpakit_company_github_1.sh → git_push_arpakit_company_github_1.sh} +1 -1
- arpakitlib/_arpakit_project_template/manage/{git_push_dev_arpakit_company_gitlab_1.sh → git_push_arpakit_company_gitlab_1.sh} +1 -1
- arpakitlib/_arpakit_project_template/{pyproject.toml → pyproject.toml.example} +1 -1
- arpakitlib/ar_aiogram_util.py +1 -1
- arpakitlib/ar_base_worker_util.py +28 -0
- arpakitlib/ar_fastapi_util.py +3 -24
- arpakitlib/ar_need_type_util.py +4 -1
- arpakitlib/ar_project_template_util.py +24 -5
- {arpakitlib-1.6.75.dist-info → arpakitlib-1.6.78.dist-info}/METADATA +4 -2
- {arpakitlib-1.6.75.dist-info → arpakitlib-1.6.78.dist-info}/RECORD +17 -18
- arpakitlib/_arpakit_project_template/manage/src/__init__.py +0 -0
- /arpakitlib/_arpakit_project_template/manage/{poetry_config_virtualenvs.in-project_true.sh → poetry_config_virtualenvs_in_project_true.sh} +0 -0
- {arpakitlib-1.6.75.dist-info → arpakitlib-1.6.78.dist-info}/LICENSE +0 -0
- {arpakitlib-1.6.75.dist-info → arpakitlib-1.6.78.dist-info}/NOTICE +0 -0
- {arpakitlib-1.6.75.dist-info → arpakitlib-1.6.78.dist-info}/WHEEL +0 -0
- {arpakitlib-1.6.75.dist-info → arpakitlib-1.6.78.dist-info}/entry_points.txt +0 -0
arpakitlib/_ar_arpakitlib_cli.py
CHANGED
@@ -25,23 +25,30 @@ def _arpakitlib_cli(*, full_command: str | None = None):
|
|
25
25
|
print(
|
26
26
|
"Commands:"
|
27
27
|
"\n- init_arpakit_project_template"
|
28
|
-
" (project_dirpath,
|
28
|
+
" (project_dirpath, overwrite_if_exists, project_name, ignore_paths_startswith, only_paths_startswith)"
|
29
29
|
)
|
30
30
|
|
31
31
|
elif command == "init_arpakit_project_template":
|
32
32
|
project_dirpath = raise_if_blank(parsed_command.get_value_by_keys(keys=["pd", "project_dirpath"]))
|
33
33
|
overwrite_if_exists: bool = parse_need_type(
|
34
34
|
value=parsed_command.get_value_by_keys(keys=["oie", "overwrite_if_exists"]),
|
35
|
-
need_type=NeedTypes.bool_
|
35
|
+
need_type=NeedTypes.bool_,
|
36
|
+
allow_none=False
|
36
37
|
)
|
37
38
|
project_name: str = parsed_command.get_value_by_keys(keys=["pm", "project_name"])
|
38
39
|
ignore_paths_startswith: list[str] | None = parse_need_type(
|
39
40
|
value=parsed_command.get_value_by_keys(keys=["ipsw", "ignore_paths_startswith"]),
|
40
|
-
need_type=NeedTypes.list_of_str
|
41
|
+
need_type=NeedTypes.list_of_str,
|
42
|
+
allow_none=True
|
43
|
+
)
|
44
|
+
only_paths_startswith: list[str] | None = parse_need_type(
|
45
|
+
value=parsed_command.get_value_by_keys(keys=["ops", "only_paths_startswith"]),
|
46
|
+
need_type=NeedTypes.list_of_str,
|
47
|
+
allow_none=True
|
41
48
|
)
|
42
49
|
init_arpakit_project_template(
|
43
50
|
project_dirpath=project_dirpath, overwrite_if_exists=overwrite_if_exists, project_name=project_name,
|
44
|
-
ignore_paths_startswith=ignore_paths_startswith
|
51
|
+
ignore_paths_startswith=ignore_paths_startswith, only_paths_startswith=only_paths_startswith
|
45
52
|
)
|
46
53
|
|
47
54
|
else:
|
@@ -5,7 +5,7 @@ description = "{PROJECT_NAME}"
|
|
5
5
|
authors = ["arpakit <arpakit@gmail.com>", "arpakit_support <support@arpakit.com>"]
|
6
6
|
license = "Apache License 2.0"
|
7
7
|
readme = "README.md"
|
8
|
-
keywords = ["{PROJECT_NAME}", "arpakit", "arpakit-company", "arpakitcompany", "arpakit_company"]
|
8
|
+
keywords = ["{PROJECT_NAME}", "arpakitlib", "arpakit", "arpakit-company", "arpakitcompany", "arpakit_company"]
|
9
9
|
package-mode = false
|
10
10
|
|
11
11
|
|
arpakitlib/ar_aiogram_util.py
CHANGED
@@ -293,7 +293,7 @@ def as_tg_command(
|
|
293
293
|
f"Value (key={_param.key}, index={_param.index}) is required"
|
294
294
|
)
|
295
295
|
else:
|
296
|
-
value = parse_need_type(value=value, need_type=_param.need_type)
|
296
|
+
value = parse_need_type(value=value, need_type=_param.need_type, allow_none=False)
|
297
297
|
|
298
298
|
kwargs[_param.key] = value
|
299
299
|
|
@@ -2,15 +2,22 @@
|
|
2
2
|
|
3
3
|
import asyncio
|
4
4
|
import logging
|
5
|
+
import multiprocessing
|
6
|
+
import threading
|
5
7
|
from abc import ABC
|
6
8
|
from datetime import timedelta
|
7
9
|
|
10
|
+
from arpakitlib.ar_enumeration_util import Enumeration
|
8
11
|
from arpakitlib.ar_sleep_util import sync_safe_sleep, async_safe_sleep
|
9
12
|
|
10
13
|
_ARPAKIT_LIB_MODULE_VERSION = "3.0"
|
11
14
|
|
12
15
|
|
13
16
|
class BaseWorker(ABC):
|
17
|
+
class SafeRunInBackgroundModes(Enumeration):
|
18
|
+
async_task = "async_task"
|
19
|
+
thread = "thread"
|
20
|
+
process = "process"
|
14
21
|
|
15
22
|
def __init__(self):
|
16
23
|
self.worker_name = self.__class__.__name__
|
@@ -18,6 +25,27 @@ class BaseWorker(ABC):
|
|
18
25
|
self.timeout_after_run = timedelta(seconds=0.1).total_seconds()
|
19
26
|
self.timeout_after_err_in_run = timedelta(seconds=1).total_seconds()
|
20
27
|
|
28
|
+
def safe_run_in_background(self, *, safe_run_in_background_mode: str) -> (
|
29
|
+
asyncio.Task | threading.Thread | multiprocessing.Process
|
30
|
+
):
|
31
|
+
if safe_run_in_background_mode == self.SafeRunInBackgroundModes.async_task:
|
32
|
+
res: asyncio.Task = asyncio.create_task(self.async_safe_run())
|
33
|
+
elif safe_run_in_background_mode == self.SafeRunInBackgroundModes.thread:
|
34
|
+
res: threading.Thread = threading.Thread(
|
35
|
+
target=self.sync_safe_run,
|
36
|
+
daemon=True
|
37
|
+
)
|
38
|
+
res.start()
|
39
|
+
elif safe_run_in_background_mode == self.SafeRunInBackgroundModes.process:
|
40
|
+
res: multiprocessing.Process = multiprocessing.Process(
|
41
|
+
target=self.sync_safe_run,
|
42
|
+
daemon=True
|
43
|
+
)
|
44
|
+
res.start()
|
45
|
+
else:
|
46
|
+
raise ValueError(f"unrecognized safe_run_mode={safe_run_in_background_mode}")
|
47
|
+
return res
|
48
|
+
|
21
49
|
def sync_on_startup(self):
|
22
50
|
pass
|
23
51
|
|
arpakitlib/ar_fastapi_util.py
CHANGED
@@ -4,10 +4,8 @@ from __future__ import annotations
|
|
4
4
|
|
5
5
|
import asyncio
|
6
6
|
import logging
|
7
|
-
import multiprocessing
|
8
7
|
import os.path
|
9
8
|
import pathlib
|
10
|
-
import threading
|
11
9
|
import traceback
|
12
10
|
from datetime import datetime
|
13
11
|
from typing import Any, Callable
|
@@ -403,33 +401,14 @@ class InitSqlalchemyDBStartupAPIEvent(BaseStartupAPIEvent):
|
|
403
401
|
self.sqlalchemy_db.init()
|
404
402
|
|
405
403
|
|
406
|
-
class SafeRunWorkerModes(Enumeration):
|
407
|
-
async_task = "async_task"
|
408
|
-
thread = "thread"
|
409
|
-
process = "process"
|
410
|
-
|
411
|
-
|
412
404
|
class SafeRunWorkerStartupAPIEvent(BaseStartupAPIEvent):
|
413
|
-
def __init__(self, worker: BaseWorker,
|
405
|
+
def __init__(self, worker: BaseWorker, safe_run_in_background_mode: str):
|
414
406
|
super().__init__()
|
415
407
|
self.worker = worker
|
416
|
-
self.
|
408
|
+
self.safe_run_in_background_mode = safe_run_in_background_mode
|
417
409
|
|
418
410
|
def async_on_startup(self, *args, **kwargs):
|
419
|
-
|
420
|
-
_ = asyncio.create_task(self.worker.async_safe_run())
|
421
|
-
elif self.safe_run_mode == SafeRunWorkerModes.thread:
|
422
|
-
thread = threading.Thread(
|
423
|
-
target=self.worker.sync_safe_run,
|
424
|
-
daemon=True
|
425
|
-
)
|
426
|
-
thread.start()
|
427
|
-
elif self.safe_run_mode == SafeRunWorkerModes.process:
|
428
|
-
process = multiprocessing.Process(
|
429
|
-
target=self.worker.sync_safe_run,
|
430
|
-
daemon=True
|
431
|
-
)
|
432
|
-
process.start()
|
411
|
+
self.worker.safe_run_in_background(safe_run_in_background_mode=self.safe_run_in_background_mode)
|
433
412
|
|
434
413
|
|
435
414
|
class BaseTransmittedAPIData(BaseModel):
|
arpakitlib/ar_need_type_util.py
CHANGED
@@ -19,7 +19,10 @@ class NeedTypes(Enumeration):
|
|
19
19
|
json = "json"
|
20
20
|
|
21
21
|
|
22
|
-
def parse_need_type(value: Any, need_type: str) -> Any:
|
22
|
+
def parse_need_type(value: Any, need_type: str, allow_none: bool = False) -> Any:
|
23
|
+
if allow_none and value is None:
|
24
|
+
return None
|
25
|
+
|
23
26
|
NeedTypes.parse_and_validate_values(need_type)
|
24
27
|
|
25
28
|
if need_type == NeedTypes.str_:
|
@@ -15,7 +15,8 @@ def init_arpakit_project_template(
|
|
15
15
|
project_dirpath: str,
|
16
16
|
overwrite_if_exists: bool = False,
|
17
17
|
project_name: str | None = None,
|
18
|
-
ignore_paths_startswith: list[str] | str | None = None
|
18
|
+
ignore_paths_startswith: list[str] | str | None = None,
|
19
|
+
only_paths_startswith: list[str] | str | None = None
|
19
20
|
):
|
20
21
|
if project_name:
|
21
22
|
project_name = project_name.strip()
|
@@ -26,17 +27,35 @@ def init_arpakit_project_template(
|
|
26
27
|
if ignore_paths_startswith is None:
|
27
28
|
ignore_paths_startswith = []
|
28
29
|
|
30
|
+
if isinstance(only_paths_startswith, str):
|
31
|
+
only_paths_startswith = [only_paths_startswith]
|
32
|
+
if only_paths_startswith is None:
|
33
|
+
only_paths_startswith = []
|
34
|
+
|
29
35
|
def _generate_filepath_to_content() -> dict[str, str]:
|
30
|
-
arpakit_project_template_dirpath = os.path.
|
36
|
+
arpakit_project_template_dirpath = os.path.join(
|
37
|
+
os.path.dirname(os.path.abspath(__file__)), "_arpakit_project_template"
|
38
|
+
)
|
31
39
|
res = {}
|
32
40
|
for root, dirs, files in os.walk(arpakit_project_template_dirpath):
|
33
41
|
dirs[:] = [d for d in dirs if d != '__pycache__']
|
34
42
|
for file in files:
|
35
43
|
rel_path = os.path.relpath(os.path.join(root, file), arpakit_project_template_dirpath)
|
36
|
-
if
|
37
|
-
|
44
|
+
if (
|
45
|
+
ignore_paths_startswith
|
46
|
+
and
|
47
|
+
any(rel_path.startswith(ignore_path) for ignore_path in ignore_paths_startswith)
|
48
|
+
):
|
49
|
+
_logger.info(f"ignoring file: {rel_path}")
|
50
|
+
continue
|
51
|
+
if (
|
52
|
+
only_paths_startswith
|
53
|
+
and
|
54
|
+
not any(rel_path.startswith(only_path) for only_path in only_paths_startswith)
|
55
|
+
):
|
56
|
+
_logger.info(f"ignoring file: {rel_path}")
|
38
57
|
continue
|
39
|
-
with open(os.path.join(root, file), "r", encoding=
|
58
|
+
with open(os.path.join(root, file), "r", encoding="utf-8") as _file:
|
40
59
|
_content = _file.read()
|
41
60
|
if project_name:
|
42
61
|
_content = _content.replace("{PROJECT_NAME}", project_name)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: arpakitlib
|
3
|
-
Version: 1.6.
|
3
|
+
Version: 1.6.78
|
4
4
|
Summary: arpakitlib
|
5
5
|
Home-page: https://github.com/ARPAKIT-Company/arpakitlib
|
6
6
|
License: Apache-2.0
|
@@ -30,6 +30,8 @@ Requires-Dist: email-validator (>=2.2.0,<3.0.0)
|
|
30
30
|
Requires-Dist: fastapi (>=0.115.5,<0.116.0)
|
31
31
|
Requires-Dist: gunicorn (>=23.0.0,<24.0.0)
|
32
32
|
Requires-Dist: itsdangerous (>=2.2.0,<3.0.0)
|
33
|
+
Requires-Dist: jupyter (>=1.1.1,<2.0.0)
|
34
|
+
Requires-Dist: matplotlib (>=3.10.0,<4.0.0)
|
33
35
|
Requires-Dist: openai (>=1.55.3,<2.0.0)
|
34
36
|
Requires-Dist: pandas (>=2.2.3,<3.0.0)
|
35
37
|
Requires-Dist: paramiko (>=3.5.0,<4.0.0)
|
@@ -86,6 +88,6 @@ pip install arpakitlib
|
|
86
88
|
|
87
89
|
---
|
88
90
|
|
89
|
-
## ❤️ Made
|
91
|
+
## ❤️ Made by ARPAKIT Company ❤️
|
90
92
|
|
91
93
|
|
@@ -1,19 +1,19 @@
|
|
1
1
|
arpakitlib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
|
-
arpakitlib/_ar_arpakitlib_cli.py,sha256=
|
2
|
+
arpakitlib/_ar_arpakitlib_cli.py,sha256=82eFIraGWMj2Phs8wHKKjb6n5sGx_Pf6nabRRj9dnwc,2368
|
3
3
|
arpakitlib/_arpakit_project_template/.env_example,sha256=IMwmQFJZKztgc-uXQz6YzplVrdFyOs7xLiEfmlLDp8c,69
|
4
4
|
arpakitlib/_arpakit_project_template/.gitignore,sha256=LVqBflpdgeidDY52su41mFA6a9hClSjNG-O0itRyLFc,496
|
5
5
|
arpakitlib/_arpakit_project_template/.python-version,sha256=XMd40XBnlTFfBSmMldd-7VdqXNyFCy6wtxhw5e1mnhc,7
|
6
6
|
arpakitlib/_arpakit_project_template/AUTHOR.md,sha256=5s2zJB3cHS_hpNBOGXfQPAfS9vuJ8BqZ6c2kNGBtfhc,65
|
7
7
|
arpakitlib/_arpakit_project_template/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
|
8
8
|
arpakitlib/_arpakit_project_template/NOTICE,sha256=95aUzaPJjVpDsGAsNzVnq7tHTxAl0s5UFznCTkVCau4,763
|
9
|
-
arpakitlib/_arpakit_project_template/README.md,sha256=
|
9
|
+
arpakitlib/_arpakit_project_template/README.md,sha256=n7bVQwXStxdwN07oMF9ot5076qVjTk_H-rmUaSYfHK8,66
|
10
10
|
arpakitlib/_arpakit_project_template/manage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
11
11
|
arpakitlib/_arpakit_project_template/manage/beutify_json.py,sha256=mzmt-5piAHqgihLsqOpPx1JjDc1qA5F1XHBxDdR-BxY,215
|
12
12
|
arpakitlib/_arpakit_project_template/manage/docker_ps.sh,sha256=uwm8vHgeuNLCOn0o9hgP_uc-PUkS9FwLyzZh6ItZ3do,15
|
13
13
|
arpakitlib/_arpakit_project_template/manage/generate_env_example.py,sha256=gveKEz6zf5rwKNBXtHacPEjxxjPTbLy4n-Ztv0BqCWE,331
|
14
14
|
arpakitlib/_arpakit_project_template/manage/git_commit.sh,sha256=AW1NEel-ZHaYeVWFlRbgZSYPQdnVKsTkpR_07RQL1Mw,42
|
15
|
-
arpakitlib/_arpakit_project_template/manage/
|
16
|
-
arpakitlib/_arpakit_project_template/manage/
|
15
|
+
arpakitlib/_arpakit_project_template/manage/git_push_arpakit_company_github_1.sh,sha256=tFQm6FaJNGKYxaUyXJrbjTUtFazlG06Fm8hPRQDOMxw,77
|
16
|
+
arpakitlib/_arpakit_project_template/manage/git_push_arpakit_company_gitlab_1.sh,sha256=xcP560mLeTYyc-1EWcueaAui31D5OZ_Odd4MXti41r4,77
|
17
17
|
arpakitlib/_arpakit_project_template/manage/git_remote_v.sh,sha256=DIcyWmY_mve_CmM1SND2gYgAGO7HaLtso3zvJfMqTRI,19
|
18
18
|
arpakitlib/_arpakit_project_template/manage/git_set_arpakit_company_origin.sh,sha256=qTi-SxgC6CfCTEAje0_XFcQ9wpuiyAZEU4MANeJjdWA,274
|
19
19
|
arpakitlib/_arpakit_project_template/manage/git_status.sh,sha256=N9JGYX5_UfCdirw4EQYzu4sS7pMLGrF4-QrTSTcpUtA,16
|
@@ -21,7 +21,7 @@ arpakitlib/_arpakit_project_template/manage/hello_world.py,sha256=1b1YIedAgtvBtt
|
|
21
21
|
arpakitlib/_arpakit_project_template/manage/poetry_add_plugin_export.sh,sha256=efbIvqO076HG5W3GGc5Iut9luswswqYYJ6IzzFOUABk,43
|
22
22
|
arpakitlib/_arpakit_project_template/manage/poetry_check.sh,sha256=mxkbFqw-mVlAkP_klLoXDANbIoKEu6Uj98tZ3pLKlpU,19
|
23
23
|
arpakitlib/_arpakit_project_template/manage/poetry_clear_cache.sh,sha256=5NmoMsA377JCeTMLERzE2GZywgi8mXQDTQ_yhIJtR8k,139
|
24
|
-
arpakitlib/_arpakit_project_template/manage/
|
24
|
+
arpakitlib/_arpakit_project_template/manage/poetry_config_virtualenvs_in_project_true.sh,sha256=CHAGXfmyztxgimUQ4MC4IwnLzd2uZ7Da1Xvem_lw60w,47
|
25
25
|
arpakitlib/_arpakit_project_template/manage/poetry_generate_requirements.txt.sh,sha256=Df2ms0GlmAymMGqf9Bp2i3_DI61Ii1xYKf7S0By7tdw,76
|
26
26
|
arpakitlib/_arpakit_project_template/manage/poetry_install.sh,sha256=82N5l6Em507FPqY9OVJe1UN6YYvkO3mPMLbSQTUcUvY,20
|
27
27
|
arpakitlib/_arpakit_project_template/manage/poetry_lock.sh,sha256=9oiTdi8ynGQWctQjI3g4ThGkvpT07-g5ajLmG47iVh8,17
|
@@ -29,8 +29,7 @@ arpakitlib/_arpakit_project_template/manage/poetry_remove_and_add_arpakitlib.sh,
|
|
29
29
|
arpakitlib/_arpakit_project_template/manage/poetry_show.sh,sha256=pclR9efCNrrGyJR2HrdDM4PCUFGg0OSlRtjQ3Srv8W8,24
|
30
30
|
arpakitlib/_arpakit_project_template/manage/poetry_update.sh,sha256=49tIXIzfXanbN5IIM6mkYcHRZQOlu-uHHRqVg3EWosU,31
|
31
31
|
arpakitlib/_arpakit_project_template/manage/poetry_update_arpakitlib.sh,sha256=chVSeDzTeKzwKld6h2kBx_Gd0dU2DZf0lJGlgPQtBfs,164
|
32
|
-
arpakitlib/_arpakit_project_template/
|
33
|
-
arpakitlib/_arpakit_project_template/pyproject.toml,sha256=lg2XoLCzS-ytsWE7xSKS-mgT_S6nr3jEZjP0UG0KThQ,472
|
32
|
+
arpakitlib/_arpakit_project_template/pyproject.toml.example,sha256=Cg8VgGbSXsbvCb63cYwYQAb1bDA49IbuIMP5ShxTMK4,486
|
34
33
|
arpakitlib/_arpakit_project_template/resource/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
35
34
|
arpakitlib/_arpakit_project_template/src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
36
35
|
arpakitlib/_arpakit_project_template/src/additional_model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -42,11 +41,11 @@ arpakitlib/_arpakit_project_template/src/core/settings.py,sha256=Kk0NqhWTdMqN3Ug
|
|
42
41
|
arpakitlib/_arpakit_project_template/src/core/util.py,sha256=94v3h_bKEasd1di_CkAVSdQy4I5FxA5qkUFvtHp3tsQ,724
|
43
42
|
arpakitlib/_arpakit_project_template/src/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
44
43
|
arpakitlib/ar_additional_model_util.py,sha256=tNzZhZtvtJ1qC6Cn4UnyoEL58HudfpCdQy5ftkCqyik,473
|
45
|
-
arpakitlib/ar_aiogram_util.py,sha256=
|
44
|
+
arpakitlib/ar_aiogram_util.py,sha256=uodUia6S_tLGVk88JltwRhoT9iMIekOwsrXUnCOzf3g,12526
|
46
45
|
arpakitlib/ar_arpakit_lib_module_util.py,sha256=V_mc3Ml73Tzz3arxmwEfIxruKMyrwbe8XZ9FfVDtUXY,5446
|
47
46
|
arpakitlib/ar_arpakit_schedule_uust_api_client_util.py,sha256=SYWWQDohPnw0qpBIu2hEvGZRVdaI4NUUQdEjnMnseo4,18237
|
48
47
|
arpakitlib/ar_base64_util.py,sha256=aZkg2cZTuAaP2IWeG_LXJ6RO7qhyskVwec-Lks0iM-k,676
|
49
|
-
arpakitlib/ar_base_worker_util.py,sha256=
|
48
|
+
arpakitlib/ar_base_worker_util.py,sha256=YGoSpkE52QGu_mQdrefThc-pCnhhLEhWchSM3HZL-2U,3972
|
50
49
|
arpakitlib/ar_cache_file_util.py,sha256=Fo2pH-Zqm966KWFBHG_pbiySGZvhIFCYqy7k1weRfJ0,3476
|
51
50
|
arpakitlib/ar_datetime_util.py,sha256=Xe1NiT9oPQzNSG7RVRkhukhbg4i-hhS5ImmV7sPUc8o,971
|
52
51
|
arpakitlib/ar_dict_util.py,sha256=cF5LQJ6tLqyGoEXfDljMDZrikeZoWPw7CgINHIFGvXM,419
|
@@ -72,7 +71,7 @@ arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.css,sha256=jzPZlgJTFwSdSphk9C
|
|
72
71
|
arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.css.map,sha256=5wq8eXMLU6Zxb45orZPL1zAsBFJReFw6GjYqGpUX3hg,262650
|
73
72
|
arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.js,sha256=ffrLZHHEQ_g84A-ul3yWa10Kk09waOAxHcQXPuZuavg,339292
|
74
73
|
arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.js.map,sha256=9UhIW7MqCOZPAz1Sl1IKfZUuhWU0p-LJqrnjjJD9Xhc,1159454
|
75
|
-
arpakitlib/ar_fastapi_util.py,sha256=
|
74
|
+
arpakitlib/ar_fastapi_util.py,sha256=NqX5SrLYY4LjaGA7PTpTePB2uzlDwpBFcE0DPGKQLvk,20868
|
76
75
|
arpakitlib/ar_file_storage_in_dir_util.py,sha256=D3e3rGuHoI6xqAA5mVvEpVVpOWY1jyjNsjj2UhyHRbE,3674
|
77
76
|
arpakitlib/ar_file_util.py,sha256=XiwmeycxoLqtYnGOu5q6IEaJJXilZvtLvsKDKtwqSLY,137
|
78
77
|
arpakitlib/ar_hash_util.py,sha256=Iqy6KBAOLBQMFLWv676boI5sV7atT2B-fb7aCdHOmIQ,340
|
@@ -86,12 +85,12 @@ arpakitlib/ar_list_of_dicts_to_xlsx.py,sha256=MyjEl4Jl4beLVZqLVQMMv0-XDtBD3Xh4Z_
|
|
86
85
|
arpakitlib/ar_list_util.py,sha256=2woOAHAU8oTIiVjZ8GLnx15odEaoQUq3Q0JPxlufFF0,457
|
87
86
|
arpakitlib/ar_logging_util.py,sha256=c5wX2FLqCzb4aLckLVhIJ7go52rJQ4GN9dIkJ6KMc3o,1500
|
88
87
|
arpakitlib/ar_mongodb_util.py,sha256=2ECkTnGAZ92qxioL-fmN6R4yZOSr3bXdXLWTzT1C3vk,4038
|
89
|
-
arpakitlib/ar_need_type_util.py,sha256=
|
88
|
+
arpakitlib/ar_need_type_util.py,sha256=xq5bbAXJG-93CRVZUcLW0ZdM22rj-ZUW17C5hX_5grg,1699
|
90
89
|
arpakitlib/ar_openai_util.py,sha256=dHUbfg1sVVCjsNl_fra3iCMEz1bR-Hk9fE-DdYbu7Wc,1215
|
91
90
|
arpakitlib/ar_operation_execution_util.py,sha256=w_dz4XYEM4WbTxpBoYVkknG3U3_391cJmitgljJJTO0,12373
|
92
91
|
arpakitlib/ar_parse_command.py,sha256=-s61xcATIsfw1eV_iD3xi-grsitbGzSDoAFc5V0OFy4,3447
|
93
92
|
arpakitlib/ar_postgresql_util.py,sha256=1AuLjEaa1Lg4pzn-ukCVnDi35Eg1k91APRTqZhIJAdo,945
|
94
|
-
arpakitlib/ar_project_template_util.py,sha256=
|
93
|
+
arpakitlib/ar_project_template_util.py,sha256=Yh3tzNYq0rrKc1MY-qsW1Ljhi9ADz8nYXMiPDH-e6PQ,3097
|
95
94
|
arpakitlib/ar_run_cmd_util.py,sha256=D_rPavKMmWkQtwvZFz-Io5Ak8eSODHkcFeLPzNVC68g,1072
|
96
95
|
arpakitlib/ar_schedule_uust_api_client_util.py,sha256=0X4yACjt8cxMvuoZUq4S0HuVhVUQW5fGmiPcG7vwM8Y,6027
|
97
96
|
arpakitlib/ar_settings_util.py,sha256=kJ5L2Ik-spgMjMjGZ6ZvPHv6T8dtip1sm-39HI6htvc,1214
|
@@ -103,9 +102,9 @@ arpakitlib/ar_str_util.py,sha256=AhcdrEm-pXRilCaDWCdTfVkQSy0SnbE52ur43Ltr6cI,212
|
|
103
102
|
arpakitlib/ar_type_util.py,sha256=5nDnXL5Oyozlg8XvxMrogsoYiG8_atItg46A0mtv-pk,2025
|
104
103
|
arpakitlib/ar_yookassa_api_client_util.py,sha256=5GMvu8paByni8buhc1vpHB7n6oXe0gPfj1LSvnyZCrQ,5307
|
105
104
|
arpakitlib/ar_zabbix_util.py,sha256=Q-VR4MvoZ9aHwZeYZr9G3LwN-ANx1T5KFmF6pvPM-9M,6402
|
106
|
-
arpakitlib-1.6.
|
107
|
-
arpakitlib-1.6.
|
108
|
-
arpakitlib-1.6.
|
109
|
-
arpakitlib-1.6.
|
110
|
-
arpakitlib-1.6.
|
111
|
-
arpakitlib-1.6.
|
105
|
+
arpakitlib-1.6.78.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
|
106
|
+
arpakitlib-1.6.78.dist-info/METADATA,sha256=Lx5NmAugDZcJYJhc-qCG3NS3WzjaNnxaB1Fyi_PSxJg,2739
|
107
|
+
arpakitlib-1.6.78.dist-info/NOTICE,sha256=95aUzaPJjVpDsGAsNzVnq7tHTxAl0s5UFznCTkVCau4,763
|
108
|
+
arpakitlib-1.6.78.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
109
|
+
arpakitlib-1.6.78.dist-info/entry_points.txt,sha256=RybYAcp2JEzQ3o5n9uFS4Ul3IKDx4Iojp63Wp6nbj04,76
|
110
|
+
arpakitlib-1.6.78.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|