arpakitlib 1.8.140__tar.gz → 1.8.142__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.
Files changed (416) hide show
  1. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/PKG-INFO +2 -1
  2. arpakitlib-1.8.142/arpakitlib/_arpakit_project_template_v_5/command/start_api.py +9 -0
  3. arpakitlib-1.8.142/arpakitlib/_arpakit_project_template_v_5/command/start_api_for_prod.py +9 -0
  4. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/example.env +14 -0
  5. arpakitlib-1.8.140/arpakitlib/_arpakit_project_template_v_5/project/api/event.py → arpakitlib-1.8.142/arpakitlib/_arpakit_project_template_v_5/project/api/before_start_api.py +2 -31
  6. arpakitlib-1.8.142/arpakitlib/_arpakit_project_template_v_5/project/api/event.py +41 -0
  7. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/main_router.py +22 -1
  8. arpakitlib-1.8.142/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/make_test_data_2.py +35 -0
  9. arpakitlib-1.8.142/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/make_test_data_3.py +35 -0
  10. arpakitlib-1.8.142/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/make_test_data_4.py +35 -0
  11. arpakitlib-1.8.142/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/make_test_data_5.py +35 -0
  12. arpakitlib-1.8.142/arpakitlib/_arpakit_project_template_v_5/project/api/start_api.py +21 -0
  13. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/core/settings.py +4 -0
  14. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/admin_authorize.py +33 -23
  15. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/api_key.py +0 -1
  16. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/user.py +0 -1
  17. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/user_token.py +0 -1
  18. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/verification_code.py +0 -1
  19. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/pyproject.toml +2 -1
  20. arpakitlib-1.8.140/arpakitlib/_arpakit_project_template_v_5/command/start_api.py +0 -26
  21. arpakitlib-1.8.140/arpakitlib/_arpakit_project_template_v_5/command/start_api_for_prod.py +0 -26
  22. arpakitlib-1.8.140/arpakitlib/_arpakit_project_template_v_5/command/start_api_with_reload.py +0 -26
  23. arpakitlib-1.8.140/arpakitlib/_arpakit_project_template_v_5/project/api/start_api.py +0 -26
  24. arpakitlib-1.8.140/arpakitlib/ar_cryptomus_api_client_util.py +0 -21
  25. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/LICENSE +0 -0
  26. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/README.md +0 -0
  27. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/__init__.py +0 -0
  28. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/.gitignore +0 -0
  29. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/.python-version +0 -0
  30. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/LICENSE +0 -0
  31. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/README.md +0 -0
  32. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/alembic/README +0 -0
  33. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/alembic/env.py +0 -0
  34. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/alembic/script.py.mako +0 -0
  35. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/alembic/versions/__init__.py +0 -0
  36. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/alembic.ini +0 -0
  37. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/arpakitlib_project_template_info.json +0 -0
  38. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/__init__.py +0 -0
  39. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/alembic_history.sh +0 -0
  40. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/alembic_revision_autogenerate.sh +0 -0
  41. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/alembic_upgrade_head.sh +0 -0
  42. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/beautify_json.py +0 -0
  43. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/check_logging.py +0 -0
  44. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/check_sqlalchemy_db.py +0 -0
  45. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/demojize.py +0 -0
  46. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/docker_ps_a.sh +0 -0
  47. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/docker_rm_postgres.sh +0 -0
  48. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/docker_run_postgres.sh +0 -0
  49. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/docker_start_postgres.sh +0 -0
  50. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/docker_stop_postgres.sh +0 -0
  51. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/drop_json_db.py +0 -0
  52. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/drop_sqlalchemy_db.py +0 -0
  53. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/emojize.py +0 -0
  54. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/generate_settings_env_example.py +0 -0
  55. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/git_commit.sh +0 -0
  56. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/git_push_arpakit_company_github_1.sh +0 -0
  57. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/git_push_arpakit_company_gitlab_1.sh +0 -0
  58. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/git_push_arpakit_github_1.sh +0 -0
  59. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/git_push_arpakit_gitlab_1.sh +0 -0
  60. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/git_remote_v.sh +0 -0
  61. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/git_set_arpakit_company_origin.sh +0 -0
  62. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/git_set_arpakit_origin.sh +0 -0
  63. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/git_set_divarteam_origin.sh +0 -0
  64. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/git_status.sh +0 -0
  65. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/hello_world.py +0 -0
  66. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/init_json_db.py +0 -0
  67. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/init_sqlalchemy_db.py +0 -0
  68. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/poetry_check.sh +0 -0
  69. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/poetry_clear_cache.sh +0 -0
  70. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/poetry_config.sh +0 -0
  71. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/poetry_install.sh +0 -0
  72. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/poetry_lock.sh +0 -0
  73. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/poetry_remove_and_add_arpakitlib.sh +0 -0
  74. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/poetry_show.sh +0 -0
  75. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/poetry_show_arpakitlib.sh +0 -0
  76. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/poetry_update.sh +0 -0
  77. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/poetry_update_arpakitlib.sh +0 -0
  78. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/reinit_all_sqlalchemy_db.py +0 -0
  79. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/reinit_json_db.py +0 -0
  80. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/reinit_sqlalchemy_db.py +0 -0
  81. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/remove_operations.py +0 -0
  82. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/remove_story_logs.py +0 -0
  83. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/rm_all_records_in_json_db.py +0 -0
  84. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/set_tg_bot_commands.py +0 -0
  85. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/show_arpakitlib_project_template_info.py +0 -0
  86. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/show_settings.py +0 -0
  87. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/show_sqlalchemy_db_table_name_to_amount.py +0 -0
  88. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/start_operation_executor_worker.py +0 -0
  89. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/start_operation_executor_workers_mode_async_task.py +0 -0
  90. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/start_operation_executor_workers_mode_thread.py +0 -0
  91. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/start_scheduled_operation_creator_worker.py +0 -0
  92. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/start_sqladmin.py +0 -0
  93. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/start_sqladmin_for_prod.py +0 -0
  94. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/start_sqladmin_with_reload.py +0 -0
  95. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/start_tg_bot.py +0 -0
  96. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/command/start_tg_bot_for_prod.py +0 -0
  97. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/note/note_1.txt +0 -0
  98. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/note/note_2.txt +0 -0
  99. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/note/note_3.txt +0 -0
  100. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/note/note_4.txt +0 -0
  101. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/note/note_5.txt +0 -0
  102. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/__init__.py +0 -0
  103. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/additional_model/__init__.py +0 -0
  104. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/additional_model/common.py +0 -0
  105. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/__init__.py +0 -0
  106. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/asgi.py +0 -0
  107. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/authorize.py +0 -0
  108. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/blank/__init__.py +0 -0
  109. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/blank/admin.py +0 -0
  110. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/blank/client.py +0 -0
  111. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/blank/common.py +0 -0
  112. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/const.py +0 -0
  113. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/create_api_app.py +0 -0
  114. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/create_first_data.py +0 -0
  115. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/exception.py +0 -0
  116. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/exception_handler.py +0 -0
  117. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/openapi_ui.py +0 -0
  118. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/response.py +0 -0
  119. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/__init__.py +0 -0
  120. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/__init__.py +0 -0
  121. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/check_sqlalchemy_db.py +0 -0
  122. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/clear_log_file.py +0 -0
  123. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/create_operation.py +0 -0
  124. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_arpakitlib_project_template_info.py +0 -0
  125. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_auth_data.py +0 -0
  126. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_log_file.py +0 -0
  127. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_operation.py +0 -0
  128. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_operation_allowed_statuses.py +0 -0
  129. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_operation_allowed_types.py +0 -0
  130. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_settings.py +0 -0
  131. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_sqlalchemy_db_table_name_to_amount.py +0 -0
  132. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_story_log.py +0 -0
  133. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_user.py +0 -0
  134. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/init_sqlalchemy_db.py +0 -0
  135. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/make_test_data_1.py +0 -0
  136. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/raise_fake_error.py +0 -0
  137. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/reinit_sqlalchemy_db.py +0 -0
  138. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/client/__init__.py +0 -0
  139. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/client/get_current_user.py +0 -0
  140. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/client/get_current_user_token.py +0 -0
  141. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/client/main_router.py +0 -0
  142. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/general/__init__.py +0 -0
  143. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/general/check_authorization.py +0 -0
  144. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/general/get_current_api_key.py +0 -0
  145. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/general/get_errors_info.py +0 -0
  146. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/general/healthcheck.py +0 -0
  147. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/general/main_router.py +0 -0
  148. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/general/now_utc_datetime.py +0 -0
  149. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/router/main_router.py +0 -0
  150. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/__init__.py +0 -0
  151. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/common.py +0 -0
  152. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/__init__.py +0 -0
  153. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/admin/__init__.py +0 -0
  154. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/admin/common.py +0 -0
  155. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/client/__init__.py +0 -0
  156. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/client/common.py +0 -0
  157. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/common/__init__.py +0 -0
  158. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/general/__init__.py +0 -0
  159. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/general/common.py +0 -0
  160. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/__init__.py +0 -0
  161. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/__init__.py +0 -0
  162. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/common.py +0 -0
  163. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/operation.py +0 -0
  164. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/story_log.py +0 -0
  165. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/user.py +0 -0
  166. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/__init__.py +0 -0
  167. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/common.py +0 -0
  168. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/complicated_user_1.py +0 -0
  169. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/complicated_user_token_1.py +0 -0
  170. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/user.py +0 -0
  171. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/user_token.py +0 -0
  172. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/__init__.py +0 -0
  173. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/datetime_.py +0 -0
  174. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/error.py +0 -0
  175. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/ok.py +0 -0
  176. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/raw_data.py +0 -0
  177. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/__init__.py +0 -0
  178. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/api_key.py +0 -0
  179. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/common.py +0 -0
  180. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/user.py +0 -0
  181. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/user_token.py +0 -0
  182. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/api/util.py +0 -0
  183. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/business_service/__init__.py +0 -0
  184. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/business_service/hello_world.py +0 -0
  185. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/business_service/remove_operations.py +0 -0
  186. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/celery_/__init__.py +0 -0
  187. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/core/__init__.py +0 -0
  188. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/core/cache_file_storage_in_dir.py +0 -0
  189. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/core/const.py +0 -0
  190. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/core/dump_file_storage_in_dir.py +0 -0
  191. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/core/easy_openai_api_client.py +0 -0
  192. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/core/jinja2_templates.py +0 -0
  193. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/core/media_file_storage_in_dir.py +0 -0
  194. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/core/util.py +0 -0
  195. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/emailer/__init__.py +0 -0
  196. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/emailer/send_email.py +0 -0
  197. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/emailer/send_simple_email.py +0 -0
  198. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/json_db/__init__.py +0 -0
  199. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/json_db/json_db.py +0 -0
  200. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/more/__init__.py +0 -0
  201. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/more/helloworld +0 -0
  202. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/operation_execution/__init__.py +0 -0
  203. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/operation_execution/const.py +0 -0
  204. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/operation_execution/operation_executor_worker.py +0 -0
  205. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/operation_execution/scheduled_operation_creator_worker.py +0 -0
  206. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/operation_execution/scheduled_operations.py +0 -0
  207. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/operation_execution/util.py +0 -0
  208. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/resource/__init__.py +0 -0
  209. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/1 +0 -0
  210. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/healthcheck +0 -0
  211. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/helloworld +0 -0
  212. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/openapi-favicon.png +0 -0
  213. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/redoc/redoc.standalone.js +0 -0
  214. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/sqladmin-favicon.png +0 -0
  215. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/favicon-16x16.png +0 -0
  216. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/favicon-32x32.png +0 -0
  217. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/index.css +0 -0
  218. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/index.html +0 -0
  219. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/oauth2-redirect.html +0 -0
  220. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-initializer.js +0 -0
  221. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-bundle.js +0 -0
  222. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-bundle.js.map +0 -0
  223. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-es-bundle-core.js +0 -0
  224. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-es-bundle-core.js.map +0 -0
  225. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-es-bundle.js +0 -0
  226. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-es-bundle.js.map +0 -0
  227. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-standalone-preset.js +0 -0
  228. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-standalone-preset.js.map +0 -0
  229. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui.css +0 -0
  230. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui.css.map +0 -0
  231. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui.js +0 -0
  232. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui.js.map +0 -0
  233. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/resource/templates/healthcheck.txt +0 -0
  234. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/resource/templates/simple_email.html +0 -0
  235. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/__init__.py +0 -0
  236. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/sandbox_1.py +0 -0
  237. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/sandbox_2.py +0 -0
  238. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/sandbox_3.py +0 -0
  239. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/sandbox_4.py +0 -0
  240. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/sandbox_5.py +0 -0
  241. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/sandbox_6.py +0 -0
  242. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/sandbox_7.py +0 -0
  243. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/site/__init__.py +0 -0
  244. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/site/asgi.py +0 -0
  245. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/site/consts.py +0 -0
  246. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/site/create_site_app.py +0 -0
  247. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/site/event.py +0 -0
  248. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/site/exception_handler.py +0 -0
  249. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/site/router/__init__.py +0 -0
  250. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/site/router/main_router.py +0 -0
  251. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/__init__.py +0 -0
  252. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/add_admin_in_app.py +0 -0
  253. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/asgi.py +0 -0
  254. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/create_sqladmin_app.py +0 -0
  255. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/event.py +0 -0
  256. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/__init__.py +0 -0
  257. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/api_key.py +0 -0
  258. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/common.py +0 -0
  259. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/operation.py +0 -0
  260. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/story_log.py +0 -0
  261. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user.py +0 -0
  262. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user_token.py +0 -0
  263. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/verification_code.py +0 -0
  264. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/start_sqladmin.py +0 -0
  265. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/util/__init__.py +0 -0
  266. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/util/etc.py +0 -0
  267. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/__init__.py +0 -0
  268. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/const.py +0 -0
  269. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_db.py +0 -0
  270. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/__init__.py +0 -0
  271. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/common.py +0 -0
  272. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/operation.py +0 -0
  273. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/story_log.py +0 -0
  274. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/util.py +0 -0
  275. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/test_data/__init__.py +0 -0
  276. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_api_keys.py +0 -0
  277. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_data_1.py +0 -0
  278. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_data_2.py +0 -0
  279. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_data_3.py +0 -0
  280. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_data_4.py +0 -0
  281. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_data_5.py +0 -0
  282. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/__init__.py +0 -0
  283. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/blank/__init__.py +0 -0
  284. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/blank/admin.py +0 -0
  285. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/blank/client.py +0 -0
  286. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/blank/common.py +0 -0
  287. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/callback_data_/__init__.py +0 -0
  288. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/callback_data_/admin.py +0 -0
  289. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/callback_data_/client.py +0 -0
  290. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/callback_data_/common.py +0 -0
  291. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/const.py +0 -0
  292. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/event.py +0 -0
  293. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/__init__.py +0 -0
  294. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/is_private_chat.py +0 -0
  295. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/message_text.py +0 -0
  296. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/not_prod_mode_filter.py +0 -0
  297. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/prod_mode_filter.py +0 -0
  298. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/user_roles_has_admin.py +0 -0
  299. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/user_roles_has_client.py +0 -0
  300. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/__init__.py +0 -0
  301. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/__init__.py +0 -0
  302. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/admin/__init__.py +0 -0
  303. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/admin/common.py +0 -0
  304. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/admin/hello_world.py +0 -0
  305. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/client/__init__.py +0 -0
  306. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/client/common.py +0 -0
  307. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/client/support.py +0 -0
  308. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/common.py +0 -0
  309. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/__init__.py +0 -0
  310. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/admin/__init__.py +0 -0
  311. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/admin/common.py +0 -0
  312. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/admin/hello_world.py +0 -0
  313. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/client/__init__.py +0 -0
  314. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/client/common.py +0 -0
  315. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/common.py +0 -0
  316. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/middleware/__init__.py +0 -0
  317. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/middleware/common.py +0 -0
  318. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/middleware/init_user.py +0 -0
  319. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/middleware/uil.py +0 -0
  320. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/__init__.py +0 -0
  321. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/__init__.py +0 -0
  322. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/arpakitlib_project_template_info.py +0 -0
  323. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/clear_log_file.py +0 -0
  324. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/current_state.py +0 -0
  325. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/drop_sqlalchemy_db.py +0 -0
  326. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/hello_world.py +0 -0
  327. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/init_sqlalchemy_db.py +0 -0
  328. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/kb_with_not_modified.py +0 -0
  329. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/kb_with_old_cd.py +0 -0
  330. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/kb_with_raise_error.py +0 -0
  331. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/kb_with_remove_message.py +0 -0
  332. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/log_file.py +0 -0
  333. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/me.py +0 -0
  334. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/raise_fake_error.py +0 -0
  335. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/reinit_sqlalchemy_db.py +0 -0
  336. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/set_tg_bot_commands.py +0 -0
  337. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/__init__.py +0 -0
  338. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/about.py +0 -0
  339. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/author.py +0 -0
  340. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/cancel.py +0 -0
  341. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/error_handler.py +0 -0
  342. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/healthcheck.py +0 -0
  343. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/raw_callback_query.py +0 -0
  344. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/raw_inline_query.py +0 -0
  345. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/raw_message.py +0 -0
  346. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/remove_message.py +0 -0
  347. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/start.py +0 -0
  348. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/support.py +0 -0
  349. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/voice_.py +0 -0
  350. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/main_router.py +0 -0
  351. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/start_tg_bot.py +0 -0
  352. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/state/__init__.py +0 -0
  353. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/state/admin.py +0 -0
  354. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/state/client.py +0 -0
  355. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/state/common.py +0 -0
  356. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/state/util.py +0 -0
  357. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/tg_bot.py +0 -0
  358. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/tg_bot_dispatcher.py +0 -0
  359. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/util/__init__.py +0 -0
  360. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/util/etc.py +0 -0
  361. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/util/notify_admins.py +0 -0
  362. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/util/set_tg_bot_commands.py +0 -0
  363. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot_notifier/__init__.py +0 -0
  364. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot_notifier/blank.py +0 -0
  365. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot_notifier/tg_bot_notifier.py +0 -0
  366. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/util/__init__.py +0 -0
  367. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/util/arpakitlib_project_template_util.py +0 -0
  368. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/project/util/etc.py +0 -0
  369. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/_arpakit_project_template_v_5/todo.txt +0 -0
  370. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_additional_model_util.py +0 -0
  371. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_aiogram_util.py +0 -0
  372. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_arpakit_lib_module_util.py +0 -0
  373. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_arpakit_project_template_util.py +0 -0
  374. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_arpakit_schedule_uust_api_client_util.py +0 -0
  375. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_arpakit_schedule_uust_site_util.py +0 -0
  376. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_arpakitlib_cli_util.py +0 -0
  377. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_base64_util.py +0 -0
  378. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_base_worker_util.py +0 -0
  379. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_blank_util.py +0 -0
  380. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_cache_file_util.py +0 -0
  381. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_class_util.py +0 -0
  382. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_datetime_util.py +0 -0
  383. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_dict_util.py +0 -0
  384. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_dream_ai_api_client_util.py +0 -0
  385. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_encrypt_decrypt_util.py +0 -0
  386. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_enumeration_util.py +0 -0
  387. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_exception_util.py +0 -0
  388. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_file_storage_in_dir_util.py +0 -0
  389. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_file_util.py +0 -0
  390. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_func_util.py +0 -0
  391. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_hash_util.py +0 -0
  392. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_http_request_util.py +0 -0
  393. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_ip_util.py +0 -0
  394. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_json_db_util.py +0 -0
  395. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_json_util.py +0 -0
  396. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_jwt_util.py +0 -0
  397. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_list_of_dicts_to_xlsx.py +0 -0
  398. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_list_util.py +0 -0
  399. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_logging_util.py +0 -0
  400. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_mongodb_util.py +0 -0
  401. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_need_type_util.py +0 -0
  402. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_openai_api_client_util.py +0 -0
  403. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_parse_command.py +0 -0
  404. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_postgresql_util.py +0 -0
  405. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_rat_func_util.py +0 -0
  406. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_retry_func_util.py +0 -0
  407. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_run_cmd_util.py +0 -0
  408. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_schedule_uust_api_client_util.py +0 -0
  409. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_settings_util.py +0 -0
  410. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_sleep_util.py +0 -0
  411. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_sqladmin_util.py +0 -0
  412. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_sqlalchemy_util.py +0 -0
  413. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_ssh_runner_util.py +0 -0
  414. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_str_util.py +0 -0
  415. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_type_util.py +0 -0
  416. {arpakitlib-1.8.140 → arpakitlib-1.8.142}/arpakitlib/ar_yookassa_api_client_util.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: arpakitlib
