arpakitlib 1.7.255__py3-none-any.whl → 1.7.257__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.
Files changed (29) hide show
  1. arpakitlib/_arpakit_project_template/alembic/env.py +4 -2
  2. arpakitlib/_arpakit_project_template/example.env +12 -10
  3. arpakitlib/_arpakit_project_template/manage/docker_run_postgres.sh +1 -1
  4. arpakitlib/_arpakit_project_template/src/api/event.py +1 -1
  5. arpakitlib/_arpakit_project_template/src/api/util.py +2 -2
  6. arpakitlib/_arpakit_project_template/src/core/_show_settings.py +0 -1
  7. arpakitlib/_arpakit_project_template/src/operation_execution/_start_operation_executor_worker.py +1 -1
  8. arpakitlib/_arpakit_project_template/src/operation_execution/_start_scheduled_operation_creator_worker.py +1 -1
  9. arpakitlib/_arpakit_project_template/src/{sql_db → sqlalchemy_db}/_check_conn_sqlalchemy_db.py +1 -1
  10. arpakitlib/_arpakit_project_template/src/{sql_db → sqlalchemy_db}/_drop_sqlalchemy_db.py +1 -1
  11. arpakitlib/_arpakit_project_template/src/{sql_db → sqlalchemy_db}/_init_sqlalchemy_db.py +1 -1
  12. arpakitlib/_arpakit_project_template/src/{sql_db → sqlalchemy_db}/_reinit_sqlalchemy_db.py +1 -1
  13. arpakitlib/_arpakit_project_template/src/{sql_db → sqlalchemy_db}/_remove_operations.py +1 -1
  14. arpakitlib/_arpakit_project_template/src/{sql_db → sqlalchemy_db}/_remove_story_logs.py +1 -1
  15. arpakitlib/_arpakit_project_template/src/{sql_db → sqlalchemy_db}/util.py +4 -4
  16. arpakitlib/_arpakit_project_template/src/tg_bot/event.py +1 -1
  17. arpakitlib/_arpakit_project_template/src/tg_bot/util.py +2 -2
  18. arpakitlib/ar_arpakit_project_template_util.py +4 -1
  19. arpakitlib/ar_arpakitlib_cli_util.py +11 -6
  20. arpakitlib/ar_need_type_util.py +3 -0
  21. arpakitlib/ar_settings_util.py +27 -27
  22. {arpakitlib-1.7.255.dist-info → arpakitlib-1.7.257.dist-info}/METADATA +3 -4
  23. {arpakitlib-1.7.255.dist-info → arpakitlib-1.7.257.dist-info}/RECORD +29 -29
  24. /arpakitlib/_arpakit_project_template/src/{sql_db → sqlalchemy_db}/__init__.py +0 -0
  25. /arpakitlib/_arpakit_project_template/src/{sql_db → sqlalchemy_db}/const.py +0 -0
  26. /arpakitlib/_arpakit_project_template/src/{sql_db → sqlalchemy_db}/sqlalchemy_model.py +0 -0
  27. {arpakitlib-1.7.255.dist-info → arpakitlib-1.7.257.dist-info}/LICENSE +0 -0
  28. {arpakitlib-1.7.255.dist-info → arpakitlib-1.7.257.dist-info}/WHEEL +0 -0
  29. {arpakitlib-1.7.255.dist-info → arpakitlib-1.7.257.dist-info}/entry_points.txt +0 -0
@@ -4,14 +4,16 @@ from alembic import context
4
4
  from sqlalchemy import engine_from_config
5
5
  from sqlalchemy import pool
6
6
 
7
+ from arpakitlib.ar_type_util import raise_for_type
7
8
  from src.core.settings import get_cached_settings
8
- from src.sql_db.util import get_base_dbm
9
+ from src.sqlalchemy_db.util import get_base_dbm
9
10
 
10
11
  # this is the Alembic Config object, which provides
11
12
  # access to the values within the .ini file in use.
12
13
  config = context.config
13
14
 
14
- config.set_section_option("alembic", "sqlalchemy.url", get_cached_settings().sync_sql_db_url)
15
+ raise_for_type(get_cached_settings().sqlalchemy_sync_db_url, str)
16
+ config.set_section_option("alembic", "sqlalchemy.url", get_cached_settings().sqlalchemy_sync_db_url)
15
17
 
16
18
  # Interpret the config file for Python logging.
17
19
  # This line sets up loggers basically.
@@ -1,15 +1,15 @@
1
1
  # mode_type=
2
2
  # project_name=
3
- # sql_db_user=
4
- # sql_db_password=
5
- # sql_db_host=
6
- # sql_db_port=
7
- # sql_db_database=
8
- # sync_sql_db_url=
9
- # async_sql_db_url=
10
- # sql_db_echo=
3
+ # sqlalchemy_db_user=
4
+ # sqlalchemy_db_password=
5
+ # sqlalchemy_db_host=
6
+ # sqlalchemy_db_port=
7
+ # sqlalchemy_db_database=
8
+ # sqlalchemy_sync_db_url=
9
+ # sqlalchemy_async_db_url=
10
+ # sqlalchemy_db_echo=
11
11
  # api_port=
12
- # api_init_sql_db=
12
+ # api_init_sqlalchemy_db=
13
13
  # api_init_json_db=
14
14
  # api_logging__api_func_before_in_handle_exception=
15
15
  # api_story_log__api_func_before_in_handle_exception=
@@ -19,7 +19,9 @@
19
19
  # api_start_operation_executor_worker=
20
20
  # api_start_scheduled_operation_creator_worker=
21
21
  # admin1_secret_key=
22
- # tg_bot_init_sql_db=
22
+ # tg_bot_token=
23
+ # tg_bot_proxy_url=
24
+ # tg_bot_init_sqlalchemy_db=
23
25
  # tg_bot_init_json_db=
24
26
  # var_dirpath=
25
27
  # log_filepath=
@@ -1,5 +1,5 @@
1
1
  cd ..
2
2
  source .env
3
3
  docker rm ${project_name}_postgres
4
- docker run --name ${project_name}_postgres -d -p ${sql_db_port}:5432 -e POSTGRES_USER=${sql_db_user} -e POSTGRES_PASSWORD=${sql_db_password} -e POSTGRES_DB=${sql_db_database} postgres:16 -c max_connections=100
4
+ docker run --name ${project_name}_postgres -d -p ${sqlalchemy_db_port}:5432 -e POSTGRES_USER=${sqlalchemy_db_user} -e POSTGRES_PASSWORD=${sqlalchemy_db_password} -e POSTGRES_DB=${sqlalchemy_db_database} postgres:16 -c max_connections=100
5
5
  docker start ${project_name}_postgres
