arpakitlib 1.7.252__py3-none-any.whl → 1.7.253__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/alembic/env.py +1 -1
- arpakitlib/_arpakit_project_template/manage/docker_rm_postgres.sh +3 -0
- arpakitlib/_arpakit_project_template/manage/docker_run_postgres.sh +3 -3
- arpakitlib/_arpakit_project_template/manage/docker_start_postgres.sh +1 -1
- arpakitlib/_arpakit_project_template/manage/docker_stop_postgres.sh +1 -1
- arpakitlib/_arpakit_project_template/manage/git_set_arpakit_company_origin.sh +2 -2
- arpakitlib/_arpakit_project_template/manage/git_set_arpakit_origin.sh +2 -2
- arpakitlib/_arpakit_project_template/src/api/create_api_app.py +1 -1
- arpakitlib/_arpakit_project_template/src/api/event.py +4 -4
- arpakitlib/_arpakit_project_template/src/operation_execution/_start_operation_executor_worker.py +1 -1
- arpakitlib/_arpakit_project_template/src/operation_execution/_start_scheduled_operation_creator_worker.py +1 -1
- arpakitlib/_arpakit_project_template/src/{db → sql_db}/_check_conn_sqlalchemy_db.py +1 -1
- arpakitlib/_arpakit_project_template/src/{db → sql_db}/_drop_sqlalchemy_db.py +1 -1
- arpakitlib/_arpakit_project_template/src/{db → sql_db}/_init_sqlalchemy_db.py +1 -1
- arpakitlib/_arpakit_project_template/src/{db → sql_db}/_reinit_sqlalchemy_db.py +1 -1
- arpakitlib/_arpakit_project_template/src/{operation_execution → sql_db}/_remove_operations.py +1 -1
- arpakitlib/_arpakit_project_template/src/sql_db/_remove_story_logs.py +16 -0
- arpakitlib/_arpakit_project_template/src/{db → sql_db}/util.py +6 -6
- arpakitlib/_arpakit_project_template/src/tg_bot/transmitted_tg_data.py +3 -14
- arpakitlib/ar_aiogram_util.py +27 -4
- arpakitlib/ar_fastapi_util.py +8 -6
- arpakitlib/ar_operation_execution_util.py +7 -7
- arpakitlib/ar_settings_util.py +1 -1
- arpakitlib/ar_sqlalchemy_util.py +4 -4
- {arpakitlib-1.7.252.dist-info → arpakitlib-1.7.253.dist-info}/METADATA +1 -1
- {arpakitlib-1.7.252.dist-info → arpakitlib-1.7.253.dist-info}/RECORD +32 -30
- /arpakitlib/_arpakit_project_template/src/{db → sql_db}/__init__.py +0 -0
- /arpakitlib/_arpakit_project_template/src/{db → sql_db}/const.py +0 -0
- /arpakitlib/_arpakit_project_template/src/{db → sql_db}/sqlalchemy_model.py +0 -0
- {arpakitlib-1.7.252.dist-info → arpakitlib-1.7.253.dist-info}/LICENSE +0 -0
- {arpakitlib-1.7.252.dist-info → arpakitlib-1.7.253.dist-info}/WHEEL +0 -0
- {arpakitlib-1.7.252.dist-info → arpakitlib-1.7.253.dist-info}/entry_points.txt +0 -0
@@ -5,7 +5,7 @@ from sqlalchemy import engine_from_config
|
|
5
5
|
from sqlalchemy import pool
|
6
6
|
|
7
7
|
from src.core.settings import get_cached_settings
|
8
|
-
from src.
|
8
|
+
from src.sql_db.util import get_base_dbm
|
9
9
|
|
10
10
|
# this is the Alembic Config object, which provides
|
11
11
|
# access to the values within the .ini file in use.
|
@@ -1,5 +1,5 @@
|
|
1
1
|
cd ..
|
2
2
|
source .env
|
3
|
-
docker rm ${
|
4
|
-
docker run --name ${
|
5
|
-
docker start ${
|
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
|
5
|
+
docker start ${project_name}_postgres
|
@@ -3,7 +3,7 @@ cd ..
|
|
3
3
|
source .env
|
4
4
|
|
5
5
|
git remote remove arpakit_company_github_1
|
6
|
-
git remote add arpakit_company_github_1 git@github.com:ARPAKIT-Company/${
|
6
|
+
git remote add arpakit_company_github_1 git@github.com:ARPAKIT-Company/${project_name}.git
|
7
7
|
|
8
8
|
git remote remove arpakit_company_gitlab_1
|
9
|
-
git remote add arpakit_company_gitlab_1 git@gitlab.com:ARPAKIT-Company/${
|
9
|
+
git remote add arpakit_company_gitlab_1 git@gitlab.com:ARPAKIT-Company/${project_name}.git
|
@@ -3,7 +3,7 @@ cd ..
|
|
3
3
|
source .env
|
4
4
|
|
5
5
|
git remote remove arpakit_github_1
|
6
|
-
git remote add arpakit_github_1 git@github.com:arpakit/${
|
6
|
+
git remote add arpakit_github_1 git@github.com:arpakit/${project_name}.git
|
7
7
|
|
8
8
|
git remote remove arpakit_gitlab_1
|
9
|
-
git remote add arpakit_gitlab_1 git@gitlab.com:arpakit/${
|
9
|
+
git remote add arpakit_gitlab_1 git@gitlab.com:arpakit/${project_name}.git
|
@@ -9,7 +9,7 @@ from src.core.const import ProjectPaths
|
|
9
9
|
from src.core.settings import get_cached_settings
|
10
10
|
from src.core.util import setup_logging, get_cached_media_file_storage_in_dir, get_cached_cache_file_storage_in_dir, \
|
11
11
|
get_cached_dump_file_storage_in_dir
|
12
|
-
from src.
|
12
|
+
from src.sql_db.util import get_cached_sqlalchemy_db
|
13
13
|
|
14
14
|
|
15
15
|
def create_api_app() -> FastAPI:
|
@@ -1,7 +1,7 @@
|
|
1
1
|
from arpakitlib.ar_base_worker_util import safe_run_worker_in_background, SafeRunInBackgroundModes
|
2
2
|
from arpakitlib.ar_fastapi_util import BaseStartupAPIEvent, BaseShutdownAPIEvent
|
3
3
|
from arpakitlib.ar_operation_execution_util import OperationExecutorWorker, ScheduledOperationCreatorWorker
|
4
|
-
from arpakitlib.ar_sqlalchemy_util import
|
4
|
+
from arpakitlib.ar_sqlalchemy_util import SQLAlchemyDb
|
5
5
|
from arpakitlib.ar_type_util import raise_for_type
|
6
6
|
from src.api.transmitted_api_data import TransmittedAPIData
|
7
7
|
from src.operation_execution.operation_executor import OperationExecutor
|
@@ -29,11 +29,11 @@ class StartupAPIEvent(BaseStartupAPIEvent):
|
|
29
29
|
self.transmitted_api_data.dump_file_storage_in_dir.init()
|
30
30
|
|
31
31
|
if self.transmitted_api_data.settings.api_init_sql_db_at_start:
|
32
|
-
raise_for_type(self.transmitted_api_data.sqlalchemy_db,
|
32
|
+
raise_for_type(self.transmitted_api_data.sqlalchemy_db, SQLAlchemyDb)
|
33
33
|
self.transmitted_api_data.sqlalchemy_db.init()
|
34
34
|
|
35
35
|
if self.transmitted_api_data.settings.api_start_operation_executor_worker: # TODO
|
36
|
-
raise_for_type(self.transmitted_api_data.sqlalchemy_db,
|
36
|
+
raise_for_type(self.transmitted_api_data.sqlalchemy_db, SQLAlchemyDb)
|
37
37
|
_ = safe_run_worker_in_background(
|
38
38
|
worker=OperationExecutorWorker(
|
39
39
|
sqlalchemy_db=self.transmitted_api_data.sqlalchemy_db,
|
@@ -44,7 +44,7 @@ class StartupAPIEvent(BaseStartupAPIEvent):
|
|
44
44
|
)
|
45
45
|
|
46
46
|
if self.transmitted_api_data.settings.api_start_scheduled_operation_creator_worker: # TODO
|
47
|
-
raise_for_type(self.transmitted_api_data.sqlalchemy_db,
|
47
|
+
raise_for_type(self.transmitted_api_data.sqlalchemy_db, SQLAlchemyDb)
|
48
48
|
_ = safe_run_worker_in_background(
|
49
49
|
worker=ScheduledOperationCreatorWorker(
|
50
50
|
sqlalchemy_db=self.transmitted_api_data.sqlalchemy_db,
|
arpakitlib/_arpakit_project_template/src/operation_execution/_start_operation_executor_worker.py
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
from arpakitlib.ar_operation_execution_util import OperationExecutorWorker
|
2
2
|
from src.core.util import setup_logging
|
3
|
-
from src.db.util import get_cached_sqlalchemy_db
|
4
3
|
from src.operation_execution.operation_executor import OperationExecutor
|
4
|
+
from src.sql_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
|
-
from src.db.util import get_cached_sqlalchemy_db
|
4
3
|
from src.operation_execution.scheduled_operations import SCHEDULED_OPERATIONS
|
4
|
+
from src.sql_db.util import get_cached_sqlalchemy_db
|
5
5
|
|
6
6
|
|
7
7
|
def _start_scheduled_operation_creator_worker():
|
arpakitlib/_arpakit_project_template/src/{operation_execution → sql_db}/_remove_operations.py
RENAMED
@@ -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.
|
4
|
+
from src.sql_db.util import get_cached_sqlalchemy_db
|
5
5
|
|
6
6
|
|
7
7
|
def _remove_operations():
|
@@ -0,0 +1,16 @@
|
|
1
|
+
from arpakitlib.ar_sqlalchemy_model_util import StoryLogDBM
|
2
|
+
from src.core.settings import get_cached_settings
|
3
|
+
from src.core.util import setup_logging
|
4
|
+
from src.sql_db.util import get_cached_sqlalchemy_db
|
5
|
+
|
6
|
+
|
7
|
+
def _remove_story_logs():
|
8
|
+
setup_logging()
|
9
|
+
get_cached_settings().raise_if_mode_type_prod()
|
10
|
+
with get_cached_sqlalchemy_db().new_session() as session:
|
11
|
+
session.query(StoryLogDBM).delete()
|
12
|
+
session.commit()
|
13
|
+
|
14
|
+
|
15
|
+
if __name__ == '__main__':
|
16
|
+
_remove_story_logs()
|
@@ -1,21 +1,21 @@
|
|
1
1
|
from functools import lru_cache
|
2
2
|
|
3
3
|
from arpakitlib.ar_sqlalchemy_model_util import BaseDBM
|
4
|
-
from arpakitlib.ar_sqlalchemy_util import
|
4
|
+
from arpakitlib.ar_sqlalchemy_util import SQLAlchemyDb
|
5
5
|
from src.core.settings import get_cached_settings
|
6
6
|
|
7
7
|
|
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.
|
11
|
+
from src.sql_db.sqlalchemy_model import import_project_sqlalchemy_models
|
12
12
|
import_project_sqlalchemy_models()
|
13
13
|
return BaseDBM
|
14
14
|
|
15
15
|
|
16
|
-
def create_sqlalchemy_db() ->
|
17
|
-
return
|
18
|
-
|
16
|
+
def create_sqlalchemy_db() -> SQLAlchemyDb:
|
17
|
+
return SQLAlchemyDb(
|
18
|
+
sync_db_url=get_cached_settings().sync_sql_db_url,
|
19
19
|
async_db_url=get_cached_settings().async_sql_db_url,
|
20
20
|
db_echo=get_cached_settings().sql_db_echo,
|
21
21
|
base_dbm=get_base_dbm()
|
@@ -23,5 +23,5 @@ def create_sqlalchemy_db() -> SQLAlchemyDB:
|
|
23
23
|
|
24
24
|
|
25
25
|
@lru_cache()
|
26
|
-
def get_cached_sqlalchemy_db() ->
|
26
|
+
def get_cached_sqlalchemy_db() -> SQLAlchemyDb:
|
27
27
|
return create_sqlalchemy_db()
|
@@ -1,17 +1,6 @@
|
|
1
|
-
from
|
2
|
-
|
3
|
-
from arpakitlib.ar_aiogram_util import BaseTransmittedTgBotData
|
4
|
-
from arpakitlib.ar_file_storage_in_dir_util import FileStorageInDir
|
5
|
-
from arpakitlib.ar_sqlalchemy_util import SQLAlchemyDB
|
1
|
+
from arpakitlib.ar_aiogram_util import AdvancedTransmittedTgBotData
|
6
2
|
from src.core.settings import Settings
|
7
3
|
|
8
4
|
|
9
|
-
class TransmittedTgData(
|
10
|
-
settings: Settings
|
11
|
-
sqlalchemy_db: SQLAlchemyDB | None = None
|
12
|
-
media_file_storage_in_dir: FileStorageInDir | None = None
|
13
|
-
cache_file_storage_in_dir: FileStorageInDir | None = None
|
14
|
-
dump_file_storage_in_dir: FileStorageInDir | None = None
|
15
|
-
tg_bot: Bot
|
16
|
-
|
17
|
-
# ...
|
5
|
+
class TransmittedTgData(AdvancedTransmittedTgBotData):
|
6
|
+
settings: Settings | None = None
|
arpakitlib/ar_aiogram_util.py
CHANGED
@@ -4,7 +4,7 @@ import asyncio
|
|
4
4
|
import logging
|
5
5
|
from typing import Optional, Any, Union, Callable, Iterable
|
6
6
|
|
7
|
-
from aiogram import types, Bot
|
7
|
+
from aiogram import types, Bot, Dispatcher
|
8
8
|
from aiogram.client.default import DefaultBotProperties
|
9
9
|
from aiogram.client.session.aiohttp import AiohttpSession
|
10
10
|
from aiogram.enums import ChatType, ParseMode
|
@@ -13,8 +13,12 @@ from aiogram.filters import CommandObject, Filter
|
|
13
13
|
from aiogram.filters.callback_data import CallbackData
|
14
14
|
from pydantic import BaseModel, ConfigDict
|
15
15
|
|
16
|
+
from arpakitlib.ar_file_storage_in_dir_util import FileStorageInDir
|
17
|
+
from arpakitlib.ar_json_db_util import JSONDb
|
16
18
|
from arpakitlib.ar_need_type_util import parse_need_type, NeedTypes
|
17
19
|
from arpakitlib.ar_parse_command import BadCommandFormat, parse_command
|
20
|
+
from arpakitlib.ar_settings_util import SimpleSettings, BaseSettings2
|
21
|
+
from arpakitlib.ar_sqlalchemy_util import SQLAlchemyDb
|
18
22
|
from arpakitlib.ar_type_util import raise_for_types, raise_for_type
|
19
23
|
|
20
24
|
_ARPAKIT_LIB_MODULE_VERSION = "3.0"
|
@@ -315,6 +319,18 @@ class BaseTransmittedTgBotData(BaseModel):
|
|
315
319
|
model_config = ConfigDict(extra="ignore", arbitrary_types_allowed=True, from_attributes=True)
|
316
320
|
|
317
321
|
|
322
|
+
class SimpleTransmittedTgBotData(BaseTransmittedTgBotData):
|
323
|
+
settings: BaseSettings2 | None = None
|
324
|
+
|
325
|
+
|
326
|
+
class AdvancedTransmittedTgBotData(SimpleTransmittedTgBotData):
|
327
|
+
sqlalchemy_db: SQLAlchemyDb | None = None
|
328
|
+
json_db: JSONDb | None = None
|
329
|
+
media_file_storage_in_dir: FileStorageInDir | None = None
|
330
|
+
cache_file_storage_in_dir: FileStorageInDir | None = None
|
331
|
+
dump_file_storage_in_dir: FileStorageInDir | None = None
|
332
|
+
|
333
|
+
|
318
334
|
def create_aiogram_tg_bot(*, token: str, proxy_url_: str | None = None, **kwargs) -> Bot:
|
319
335
|
kwargs["token"] = token
|
320
336
|
|
@@ -333,9 +349,16 @@ def create_aiogram_tg_bot(*, token: str, proxy_url_: str | None = None, **kwargs
|
|
333
349
|
return tg_bot
|
334
350
|
|
335
351
|
|
336
|
-
def create_tg_bot_dispatcher(
|
337
|
-
|
338
|
-
|
352
|
+
# def create_tg_bot_dispatcher(
|
353
|
+
# *,
|
354
|
+
# settings:
|
355
|
+
# ):
|
356
|
+
# tg_dp = Dispatcher(
|
357
|
+
# storage=MemoryStorage(),
|
358
|
+
# settings=get_settings(),
|
359
|
+
# db=db,
|
360
|
+
# transmitted_tg_bot_data=transmitted_tg_bot_data
|
361
|
+
# )
|
339
362
|
|
340
363
|
|
341
364
|
def __example():
|
arpakitlib/ar_fastapi_util.py
CHANGED
@@ -31,10 +31,11 @@ from arpakitlib.ar_enumeration_util import Enumeration
|
|
31
31
|
from arpakitlib.ar_exception_util import exception_to_traceback_str
|
32
32
|
from arpakitlib.ar_file_storage_in_dir_util import FileStorageInDir
|
33
33
|
from arpakitlib.ar_func_util import raise_if_not_async_func, is_async_object
|
34
|
+
from arpakitlib.ar_json_db_util import JSONDb
|
34
35
|
from arpakitlib.ar_json_util import safely_transfer_obj_to_json_str_to_json_obj, safely_transfer_obj_to_json_str
|
35
|
-
from arpakitlib.ar_settings_util import
|
36
|
+
from arpakitlib.ar_settings_util import BaseSettings2
|
36
37
|
from arpakitlib.ar_sqlalchemy_model_util import StoryLogDBM, OperationDBM
|
37
|
-
from arpakitlib.ar_sqlalchemy_util import
|
38
|
+
from arpakitlib.ar_sqlalchemy_util import SQLAlchemyDb
|
38
39
|
from arpakitlib.ar_type_util import raise_for_type, raise_if_none
|
39
40
|
|
40
41
|
_ARPAKIT_LIB_MODULE_VERSION = "3.0"
|
@@ -355,12 +356,12 @@ def logging__api_func_before_in_handle_exception(
|
|
355
356
|
|
356
357
|
def story_log__api_func_before_in_handle_exception(
|
357
358
|
*,
|
358
|
-
sqlalchemy_db:
|
359
|
+
sqlalchemy_db: SQLAlchemyDb,
|
359
360
|
ignore_api_error_codes: list[str] | None = None,
|
360
361
|
ignore_status_codes: list[int] | None = None,
|
361
362
|
ignore_exception_types: list[type[Exception]] | None = None
|
362
363
|
) -> Callable:
|
363
|
-
raise_for_type(sqlalchemy_db,
|
364
|
+
raise_for_type(sqlalchemy_db, SQLAlchemyDb)
|
364
365
|
|
365
366
|
current_func_name = inspect.currentframe().f_code.co_name
|
366
367
|
|
@@ -532,11 +533,12 @@ class BaseTransmittedAPIData(BaseModel):
|
|
532
533
|
|
533
534
|
|
534
535
|
class SimpleTransmittedAPIData(BaseTransmittedAPIData):
|
535
|
-
settings:
|
536
|
+
settings: BaseSettings2 | None = None
|
536
537
|
|
537
538
|
|
538
539
|
class AdvancedTransmittedAPIData(SimpleTransmittedAPIData):
|
539
|
-
sqlalchemy_db:
|
540
|
+
sqlalchemy_db: SQLAlchemyDb | None = None
|
541
|
+
json_db: JSONDb | None = None
|
540
542
|
media_file_storage_in_dir: FileStorageInDir | None = None
|
541
543
|
cache_file_storage_in_dir: FileStorageInDir | None = None
|
542
544
|
dump_file_storage_in_dir: FileStorageInDir | None = None
|
@@ -19,7 +19,7 @@ from arpakitlib.ar_datetime_util import now_utc_dt
|
|
19
19
|
from arpakitlib.ar_dict_util import combine_dicts
|
20
20
|
from arpakitlib.ar_sleep_util import sync_safe_sleep, async_safe_sleep
|
21
21
|
from arpakitlib.ar_sqlalchemy_model_util import OperationDBM, StoryLogDBM, BaseOperationTypes
|
22
|
-
from arpakitlib.ar_sqlalchemy_util import
|
22
|
+
from arpakitlib.ar_sqlalchemy_util import SQLAlchemyDb
|
23
23
|
from arpakitlib.ar_type_util import raise_for_type
|
24
24
|
|
25
25
|
_ARPAKIT_LIB_MODULE_VERSION = "3.0"
|
@@ -30,7 +30,7 @@ _logger = logging.getLogger(__name__)
|
|
30
30
|
def get_operation_for_execution(
|
31
31
|
*,
|
32
32
|
session: Session | None = None,
|
33
|
-
sqlalchemy_db:
|
33
|
+
sqlalchemy_db: SQLAlchemyDb | None = None,
|
34
34
|
filter_operation_types: list[str] | str | None = None,
|
35
35
|
lock: bool = False
|
36
36
|
) -> OperationDBM | None:
|
@@ -65,7 +65,7 @@ def get_operation_for_execution(
|
|
65
65
|
def get_operation_by_id(
|
66
66
|
*,
|
67
67
|
session: Session | None = None,
|
68
|
-
sqlalchemy_db:
|
68
|
+
sqlalchemy_db: SQLAlchemyDb | None = None,
|
69
69
|
filter_operation_id: int,
|
70
70
|
raise_if_not_found: bool = False,
|
71
71
|
lock: bool = False
|
@@ -101,7 +101,7 @@ def get_operation_by_id(
|
|
101
101
|
def remove_operations(
|
102
102
|
*,
|
103
103
|
session: Session | None = None,
|
104
|
-
sqlalchemy_db:
|
104
|
+
sqlalchemy_db: SQLAlchemyDb | None = None,
|
105
105
|
filter_operation_ids: list[int] | int | None = None,
|
106
106
|
filter_operation_types: list[str] | str | None = None,
|
107
107
|
filter_operation_statuses: list[str] | str | None = None
|
@@ -141,7 +141,7 @@ def remove_operations(
|
|
141
141
|
|
142
142
|
|
143
143
|
class BaseOperationExecutor:
|
144
|
-
def __init__(self, *, sqlalchemy_db:
|
144
|
+
def __init__(self, *, sqlalchemy_db: SQLAlchemyDb, **kwargs):
|
145
145
|
self._logger = logging.getLogger(self.__class__.__name__)
|
146
146
|
self.sql_alchemy_db = sqlalchemy_db
|
147
147
|
|
@@ -311,7 +311,7 @@ class OperationExecutorWorker(BaseWorker):
|
|
311
311
|
def __init__(
|
312
312
|
self,
|
313
313
|
*,
|
314
|
-
sqlalchemy_db:
|
314
|
+
sqlalchemy_db: SQLAlchemyDb,
|
315
315
|
operation_executor: BaseOperationExecutor | None = None,
|
316
316
|
filter_operation_types: str | list[str] | None = None,
|
317
317
|
startup_funcs: list[Any] | None = None,
|
@@ -384,7 +384,7 @@ class ScheduledOperationCreatorWorker(BaseWorker):
|
|
384
384
|
def __init__(
|
385
385
|
self,
|
386
386
|
*,
|
387
|
-
sqlalchemy_db:
|
387
|
+
sqlalchemy_db: SQLAlchemyDb,
|
388
388
|
scheduled_operations: ScheduledOperation | list[ScheduledOperation] | None = None,
|
389
389
|
startup_funcs: list[Any] | None = None
|
390
390
|
):
|
arpakitlib/ar_settings_util.py
CHANGED
@@ -125,7 +125,7 @@ class AdvancedSettings(SimpleSettings):
|
|
125
125
|
return v
|
126
126
|
|
127
127
|
return generate_sqlalchemy_url(
|
128
|
-
base="postgresql
|
128
|
+
base="postgresql",
|
129
129
|
user=validation_info.data.get("sql_db_user"),
|
130
130
|
password=validation_info.data.get("sql_db_password"),
|
131
131
|
port=validation_info.data.get("sql_db_port"),
|
arpakitlib/ar_sqlalchemy_util.py
CHANGED
@@ -78,11 +78,11 @@ def generate_sqlalchemy_url(
|
|
78
78
|
return f"{base}://{auth_part}{host_part}{database_part}{query_part}"
|
79
79
|
|
80
80
|
|
81
|
-
class
|
81
|
+
class SQLAlchemyDb:
|
82
82
|
def __init__(
|
83
83
|
self,
|
84
84
|
*,
|
85
|
-
|
85
|
+
sync_db_url: str | None = "postgresql://arpakitlib:arpakitlib@localhost:50517/arpakitlib",
|
86
86
|
async_db_url: str | None = "postgresql+asyncpg://arpakitlib:arpakitlib@localhost:50517/arpakitlib",
|
87
87
|
db_echo: bool = False,
|
88
88
|
base_dbm: type[BaseDBM] | None = None,
|
@@ -90,10 +90,10 @@ class SQLAlchemyDB:
|
|
90
90
|
):
|
91
91
|
self._logger = logging.getLogger()
|
92
92
|
|
93
|
-
self.db_url =
|
93
|
+
self.db_url = sync_db_url
|
94
94
|
if self.db_url is not None:
|
95
95
|
self.engine = create_engine(
|
96
|
-
url=
|
96
|
+
url=sync_db_url,
|
97
97
|
echo=db_echo,
|
98
98
|
pool_size=10,
|
99
99
|
max_overflow=10,
|
@@ -5,7 +5,7 @@ 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=
|
8
|
+
arpakitlib/_arpakit_project_template/alembic/env.py,sha256=GeYi-LT3-qhqv1HlGv8K6r4qvPN0J2Uzf2oADS5_kz8,2309
|
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
11
|
arpakitlib/_arpakit_project_template/example.env,sha256=IUDWwKPGCxqnMV3H_HhnG5LUhRk0M1MNOmPeJBhIMsU,482
|
@@ -13,9 +13,10 @@ arpakitlib/_arpakit_project_template/manage/__init__.py,sha256=47DEQpj8HBSa-_TIm
|
|
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
|
-
arpakitlib/_arpakit_project_template/manage/
|
17
|
-
arpakitlib/_arpakit_project_template/manage/
|
18
|
-
arpakitlib/_arpakit_project_template/manage/
|
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
|
18
|
+
arpakitlib/_arpakit_project_template/manage/docker_start_postgres.sh,sha256=gaSO3zH6og5qegkn-63_QmOZA-cXHbwddHmKpTfm0EU,56
|
19
|
+
arpakitlib/_arpakit_project_template/manage/docker_stop_postgres.sh,sha256=h2NeFBI0b9vZcf5fPhhxtepvAFhxl78Ct1wjfJWos24,55
|
19
20
|
arpakitlib/_arpakit_project_template/manage/git_branch.sh,sha256=yMwBwT866WjxowbDrNHRDh8yod4eSn7JZnXUlQvrcOk,17
|
20
21
|
arpakitlib/_arpakit_project_template/manage/git_commit.sh,sha256=AW1NEel-ZHaYeVWFlRbgZSYPQdnVKsTkpR_07RQL1Mw,42
|
21
22
|
arpakitlib/_arpakit_project_template/manage/git_push_arpakit_company_github_1.sh,sha256=Sx-OegryHeNTIfAOoCfj3Z3CF-XKEY0AJF5HVJAgGpU,70
|
@@ -23,8 +24,8 @@ arpakitlib/_arpakit_project_template/manage/git_push_arpakit_company_gitlab_1.sh
|
|
23
24
|
arpakitlib/_arpakit_project_template/manage/git_push_arpakit_github_1.sh,sha256=j2wTeg7_tmJiWEtNAXpXjRSizEauoqF9uM679n6zidU,62
|
24
25
|
arpakitlib/_arpakit_project_template/manage/git_push_arpakit_gitlab_1.sh,sha256=W-85-OhGYLTijzM39G0Es74Y0VdbczELwS12owHN_Gs,62
|
25
26
|
arpakitlib/_arpakit_project_template/manage/git_remote_v.sh,sha256=DIcyWmY_mve_CmM1SND2gYgAGO7HaLtso3zvJfMqTRI,19
|
26
|
-
arpakitlib/_arpakit_project_template/manage/git_set_arpakit_company_origin.sh,sha256=
|
27
|
-
arpakitlib/_arpakit_project_template/manage/git_set_arpakit_origin.sh,sha256=
|
27
|
+
arpakitlib/_arpakit_project_template/manage/git_set_arpakit_company_origin.sh,sha256=zD57Uw_jF0ieegxk3c9hVzUHucpQDrbsQaML50Opy8Y,289
|
28
|
+
arpakitlib/_arpakit_project_template/manage/git_set_arpakit_origin.sh,sha256=J7qmaOAbAdwVo1_fwvbX1GcbL7AMPFG4ZU6zk45Y88s,240
|
28
29
|
arpakitlib/_arpakit_project_template/manage/git_status.sh,sha256=N9JGYX5_UfCdirw4EQYzu4sS7pMLGrF4-QrTSTcpUtA,16
|
29
30
|
arpakitlib/_arpakit_project_template/manage/hello_world.py,sha256=OxvwkWqjmhhvMPG1TiQTo52hgEyzZfzUPoij0wmFmWA,95
|
30
31
|
arpakitlib/_arpakit_project_template/manage/json_beautify.py,sha256=AwBtDjb92LpGy9M3XGBoLOIQKlOPtm5pLl47i7xJpZY,239
|
@@ -64,9 +65,9 @@ arpakitlib/_arpakit_project_template/src/api/_start_api_without_reload.py,sha256
|
|
64
65
|
arpakitlib/_arpakit_project_template/src/api/asgi.py,sha256=a5UBxOyNC8NG3E0ayhiDo3t5tPoB3WtOf2gbZJFWBAA,74
|
65
66
|
arpakitlib/_arpakit_project_template/src/api/auth.py,sha256=Ul-4vt-DcgfearD12YF4-WSO_O6zvBTowQ64mtH3VTc,1569
|
66
67
|
arpakitlib/_arpakit_project_template/src/api/const.py,sha256=7d4qD5hedqr7QxVzbfsA7E1bNZn2Pm2U8joXGtpANu0,287
|
67
|
-
arpakitlib/_arpakit_project_template/src/api/create_api_app.py,sha256=
|
68
|
+
arpakitlib/_arpakit_project_template/src/api/create_api_app.py,sha256=oQrpmBXwRMquX1p8TFuYjqicSzAnhPTPRJNtCh0Gp0w,2494
|
68
69
|
arpakitlib/_arpakit_project_template/src/api/create_handle_exception_.py,sha256=su4fToBIKWFtcdPFaYo2z1TFfpk3VfALpMlWH48HOr0,2247
|
69
|
-
arpakitlib/_arpakit_project_template/src/api/event.py,sha256=
|
70
|
+
arpakitlib/_arpakit_project_template/src/api/event.py,sha256=nnTt9yAMHQvsJEY8qFsikPNxzYQpweUqYaWr4srG36U,3555
|
70
71
|
arpakitlib/_arpakit_project_template/src/api/router/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
71
72
|
arpakitlib/_arpakit_project_template/src/api/router/main_router.py,sha256=Yv699WCJDcdiJMXFg1kPTvolqj-NAGoXfqe-vzbMzIU,228
|
72
73
|
arpakitlib/_arpakit_project_template/src/api/router/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -87,20 +88,11 @@ arpakitlib/_arpakit_project_template/src/core/_show_settings.py,sha256=BQUcr-yj3
|
|
87
88
|
arpakitlib/_arpakit_project_template/src/core/const.py,sha256=e2Y0NIQHfzm3bmnbQnGy3Z5YKt6OYnIsRoqVY8oIV2E,1008
|
88
89
|
arpakitlib/_arpakit_project_template/src/core/settings.py,sha256=1tQwIvYvwAxY7Dz1LY6-EvxkG3hfYSPTmwq_frC4xRM,655
|
89
90
|
arpakitlib/_arpakit_project_template/src/core/util.py,sha256=mcikqcjljZa2qhYeoR1tR9JUSprrVSod8XcIK_PqS6o,1547
|
90
|
-
arpakitlib/_arpakit_project_template/src/db/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
91
|
-
arpakitlib/_arpakit_project_template/src/db/_check_conn_sqlalchemy_db.py,sha256=GPK7-w7x8ESqbZ0v1nI8m_ysWfnmjgRwyyh6kM8vYBQ,249
|
92
|
-
arpakitlib/_arpakit_project_template/src/db/_drop_sqlalchemy_db.py,sha256=N_W3Jk_kPzMDhiv7INGYvpC6iVNPdzvgbLFUDtY5FwY,337
|
93
|
-
arpakitlib/_arpakit_project_template/src/db/_init_sqlalchemy_db.py,sha256=tHJ1NBUAR-9uAktx2RfPikzGGguhwEWfrWdj1y0XV-w,231
|
94
|
-
arpakitlib/_arpakit_project_template/src/db/_reinit_sqlalchemy_db.py,sha256=_4O_xr6FXt3qcWOmO82CKG3XX6_RqbqaOYSEygxpBfA,339
|
95
|
-
arpakitlib/_arpakit_project_template/src/db/const.py,sha256=dcvj5C9E2F2KCsGZPBBncQf_EvVJAC1qQgnyD8P4ZEw,6
|
96
|
-
arpakitlib/_arpakit_project_template/src/db/sqlalchemy_model.py,sha256=tIdSerx8m6FA0cx4PDNJF8cWY1utpS_g0sZ0jBzUAbI,286
|
97
|
-
arpakitlib/_arpakit_project_template/src/db/util.py,sha256=PzI0qk50zChjgVp1XJBKYIX16UeLahc8jzHAt1fIu4o,845
|
98
91
|
arpakitlib/_arpakit_project_template/src/just_script/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
99
92
|
arpakitlib/_arpakit_project_template/src/just_script/example.py,sha256=Wr5DcSV_zpRFIMR7_ERrtAXzCoTHJEDU_AAT8BvaCi4,271
|
100
93
|
arpakitlib/_arpakit_project_template/src/operation_execution/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
101
|
-
arpakitlib/_arpakit_project_template/src/operation_execution/
|
102
|
-
arpakitlib/_arpakit_project_template/src/operation_execution/
|
103
|
-
arpakitlib/_arpakit_project_template/src/operation_execution/_start_scheduled_operation_creator_worker.py,sha256=i6bKSrdCElclkVWMQrIdwDtOCiy8YvrL5OTMNpQ3drE,577
|
94
|
+
arpakitlib/_arpakit_project_template/src/operation_execution/_start_operation_executor_worker.py,sha256=fOuxke-ACDL_9PwLLjUoReozxANiyVI-29IJUp-H860,579
|
95
|
+
arpakitlib/_arpakit_project_template/src/operation_execution/_start_scheduled_operation_creator_worker.py,sha256=j1-cz4E_8KJ4vnLykWmVHIWHRmDHkji9FsUjnDCXxXc,581
|
104
96
|
arpakitlib/_arpakit_project_template/src/operation_execution/const.py,sha256=HjupGEDUWVijQlbzxZPI9vBbAVOETUYzYU9pdnc9IcI,176
|
105
97
|
arpakitlib/_arpakit_project_template/src/operation_execution/operation_executor.py,sha256=TuAlF3QPJq-Zsq693NHQ00dvCWAzuwce2q6ozesWFYY,725
|
106
98
|
arpakitlib/_arpakit_project_template/src/operation_execution/scheduled_operations.py,sha256=DwEzbsQtO_7mSah25uOoV7IrlsMNEIU2j2gA-MGqUMQ,1100
|
@@ -113,6 +105,16 @@ arpakitlib/_arpakit_project_template/src/sandbox/sandbox_4.py,sha256=m5BIvvGoi9g
|
|
113
105
|
arpakitlib/_arpakit_project_template/src/sandbox/sandbox_5.py,sha256=m5BIvvGoi9gaGFyqmX3rT8D-YqMmo9NEQA2T26CHwSk,171
|
114
106
|
arpakitlib/_arpakit_project_template/src/sandbox/sandbox_6.py,sha256=m5BIvvGoi9gaGFyqmX3rT8D-YqMmo9NEQA2T26CHwSk,171
|
115
107
|
arpakitlib/_arpakit_project_template/src/sandbox/sandbox_7.py,sha256=m5BIvvGoi9gaGFyqmX3rT8D-YqMmo9NEQA2T26CHwSk,171
|
108
|
+
arpakitlib/_arpakit_project_template/src/sql_db/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
109
|
+
arpakitlib/_arpakit_project_template/src/sql_db/_check_conn_sqlalchemy_db.py,sha256=M4H6nDmsxyJLCDLwPSZiRzO2FrFlroljrOx914eImao,253
|
110
|
+
arpakitlib/_arpakit_project_template/src/sql_db/_drop_sqlalchemy_db.py,sha256=Q8ejPw-BTw_EaNf8tHlHQRLny5YNwmNpOBqg2g3Xy28,341
|
111
|
+
arpakitlib/_arpakit_project_template/src/sql_db/_init_sqlalchemy_db.py,sha256=e-RcZ7eJcUSa47AYADtvWE--oBE0IN5bL3Jgjozoj3k,235
|
112
|
+
arpakitlib/_arpakit_project_template/src/sql_db/_reinit_sqlalchemy_db.py,sha256=e76skNfv6dmXFFpowgdORrdosxIMs6fpWcqNigJK2ds,343
|
113
|
+
arpakitlib/_arpakit_project_template/src/sql_db/_remove_operations.py,sha256=OjKWrlmK8NQ2OvuEYgD63raKJwWcuBxnXqgB_yMCdgs,475
|
114
|
+
arpakitlib/_arpakit_project_template/src/sql_db/_remove_story_logs.py,sha256=DcHpdh-VGAk2pOnROSo27skBuFm4o11H8psL-uZedig,488
|
115
|
+
arpakitlib/_arpakit_project_template/src/sql_db/const.py,sha256=dcvj5C9E2F2KCsGZPBBncQf_EvVJAC1qQgnyD8P4ZEw,6
|
116
|
+
arpakitlib/_arpakit_project_template/src/sql_db/sqlalchemy_model.py,sha256=tIdSerx8m6FA0cx4PDNJF8cWY1utpS_g0sZ0jBzUAbI,286
|
117
|
+
arpakitlib/_arpakit_project_template/src/sql_db/util.py,sha256=Rc2YSo_X_gAFX56axtmqD5GI2P0VIXullgvvRYfbo0E,859
|
116
118
|
arpakitlib/_arpakit_project_template/src/test_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
117
119
|
arpakitlib/_arpakit_project_template/src/test_data/make_test_data_1.py,sha256=w24o2vrlqaoCfPYftWogHCV8MoUjqctwLTI3-tFlgf4,100
|
118
120
|
arpakitlib/_arpakit_project_template/src/test_data/make_test_data_2.py,sha256=bhriAB1GtC2dPWb0lltj145EhotgE6X1I7O8WnJmOyk,100
|
@@ -142,10 +144,10 @@ arpakitlib/_arpakit_project_template/src/tg_bot/router/__init__.py,sha256=47DEQp
|
|
142
144
|
arpakitlib/_arpakit_project_template/src/tg_bot/router/error.py,sha256=5ktxguLc2pI7BUlJ9jgMp_VnH5gtOt1jzJZskKkmhzI,53
|
143
145
|
arpakitlib/_arpakit_project_template/src/tg_bot/router/router.py,sha256=ZxfPNouuewz3uEW7jLxXdCuT7v-HVjl9YagrKbUMzwc,151
|
144
146
|
arpakitlib/_arpakit_project_template/src/tg_bot/start_tg_bot.py,sha256=7JWCdhyRyYkwV198PjKl6YPqPl7qr-_1Z2tVItfPZlQ,218
|
145
|
-
arpakitlib/_arpakit_project_template/src/tg_bot/transmitted_tg_data.py,sha256=
|
147
|
+
arpakitlib/_arpakit_project_template/src/tg_bot/transmitted_tg_data.py,sha256=mjElzmxXaY4fODCG-C-gRvQ0MfbftB0uwYro7G84w3U,201
|
146
148
|
arpakitlib/_arpakit_project_template/src/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
147
149
|
arpakitlib/ar_additional_model_util.py,sha256=GFg-glLCxH9X95R2bhTJsscVwv37FgE1qbaAAyXrnIE,917
|
148
|
-
arpakitlib/ar_aiogram_util.py,sha256=
|
150
|
+
arpakitlib/ar_aiogram_util.py,sha256=hthpbt69CbDTAA3YbaPI3wfYU0aPWqunuV-TzUzv_Q8,12849
|
149
151
|
arpakitlib/ar_api_key_util.py,sha256=E84JlJXiDHtxLQmV8BNHvqNKu_G8-Dox0XxknYJQ37Q,422
|
150
152
|
arpakitlib/ar_arpakit_lib_module_util.py,sha256=g9uWwTK2eEzmErqwYeVgXDYVMREN8m5CdmgEumAEQfw,5919
|
151
153
|
arpakitlib/ar_arpakit_project_template_util.py,sha256=zJXIFlFrO_3Xvg3ZqIiY6UZjKSbiFr8SQ99YKyZ86BE,3241
|
@@ -184,7 +186,7 @@ arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.css,sha256=jzPZlgJTFwSdSphk9C
|
|
184
186
|
arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.css.map,sha256=5wq8eXMLU6Zxb45orZPL1zAsBFJReFw6GjYqGpUX3hg,262650
|
185
187
|
arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.js,sha256=ffrLZHHEQ_g84A-ul3yWa10Kk09waOAxHcQXPuZuavg,339292
|
186
188
|
arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.js.map,sha256=9UhIW7MqCOZPAz1Sl1IKfZUuhWU0p-LJqrnjjJD9Xhc,1159454
|
187
|
-
arpakitlib/ar_fastapi_util.py,sha256=
|
189
|
+
arpakitlib/ar_fastapi_util.py,sha256=U339X9DWRTb-lwTds-nH1ry1O_ufcYL1pm-9-CfawXw,29578
|
188
190
|
arpakitlib/ar_file_storage_in_dir_util.py,sha256=D3e3rGuHoI6xqAA5mVvEpVVpOWY1jyjNsjj2UhyHRbE,3674
|
189
191
|
arpakitlib/ar_file_util.py,sha256=GUdJYm1tUZnYpY-SIPRHAZBHGra8NKy1eYEI0D5AfhY,489
|
190
192
|
arpakitlib/ar_func_util.py,sha256=bCuWbSMoFXBaMNhb89sevj2oaXRk4Jk6Qjot8OXMDT4,1319
|
@@ -200,18 +202,18 @@ arpakitlib/ar_logging_util.py,sha256=V4jypypFG1cj4nXae7JiBnRRfm02OTnZSEermx-wlDY
|
|
200
202
|
arpakitlib/ar_mongodb_util.py,sha256=2ECkTnGAZ92qxioL-fmN6R4yZOSr3bXdXLWTzT1C3vk,4038
|
201
203
|
arpakitlib/ar_need_type_util.py,sha256=GETiREPMEYhch-yU6T--Bdawlbb04Jp1Qy7cOsUlIeA,2228
|
202
204
|
arpakitlib/ar_openai_api_client_util.py,sha256=_XmlApvHFMSyjvZydPa_kASIt9LsFrZmSC7YEzIG8Bg,1806
|
203
|
-
arpakitlib/ar_operation_execution_util.py,sha256=
|
205
|
+
arpakitlib/ar_operation_execution_util.py,sha256=OC_PqwGSoTsupcs2gSwIqxuw68udtYKnPKJBgezbOPY,17908
|
204
206
|
arpakitlib/ar_parse_command.py,sha256=-s61xcATIsfw1eV_iD3xi-grsitbGzSDoAFc5V0OFy4,3447
|
205
207
|
arpakitlib/ar_postgresql_util.py,sha256=1AuLjEaa1Lg4pzn-ukCVnDi35Eg1k91APRTqZhIJAdo,945
|
206
208
|
arpakitlib/ar_rat_func_util.py,sha256=xDO3gcmZZ0VsTF5zwqyfrkct8FWcKmyl1KUwfdA1s4k,2009
|
207
209
|
arpakitlib/ar_retry_func_util.py,sha256=EQtXhn0RvMiyaes9HMDBgMh_WjMIaGwds01UrKKDaBM,2204
|
208
210
|
arpakitlib/ar_run_cmd_util.py,sha256=D_rPavKMmWkQtwvZFz-Io5Ak8eSODHkcFeLPzNVC68g,1072
|
209
211
|
arpakitlib/ar_schedule_uust_api_client_util.py,sha256=HhAIps0QS9ZsacPWhTrMkUUBxuqXBC2lcEzfLlxNs2g,6980
|
210
|
-
arpakitlib/ar_settings_util.py,sha256=
|
212
|
+
arpakitlib/ar_settings_util.py,sha256=iNP_gBdQMb5YcBzOPxInBL-28EhFmwYDV3I2u2cVi2A,7503
|
211
213
|
arpakitlib/ar_sleep_util.py,sha256=OaLtRaJQWMkGjfj_mW1RB2P4RaSWsAIH8LUoXqsH0zM,1061
|
212
214
|
arpakitlib/ar_sqladmin_util.py,sha256=6Nv9VQssk9PB0piyuss__soYKdjVhdbIeXIv4AgUxmQ,2660
|
213
215
|
arpakitlib/ar_sqlalchemy_model_util.py,sha256=270RNSiccC5l55o8EFerh1SawlEsD99BpgwANSQA0UM,6418
|
214
|
-
arpakitlib/ar_sqlalchemy_util.py,sha256=
|
216
|
+
arpakitlib/ar_sqlalchemy_util.py,sha256=IqylYuC7ds8rrmJXTzCEnJkE1MCj-cMDWuP-la0bS4A,8199
|
215
217
|
arpakitlib/ar_ssh_runner_util.py,sha256=e9deuUdBW7Eh0Exx2nTBhk57SaOZYaJaSjNk8q6dbJk,6804
|
216
218
|
arpakitlib/ar_steam_payment_api_client_util.py,sha256=onvb3jt9bWfsCLbVLaApbN_-cqCu1CduVhM9GhG5yTA,250
|
217
219
|
arpakitlib/ar_str_util.py,sha256=yU5gOwNXUQaH5b_tM5t6fXUn9oUcv5EQbVnq2wXXIpQ,3378
|
@@ -219,8 +221,8 @@ arpakitlib/ar_type_util.py,sha256=9C3ErtUVs0tAUqtK-foFzjJOykfBOntfCz2IogDOgfA,41
|
|
219
221
|
arpakitlib/ar_wata_api_client.py,sha256=gdHOqDbuqxhTjVDtRW1DvkRJLdDofCrOq51GTctzLns,242
|
220
222
|
arpakitlib/ar_yookassa_api_client_util.py,sha256=VozuZeCJjmLd1zj2BdC9WfiAQ3XYOrIMsdpNK-AUlm0,5347
|
221
223
|
arpakitlib/ar_zabbix_api_client_util.py,sha256=Q-VR4MvoZ9aHwZeYZr9G3LwN-ANx1T5KFmF6pvPM-9M,6402
|
222
|
-
arpakitlib-1.7.
|
223
|
-
arpakitlib-1.7.
|
224
|
-
arpakitlib-1.7.
|
225
|
-
arpakitlib-1.7.
|
226
|
-
arpakitlib-1.7.
|
224
|
+
arpakitlib-1.7.253.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
|
225
|
+
arpakitlib-1.7.253.dist-info/METADATA,sha256=C2YyQ87MAPIH1AxNCWUAOr7d1LOw4uyanGfMEmzL-9M,3386
|
226
|
+
arpakitlib-1.7.253.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
|
227
|
+
arpakitlib-1.7.253.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
|
228
|
+
arpakitlib-1.7.253.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|