3
- Version: 1.8.140
3
+ Version: 1.8.142
4
4
  Summary: arpakitlib
5
5
  License: Apache-2.0
6
6
  Keywords: arpakitlib,arpakit,arpakit-company,arpakitcompany,arpakit_company
@@ -59,6 +59,7 @@ Requires-Dist: sqlalchemy (>=2.0.37,<3.0.0)
59
59
  Requires-Dist: twine (>=6.1.0,<7.0.0)
60
60
  Requires-Dist: uvicorn (>=0.34.0,<0.35.0)
61
61
  Requires-Dist: xlrd (>=2.0.1,<3.0.0)
62
+ Requires-Dist: xlsxwriter (>=3.2.5,<4.0.0)
62
63
  Project-URL: Documentation, https://github.com/ARPAKIT-Company/arpakitlib
63
64
  Project-URL: Homepage, https://github.com/ARPAKIT-Company/arpakitlib
64
65
  Project-URL: Repository, https://github.com/ARPAKIT-Company/arpakitlib
@@ -0,0 +1,9 @@
1
+ from project.api.start_api import start_api
2
+
3
+
4
+ def __command():
5
+ start_api()
6
+
7
+
8
+ if __name__ == '__main__':
9
+ __command()
@@ -0,0 +1,9 @@
1
+ from project.api.start_api import start_api
2
+
3
+
4
+ def __command():
5
+ start_api()
6
+
7
+
8
+ if __name__ == '__main__':
9
+ __command()
@@ -9,12 +9,17 @@
9
9
  # sqlalchemy_async_db_url=