@@ -26,7 +26,7 @@ class StartupAPIEvent(BaseStartupAPIEvent):
26
26
  if self.transmitted_api_data.dump_file_storage_in_dir is not None:
27
27
  self.transmitted_api_data.dump_file_storage_in_dir.init()
28
28
 
29
- if self.transmitted_api_data.settings.api_init_sql_db:
29
+ if self.transmitted_api_data.settings.api_init_sqlalchemy_db:
30
30
  self.transmitted_api_data.sqlalchemy_db.init()
31
31
 
32
32
  if self.transmitted_api_data.settings.api_init_json_db:
@@ -5,13 +5,13 @@ from src.core.settings import get_cached_settings
5
5
  from src.core.util import get_cached_media_file_storage_in_dir, get_cached_cache_file_storage_in_dir, \
6
6
  get_cached_dump_file_storage_in_dir
7
7
  from src.json_db.util import get_json_db
8
- from src.sql_db.util import get_cached_sqlalchemy_db
8
+ from src.sqlalchemy_db.util import get_cached_sqlalchemy_db
9
9
 
10
10
 
11
11
  def create_transmitted_api_data() -> TransmittedAPIData:
12
12
  settings = get_cached_settings()
13
13
 
14
- sqlalchemy_db = get_cached_sqlalchemy_db() if settings.sync_sql_db_url is not None else None
14
+ sqlalchemy_db = get_cached_sqlalchemy_db() if settings.sqlalchemy_sync_db_url is not None else None
15
15
 
16
16
  json_db = get_json_db() if settings.json_db_dirpath is not None else None
17
17
 
@@ -4,7 +4,6 @@ from src.core.settings import get_cached_settings
4
4
 
5
5
  def _check_settings():
6
6
  print(safely_transfer_obj_to_json_str(get_cached_settings().model_dump(mode="json")))
7
- print(get_cached_settings().is_any_sql_db_url_set)
8
7
 
9
8
 
10
9
  if __name__ == '__main__':
@@ -1,7 +1,7 @@
1
1
  from arpakitlib.ar_operation_execution_util import OperationExecutorWorker
2
2
  from src.core.util import setup_logging
3
3
  from src.operation_execution.operation_executor import OperationExecutor
4
- from src.sql_db.util import get_cached_sqlalchemy_db
4
+ from src.sqlalchemy_db.util import get_cached_sqlalchemy_db
5
5
 
6
6
 
7
7
  def _start_operation_executor_worker():
@@ -1,7 +1,7 @@
1
1
  from arpakitlib.ar_operation_execution_util import ScheduledOperationCreatorWorker
2
2
  from src.core.util import setup_logging
3
3
  from src.operation_execution.scheduled_operations import SCHEDULED_OPERATIONS
4
- from src.sql_db.util import get_cached_sqlalchemy_db
4
+ from src.sqlalchemy_db.util import get_cached_sqlalchemy_db
5
5
 
6
6
 
7
7
  def _start_scheduled_operation_creator_worker():
@@ -1,5 +1,5 @@
1
1
  from src.core.util import setup_logging
2
- from src.sql_db.util import get_cached_sqlalchemy_db
2
+ from src.sqlalchemy_db.util import get_cached_sqlalchemy_db
3
3
 
4
4
 
5
5
  def _check_conn_sqlalchemy_db():
@@ -1,6 +1,6 @@
1
1
  from src.core.settings import get_cached_settings
2
2
  from src.core.util import setup_logging
3
- from src.sql_db.util import get_cached_sqlalchemy_db
3
+ from src.sqlalchemy_db.util import get_cached_sqlalchemy_db
4
4
 
5
5
 
6
6
  def _reinit_sqlalchemy_db():
@@ -1,5 +1,5 @@
1
1
  from src.core.util import setup_logging
2
- from src.sql_db.util import get_cached_sqlalchemy_db
2
+ from src.sqlalchemy_db.util import get_cached_sqlalchemy_db
3
3
 
4
4
 
5
5
  def _init_sqlalchemy_db():
@@ -1,6 +1,6 @@
1
1
  from src.core.settings import get_cached_settings
2
2
  from src.core.util import setup_logging
3
- from src.sql_db.util import get_cached_sqlalchemy_db
3
+ from src.sqlalchemy_db.util import get_cached_sqlalchemy_db
4
4
 
5
5
 
6
6
  def _reinit_sqlalchemy_db():
@@ -1,7 +1,7 @@
1
1
  from arpakitlib.ar_operation_execution_util import remove_operations
2
2
  from src.core.settings import get_cached_settings
3
3
  from src.core.util import setup_logging
4
- from src.sql_db.util import get_cached_sqlalchemy_db
4
+ from src.sqlalchemy_db.util import get_cached_sqlalchemy_db
5
5
 
6
6
 
7
7
  def _remove_operations():
@@ -1,7 +1,7 @@
1
1
  from arpakitlib.ar_sqlalchemy_model_util import StoryLogDBM
2
2
  from src.core.settings import get_cached_settings
3
3
  from src.core.util import setup_logging
4
- from src.sql_db.util import get_cached_sqlalchemy_db
4
+ from src.sqlalchemy_db.util import get_cached_sqlalchemy_db
5
5
 
6
6
 
7
7
  def _remove_story_logs():
@@ -8,16 +8,16 @@ from src.core.settings import get_cached_settings
8
8
  def get_base_dbm() -> type[BaseDBM]:
9
9
  from arpakitlib.ar_sqlalchemy_model_util import import_ar_sqlalchemy_models
10
10
  import_ar_sqlalchemy_models()
11
- from src.sql_db.sqlalchemy_model import import_project_sqlalchemy_models
11
+ from src.sqlalchemy_db.sqlalchemy_model import import_project_sqlalchemy_models
12
12
  import_project_sqlalchemy_models()
13
13
  return BaseDBM
14
14
 
15
15
 
16
16
  def create_sqlalchemy_db() -> SQLAlchemyDb:
