arpakitlib 1.8.243__tar.gz → 1.8.245__tar.gz
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-1.8.243 → arpakitlib-1.8.245}/PKG-INFO +1 -1
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_logging_util.py +2 -2
- arpakitlib-1.8.245/arpakitlib/ensure_sqlalchemy_check_constraints.py +120 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/pyproject.toml +1 -1
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/LICENSE +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/README.md +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/.gitignore +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/.python-version +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/LICENSE +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/README.md +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/alembic/README +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/alembic/env.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/alembic/script.py.mako +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/alembic/versions/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/alembic.ini +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/arpakitlib_project_template_info.json +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/alembic_history.sh +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/alembic_revision_autogenerate.sh +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/alembic_upgrade_head.sh +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/beautify_json.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/check_logging.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/check_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/demojize.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/docker_ps_a.sh +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/docker_rm_postgres.sh +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/docker_run_postgres.sh +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/docker_start_postgres.sh +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/docker_stop_postgres.sh +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/drop_json_db.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/drop_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/emojize.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/generate_settings_env_example.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/git_commit.sh +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/git_push_arpakit_company_github_1.sh +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/git_push_arpakit_company_gitlab_1.sh +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/git_push_arpakit_github_1.sh +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/git_push_arpakit_gitlab_1.sh +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/git_remote_v.sh +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/git_set_arpakit_company_origin.sh +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/git_set_arpakit_origin.sh +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/git_set_divarteam_origin.sh +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/git_status.sh +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/hello_world.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/init_json_db.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/init_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/poetry_check.sh +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/poetry_clear_cache.sh +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/poetry_config.sh +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/poetry_install.sh +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/poetry_lock.sh +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/poetry_remove_and_add_arpakitlib.sh +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/poetry_show.sh +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/poetry_show_arpakitlib.sh +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/poetry_update.sh +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/poetry_update_arpakitlib.sh +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/reinit_all_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/reinit_json_db.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/reinit_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/remove_operations.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/remove_rows_from_tables_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/remove_story_logs.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/rm_all_records_in_json_db.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/set_tg_bot_commands.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/show_arpakitlib_project_template_info.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/show_settings.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/show_sqlalchemy_db_table_name_to_amount.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/start_api.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/start_api_for_prod.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/start_operation_executor_worker.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/start_operation_executor_workers_mode_async_task.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/start_operation_executor_workers_mode_thread.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/start_scheduled_operation_creator_worker.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/start_sqladmin.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/start_sqladmin_for_prod.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/start_sqladmin_with_reload.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/start_tg_bot.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/command/start_tg_bot_for_prod.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/example.env +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/note/note_1.txt +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/note/note_2.txt +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/note/note_3.txt +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/note/note_4.txt +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/note/note_5.txt +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/additional_model/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/additional_model/common.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/api_error_codes.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/api_exception.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/asgi.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/authorize.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/before_start_api.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/blank/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/blank/admin.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/blank/client.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/blank/common.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/create_api_app.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/create_first_data.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/event.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/exception_handler.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/middleware/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/middleware/add_api_middlewares.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/middleware/limit_content_length.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/openapi_ui.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/raise_own_exception_if_exception_in_api_router.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/response.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/check_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/clear_log_file.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/create_operation.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_arpakitlib_project_template_info.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_auth_data.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_log_file.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_operation.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_operation_allowed_statuses.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_operation_allowed_types.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_settings.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_sqlalchemy_db_table_name_to_amount.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_story_log.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_user.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/init_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/main_router.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/make_test_data_1.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/make_test_data_2.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/make_test_data_3.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/make_test_data_4.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/make_test_data_5.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/raise_api_exception_1.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/raise_api_exception_2.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/raise_api_exception_3.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/raise_fake_error.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/reinit_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/client/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/client/get_current_user.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/client/get_current_user_token.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/client/main_router.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/general/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/general/check_authorization.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/general/get_current_api_key.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/general/get_errors_info.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/general/healthcheck.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/general/main_router.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/general/now_utc_datetime.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/router/main_router.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/common.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/admin/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/admin/common.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/client/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/client/common.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/common/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/general/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/general/common.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/common.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/operation.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/story_log.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/user.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/common.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/complicated_user_1.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/complicated_user_token_1.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/user.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/user_token.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/datetime_.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/error.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/ok.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/raw_data.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/api_key.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/common.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/user.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/user_token.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/util/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/util/create_obj_schema_from_dbm.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/start_api.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/api/util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/business_service/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/business_service/exception.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/business_service/hello_world.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/business_service/remove_operations.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/celery_/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/core/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/core/cache_file_storage_in_dir.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/core/const.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/core/dump_file_storage_in_dir.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/core/easy_openai_api_client.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/core/jinja2_templates.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/core/media_file_storage_in_dir.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/core/settings.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/core/setup_logging.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/core/util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/emailer/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/emailer/send_email.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/emailer/send_simple_email.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/json_db/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/json_db/json_db.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/more/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/more/api.nginx +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/more/helloworld +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/operation_execution/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/operation_execution/const.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/operation_execution/operation_executor_worker.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/operation_execution/scheduled_operation_creator_worker.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/operation_execution/scheduled_operations.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/operation_execution/util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/resource/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/1 +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/healthcheck +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/helloworld +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/openapi-favicon.png +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/redoc/redoc.standalone.js +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/sqladmin-favicon.png +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/favicon-16x16.png +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/favicon-32x32.png +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/index.css +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/index.html +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/oauth2-redirect.html +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-initializer.js +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-bundle.js +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-bundle.js.map +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-es-bundle-core.js +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-es-bundle-core.js.map +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-es-bundle.js +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-es-bundle.js.map +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-standalone-preset.js +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-standalone-preset.js.map +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui.css +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui.css.map +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui.js +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui.js.map +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/resource/templates/healthcheck.txt +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/resource/templates/simple_email.html +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/sandbox_1.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/sandbox_2.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/sandbox_3.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/sandbox_4.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/sandbox_5.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/sandbox_6.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/sandbox_7.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/site/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/site/asgi.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/site/consts.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/site/create_site_app.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/site/event.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/site/exception_handler.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/site/router/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/site/router/main_router.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/add_admin_in_app.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/admin_authorize.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/asgi.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/create_sqladmin_app.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/event.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/api_key.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/common.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/operation.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/story_log.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user_token.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/verification_code.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/start_sqladmin.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/util/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/util/etc.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/const.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/api_key.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/common.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/operation.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/story_log.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/user.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/user_token.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/verification_code.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/util/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/util/execute_func_with_story_log.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/test_data/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_api_keys.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_data_1.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_data_2.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_data_3.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_data_4.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_data_5.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/blank/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/blank/admin.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/blank/client.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/blank/common.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/callback_data_/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/callback_data_/admin.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/callback_data_/client.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/callback_data_/common.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/const.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/event.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/is_private_chat.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/message_text.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/not_prod_mode_filter.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/prod_mode_filter.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/user_roles_has_admin.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/user_roles_has_client.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/admin/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/admin/common.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/admin/hello_world.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/client/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/client/common.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/client/support.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/common.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/admin/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/admin/common.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/admin/hello_world.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/client/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/client/common.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/common.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/middleware/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/middleware/common.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/middleware/init_user.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/middleware/uil.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/arpakitlib_project_template_info.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/clear_log_file.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/current_state.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/drop_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/hello_world.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/init_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/kb_with_not_modified.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/kb_with_old_cd.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/kb_with_raise_error.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/kb_with_remove_message.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/log_file.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/me.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/raise_fake_error.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/reinit_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/set_tg_bot_commands.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/about.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/author.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/cancel.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/error_handler.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/healthcheck.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/raw_callback_query.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/raw_inline_query.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/raw_message.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/remove_message.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/start.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/support.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/voice_.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/main_router.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/start_tg_bot.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/state/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/state/admin.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/state/client.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/state/common.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/state/util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/tg_bot.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/tg_bot_dispatcher.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/util/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/util/etc.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/util/notify_admins.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/util/set_tg_bot_commands.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot_notifier/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot_notifier/blank.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot_notifier/tg_bot_notifier.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/util/__init__.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/util/arpakitlib_project_template_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/util/etc.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/project/util/send_email_.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/todo.txt +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_additional_model_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_aiogram_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_arpakit_lib_module_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_arpakit_project_template_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_arpakit_schedule_uust_api_client_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_arpakit_schedule_uust_site_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_arpakitlib_cli_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_base64_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_base_worker_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_blank_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_cache_file_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_class_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_datetime_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_dict_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_dream_ai_api_client_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_encrypt_decrypt_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_enumeration_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_exception_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_file_storage_in_dir_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_file_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_func_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_hash_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_http_request_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_ip_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_json_db_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_json_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_jwt_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_list_of_dicts_to_xlsx.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_list_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_mongodb_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_need_type_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_openai_api_client_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_parse_command.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_postgresql_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_rat_func_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_retry_func_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_run_cmd_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_safe_func.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_schedule_uust_api_client_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_settings_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_sleep_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_sqladmin_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_sqlalchemy_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_str_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_type_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/ar_yookassa_api_client_util.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/clone_pydantic_model_fields.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/pydantic_schema_from_sqlalchemy_model.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/raise_own_exception_if_exception.py +0 -0
- {arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/really_validate_email.py +0 -0
@@ -7,13 +7,13 @@ from typing import Optional
|
|
7
7
|
_ARPAKIT_LIB_MODULE_VERSION = "3.0"
|
8
8
|
|
9
9
|
|
10
|
-
def init_log_file(*, log_filepath: str):
|
10
|
+
def init_log_file(*, log_filepath: str, write_blank: bool = True):
|
11
11
|
directory = os.path.dirname(log_filepath)
|
12
12
|
if directory and not os.path.exists(directory):
|
13
13
|
os.makedirs(directory, exist_ok=True)
|
14
14
|
if not os.path.exists(log_filepath):
|
15
15
|
with open(log_filepath, mode="w") as file:
|
16
|
-
file.write("")
|
16
|
+
file.write(" \n")
|
17
17
|
|
18
18
|
|
19
19
|
_logging_was_setup: bool = False
|
@@ -0,0 +1,120 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from typing import Set
|
4
|
+
|
5
|
+
import sqlalchemy
|
6
|
+
from sqlalchemy import CheckConstraint
|
7
|
+
from sqlalchemy.engine import Engine
|
8
|
+
from sqlalchemy.orm import DeclarativeBase
|
9
|
+
from sqlalchemy.schema import AddConstraint
|
10
|
+
|
11
|
+
|
12
|
+
# --- Вспомогательные функции ---
|
13
|
+
|
14
|
+
def _normalize_sql(sql: str) -> str:
|
15
|
+
"""
|
16
|
+
Нормализует текст SQL выражения для сравнения:
|
17
|
+
- нижний регистр
|
18
|
+
- убирает лишние пробелы и внешние скобки
|
19
|
+
- убирает пробелы вокруг операторов
|
20
|
+
"""
|
21
|
+
s = sql.strip().lower()
|
22
|
+
# убираем внешние скобки, если они охватывают всё выражение
|
23
|
+
while s.startswith("(") and s.endswith(")"):
|
24
|
+
# проверим баланс скобок, чтобы не снимать лишнего
|
25
|
+
depth = 0
|
26
|
+
balanced = True
|
27
|
+
for i, ch in enumerate(s):
|
28
|
+
if ch == "(":
|
29
|
+
depth += 1
|
30
|
+
elif ch == ")":
|
31
|
+
depth -= 1
|
32
|
+
if depth == 0 and i != len(s) - 1:
|
33
|
+
balanced = False
|
34
|
+
break
|
35
|
+
if balanced:
|
36
|
+
s = s[1:-1].strip()
|
37
|
+
else:
|
38
|
+
break
|
39
|
+
# схлопываем все пробелы
|
40
|
+
import re
|
41
|
+
s = re.sub(r"\s+", " ", s)
|
42
|
+
# уберем пробелы вокруг простых операторов
|
43
|
+
s = re.sub(r"\s*([=<>+\-*/%,])\s*", r"\1", s)
|
44
|
+
return s
|
45
|
+
|
46
|
+
|
47
|
+
def _render_check_sql(cc: CheckConstraint, engine: Engine) -> str:
|
48
|
+
"""Компилируем SQL выражение CHECK в текст с подстановкой литералов."""
|
49
|
+
compiled = cc.sqltext.compile(
|
50
|
+
dialect=engine.dialect,
|
51
|
+
compile_kwargs={"literal_binds": True}
|
52
|
+
)
|
53
|
+
return str(compiled)
|
54
|
+
|
55
|
+
|
56
|
+
# --- Основная функция ---
|
57
|
+
|
58
|
+
def ensure_sqlalchemy_check_constraints(*, base_: type[DeclarativeBase], engine: Engine) -> None:
|
59
|
+
"""
|
60
|
+
Синхронизирует CHECK-ограничения, объявленные в моделях Base.metadata,
|
61
|
+
с фактическими ограничениями в базе данных.
|
62
|
+
|
63
|
+
Для каждого CheckConstraint в моделях:
|
64
|
+
- если уже есть в БД (по имени или по эквивалентному SQL) — пропускаем
|
65
|
+
- иначе создаём (ALTER TABLE ... ADD CONSTRAINT ...)
|
66
|
+
|
67
|
+
Параметры:
|
68
|
+
Base : ваш DeclarativeBase (или его подкласс), от которого наследуются все модели
|
69
|
+
engine_or_conn: Engine или Connection SQLAlchemy
|
70
|
+
|
71
|
+
Исключения пробрасываются наверх (например, если СУБД не поддерживает добавление CHECK «на лету»).
|
72
|
+
"""
|
73
|
+
# Возьмём соединение и транзакцию (BEGIN), чтобы изменения были атомарными
|
74
|
+
|
75
|
+
with engine.begin() as conn:
|
76
|
+
conn_inspector = sqlalchemy.inspect(conn)
|
77
|
+
|
78
|
+
for table in base_.metadata.tables.values():
|
79
|
+
|
80
|
+
# Соберём существующие CHECK-и из БД
|
81
|
+
existing = conn_inspector.get_check_constraints(table.name, schema=table.schema)
|
82
|
+
|
83
|
+
# Множества для быстрых проверок
|
84
|
+
existing_names: Set[str] = set()
|
85
|
+
existing_sql_norms: Set[str] = set()
|
86
|
+
|
87
|
+
for row in existing:
|
88
|
+
name = (row.get("name") or "").lower()
|
89
|
+
if name:
|
90
|
+
existing_names.add(name)
|
91
|
+
sqltext = row.get("sqltext") or row.get("definition") or ""
|
92
|
+
if sqltext:
|
93
|
+
existing_sql_norms.add(_normalize_sql(sqltext))
|
94
|
+
|
95
|
+
# Теперь пройдём по CheckConstraint, объявленным в модели
|
96
|
+
for constraint in table.constraints:
|
97
|
+
if not isinstance(constraint, CheckConstraint):
|
98
|
+
continue
|
99
|
+
|
100
|
+
name = (constraint.name or "").lower()
|
101
|
+
# если имя есть и уже существует — готово
|
102
|
+
if name and name in existing_names:
|
103
|
+
continue
|
104
|
+
|
105
|
+
# иначе сравним по нормализованному SQL
|
106
|
+
try:
|
107
|
+
model_sql = _render_check_sql(constraint, conn)
|
108
|
+
model_sql_norm = _normalize_sql(model_sql)
|
109
|
+
except Exception:
|
110
|
+
# если не получилось скомпилировать, попробуем по сырому .sqltext
|
111
|
+
model_sql_norm = _normalize_sql(str(constraint.sqltext))
|
112
|
+
|
113
|
+
if model_sql_norm in existing_sql_norms:
|
114
|
+
continue # эквивалент уже есть
|
115
|
+
|
116
|
+
# Если сюда дошли — надо создать ограничение
|
117
|
+
# Важно: constraint уже «привязан» к таблице (из модели),
|
118
|
+
# CreateConstraint сгенерирует корректный ALTER TABLE ... ADD CONSTRAINT ...
|
119
|
+
ddl = AddConstraint(constraint)
|
120
|
+
conn.execute(ddl)
|
File without changes
|
File without changes
|
File without changes
|
{arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/.gitignore
RENAMED
File without changes
|
{arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/.python-version
RENAMED
File without changes
|
File without changes
|
{arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/README.md
RENAMED
File without changes
|
{arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/alembic/README
RENAMED
File without changes
|
{arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/alembic/env.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/alembic.ini
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/example.env
RENAMED
File without changes
|
{arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/note/note_1.txt
RENAMED
File without changes
|
{arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/note/note_2.txt
RENAMED
File without changes
|
{arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/note/note_3.txt
RENAMED
File without changes
|
{arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/note/note_4.txt
RENAMED
File without changes
|
{arpakitlib-1.8.243 → arpakitlib-1.8.245}/arpakitlib/_arpakit_project_template_v_5/note/note_5.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|