10
10
  # sqlalchemy_db_echo=
11
11
  # api_port=
12
+ # api_host=
13
+ # api_reload=
12
14
  # api_init_sqlalchemy_db=
13
15
  # api_init_json_db=
14
16
  # api_correct_api_keys=
15
17
  # api_enable_sqladmin=
16
18
  # api_start_operation_executor_worker=
17
19
  # api_start_scheduled_operation_creator_worker=
20
+ # api_version=
21
+ # api_create_first_data=
22
+ # api_workers=
18
23
  # sqladmin_secret_key=
19
24
  # sqladmin_authorize_keys=
20
25
  # sqladmin_port=
@@ -33,6 +38,7 @@
33
38
  # tg_bot_start_scheduled_operation_creator_worker=
34
39
  # tg_bot_command_passwd=
35
40
  # tg_bot_admin_tg_ids=
41
+ # tg_bot_set_commands=
36
42
  # var_dirpath=
37
43
  # log_filepath=
38
44
  # cache_dirpath=
@@ -40,3 +46,11 @@
40
46
  # dump_dirpath=
41
47
  # json_db_dirpath=
42
48
  # local_timezone=
49
+ # email_smtp_user=
50
+ # email_smtp_password=
51
+ # email_smtp_port=
52
+ # email_smtp_hostname=
53
+ # openai_api_key=
54
+ # openai_api_base_url=
55
+ # tg_bot_notifier_token=
56
+ # tg_bot_notifier_proxy_url=
@@ -1,5 +1,4 @@
1
1
  import logging