17
17
  return SQLAlchemyDb(
18
- sync_db_url=get_cached_settings().sync_sql_db_url,
19
- async_db_url=get_cached_settings().async_sql_db_url,
20
- db_echo=get_cached_settings().sql_db_echo,
18
+ sync_db_url=get_cached_settings().sqlalchemy_sync_db_url,
19
+ async_db_url=get_cached_settings().sqlalchemy_async_db_url,
20
+ db_echo=get_cached_settings().sqlalchemy_db_echo,
21
21
  base_dbm=get_base_dbm()
22
22
  )
23
23
 
@@ -20,7 +20,7 @@ class StartupTgBotEvent:
20
20
  if self.transmitted_tg_bot_data.dump_file_storage_in_dir is not None:
21
21
  self.transmitted_tg_bot_data.dump_file_storage_in_dir.init()
22
22
 
23
- if self.transmitted_tg_bot_data.settings.api_init_sql_db:
23
+ if self.transmitted_tg_bot_data.settings.api_init_sqlalchemy_db:
24
24
  self.transmitted_tg_bot_data.sqlalchemy_db.init()
25
25
 
26
26
  if self.transmitted_tg_bot_data.settings.api_init_json_db:
@@ -4,14 +4,14 @@ from src.core.settings import get_cached_settings
4
4
  from src.core.util import get_cached_media_file_storage_in_dir, get_cached_cache_file_storage_in_dir, \
5
5
  get_cached_dump_file_storage_in_dir
6
6
  from src.json_db.util import get_json_db
7
- from src.sql_db.util import get_cached_sqlalchemy_db
7
+ from src.sqlalchemy_db.util import get_cached_sqlalchemy_db
8
8
  from src.tg_bot.transmitted_tg_data import TransmittedTgData
9
9
 
10
10
 
11
11
  def create_transmitted_tg_bot_data() -> TransmittedTgData:
12
12
  settings = get_cached_settings()
13
13
 
14
- sqlalchemy_db = get_cached_sqlalchemy_db() if settings.sync_sql_db_url is not None else None
14
+ sqlalchemy_db = get_cached_sqlalchemy_db() if settings.sqlalchemy_sync_db_url is not None else None
15
15
 
16
16
  json_db = get_json_db() if settings.json_db_dirpath is not None else None
17
17
 
@@ -15,10 +15,11 @@ def init_arpakit_project_template(
15
15
  *,
16
16
  project_dirpath: str = "./",
17
17
  overwrite_if_exists: bool = False,
18
- params: dict[str, str] | None = None,
19
18
  ignore_paths_startswith: list[str] | str | None = None,
20
19
  only_paths_startswith: list[str] | str | None = None,
20
+ params: dict[str, str] | None = None,
21
21
  ):
22
+ raise_for_type(project_dirpath, str)
22
23
  raise_if_string_blank(project_dirpath)
23
24
 
24
25
  raise_for_type(overwrite_if_exists, bool)
