arpakitlib 1.6.75__py3-none-any.whl → 1.6.77__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.
@@ -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, remove_if_exists, project_name, ignore_src_dir, ignore_manage_dir)"
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:
@@ -2,5 +2,5 @@
2
2
 
3
3
  ....
4
4
 
5
- ## ❤️ Made with Care by ARPAKIT Company ❤️
5
+ ## ❤️ Made by ARPAKIT Company ❤️
6
6
 
@@ -1,4 +1,4 @@
1
1
  cd ..
2
2
  git add .
3
3
  git commit -m "no_message"
4
- git push arpakit_company_github_1 dev
4
+ git push arpakit_company_github_1
@@ -1,4 +1,4 @@
1
1
  cd ..
2
2
  git add .
3
3
  git commit -m "no_message"
4
- git push arpakit_company_gitlab_1 dev
4
+ git push arpakit_company_gitlab_1
@@ -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
 
@@ -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
 
@@ -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, safe_run_mode: str):
405
+ def __init__(self, worker: BaseWorker, safe_run_in_background_mode: str):
414
406
  super().__init__()
415
407
  self.worker = worker
416
- self.safe_run_mode = safe_run_mode
408
+ self.safe_run_in_background_mode = safe_run_in_background_mode
417
409
 
418
410
  def async_on_startup(self, *args, **kwargs):
419
- if self.safe_run_mode == SafeRunWorkerModes.async_task:
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):
@@ -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.abspath("_arpakit_project_template")
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 any(rel_path.startswith(ignore_path) for ignore_path in ignore_paths_startswith):
37
- _logger.info(f"Ignoring file: {rel_path}")
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='utf-8') as _file:
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.75
3
+ Version: 1.6.77
4
4
  Summary: arpakitlib
5
5
  Home-page: https://github.com/ARPAKIT-Company/arpakitlib
6
6
  License: Apache-2.0
@@ -86,6 +86,6 @@ pip install arpakitlib
86
86
 
87
87
  ---
88
88
 
89
- ## ❤️ Made with Care by ARPAKIT Company ❤️
89
+ ## ❤️ Made by ARPAKIT Company ❤️
90
90
 
91
91
 
@@ -1,19 +1,19 @@
1
1
  arpakitlib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- arpakitlib/_ar_arpakitlib_cli.py,sha256=mXZkdO2lNVno-W6zqwBWqozYbG77lq9x4CmUnEshgnc,2007
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=f59DOD3krCJHAxMfouIfG0ZWIPIAW9wB8SBH7sLSj7s,76
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/git_push_dev_arpakit_company_github_1.sh,sha256=rSxtv7pfRueHLfw-RSpFkLuQZjUtWcbyaTvexiIKvp8,81
16
- arpakitlib/_arpakit_project_template/manage/git_push_dev_arpakit_company_gitlab_1.sh,sha256=aDoASNTbZmX-BXZpKXI1fnlsl-5pR99wUeE3wdODobk,81
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/poetry_config_virtualenvs.in-project_true.sh,sha256=CHAGXfmyztxgimUQ4MC4IwnLzd2uZ7Da1Xvem_lw60w,47
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/manage/src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
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=yOqH-Xmifw4niRtIy4EeP9xdeUA_0I-3ZrUrlE4cw_c,12508
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=8ruBoF9pARf3yc5duAajUOBi7Cce5KFAkp66lShRf7U,2796
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=UDPaLaQECwAf_luYxSMC3wsBMebeq7U1I-fzF1g1v08,21458
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=n2kBETxzOSVhSVoy7qUtHtuQzgrrxzgi1_iVQimPb9o,1615
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=UciA86IX6rcooA6aEPSzu6AvdtJcUR5aD6wXiKVUmVU,2366
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.75.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
107
- arpakitlib-1.6.75.dist-info/METADATA,sha256=eWoPgz2mbl0VWjTg2F_HPZg1LEvpsxd_T3fJq6zPC7Y,2665
108
- arpakitlib-1.6.75.dist-info/NOTICE,sha256=95aUzaPJjVpDsGAsNzVnq7tHTxAl0s5UFznCTkVCau4,763
109
- arpakitlib-1.6.75.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
110
- arpakitlib-1.6.75.dist-info/entry_points.txt,sha256=RybYAcp2JEzQ3o5n9uFS4Ul3IKDx4Iojp63Wp6nbj04,76
111
- arpakitlib-1.6.75.dist-info/RECORD,,
105
+ arpakitlib-1.6.77.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
106
+ arpakitlib-1.6.77.dist-info/METADATA,sha256=qKH_18adIuYDN1d9h8GuzfJVG5FQIqCgc2fXGNgDVi0,2655
107
+ arpakitlib-1.6.77.dist-info/NOTICE,sha256=95aUzaPJjVpDsGAsNzVnq7tHTxAl0s5UFznCTkVCau4,763
108
+ arpakitlib-1.6.77.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
109
+ arpakitlib-1.6.77.dist-info/entry_points.txt,sha256=RybYAcp2JEzQ3o5n9uFS4Ul3IKDx4Iojp63Wp6nbj04,76
110
+ arpakitlib-1.6.77.dist-info/RECORD,,