2
- from typing import Callable
3
2
 
4
3
  from arpakitlib.ar_base_worker_util import safe_run_worker_in_background, SafeRunInBackgroundModes
5
4
  from project.api.create_first_data import create_first_data_for_api
@@ -8,17 +7,13 @@ from project.core.dump_file_storage_in_dir import get_cached_dump_file_storage_i
8
7
  from project.core.media_file_storage_in_dir import get_cached_media_file_storage_in_dir
9
8
  from project.core.settings import get_cached_settings
10
9
  from project.json_db.json_db import get_cached_json_db
11
- from project.operation_execution.operation_executor_worker import create_operation_executor_worker
12
10
  from project.operation_execution.scheduled_operation_creator_worker import create_scheduled_operation_creator_worker
13
11
  from project.sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
14
12
 
15
13
  _logger = logging.getLogger(__name__)
16
14
 
17
15
 
18
- # API STARTUP EVENTS
19
-
20
-
21
- async def async_startup_api_event():
16
+ def before_start_api():
22
17
  _logger.info("start")
23
18
 
24
19
  if get_cached_media_file_storage_in_dir() is not None:
@@ -45,34 +40,10 @@ async def async_startup_api_event():
45
40
  if get_cached_sqlalchemy_db() is not None and get_cached_settings().api_create_first_data:
46
41
  create_first_data_for_api()
47
42
 
48
- if get_cached_settings().api_start_operation_executor_worker:
49
- _ = safe_run_worker_in_background(
50
- worker=create_operation_executor_worker(),
51
- mode=SafeRunInBackgroundModes.thread
52
- )
53
-
54
43
  if get_cached_settings().api_start_scheduled_operation_creator_worker:
55
44
  _ = safe_run_worker_in_background(
56
45
  worker=create_scheduled_operation_creator_worker(),
57
- mode=SafeRunInBackgroundModes.async_task
46
+ mode=SafeRunInBackgroundModes.thread
58
47
  )
59
48
 
60
49
  _logger.info("finish")
61
-
62
-
63
- def get_startup_api_events() -> list[Callable]:
64
- res = [async_startup_api_event]
65
- return res
66
-
67
-
68
- # API SHUTDOWN EVENTS
69
-
70
-
71
- async def async_shutdown_api_event():
72
- _logger.info("start")
73
- _logger.info("finish")
74
-
75
-
76
- def get_shutdown_api_events() -> list[Callable]:
77
- res = [async_shutdown_api_event]
78
- return res
@@ -0,0 +1,41 @@
1
+ import logging
2
+ from typing import Callable
3
+
4
+ from arpakitlib.ar_base_worker_util import safe_run_worker_in_background, SafeRunInBackgroundModes
5
+ from project.core.settings import get_cached_settings
6
+ from project.operation_execution.operation_executor_worker import create_operation_executor_worker
7
+
8
+ _logger = logging.getLogger(__name__)
9
+
10
+
11
+ # API STARTUP EVENTS
12
+
13
+
14
+ async def async_startup_api_event():
15
+ _logger.info("start")
16
+
17
+ if get_cached_settings().api_start_operation_executor_worker:
18
+ _ = safe_run_worker_in_background(
19
+ worker=create_operation_executor_worker(),
20
+ mode=SafeRunInBackgroundModes.thread
21
+ )
22
+
23
+ _logger.info("finish")
24
+
25
+
26
+ def get_startup_api_events() -> list[Callable]:
27
+ res = [async_startup_api_event]
28
+ return res
29
+
30
+
31
+ # API SHUTDOWN EVENTS
32
+
33
+
34
+ async def async_shutdown_api_event():
35
+ _logger.info("start")
36
+ _logger.info("finish")
37
+
38
+
39
+ def get_shutdown_api_events() -> list[Callable]:
40
+ res = [async_shutdown_api_event]
41
+ return res
@@ -3,7 +3,8 @@ from fastapi import APIRouter
3
3
  from project.api.router.admin import get_auth_data, get_arpakitlib_project_template_info, raise_fake_error, \
4
4
  reinit_sqlalchemy_db, get_story_log, init_sqlalchemy_db, get_sqlalchemy_db_table_name_to_amount, \
5
5
  get_operation_allowed_statuses, get_operation, create_operation, get_operation_allowed_types, get_log_file, \
6
- clear_log_file, check_sqlalchemy_db, get_settings, get_user, make_test_data_1
6
+ clear_log_file, check_sqlalchemy_db, get_settings, get_user, make_test_data_1, make_test_data_5, make_test_data_4, \
7
+ make_test_data_3, make_test_data_2
7
8
 
8
9
  main_admin_api_router = APIRouter()
9
10
 
@@ -91,3 +92,23 @@ main_admin_api_router.include_router(
91
92
  router=make_test_data_1.api_router,
92
93
  prefix="/make_test_data_1"
93
94
  )