@@ -31,11 +32,13 @@ def init_arpakit_project_template(
31
32
  ignore_paths_startswith = [ignore_paths_startswith]
32
33
  if ignore_paths_startswith is None:
33
34
  ignore_paths_startswith = []
35
+ raise_for_type(ignore_paths_startswith, list)
34
36
 
35
37
  if isinstance(only_paths_startswith, str):
36
38
  only_paths_startswith = [only_paths_startswith]
37
39
  if only_paths_startswith is None:
38
40
  only_paths_startswith = []
41
+ raise_for_type(only_paths_startswith, list)
39
42
 
40
43
  def _generate_filepath_to_content() -> dict[str, str]:
41
44
  arpakit_project_template_dirpath = os.path.join(
@@ -5,7 +5,6 @@ import sys
5
5
  from arpakitlib.ar_arpakit_project_template_util import init_arpakit_project_template
6
6
  from arpakitlib.ar_need_type_util import parse_need_type, NeedTypes
7
7
  from arpakitlib.ar_parse_command import parse_command
8
- from arpakitlib.ar_str_util import raise_if_string_blank
9
8
 
10
9
  _ARPAKIT_LIB_MODULE_VERSION = "3.0"
11
10
 
@@ -27,20 +26,26 @@ def execute_arpakitlib_cli(*, full_command: str | None = None):
27
26
  print("Commands:")
28
27
  print()
29
28
  print("-c init_arpakit_project_template")
30
- print("-project_dirpath ...")
29
+ print("-project_dirpath ./")
31
30
  print("-overwrite_if_exists ...")
32
31
  print("-ignore_paths_startswith ...")
33
32
  print("-only_paths_startswith ...")
33
+ print("-param1 ...")
34
+ print("-param2 ...")
35
+ print("-param3 ...")
34
36
  print("\n")
35
37
 
36
38
  elif command == "init_arpakit_project_template":
37
- project_dirpath = raise_if_string_blank(parsed_command.get_value_by_keys(keys=["project_dirpath"]))
39
+ project_dirpath: str = parse_need_type(
40
+ value=parsed_command.get_value_by_keys(keys=["project_dirpath"]),
41
+ need_type=NeedTypes.str_,
42
+ allow_none=False
43
+ )
38
44
  overwrite_if_exists: bool = parse_need_type(
39
45
  value=parsed_command.get_value_by_keys(keys=["overwrite_if_exists"]),
40
46
  need_type=NeedTypes.bool_,
41
47
  allow_none=False
42
48
  )
43
- params = parsed_command.key_to_value
44
49
  ignore_paths_startswith: list[str] | None = parse_need_type(
45
50
  value=parsed_command.get_value_by_keys(keys=["ignore_paths_startswith"]),
46
51
  need_type=NeedTypes.list_of_str,
@@ -54,9 +59,9 @@ def execute_arpakitlib_cli(*, full_command: str | None = None):
54
59
  init_arpakit_project_template(
55
60
  project_dirpath=project_dirpath,
56
61
  overwrite_if_exists=overwrite_if_exists,
57
- params=params,
58
62
  ignore_paths_startswith=ignore_paths_startswith,
59
- only_paths_startswith=only_paths_startswith
63
+ only_paths_startswith=only_paths_startswith,
64
+ params=parsed_command.key_to_value,
60
65
  )
61
66
 
62
67
  else:
@@ -23,6 +23,9 @@ def parse_need_type(value: Any, need_type: str, allow_none: bool = False) -> Any
23
23
  if allow_none and value is None:
24
24
  return None
25
25
 
26
+ if not allow_none and value is None:
27
+ raise ValueError("value is None")
28
+
26
29
  NeedTypes.parse_and_validate_values(need_type)
27
30
 
28
31
  if need_type == NeedTypes.str_:
@@ -88,57 +88,57 @@ class AdvancedSettings(SimpleSettings):
88
88
  return v.strip()
89
89
  return v
90
90
 
91
- sql_db_user: str | None = None
91
+ sqlalchemy_db_user: str | None = None
92
92
 
93
- sql_db_password: str | None = None
93
+ sqlalchemy_db_password: str | None = None
94
94
 
95
- sql_db_host: str | None = None
95
+ sqlalchemy_db_host: str | None = None
96
96
 
97
- sql_db_port: int | None = None
97
+ sqlalchemy_db_port: int | None = None
98
98
 
99
- sql_db_database: str | None = None
99
+ sqlalchemy_db_database: str | None = None
100
100
 
101
- sync_sql_db_url: str | None = None
101
+ sqlalchemy_sync_db_url: str | None = None
102
102
 
103
- @field_validator("sync_sql_db_url", mode="after")
104
- def validate_sync_sql_db_url(cls, v: Any, validation_info: ValidationInfo, **kwargs) -> str | None:
103
+ @field_validator("sqlalchemy_sync_db_url", mode="after")
104
+ def validate_sqlalchemy_sync_db_url(cls, v: Any, validation_info: ValidationInfo, **kwargs) -> str | None:
105
105
  if v is not None:
106
106
  return v
107
107
 
108
108
  return generate_sqlalchemy_url(
109
109
  base="postgresql",
110
- user=validation_info.data.get("sql_db_user"),
111
- password=validation_info.data.get("sql_db_password"),
112
- host=validation_info.data.get("sql_db_host"),
113
- port=validation_info.data.get("sql_db_port"),
114
- database=validation_info.data.get("sql_db_database")
110
+ user=validation_info.data.get("sqlalchemy_db_user"),
111
+ password=validation_info.data.get("sqlalchemy_db_password"),
112
+ host=validation_info.data.get("sqlalchemy_db_host"),
113
+ port=validation_info.data.get("sqlalchemy_db_port"),
114
+ database=validation_info.data.get("sqlalchemy_db_database")
115
115
  )
116
116
 
117
- async_sql_db_url: str | None = None
117
+ sqlalchemy_async_db_url: str | None = None
118
118
 
119
- @field_validator("async_sql_db_url", mode="after")
120
- def validate_async_sql_db_url(cls, v: Any, validation_info: ValidationInfo, **kwargs) -> str | None:
119
+ @field_validator("sqlalchemy_async_db_url", mode="after")
120
+ def validate_sqlalchemy_async_db_url(cls, v: Any, validation_info: ValidationInfo, **kwargs) -> str | None:
121
121
  if v is not None:
122
122
  return v
123
123
 
124
124
  return generate_sqlalchemy_url(
125
- base="postgresql+asyncpg",
126
- user=validation_info.data.get("sql_db_user"),
127
- password=validation_info.data.get("sql_db_password"),
128
- host=validation_info.data.get("sql_db_host"),
129
- port=validation_info.data.get("sql_db_port"),
130
- database=validation_info.data.get("sql_db_database")
125
+ base="postgresql",
126
+ user=validation_info.data.get("sqlalchemy_db_user"),
127
+ password=validation_info.data.get("sqlalchemy_db_password"),
128
+ host=validation_info.data.get("sqlalchemy_db_host"),
129
+ port=validation_info.data.get("sqlalchemy_db_port"),
130
+ database=validation_info.data.get("sqlalchemy_db_database")
131
131
  )
132
132
 
133
133
  @property
134
134
  def is_any_sql_db_url_set(self) -> bool:
135
- if self.sync_sql_db_url is not None:
135
+ if self.sqlalchemy_sync_db_url is not None:
136
136
  return True
137
- if self.async_sql_db_url is not None:
137
+ if self.sqlalchemy_async_db_url is not None:
138
138
  return True
139
139
  return False
140
140
 
141
- sql_db_echo: bool = False
141
+ sqlalchemy_db_echo: bool = False
142
142
 
143
143
  api_port: int | None = None
144
144
 
@@ -149,7 +149,7 @@ class AdvancedSettings(SimpleSettings):
149
149
  return int(v)
150
150
  return None
151
151
 
152
- api_init_sql_db: bool = False
152
+ api_init_sqlalchemy_db: bool = False
153
153
 
154
154
  api_init_json_db: bool = False
155
155
 
@@ -173,7 +173,7 @@ class AdvancedSettings(SimpleSettings):
173
173
 
174
174
  tg_bot_proxy_url: str | None = None
175
175
 
176
- tg_bot_init_sql_db: bool = False
176
+ tg_bot_init_sqlalchemy_db: bool = False
177
177
 
178
178
  tg_bot_init_json_db: bool = False
179
179
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: arpakitlib
3
- Version: 1.7.255
3
+ Version: 1.7.257
4
4
  Summary: arpakitlib
5
5
  License: Apache-2.0
6
6
  Keywords: arpakitlib,arpakit,arpakit-company,arpakitcompany,arpakit_company
@@ -85,11 +85,10 @@ poetry add arpakitlib
85
85
  pip install arpakitlib
86
86
  ```
87
87
 
88
- ### Init template
88
+ ### arpakitlib command
89
89
 
90
90
  ```
91
- # poetry run arpakitlib -c help
92
- poetry run arpakitlib -c init_arpakit_project_template -project_dirpath ./ -overwrite_if_exists true -project_name ... -sql_db_port ... (optional) -api_port ... (optional) -ignore_paths_startswith ... (optional) -only_paths_startswith ...(optional)
91
+ poetry run arpakitlib -c help
93
92
  ```
94
93
 
95
94
  ---
@@ -5,16 +5,16 @@ arpakitlib/_arpakit_project_template/ARPAKITLIB,sha256=3-iAkMXtesLzJXHw_IIv2k2M0
5
5
  arpakitlib/_arpakit_project_template/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
6
6
  arpakitlib/_arpakit_project_template/README.md,sha256=AwqCtmMeywF2dJhZbKwCBA_wPnLF_VmoLGfPbFjH3bM,62
7
7
  arpakitlib/_arpakit_project_template/alembic/README,sha256=MVlc9TYmr57RbhXET6QxgyCcwWP7w-vLkEsirENqiIQ,38
8
- arpakitlib/_arpakit_project_template/alembic/env.py,sha256=GeYi-LT3-qhqv1HlGv8K6r4qvPN0J2Uzf2oADS5_kz8,2309
8
+ arpakitlib/_arpakit_project_template/alembic/env.py,sha256=eM2yH1kXWpo1iNsNzfRMbNeTJMUQ4e7I25RHVzf-MTA,2440
9
9
  arpakitlib/_arpakit_project_template/alembic/script.py.mako,sha256=MEqL-2qATlST9TAOeYgscMn1uy6HUS9NFvDgl93dMj8,635
10
10
  arpakitlib/_arpakit_project_template/alembic.ini,sha256=8fuyeEvGBiPGbxEFy8ISBV3xX_fgVmuhEGpB10_B5Uo,3733
11
- arpakitlib/_arpakit_project_template/example.env,sha256=MUfcOsyT6Rszy9KHrrenj8rNSYH4KLf_Mo-PPlTdQ8Y,659
11
+ arpakitlib/_arpakit_project_template/example.env,sha256=IdlZAGdEECfqmi80-hO9BFloaTW-B0ilXjUCTyg3w00,765
12
12
  arpakitlib/_arpakit_project_template/manage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  arpakitlib/_arpakit_project_template/manage/alembic_upgrade_head .sh,sha256=RIkhv5e5ERZHoxmTvvo_nCeDeVqeVIam7CjVoE9_E4k,38
14
14
  arpakitlib/_arpakit_project_template/manage/docker_ps.sh,sha256=uwm8vHgeuNLCOn0o9hgP_uc-PUkS9FwLyzZh6ItZ3do,15
15
15
  arpakitlib/_arpakit_project_template/manage/docker_ps_a.sh,sha256=nOQejihYlzstg9oROvYwHIsSLt2Sw0DWQEeT3GBaBNs,18
16
16
  arpakitlib/_arpakit_project_template/manage/docker_rm_postgres.sh,sha256=uIO5b_AsHEiHL_rWxayUd3asGA2sVw9gozyLMtkLMkE,56
17
- arpakitlib/_arpakit_project_template/manage/docker_run_postgres.sh,sha256=34Danr0ZOu_c6gRjBC4f6_cgD8HfEYXieaxBxOwioJw,300
17
+ arpakitlib/_arpakit_project_template/manage/docker_run_postgres.sh,sha256=BOSv-n5RKcbk3OZ1X-7KaJrrh0LpFvRGaYjDvTnuvuU,328
18
18
  arpakitlib/_arpakit_project_template/manage/docker_start_postgres.sh,sha256=gaSO3zH6og5qegkn-63_QmOZA-cXHbwddHmKpTfm0EU,56
19
19
  arpakitlib/_arpakit_project_template/manage/docker_stop_postgres.sh,sha256=h2NeFBI0b9vZcf5fPhhxtepvAFhxl78Ct1wjfJWos24,55
20
20
  arpakitlib/_arpakit_project_template/manage/git_branch.sh,sha256=yMwBwT866WjxowbDrNHRDh8yod4eSn7JZnXUlQvrcOk,17
@@ -67,7 +67,7 @@ arpakitlib/_arpakit_project_template/src/api/auth.py,sha256=Ul-4vt-DcgfearD12YF4
67
67
  arpakitlib/_arpakit_project_template/src/api/const.py,sha256=7d4qD5hedqr7QxVzbfsA7E1bNZn2Pm2U8joXGtpANu0,287
68
68
  arpakitlib/_arpakit_project_template/src/api/create_api_app.py,sha256=gyISI_loKbGkPndOm9bbGBpTV9us87Xisp89Q27EUH0,1551
69
69
  arpakitlib/_arpakit_project_template/src/api/create_handle_exception_.py,sha256=su4fToBIKWFtcdPFaYo2z1TFfpk3VfALpMlWH48HOr0,2247
70
- arpakitlib/_arpakit_project_template/src/api/event.py,sha256=ypwVgLEexeTwrJSwIe3EzB8ZMe9nP7lXfELE7hH0CnM,3312
70
+ arpakitlib/_arpakit_project_template/src/api/event.py,sha256=RGHAx4zJfVNkYXrbLeC9crcdnGg2r8wOk6mGEAauLZo,3319
71
71
  arpakitlib/_arpakit_project_template/src/api/router/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
72
72
  arpakitlib/_arpakit_project_template/src/api/router/main_router.py,sha256=Yv699WCJDcdiJMXFg1kPTvolqj-NAGoXfqe-vzbMzIU,228
73
73
  arpakitlib/_arpakit_project_template/src/api/router/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -78,13 +78,13 @@ arpakitlib/_arpakit_project_template/src/api/schema/v1/__init__.py,sha256=47DEQp
78
78
  arpakitlib/_arpakit_project_template/src/api/schema/v1/in_.py,sha256=dcvj5C9E2F2KCsGZPBBncQf_EvVJAC1qQgnyD8P4ZEw,6
79
79
  arpakitlib/_arpakit_project_template/src/api/schema/v1/out.py,sha256=dcvj5C9E2F2KCsGZPBBncQf_EvVJAC1qQgnyD8P4ZEw,6
80
80
  arpakitlib/_arpakit_project_template/src/api/transmitted_api_data.py,sha256=ITI-Fsnf7cG0e5c7u0G90Ex6NYzo-8YsqI5Z3JUgJx0,199
81
- arpakitlib/_arpakit_project_template/src/api/util.py,sha256=8vCupzPJty1iDhhF3L_a6WkEN9k_QhyBZ68oTzv9o_o,1525
81
+ arpakitlib/_arpakit_project_template/src/api/util.py,sha256=yI6631aFY-Dg2BAAItT4X86-uXSFKJoTPmAp-zSl2Lo,1539
82
82
  arpakitlib/_arpakit_project_template/src/business_service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
83
83
  arpakitlib/_arpakit_project_template/src/business_service/hello_world.py,sha256=mEVxsTFsd5u_T88l4mtCfoPre9QixAmQvzQmM2J8Okc,247
84
84
  arpakitlib/_arpakit_project_template/src/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
85
85
  arpakitlib/_arpakit_project_template/src/core/_check_logging.py,sha256=APQp8jQa3vQwuEt6nayPdu6GmCPHvVdAvv63RaCdHTs,225
86
86
  arpakitlib/_arpakit_project_template/src/core/_generate_settings_env_example.py,sha256=SiEJe8AYQPOWicsaCwf9RdXp6UAmfkBdBT18AAInGb4,483
87
- arpakitlib/_arpakit_project_template/src/core/_show_settings.py,sha256=yBj_44WWHagc-xXagqFrs6GRnlVd6BVxykZNXnJaTvg,339
87
+ arpakitlib/_arpakit_project_template/src/core/_show_settings.py,sha256=BQUcr-yj3cxz5GQo0jXe99wMoqHKrrrKD3-UovsJAt0,284
88
88
  arpakitlib/_arpakit_project_template/src/core/const.py,sha256=e2Y0NIQHfzm3bmnbQnGy3Z5YKt6OYnIsRoqVY8oIV2E,1008
89
89
  arpakitlib/_arpakit_project_template/src/core/settings.py,sha256=1tQwIvYvwAxY7Dz1LY6-EvxkG3hfYSPTmwq_frC4xRM,655
90
90
  arpakitlib/_arpakit_project_template/src/core/util.py,sha256=mcikqcjljZa2qhYeoR1tR9JUSprrVSod8XcIK_PqS6o,1547
@@ -98,8 +98,8 @@ arpakitlib/_arpakit_project_template/src/json_db/util.py,sha256=nUT3aM2R5FTWlUAm
98
98
  arpakitlib/_arpakit_project_template/src/just_script/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
99
99
  arpakitlib/_arpakit_project_template/src/just_script/example.py,sha256=Wr5DcSV_zpRFIMR7_ERrtAXzCoTHJEDU_AAT8BvaCi4,271
100
100
  arpakitlib/_arpakit_project_template/src/operation_execution/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
101
- arpakitlib/_arpakit_project_template/src/operation_execution/_start_operation_executor_worker.py,sha256=fOuxke-ACDL_9PwLLjUoReozxANiyVI-29IJUp-H860,579
102
- arpakitlib/_arpakit_project_template/src/operation_execution/_start_scheduled_operation_creator_worker.py,sha256=j1-cz4E_8KJ4vnLykWmVHIWHRmDHkji9FsUjnDCXxXc,581
101
+ arpakitlib/_arpakit_project_template/src/operation_execution/_start_operation_executor_worker.py,sha256=yNSOZHzGe1TFfU0dt6CuNtwrrz9XSCc2c1egUIDNKcY,586
102
+ arpakitlib/_arpakit_project_template/src/operation_execution/_start_scheduled_operation_creator_worker.py,sha256=UTBGUkCx2qOJeL_0IsioXeoJevvATbg4dSrDjKE6K40,588
103
103
  arpakitlib/_arpakit_project_template/src/operation_execution/const.py,sha256=HjupGEDUWVijQlbzxZPI9vBbAVOETUYzYU9pdnc9IcI,176
104
104
  arpakitlib/_arpakit_project_template/src/operation_execution/operation_executor.py,sha256=TuAlF3QPJq-Zsq693NHQ00dvCWAzuwce2q6ozesWFYY,725
105
105
  arpakitlib/_arpakit_project_template/src/operation_execution/scheduled_operations.py,sha256=DwEzbsQtO_7mSah25uOoV7IrlsMNEIU2j2gA-MGqUMQ,1100
@@ -112,16 +112,16 @@ arpakitlib/_arpakit_project_template/src/sandbox/sandbox_4.py,sha256=m5BIvvGoi9g
112
112
  arpakitlib/_arpakit_project_template/src/sandbox/sandbox_5.py,sha256=m5BIvvGoi9gaGFyqmX3rT8D-YqMmo9NEQA2T26CHwSk,171
113
113
  arpakitlib/_arpakit_project_template/src/sandbox/sandbox_6.py,sha256=m5BIvvGoi9gaGFyqmX3rT8D-YqMmo9NEQA2T26CHwSk,171
114
114
  arpakitlib/_arpakit_project_template/src/sandbox/sandbox_7.py,sha256=m5BIvvGoi9gaGFyqmX3rT8D-YqMmo9NEQA2T26CHwSk,171
115
- arpakitlib/_arpakit_project_template/src/sql_db/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
116
- arpakitlib/_arpakit_project_template/src/sql_db/_check_conn_sqlalchemy_db.py,sha256=M4H6nDmsxyJLCDLwPSZiRzO2FrFlroljrOx914eImao,253
117
- arpakitlib/_arpakit_project_template/src/sql_db/_drop_sqlalchemy_db.py,sha256=Q8ejPw-BTw_EaNf8tHlHQRLny5YNwmNpOBqg2g3Xy28,341
118
- arpakitlib/_arpakit_project_template/src/sql_db/_init_sqlalchemy_db.py,sha256=e-RcZ7eJcUSa47AYADtvWE--oBE0IN5bL3Jgjozoj3k,235
119
- arpakitlib/_arpakit_project_template/src/sql_db/_reinit_sqlalchemy_db.py,sha256=e76skNfv6dmXFFpowgdORrdosxIMs6fpWcqNigJK2ds,343
120
- arpakitlib/_arpakit_project_template/src/sql_db/_remove_operations.py,sha256=OjKWrlmK8NQ2OvuEYgD63raKJwWcuBxnXqgB_yMCdgs,475
121
- arpakitlib/_arpakit_project_template/src/sql_db/_remove_story_logs.py,sha256=DcHpdh-VGAk2pOnROSo27skBuFm4o11H8psL-uZedig,488
122
- arpakitlib/_arpakit_project_template/src/sql_db/const.py,sha256=dcvj5C9E2F2KCsGZPBBncQf_EvVJAC1qQgnyD8P4ZEw,6
123
- arpakitlib/_arpakit_project_template/src/sql_db/sqlalchemy_model.py,sha256=tIdSerx8m6FA0cx4PDNJF8cWY1utpS_g0sZ0jBzUAbI,286
124
- arpakitlib/_arpakit_project_template/src/sql_db/util.py,sha256=Rc2YSo_X_gAFX56axtmqD5GI2P0VIXullgvvRYfbo0E,859
115
+ arpakitlib/_arpakit_project_template/src/sqlalchemy_db/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
116
+ arpakitlib/_arpakit_project_template/src/sqlalchemy_db/_check_conn_sqlalchemy_db.py,sha256=ai-FRCIldSCrbWt04lDuFGDgexlGCaKNXiiel0VN83I,260
117
+ arpakitlib/_arpakit_project_template/src/sqlalchemy_db/_drop_sqlalchemy_db.py,sha256=ZENLN1v-dOpO4bWKQkAh3WfDCcb0KgG81t_B1I08Uj4,348
118
+ arpakitlib/_arpakit_project_template/src/sqlalchemy_db/_init_sqlalchemy_db.py,sha256=AduCk0xk4l7opRdg21BByaVwa93UwRqDT6t7xaDKbsQ,242
119
+ arpakitlib/_arpakit_project_template/src/sqlalchemy_db/_reinit_sqlalchemy_db.py,sha256=-Mwb13LSx6GIx7Rv-5mH6sC8ENO4Rz57edSnmp1D-qM,350
120
+ arpakitlib/_arpakit_project_template/src/sqlalchemy_db/_remove_operations.py,sha256=ZZ6xHZJ8OhWRNJ1uv5bFOZlKHjuwqZgZJgYehuGnXn8,482
121
+ arpakitlib/_arpakit_project_template/src/sqlalchemy_db/_remove_story_logs.py,sha256=vmNsdu4o05UO-p6EfzBSvo_YG_W4tjb60Zxn9YGgKwo,495
122
+ arpakitlib/_arpakit_project_template/src/sqlalchemy_db/const.py,sha256=dcvj5C9E2F2KCsGZPBBncQf_EvVJAC1qQgnyD8P4ZEw,6
123
+ arpakitlib/_arpakit_project_template/src/sqlalchemy_db/sqlalchemy_model.py,sha256=tIdSerx8m6FA0cx4PDNJF8cWY1utpS_g0sZ0jBzUAbI,286
124
+ arpakitlib/_arpakit_project_template/src/sqlalchemy_db/util.py,sha256=lCDlxbdTgJ6ZHaN_bsbLrjGaitnTY-hsWkuiBLBQdCU,887
125
125
  arpakitlib/_arpakit_project_template/src/test_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
126
126
  arpakitlib/_arpakit_project_template/src/test_data/make_test_data_1.py,sha256=w24o2vrlqaoCfPYftWogHCV8MoUjqctwLTI3-tFlgf4,100
127
127
  arpakitlib/_arpakit_project_template/src/test_data/make_test_data_2.py,sha256=bhriAB1GtC2dPWb0lltj145EhotgE6X1I7O8WnJmOyk,100
@@ -133,7 +133,7 @@ arpakitlib/_arpakit_project_template/src/tg_bot/blank/__init__.py,sha256=47DEQpj
133
133
  arpakitlib/_arpakit_project_template/src/tg_bot/blank/blank.py,sha256=ylQGIhLV3CMEW9qmQ4jr9rcXi0B72qIhbRmx9VLBzHc,204
134
134
  arpakitlib/_arpakit_project_template/src/tg_bot/blank/util.py,sha256=zhMRY4BUA8XMhfo8R4Jri655w4fwl0uniGq48SjchrY,247
135
135
  arpakitlib/_arpakit_project_template/src/tg_bot/const.py,sha256=oz6kWH00rtu4WvAMnrR4CNgT8rVl-gyMqEqWuZwwyZM,578
136
- arpakitlib/_arpakit_project_template/src/tg_bot/event.py,sha256=sgAy0eFEvVeYCizOK_T35N0hSbSeOZGtB1mwW9-6S6w,1489
136
+ arpakitlib/_arpakit_project_template/src/tg_bot/event.py,sha256=zGZqtx0K2ooRBVT21-Tc14zS-XS3rTmoD_qXcKPcMUE,1496
137
137
  arpakitlib/_arpakit_project_template/src/tg_bot/filter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
138
138
  arpakitlib/_arpakit_project_template/src/tg_bot/filter/not_prod_mode.py,sha256=uzkYsquQ5UKD68lEqe0478rbKFQYXZhbLIbxW0QhI44,235
139
139
  arpakitlib/_arpakit_project_template/src/tg_bot/filter/prod_mode.py,sha256=8zqDSSm3cqWmdoarZOh0hIjSLFQS9szVXnkibSJev30,228
@@ -152,16 +152,16 @@ arpakitlib/_arpakit_project_template/src/tg_bot/router/error.py,sha256=5ktxguLc2
152
152
  arpakitlib/_arpakit_project_template/src/tg_bot/router/router.py,sha256=ZxfPNouuewz3uEW7jLxXdCuT7v-HVjl9YagrKbUMzwc,151
153
153
  arpakitlib/_arpakit_project_template/src/tg_bot/start_tg_bot.py,sha256=o9q4VhaCi8jkdAC6O8PUnp5F9Ljvz13Qr6KHFlmWkj4,141
154
154
  arpakitlib/_arpakit_project_template/src/tg_bot/transmitted_tg_data.py,sha256=mjElzmxXaY4fODCG-C-gRvQ0MfbftB0uwYro7G84w3U,201
155
- arpakitlib/_arpakit_project_template/src/tg_bot/util.py,sha256=guMMaJMkU0DTueMUYnNbH3Kpkd4YqhJ_CxgAhUmCPZo,1532
155
+ arpakitlib/_arpakit_project_template/src/tg_bot/util.py,sha256=n1G13-WlxMgTJStVvNw-vDz9viSjYyZ8ZHVM65yF3Qw,1546
156
156
  arpakitlib/_arpakit_project_template/src/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
157
157
  arpakitlib/ar_additional_model_util.py,sha256=GFg-glLCxH9X95R2bhTJsscVwv37FgE1qbaAAyXrnIE,917
158
158
  arpakitlib/ar_aiogram_util.py,sha256=fDrca_IT-REDQLVVAwFYPyPZtNWZrJxGKdT1H6gh5Pc,12590
159
159
  arpakitlib/ar_api_key_util.py,sha256=E84JlJXiDHtxLQmV8BNHvqNKu_G8-Dox0XxknYJQ37Q,422
160
160
  arpakitlib/ar_arpakit_lib_module_util.py,sha256=g9uWwTK2eEzmErqwYeVgXDYVMREN8m5CdmgEumAEQfw,5919
161
- arpakitlib/ar_arpakit_project_template_util.py,sha256=zJXIFlFrO_3Xvg3ZqIiY6UZjKSbiFr8SQ99YKyZ86BE,3241
161
+ arpakitlib/ar_arpakit_project_template_util.py,sha256=gqFfNUEvfBYHS33J65OIWUGirwTTFtUCemSVEFPWIYU,3380
162
162
  arpakitlib/ar_arpakit_schedule_uust_api_client_util.py,sha256=_T_HeDCy2EwbYw0q5FnCJngU2fAZYMNd25gEtmagJN0,15813
163
163
  arpakitlib/ar_arpakit_schedule_uust_site_util.py,sha256=8wLct9Gd4MWkXzB6nSmETAwTPLw8lfpWgx0LoWSAOvg,1643
164
- arpakitlib/ar_arpakitlib_cli_util.py,sha256=OH3ST8BDkpYPlceRUy4hPWbDfoge0R1iXGyjjHwhwQk,2462
164
+ arpakitlib/ar_arpakitlib_cli_util.py,sha256=Z2Y8DnNcdaCecKuQk4JXHBmprRLZPZ-pCgb3uz1U2as,2563
165
165
  arpakitlib/ar_base64_util.py,sha256=aZkg2cZTuAaP2IWeG_LXJ6RO7qhyskVwec-Lks0iM-k,676
166
166
  arpakitlib/ar_base_worker_util.py,sha256=oIwJVqn8u3vEX7YlFZBHJYUGoYKhBnrgLDDpA3oId2w,5525
167
167
  arpakitlib/ar_blank_util.py,sha256=6O54Z8NnCg8BXxUVWt-oo1kqzt0836k9KJeJofwmj0g,113
@@ -208,7 +208,7 @@ arpakitlib/ar_list_of_dicts_to_xlsx.py,sha256=MyjEl4Jl4beLVZqLVQMMv0-XDtBD3Xh4Z_
208
208
  arpakitlib/ar_list_util.py,sha256=2woOAHAU8oTIiVjZ8GLnx15odEaoQUq3Q0JPxlufFF0,457
209
209
  arpakitlib/ar_logging_util.py,sha256=V4jypypFG1cj4nXae7JiBnRRfm02OTnZSEermx-wlDY,1668
210
210
  arpakitlib/ar_mongodb_util.py,sha256=2ECkTnGAZ92qxioL-fmN6R4yZOSr3bXdXLWTzT1C3vk,4038
211
- arpakitlib/ar_need_type_util.py,sha256=GETiREPMEYhch-yU6T--Bdawlbb04Jp1Qy7cOsUlIeA,2228
211
+ arpakitlib/ar_need_type_util.py,sha256=l4ky_15KKwqgYf2WTgEaKfBI15jZbnszOeQjwC0YUmk,2312
212
212
  arpakitlib/ar_openai_api_client_util.py,sha256=_XmlApvHFMSyjvZydPa_kASIt9LsFrZmSC7YEzIG8Bg,1806
213
213
  arpakitlib/ar_operation_execution_util.py,sha256=cBqxwVFsnG9d7vxR9bNBV9cYoX1kAhxA8jl_pta0neM,18012
214
214
  arpakitlib/ar_parse_command.py,sha256=-s61xcATIsfw1eV_iD3xi-grsitbGzSDoAFc5V0OFy4,3447
@@ -217,7 +217,7 @@ arpakitlib/ar_rat_func_util.py,sha256=xDO3gcmZZ0VsTF5zwqyfrkct8FWcKmyl1KUwfdA1s4
217
217
  arpakitlib/ar_retry_func_util.py,sha256=EQtXhn0RvMiyaes9HMDBgMh_WjMIaGwds01UrKKDaBM,2204
218
218
  arpakitlib/ar_run_cmd_util.py,sha256=D_rPavKMmWkQtwvZFz-Io5Ak8eSODHkcFeLPzNVC68g,1072
219
219
  arpakitlib/ar_schedule_uust_api_client_util.py,sha256=HhAIps0QS9ZsacPWhTrMkUUBxuqXBC2lcEzfLlxNs2g,6980
220
- arpakitlib/ar_settings_util.py,sha256=7Svyre79YPqyhI8mamGtqND3qcnRYuKF491LkktPv7Q,7876
220
+ arpakitlib/ar_settings_util.py,sha256=U9ePAGuygw7GxqVFd26C1UNHg4kAnr-7gQNd7T95cQc,8050
221
221
  arpakitlib/ar_sleep_util.py,sha256=OaLtRaJQWMkGjfj_mW1RB2P4RaSWsAIH8LUoXqsH0zM,1061
222
222
  arpakitlib/ar_sqladmin_util.py,sha256=6Nv9VQssk9PB0piyuss__soYKdjVhdbIeXIv4AgUxmQ,2660
223
223
  arpakitlib/ar_sqlalchemy_model_util.py,sha256=270RNSiccC5l55o8EFerh1SawlEsD99BpgwANSQA0UM,6418
@@ -229,8 +229,8 @@ arpakitlib/ar_type_util.py,sha256=9C3ErtUVs0tAUqtK-foFzjJOykfBOntfCz2IogDOgfA,41
229
229
  arpakitlib/ar_wata_api_client.py,sha256=gdHOqDbuqxhTjVDtRW1DvkRJLdDofCrOq51GTctzLns,242
230
230
  arpakitlib/ar_yookassa_api_client_util.py,sha256=VozuZeCJjmLd1zj2BdC9WfiAQ3XYOrIMsdpNK-AUlm0,5347
231
231
  arpakitlib/ar_zabbix_api_client_util.py,sha256=Q-VR4MvoZ9aHwZeYZr9G3LwN-ANx1T5KFmF6pvPM-9M,6402
232
- arpakitlib-1.7.255.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
233
- arpakitlib-1.7.255.dist-info/METADATA,sha256=bqljhWjFG_GK1_aPoI66VlvhL2a1DsWL-C1EXuPjMTM,3386
234
- arpakitlib-1.7.255.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
235
- arpakitlib-1.7.255.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
236
- arpakitlib-1.7.255.dist-info/RECORD,,
232
+ arpakitlib-1.7.257.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
233
+ arpakitlib-1.7.257.dist-info/METADATA,sha256=AtaeQJYrLd6u6Hw994mzLUzVrNpmxqORQjQSGIjq9Sc,3140
234
+ arpakitlib-1.7.257.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
235
+ arpakitlib-1.7.257.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
236
+ arpakitlib-1.7.257.dist-info/RECORD,,