95
+
96
+ main_admin_api_router.include_router(
97
+ router=make_test_data_2.api_router,
98
+ prefix="/make_test_data_2"
99
+ )
100
+
101
+ main_admin_api_router.include_router(
102
+ router=make_test_data_3.api_router,
103
+ prefix="/make_test_data_3"
104
+ )
105
+
106
+ main_admin_api_router.include_router(
107
+ router=make_test_data_4.api_router,
108
+ prefix="/make_test_data_4"
109
+ )
110
+
111
+ main_admin_api_router.include_router(
112
+ router=make_test_data_5.api_router,
113
+ prefix="/make_test_data_5"
114
+ )
@@ -0,0 +1,35 @@
1
+ import fastapi
2
+ from fastapi import APIRouter
3
+
4
+ from project.api.authorize import require_api_key_dbm_api_authorize_middleware, APIAuthorizeData, \
5
+ require_user_token_dbm_api_authorize_middleware, api_authorize
6
+ from project.api.schema.out.common.error import ErrorCommonSO
7
+ from project.api.schema.out.common.ok import OkCommonSO
8
+ from project.sqlalchemy_db_.sqlalchemy_model import UserDBM
9
+ from project.test_data.make_test_data_2 import make_test_data_2
10
+
11
+ api_router = APIRouter()
12
+
13
+
14
+ @api_router.get(
15
+ path="",
16
+ name="Make test data 2",
17
+ status_code=fastapi.status.HTTP_200_OK,
18
+ response_model=OkCommonSO | ErrorCommonSO
19
+ )
20
+ def _(
21
+ *,
22
+ request: fastapi.requests.Request,
23
+ response: fastapi.responses.Response,
24
+ api_auth_data: APIAuthorizeData = fastapi.Depends(api_authorize(middlewares=[
25
+ require_api_key_dbm_api_authorize_middleware(
26
+ require_active=True
27
+ ),
28
+ require_user_token_dbm_api_authorize_middleware(
29
+ require_active_user_token=True,
30
+ require_user_roles=[UserDBM.Roles.admin]
31
+ )
32
+ ]))
33
+ ):
34
+ make_test_data_2()
35
+ return OkCommonSO()
@@ -0,0 +1,35 @@
1
+ import fastapi
2
+ from fastapi import APIRouter
3
+
4
+ from project.api.authorize import require_api_key_dbm_api_authorize_middleware, APIAuthorizeData, \
5
+ require_user_token_dbm_api_authorize_middleware, api_authorize
6
+ from project.api.schema.out.common.error import ErrorCommonSO
7
+ from project.api.schema.out.common.ok import OkCommonSO
8
+ from project.sqlalchemy_db_.sqlalchemy_model import UserDBM
9
+ from project.test_data.make_test_data_3 import make_test_data_3
10
+
11
+ api_router = APIRouter()
12
+
13
+
14
+ @api_router.get(
15
+ path="",
16
+ name="Make test data 3",
17
+ status_code=fastapi.status.HTTP_200_OK,
18
+ response_model=OkCommonSO | ErrorCommonSO
19
+ )
20
+ def _(
21
+ *,
22
+ request: fastapi.requests.Request,
23
+ response: fastapi.responses.Response,
24
+ api_auth_data: APIAuthorizeData = fastapi.Depends(api_authorize(middlewares=[
25
+ require_api_key_dbm_api_authorize_middleware(
26
+ require_active=True
27
+ ),
28
+ require_user_token_dbm_api_authorize_middleware(
29
+ require_active_user_token=True,
30
+ require_user_roles=[UserDBM.Roles.admin]
31
+ )
32
+ ]))
33
+ ):
34
+ make_test_data_3()
35
+ return OkCommonSO()
@@ -0,0 +1,35 @@
1
+ import fastapi
2
+ from fastapi import APIRouter
3
+
4
+ from project.api.authorize import require_api_key_dbm_api_authorize_middleware, APIAuthorizeData, \
5
+ require_user_token_dbm_api_authorize_middleware, api_authorize
6
+ from project.api.schema.out.common.error import ErrorCommonSO
7
+ from project.api.schema.out.common.ok import OkCommonSO
8
+ from project.sqlalchemy_db_.sqlalchemy_model import UserDBM
9
+ from project.test_data.make_test_data_4 import make_test_data_4
10
+
11
+ api_router = APIRouter()
12
+
13
+
14
+ @api_router.get(
15
+ path="",
16
+ name="Make test data 4",
17
+ status_code=fastapi.status.HTTP_200_OK,
18
+ response_model=OkCommonSO | ErrorCommonSO
19
+ )
20
+ def _(
21
+ *,
22
+ request: fastapi.requests.Request,
23
+ response: fastapi.responses.Response,
24
+ api_auth_data: APIAuthorizeData = fastapi.Depends(api_authorize(middlewares=[
25
+ require_api_key_dbm_api_authorize_middleware(
26
+ require_active=True
27
+ ),
28
+ require_user_token_dbm_api_authorize_middleware(
29
+ require_active_user_token=True,
30
+ require_user_roles=[UserDBM.Roles.admin]
31
+ )
32
+ ]))
33
+ ):
34
+ make_test_data_4()
35
+ return OkCommonSO()
@@ -0,0 +1,35 @@
1
+ import fastapi
2
+ from fastapi import APIRouter
3
+
4
+ from project.api.authorize import require_api_key_dbm_api_authorize_middleware, APIAuthorizeData, \
5
+ require_user_token_dbm_api_authorize_middleware, api_authorize
6
+ from project.api.schema.out.common.error import ErrorCommonSO
7
+ from project.api.schema.out.common.ok import OkCommonSO
8
+ from project.sqlalchemy_db_.sqlalchemy_model import UserDBM
9
+ from project.test_data.make_test_data_5 import make_test_data_5
10
+
11
+ api_router = APIRouter()
12
+
13
+
14
+ @api_router.get(
15
+ path="",
16
+ name="Make test data 5",
17
+ status_code=fastapi.status.HTTP_200_OK,
18
+ response_model=OkCommonSO | ErrorCommonSO
19
+ )
20
+ def _(
21
+ *,
22
+ request: fastapi.requests.Request,
23
+ response: fastapi.responses.Response,
24
+ api_auth_data: APIAuthorizeData = fastapi.Depends(api_authorize(middlewares=[
25
+ require_api_key_dbm_api_authorize_middleware(
26
+ require_active=True
27
+ ),
28
+ require_user_token_dbm_api_authorize_middleware(
29
+ require_active_user_token=True,
30
+ require_user_roles=[UserDBM.Roles.admin]
31
+ )
32
+ ]))
33
+ ):
34
+ make_test_data_5()
35
+ return OkCommonSO()
@@ -0,0 +1,21 @@
1
+ import uvicorn
2
+
3
+ from project.api.before_start_api import before_start_api
4
+ from project.core.settings import get_cached_settings
5
+ from project.core.util import setup_logging
6
+
7
+
8
+ def start_api():
9
+ setup_logging()
10
+ before_start_api()
11
+ uvicorn.run(
12
+ "project.api.asgi:app",
13
+ port=get_cached_settings().api_port,
14
+ host=get_cached_settings().api_host,
15
+ workers=get_cached_settings().api_workers,
16
+ reload=get_cached_settings().api_reload
17
+ )
18
+
19
+
20
+ if __name__ == '__main__':
21
+ start_api()
@@ -80,6 +80,10 @@ class Settings(SimpleSettings):
80
80
 
81
81
  api_port: int | None = 8080
82
82
 
83
+ api_host: str | None = "localhost"
84
+
85
+ api_reload: bool = False
86
+
83
87
  api_init_sqlalchemy_db: bool = False
84
88
 
85
89
  api_init_json_db: bool = False
@@ -36,15 +36,22 @@ class SQLAdminAuth(AuthenticationBackend):
36
36
  is_password_correct := password in get_cached_settings().sqladmin_authorize_keys
37
37
  )
38
38
  ):
39
- if is_username_correct is True:
39
+ if is_username_correct:
40
40
  request.session.update({SQLADMIN_AUTHORIZE_KEY: username})
41
- elif is_password_correct is True:
41
+ elif is_password_correct:
42
42
  request.session.update({SQLADMIN_AUTHORIZE_KEY: password})
43
43
  return True
44
44
 
45
45
  if get_cached_sqlalchemy_db() is not None and (username is not None or password is not None):
46
46
  with get_cached_sqlalchemy_db().new_session() as session:
47
- query = session.query(UserTokenDBM).filter(UserTokenDBM.is_active == True)
47
+ query = session.query(UserTokenDBM)
48
+ query = query.join(
49
+ UserDBM
50
+ ).filter(
51
+ UserTokenDBM.is_active == True
52
+ ).filter(
53
+ UserDBM.is_active.is_(True)
54
+ )
48
55
  if username is not None:
49
56
  query = query.filter(UserTokenDBM.value == username)
50
57
  elif password is not None:
@@ -57,26 +64,29 @@ class SQLAdminAuth(AuthenticationBackend):
57
64
  return True
58
65
 
59
66
  if get_cached_sqlalchemy_db() is not None and (username is not None and password is not None):
60
- query = session.query(UserDBM)
61
- query = query.filter(UserDBM.is_active == True)
62
- _or_conditions = [
63
- UserDBM.long_id == username,
64
- UserDBM.slug == username,
65
- UserDBM.email == username,
66
- UserDBM.username == username,
67
- ]
68
- if username.isdigit():
69
- _or_conditions.append(UserDBM.id == int(username))
70
- query = query.filter(sqlalchemy.or_(*_or_conditions))
71
- query = query.filter(UserDBM.password == password)
72
- user_dbm: UserDBM | None = query.one_or_none()
73
- if user_dbm is not None and user_dbm.compare_roles(UserDBM.Roles.admin):
74
- new_user_token_dbm = UserTokenDBM(user_id=user_dbm.id)
75
- session.add(new_user_token_dbm)
76
- session.commit()
77
- session.refresh(new_user_token_dbm)
78
- request.session.update({SQLADMIN_AUTHORIZE_KEY: new_user_token_dbm.value})
79
- return True
67
+ with get_cached_sqlalchemy_db().new_session() as session:
68
+ query = session.query(UserDBM)
69
+ query = query.filter(
70
+ UserDBM.is_active == True
71
+ )
72
+ _or_conditions = [
73
+ UserDBM.long_id == username,
74
+ UserDBM.slug == username,
75
+ UserDBM.email == username,
76
+ UserDBM.username == username,
77
+ ]
78
+ if username.isdigit():
79
+ _or_conditions.append(UserDBM.id == int(username))
80
+ query = query.filter(sqlalchemy.or_(*_or_conditions))
81
+ query = query.filter(UserDBM.password == password)
82
+ user_dbm: UserDBM | None = query.one_or_none()
83
+ if user_dbm is not None and user_dbm.compare_roles(UserDBM.Roles.admin):
84
+ new_user_token_dbm = UserTokenDBM(user_id=user_dbm.id)
85
+ session.add(new_user_token_dbm)
86
+ session.commit()
87
+ session.refresh(new_user_token_dbm)
88
+ request.session.update({SQLADMIN_AUTHORIZE_KEY: new_user_token_dbm.value})
89
+ return True
80
90
 
81
91
  return False
82
92
 
@@ -35,7 +35,6 @@ class ApiKeyDBM(SimpleDBM):
35
35
  nullable=False,
36
36
  unique=True,
37
37
  insert_default=generate_default_api_key_value,
38
- server_default=sqlalchemy.func.gen_random_uuid()
39
38
  )
40
39
  is_active: Mapped[bool] = mapped_column(
41
40
  sqlalchemy.Boolean,
@@ -73,7 +73,6 @@ class UserDBM(SimpleDBM):
73
73
  nullable=True,
74
74
  index=True,
75
75
  insert_default=generate_default_user_password,
76
- server_default=sqlalchemy.func.gen_random_uuid(),
77
76
  )
78
77
  tg_id: Mapped[int | None] = mapped_column(
79
78
  sqlalchemy.BIGINT,
@@ -29,7 +29,6 @@ class UserTokenDBM(SimpleDBM):
29
29
  nullable=False,
30
30
  unique=True,
31
31
  insert_default=generate_default_user_token_value,
32
- server_default=sqlalchemy.func.gen_random_uuid(),
33
32
  )
34
33
  user_id: Mapped[int] = mapped_column(
35
34
  sqlalchemy.BIGINT,
@@ -36,7 +36,6 @@ class VerificationCodeDBM(SimpleDBM):
36
36
  nullable=False,
37
37
  index=True,
38
38
  insert_default=generate_default_verification_code_value,
39
- server_default=sqlalchemy.func.gen_random_uuid(),
40
39
  )
41
40
  recipient: Mapped[str | None] = mapped_column(
42
41
  sqlalchemy.TEXT,
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "arpakitlib"
3
- version = "1.8.140"
3
+ version = "1.8.142"
4
4
  description = "arpakitlib"
5
5
  authors = [
6
6
  { name = "arpakit_support", email = "support@arpakit.com" }
@@ -64,6 +64,7 @@ dependencies = [
64
64
  "speechrecognition (>=3.14.3,<4.0.0)",
65
65
  "aiosqlite (>=0.21.0,<0.22.0)",
66
66
  "pytelegrambotapi (>=4.27.0,<5.0.0)",
67
+ "xlsxwriter (>=3.2.5,<4.0.0)",
67
68
  ]
68
69
 
69
70
 
@@ -1,26 +0,0 @@
1
- import uvicorn
2
-
3
- from arpakitlib.ar_base_worker_util import safe_run_worker_in_background, SafeRunInBackgroundModes
4
- from project.core.settings import get_cached_settings
5
- from project.core.util import setup_logging
6
- from project.operation_execution.scheduled_operation_creator_worker import create_scheduled_operation_creator_worker
7
-
8
-
9
- def __command():
10
- setup_logging()
11
- if get_cached_settings().api_start_scheduled_operation_creator_worker:
12
- _ = safe_run_worker_in_background(
13
- worker=create_scheduled_operation_creator_worker(),
14
- mode=SafeRunInBackgroundModes.thread
15
- )
16
- uvicorn.run(
17
- "project.api.asgi:app",
18
- port=get_cached_settings().api_port,
19
- host="localhost",
20
- workers=get_cached_settings().api_workers,
21
- reload=False
22
- )
23
-
24
-
25
- if __name__ == '__main__':
26
- __command()
@@ -1,26 +0,0 @@
1
- import uvicorn
2
-
3
- from arpakitlib.ar_base_worker_util import safe_run_worker_in_background, SafeRunInBackgroundModes
4
- from project.core.settings import get_cached_settings
5
- from project.core.util import setup_logging
6
- from project.operation_execution.scheduled_operation_creator_worker import create_scheduled_operation_creator_worker
7
-
8
-
9
- def __command():
10
- setup_logging()
11
- if get_cached_settings().api_start_scheduled_operation_creator_worker:
12
- _ = safe_run_worker_in_background(
13
- worker=create_scheduled_operation_creator_worker(),
14
- mode=SafeRunInBackgroundModes.thread
15
- )
16
- uvicorn.run(
17
- app="project.api.asgi:app",
18
- host="127.0.0.1",
19
- port=get_cached_settings().api_port,
20
- reload=False,
21
- workers=get_cached_settings().api_workers
22
- )
23
-
24
-
25
- if __name__ == '__main__':
26
- __command()
@@ -1,26 +0,0 @@
1
- import uvicorn
2
-
3
- from arpakitlib.ar_base_worker_util import SafeRunInBackgroundModes, safe_run_worker_in_background
4
- from project.core.settings import get_cached_settings
5
- from project.core.util import setup_logging
6
- from project.operation_execution.scheduled_operation_creator_worker import create_scheduled_operation_creator_worker
7
-
8
-
9
- def __command():
10
- setup_logging()
11
- if get_cached_settings().api_start_scheduled_operation_creator_worker:
12
- _ = safe_run_worker_in_background(
13
- worker=create_scheduled_operation_creator_worker(),
14
- mode=SafeRunInBackgroundModes.thread
15
- )
16
- uvicorn.run(
17
- "project.api.asgi:app",
18
- port=get_cached_settings().api_port,
19
- host="localhost",
20
- workers=1,
21
- reload=True
22
- )
23
-
24
-
25
- if __name__ == '__main__':
26
- __command()
@@ -1,26 +0,0 @@
1
- import uvicorn
2
-
3
- from arpakitlib.ar_base_worker_util import safe_run_worker_in_background, SafeRunInBackgroundModes
4
- from project.core.settings import get_cached_settings
5
- from project.core.util import setup_logging
6
- from project.operation_execution.scheduled_operation_creator_worker import create_scheduled_operation_creator_worker
7
-
8
-
9
- def __command():
10
- setup_logging()
11
- if get_cached_settings().api_start_scheduled_operation_creator_worker:
12
- _ = safe_run_worker_in_background(
13
- worker=create_scheduled_operation_creator_worker(),
14
- mode=SafeRunInBackgroundModes.thread
15
- )
16
- uvicorn.run(
17
- "project.api.asgi:app",
18
- port=get_cached_settings().api_port,
19
- host="localhost",
20
- workers=1,
21
- reload=False
22
- )
23
-
24
-
25
- if __name__ == '__main__':
26
- __command()
@@ -1,21 +0,0 @@
1
- # arpakit
2
- import asyncio
3
-
4
- _ARPAKIT_LIB_MODULE_VERSION = "3.0"
5
-
6
-
7
- class CryptomusAPIClient:
8
- pass
9
-
10
-
11
- def __example():
12
- pass
13
-
14
-
15
- async def __async_example():
16
- pass
17
-
18
-
19
- if __name__ == '__main__':
20
- __example()
21
- asyncio.run(__async_example())
File without changes
File without changes