arpakitlib 1.7.116__tar.gz → 1.7.123__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 (208) hide show
  1. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/PKG-INFO +1 -1
  2. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/example.env +4 -0
  3. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/hello_world.py +2 -2
  4. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/json_beutify.py +2 -2
  5. arpakitlib-1.7.123/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_1.py +14 -0
  6. arpakitlib-1.7.123/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_2.py +14 -0
  7. arpakitlib-1.7.123/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_3.py +14 -0
  8. arpakitlib-1.7.123/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_4.py +14 -0
  9. arpakitlib-1.7.123/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_5.py +14 -0
  10. arpakitlib-1.7.123/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_6.py +14 -0
  11. arpakitlib-1.7.123/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_7.py +14 -0
  12. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/admin1/add_admin_in_app.py +3 -1
  13. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/admin1/admin_auth.py +4 -7
  14. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/admin1/model_view.py +5 -0
  15. arpakitlib-1.7.123/arpakitlib/_arpakit_project_template/src/api/create_api_app.py +77 -0
  16. arpakitlib-1.7.123/arpakitlib/_arpakit_project_template/src/api/event.py +69 -0
  17. arpakitlib-1.7.116/arpakitlib/_arpakit_project_template/src/api/start_api_for_dev.py → arpakitlib-1.7.123/arpakitlib/_arpakit_project_template/src/api/start_api_for_dev_with_reload.py +3 -3
  18. arpakitlib-1.7.123/arpakitlib/_arpakit_project_template/src/api/start_api_for_dev_without_reload.py +17 -0
  19. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/api/transmitted_api_data.py +4 -0
  20. arpakitlib-1.7.123/arpakitlib/_arpakit_project_template/src/business_service/hello_world.py +12 -0
  21. arpakitlib-1.7.116/arpakitlib/_arpakit_project_template/manage/logging_check.py → arpakitlib-1.7.123/arpakitlib/_arpakit_project_template/src/core/check_logging.py +3 -3
  22. arpakitlib-1.7.116/arpakitlib/_arpakit_project_template/manage/settings_check.py → arpakitlib-1.7.123/arpakitlib/_arpakit_project_template/src/core/check_settings.py +2 -0
  23. arpakitlib-1.7.123/arpakitlib/_arpakit_project_template/src/core/generate_settings_env_example.py +16 -0
  24. arpakitlib-1.7.116/arpakitlib/_arpakit_project_template/manage/sqlalchemy_db_init.py → arpakitlib-1.7.123/arpakitlib/_arpakit_project_template/src/db/init_sqlalchemy_db.py +2 -2
  25. arpakitlib-1.7.116/arpakitlib/_arpakit_project_template/manage/sqlalchemy_db_reinit.py → arpakitlib-1.7.123/arpakitlib/_arpakit_project_template/src/db/reinit_sqlalchemy_db.py +4 -2
  26. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/operation_execution/scheduled_operations.py +3 -3
  27. arpakitlib-1.7.116/arpakitlib/_arpakit_project_template/src/operation_execution/start_operation_executor_worker_for_dev.py → arpakitlib-1.7.123/arpakitlib/_arpakit_project_template/src/operation_execution/start_operation_executor_worker.py +5 -4
  28. arpakitlib-1.7.116/arpakitlib/_arpakit_project_template/src/operation_execution/start_scheduled_operation_creator_worker_for_dev.py → arpakitlib-1.7.123/arpakitlib/_arpakit_project_template/src/operation_execution/start_scheduled_operation_creator_worker.py +6 -4
  29. arpakitlib-1.7.123/arpakitlib/_arpakit_project_template/src/tg_bot/__init__.py +0 -0
  30. arpakitlib-1.7.123/arpakitlib/_arpakit_project_template/src/tg_bot/router/__init__.py +0 -0
  31. arpakitlib-1.7.123/arpakitlib/_arpakit_project_template/src/tg_bot/start_tg_bot.py +0 -0
  32. arpakitlib-1.7.123/arpakitlib/_arpakit_project_template/src/util/__init__.py +0 -0
  33. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_fastapi_util.py +0 -33
  34. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_settings_util.py +14 -5
  35. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_str_util.py +15 -15
  36. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_type_util.py +1 -1
  37. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/pyproject.toml +4 -4
  38. arpakitlib-1.7.116/arpakitlib/_arpakit_project_template/AUTHOR.md +0 -4
  39. arpakitlib-1.7.116/arpakitlib/_arpakit_project_template/manage/example_nginx_proxy.nginx +0 -14
  40. arpakitlib-1.7.116/arpakitlib/_arpakit_project_template/manage/example_poetry_arpakitlib.sh +0 -1
  41. arpakitlib-1.7.116/arpakitlib/_arpakit_project_template/manage/example_pyproject.toml +0 -18
  42. arpakitlib-1.7.116/arpakitlib/_arpakit_project_template/manage/example_systemd.service +0 -12
  43. arpakitlib-1.7.116/arpakitlib/_arpakit_project_template/manage/requirements.txt +0 -208
  44. arpakitlib-1.7.116/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_1.py +0 -14
  45. arpakitlib-1.7.116/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_2.py +0 -14
  46. arpakitlib-1.7.116/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_3.py +0 -14
  47. arpakitlib-1.7.116/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_4.py +0 -14
  48. arpakitlib-1.7.116/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_5.py +0 -14
  49. arpakitlib-1.7.116/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_6.py +0 -14
  50. arpakitlib-1.7.116/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_7.py +0 -14
  51. arpakitlib-1.7.116/arpakitlib/_arpakit_project_template/manage/settings_generate_env_example.py +0 -13
  52. arpakitlib-1.7.116/arpakitlib/_arpakit_project_template/src/api/create_api_app.py +0 -120
  53. arpakitlib-1.7.116/arpakitlib/_arpakit_project_template/src/api/event.py +0 -20
  54. arpakitlib-1.7.116/arpakitlib/_arpakit_project_template/src/api/start_api_for_dev_with_reload.py +0 -9
  55. arpakitlib-1.7.116/arpakitlib/_arpakit_project_template/src/operation_execution/util.py +0 -19
  56. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/LICENSE +0 -0
  57. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/NOTICE +0 -0
  58. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/README.md +0 -0
  59. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/__init__.py +0 -0
  60. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/.gitignore +0 -0
  61. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/.python-version +0 -0
  62. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/ARPAKITLIB +0 -0
  63. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/LICENSE +0 -0
  64. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/NOTICE +0 -0
  65. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/README.md +0 -0
  66. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/__init__.py +0 -0
  67. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/docker_ps.sh +0 -0
  68. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/docker_ps_a.sh +0 -0
  69. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/docker_run_postgres_for_dev.sh +0 -0
  70. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/docker_start_postgres_for_dev.sh +0 -0
  71. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/docker_stop_postgres_for_dev.sh +0 -0
  72. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/git_branch.sh +0 -0
  73. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/git_commit.sh +0 -0
  74. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/git_push_arpakit_company_github_1.sh +0 -0
  75. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/git_push_arpakit_company_gitlab_1.sh +0 -0
  76. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/git_push_arpakit_github_1.sh +0 -0
  77. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/git_push_arpakit_gitlab_1.sh +0 -0
  78. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/git_remote_v.sh +0 -0
  79. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/git_set_arpakit_company_origin.sh +0 -0
  80. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/git_set_arpakit_origin.sh +0 -0
  81. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/git_status.sh +0 -0
  82. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/note/__init__.py +0 -0
  83. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/note/note_1.txt +0 -0
  84. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/note/note_2.txt +0 -0
  85. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/note/note_3.txt +0 -0
  86. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/note/note_4.txt +0 -0
  87. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/note/note_5.txt +0 -0
  88. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/poetry_add_plugin_export.sh +0 -0
  89. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/poetry_check.sh +0 -0
  90. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/poetry_clear_cache.sh +0 -0
  91. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/poetry_config.sh +0 -0
  92. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/poetry_config_virtualenvs_in_project_true.sh +0 -0
  93. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/poetry_generate_requirements.txt.sh +0 -0
  94. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/poetry_install.sh +0 -0
  95. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/poetry_lock.sh +0 -0
  96. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/poetry_remove_and_add_arpakitlib.sh +0 -0
  97. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/poetry_self_add_plugin_export.sh +0 -0
  98. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/poetry_show.sh +0 -0
  99. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/poetry_show_arpakitlib.sh +0 -0
  100. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/poetry_update.sh +0 -0
  101. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/poetry_update_arpakitlib.sh +0 -0
  102. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/sandbox/__init__.py +0 -0
  103. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_8.sh +0 -0
  104. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_9.sh +0 -0
  105. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/resource/__init__.py +0 -0
  106. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/resource/static/__init__.py +0 -0
  107. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/resource/static/healthcheck +0 -0
  108. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/resource/static/helloworld +0 -0
  109. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/__init__.py +0 -0
  110. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/additional_model/__init__.py +0 -0
  111. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/additional_model/additional_model.py +0 -0
  112. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/admin1/__init__.py +0 -0
  113. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/api/__init__.py +0 -0
  114. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/api/asgi.py +0 -0
  115. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/api/auth.py +0 -0
  116. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/api/const.py +0 -0
  117. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/api/router/__init__.py +0 -0
  118. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/api/router/main_router.py +0 -0
  119. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/api/router/v1/__init__.py +0 -0
  120. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/api/router/v1/get_api_error_info.py +0 -0
  121. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/api/router/v1/main_router.py +0 -0
  122. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/api/schema/__init__.py +0 -0
  123. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/api/schema/v1/__init__.py +0 -0
  124. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/api/schema/v1/in_.py +0 -0
  125. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/api/schema/v1/out.py +0 -0
  126. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/api/util.py +0 -0
  127. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/business_service/__init__.py +0 -0
  128. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/core/__init__.py +0 -0
  129. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/core/const.py +0 -0
  130. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/core/settings.py +0 -0
  131. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/core/util.py +0 -0
  132. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/db/__init__.py +0 -0
  133. /arpakitlib-1.7.116/arpakitlib/_arpakit_project_template/manage/sqlalchemy_db_check_conn.py → /arpakitlib-1.7.123/arpakitlib/_arpakit_project_template/src/db/check_conn_sqlalchemy_db.py +0 -0
  134. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/db/const.py +0 -0
  135. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/db/sqlalchemy_model.py +0 -0
  136. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/db/util.py +0 -0
  137. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/operation_execution/__init__.py +0 -0
  138. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/operation_execution/const.py +0 -0
  139. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/operation_execution/operation_executor.py +0 -0
  140. /arpakitlib-1.7.116/arpakitlib/_arpakit_project_template/src/test_data/__init__.py → /arpakitlib-1.7.123/arpakitlib/_arpakit_project_template/src/operation_execution/util.py +0 -0
  141. {arpakitlib-1.7.116/arpakitlib/_arpakit_project_template/src/util → arpakitlib-1.7.123/arpakitlib/_arpakit_project_template/src/test_data}/__init__.py +0 -0
  142. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/test_data/make_test_data_1.py +0 -0
  143. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/test_data/make_test_data_2.py +0 -0
  144. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/test_data/make_test_data_3.py +0 -0
  145. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/test_data/make_test_data_4.py +0 -0
  146. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/_arpakit_project_template/src/test_data/make_test_data_5.py +0 -0
  147. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/api_key_util.py +0 -0
  148. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_additional_model_util.py +0 -0
  149. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_aiogram_util.py +0 -0
  150. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_arpakit_lib_module_util.py +0 -0
  151. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_arpakit_project_template_util.py +0 -0
  152. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_arpakit_schedule_uust_api_client_util.py +0 -0
  153. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_arpakitlib_cli_util.py +0 -0
  154. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_base64_util.py +0 -0
  155. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_base_worker_util.py +0 -0
  156. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_cache_file_util.py +0 -0
  157. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_datetime_util.py +0 -0
  158. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_dict_util.py +0 -0
  159. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_dream_ai_api_client_util.py +0 -0
  160. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_encrypt_decrypt_util.py +0 -0
  161. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_enumeration_util.py +0 -0
  162. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_exception_util.py +0 -0
  163. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_fastapi_static/healthcheck +0 -0
  164. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_fastapi_static/redoc/redoc.standalone.js +0 -0
  165. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_fastapi_static/swagger-ui/favicon-16x16.png +0 -0
  166. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_fastapi_static/swagger-ui/favicon-32x32.png +0 -0
  167. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_fastapi_static/swagger-ui/index.css +0 -0
  168. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_fastapi_static/swagger-ui/index.html +0 -0
  169. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_fastapi_static/swagger-ui/oauth2-redirect.html +0 -0
  170. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-initializer.js +0 -0
  171. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-bundle.js +0 -0
  172. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-bundle.js.map +0 -0
  173. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-es-bundle-core.js +0 -0
  174. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-es-bundle-core.js.map +0 -0
  175. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-es-bundle.js +0 -0
  176. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-es-bundle.js.map +0 -0
  177. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-standalone-preset.js +0 -0
  178. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-standalone-preset.js.map +0 -0
  179. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.css +0 -0
  180. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.css.map +0 -0
  181. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.js +0 -0
  182. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.js.map +0 -0
  183. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_file_storage_in_dir_util.py +0 -0
  184. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_file_util.py +0 -0
  185. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_func_util.py +0 -0
  186. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_hash_util.py +0 -0
  187. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_http_request_util.py +0 -0
  188. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_ip_util.py +0 -0
  189. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_json_db_util.py +0 -0
  190. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_json_util.py +0 -0
  191. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_jwt_util.py +0 -0
  192. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_list_of_dicts_to_xlsx.py +0 -0
  193. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_list_util.py +0 -0
  194. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_logging_util.py +0 -0
  195. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_mongodb_util.py +0 -0
  196. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_need_type_util.py +0 -0
  197. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_openai_api_client_util.py +0 -0
  198. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_operation_execution_util.py +0 -0
  199. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_parse_command.py +0 -0
  200. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_postgresql_util.py +0 -0
  201. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_run_cmd_util.py +0 -0
  202. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_schedule_uust_api_client_util.py +0 -0
  203. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_sleep_util.py +0 -0
  204. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_sqlalchemy_model_util.py +0 -0
  205. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_sqlalchemy_util.py +0 -0
  206. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_ssh_runner_util.py +0 -0
  207. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_yookassa_api_client_util.py +0 -0
  208. {arpakitlib-1.7.116 → arpakitlib-1.7.123}/arpakitlib/ar_zabbix_api_client_util.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: arpakitlib
3
- Version: 1.7.116
3
+ Version: 1.7.123
4
4
  Summary: arpakitlib
5
5
  License: Apache-2.0
6
6
  Keywords: arpakitlib,arpakit,arpakit-company,arpakitcompany,arpakit_company
@@ -1,4 +1,5 @@
1
1
  # mode_type=
2
+ # project_name=
2
3
  # sql_db_url=
3
4
  # sql_db_echo=
4
5
  # api_init_sql_db_at_start=
@@ -9,6 +10,8 @@
9
10
  # api_start_scheduled_operation_creator_worker=
10
11
  # api_port=
11
12
  # api_correct_api_key=
13
+ # api_correct_token=
14
+ # api_enable_admin1=
12
15
  # var_dirname=
13
16
  # var_dirpath=
14
17
  # log_filename=
@@ -20,3 +23,4 @@
20
23
  # dump_dirname=
21
24
  # dump_dirpath=
22
25
  # local_timezone=
26
+ # admin1_secret_key=
@@ -1,6 +1,6 @@
1
- def command():
1
+ def __hello_world():
2
2
  print("Hello world")
3
3
 
4
4
 
5
5
  if __name__ == '__main__':
6
- command()
6
+ __hello_world()
@@ -1,10 +1,10 @@
1
1
  from arpakitlib.ar_json_util import safely_transfer_str_to_json_obj_to_json_str
2
2
 
3
3
 
4
- def command():
4
+ def __command():
5
5
  s = input("JSON:\n")
6
6
  print(safely_transfer_str_to_json_obj_to_json_str(s))
7
7
 
8
8
 
9
9
  if __name__ == '__main__':
10
- command()
10
+ __command()
@@ -0,0 +1,14 @@
1
+ import asyncio
2
+
3
+
4
+ def __sandbox():
5
+ pass
6
+
7
+
8
+ async def __async_sandbox():
9
+ pass
10
+
11
+
12
+ if __name__ == '__main__':
13
+ __sandbox()
14
+ asyncio.run(__async_sandbox())
@@ -0,0 +1,14 @@
1
+ import asyncio
2
+
3
+
4
+ def __sandbox():
5
+ pass
6
+
7
+
8
+ async def __async_sandbox():
9
+ pass
10
+
11
+
12
+ if __name__ == '__main__':
13
+ __sandbox()
14
+ asyncio.run(__async_sandbox())
@@ -0,0 +1,14 @@
1
+ import asyncio
2
+
3
+
4
+ def __sandbox():
5
+ pass
6
+
7
+
8
+ async def __async_sandbox():
9
+ pass
10
+
11
+
12
+ if __name__ == '__main__':
13
+ __sandbox()
14
+ asyncio.run(__async_sandbox())
@@ -0,0 +1,14 @@
1
+ import asyncio
2
+
3
+
4
+ def __sandbox():
5
+ pass
6
+
7
+
8
+ async def __async_sandbox():
9
+ pass
10
+
11
+
12
+ if __name__ == '__main__':
13
+ __sandbox()
14
+ asyncio.run(__async_sandbox())
@@ -0,0 +1,14 @@
1
+ import asyncio
2
+
3
+
4
+ def __sandbox():
5
+ pass
6
+
7
+
8
+ async def __async_sandbox():
9
+ pass
10
+
11
+
12
+ if __name__ == '__main__':
13
+ __sandbox()
14
+ asyncio.run(__async_sandbox())
@@ -0,0 +1,14 @@
1
+ import asyncio
2
+
3
+
4
+ def __sandbox():
5
+ pass
6
+
7
+
8
+ async def __async_sandbox():
9
+ pass
10
+
11
+
12
+ if __name__ == '__main__':
13
+ __sandbox()
14
+ asyncio.run(__async_sandbox())
@@ -0,0 +1,14 @@
1
+ import asyncio
2
+
3
+
4
+ def __sandbox():
5
+ pass
6
+
7
+
8
+ async def __async_sandbox():
9
+ pass
10
+
11
+
12
+ if __name__ == '__main__':
13
+ __sandbox()
14
+ asyncio.run(__async_sandbox())
@@ -2,6 +2,7 @@ from fastapi import FastAPI
2
2
  from sqladmin import Admin
3
3
 
4
4
  from src.admin1.admin_auth import AdminAuth
5
+ from src.admin1.model_view import MODEL_VIEWS
5
6
  from src.api.transmitted_api_data import TransmittedAPIData
6
7
 
7
8
 
@@ -18,6 +19,7 @@ def add_admin1_in_app(*, app: FastAPI) -> FastAPI:
18
19
  title="{PROJECT_NAME}"
19
20
  )
20
21
 
21
- # admin.add_model_view(CurrentSemesterMV)
22
+ for model_view in MODEL_VIEWS:
23
+ admin.add_model_view(model_view)
22
24
 
23
25
  return app
@@ -9,15 +9,13 @@ from src.core.settings import get_cached_settings
9
9
  class AdminAuth(AuthenticationBackend):
10
10
  def __init__(self):
11
11
  self._logger = logging.getLogger(self.__class__.__name__)
12
- super().__init__(secret_key=get_cached_settings().sec)
12
+ super().__init__(secret_key=get_cached_settings().admin1_secret_key)
13
13
 
14
14
  async def login(self, request: Request) -> bool:
15
- form = await request.form()
16
-
17
15
  # ...
18
-
16
+ # form = await request.form()
19
17
  # request.session.update(...)
20
-
18
+ # ...
21
19
  return True
22
20
 
23
21
  async def logout(self, request: Request) -> bool:
@@ -25,8 +23,7 @@ class AdminAuth(AuthenticationBackend):
25
23
  return True
26
24
 
27
25
  async def authenticate(self, request: Request) -> bool:
26
+ # ...
28
27
  # request.session.get("...")
29
-
30
28
  # ...
31
-
32
29
  return True
@@ -12,3 +12,8 @@ class BaseModelView(ModelView):
12
12
  save_as = True
13
13
  save_as_continue = True
14
14
  export_types = ["xlsx", "csv", "json"]
15
+
16
+
17
+ MODEL_VIEWS = []
18
+
19
+ # ...
@@ -0,0 +1,77 @@
1
+ from fastapi import FastAPI
2
+
3
+ from arpakitlib.ar_fastapi_util import create_fastapi_app, \
4
+ create_handle_exception, create_story_log_before_response_in_handle_exception
5
+ from arpakitlib.ar_sqlalchemy_util import SQLAlchemyDB
6
+ from arpakitlib.ar_type_util import raise_for_type
7
+ from src.api.event import StartupAPIEvent, ShutdownAPIEvent
8
+ from src.api.router.main_router import main_api_router
9
+ from src.api.transmitted_api_data import TransmittedAPIData
10
+ from src.core.const import STATIC_DIRPATH
11
+ from src.core.settings import get_cached_settings
12
+ from src.core.util import setup_logging, get_cached_media_file_storage_in_dir, get_cached_cache_file_storage_in_dir, \
13
+ get_cached_dump_file_storage_in_dir
14
+ from src.db.util import get_cached_sqlalchemy_db
15
+
16
+
17
+ def create_api_app() -> FastAPI:
18
+ setup_logging()
19
+
20
+ settings = get_cached_settings()
21
+
22
+ sqlalchemy_db = get_cached_sqlalchemy_db() if settings.sql_db_url is not None else None
23
+
24
+ transmitted_api_data = TransmittedAPIData(
25
+ settings=settings,
26
+ sqlalchemy_db=sqlalchemy_db,
27
+ media_file_storage_in_dir=get_cached_media_file_storage_in_dir(),
28
+ cache_file_storage_in_dir=get_cached_cache_file_storage_in_dir(),
29
+ dump_file_storage_in_dir=get_cached_dump_file_storage_in_dir()
30
+ )
31
+
32
+ funcs_before_response = []
33
+
34
+ if settings.api_create_story_log_before_response_in_handle_exception:
35
+ raise_for_type(sqlalchemy_db, SQLAlchemyDB)
36
+ funcs_before_response.append(
37
+ create_story_log_before_response_in_handle_exception(
38
+ sqlalchemy_db=sqlalchemy_db,
39
+ ignore_api_error_code_not_found=True
40
+ )
41
+ )
42
+
43
+ handle_exception = create_handle_exception(
44
+ funcs_before_response=funcs_before_response,
45
+ async_funcs_after_response=[]
46
+ )
47
+
48
+ startup_api_events = []
49
+
50
+ startup_api_events.append(StartupAPIEvent(transmitted_api_data=transmitted_api_data))
51
+
52
+ shutdown_api_events = []
53
+
54
+ shutdown_api_events.append(ShutdownAPIEvent(transmitted_api_data=transmitted_api_data))
55
+
56
+ api_app = create_fastapi_app(
57
+ title=settings.api_title.strip(),
58
+ description=settings.api_description.strip(),
59
+ log_filepath=settings.log_filepath,
60
+ handle_exception_=handle_exception,
61
+ startup_api_events=startup_api_events,
62
+ shutdown_api_events=shutdown_api_events,
63
+ transmitted_api_data=transmitted_api_data,
64
+ main_api_router=main_api_router,
65
+ media_dirpath=settings.media_dirpath,
66
+ static_dirpath=STATIC_DIRPATH
67
+ )
68
+
69
+ if settings.api_enable_admin1:
70
+ from src.admin1.add_admin_in_app import add_admin1_in_app
71
+ add_admin1_in_app(app=api_app)
72
+
73
+ return api_app
74
+
75
+
76
+ if __name__ == '__main__':
77
+ create_api_app()
@@ -0,0 +1,69 @@
1
+ from arpakitlib.ar_base_worker_util import safe_run_worker_in_background, SafeRunInBackgroundModes
2
+ from arpakitlib.ar_fastapi_util import BaseStartupAPIEvent, BaseShutdownAPIEvent
3
+ from arpakitlib.ar_operation_execution_util import OperationExecutorWorker, ScheduledOperationCreatorWorker
4
+ from arpakitlib.ar_sqlalchemy_util import SQLAlchemyDB
5
+ from arpakitlib.ar_type_util import raise_for_type
6
+ from src.api.transmitted_api_data import TransmittedAPIData
7
+ from src.operation_execution.operation_executor import OperationExecutor
8
+ from src.operation_execution.scheduled_operations import SCHEDULED_OPERATIONS
9
+
10
+
11
+ class StartupAPIEvent(BaseStartupAPIEvent):
12
+ def __init__(self, transmitted_api_data: TransmittedAPIData):
13
+ super().__init__()
14
+ self.transmitted_api_data = transmitted_api_data
15
+
16
+ async def async_on_startup(self, *args, **kwargs):
17
+ self._logger.info("start")
18
+
19
+ if self.transmitted_api_data.media_file_storage_in_dir is not None:
20
+ self.transmitted_api_data.media_file_storage_in_dir.init()
21
+
22
+ if self.transmitted_api_data.cache_file_storage_in_dir is not None:
23
+ self.transmitted_api_data.cache_file_storage_in_dir.init()
24
+
25
+ if self.transmitted_api_data.dump_file_storage_in_dir is not None:
26
+ self.transmitted_api_data.dump_file_storage_in_dir.init()
27
+
28
+ if self.transmitted_api_data.settings.api_init_sql_db_at_start:
29
+ raise_for_type(self.transmitted_api_data.sqlalchemy_db, SQLAlchemyDB)
30
+ self.transmitted_api_data.sqlalchemy_db.init()
31
+
32
+ if self.transmitted_api_data.settings.api_start_operation_executor_worker:
33
+ raise_for_type(self.transmitted_api_data.sqlalchemy_db, SQLAlchemyDB)
34
+ _ = safe_run_worker_in_background(
35
+ worker=OperationExecutorWorker(
36
+ sqlalchemy_db=self.transmitted_api_data.sqlalchemy_db,
37
+ operation_executor=OperationExecutor(sqlalchemy_db=self.transmitted_api_data.sqlalchemy_db),
38
+ filter_operation_types=None,
39
+ startup_funcs=[
40
+ self.transmitted_api_data.sqlalchemy_db.init
41
+ ]
42
+ ),
43
+ mode=SafeRunInBackgroundModes.thread
44
+ )
45
+
46
+ if self.transmitted_api_data.settings.api_start_scheduled_operation_creator_worker:
47
+ raise_for_type(self.transmitted_api_data.sqlalchemy_db, SQLAlchemyDB)
48
+ _ = safe_run_worker_in_background(
49
+ worker=ScheduledOperationCreatorWorker(
50
+ sqlalchemy_db=self.transmitted_api_data.sqlalchemy_db,
51
+ scheduled_operations=SCHEDULED_OPERATIONS,
52
+ startup_funcs=[
53
+ self.transmitted_api_data.sqlalchemy_db.init
54
+ ]
55
+ ),
56
+ mode=SafeRunInBackgroundModes.async_task
57
+ )
58
+
59
+ self._logger.info("finish")
60
+
61
+
62
+ class ShutdownAPIEvent(BaseShutdownAPIEvent):
63
+ def __init__(self, transmitted_api_data: TransmittedAPIData):
64
+ super().__init__()
65
+ self.transmitted_api_data = transmitted_api_data
66
+
67
+ async def async_on_shutdown(self, *args, **kwargs):
68
+ self._logger.info("start")
69
+ self._logger.info("finish")
@@ -3,15 +3,15 @@ import uvicorn
3
3
  from src.core.settings import get_cached_settings
4
4
 
5
5
 
6
- def start_api_for_dev(*, reload: bool = False):
6
+ def __command():
7
7
  uvicorn.run(
8
8
  "src.api.asgi:app",
9
9
  port=get_cached_settings().api_port,
10
10
  host="localhost",
11
11
  workers=1,
12
- reload=reload
12
+ reload=True
13
13
  )
14
14
 
15
15
 
16
16
  if __name__ == '__main__':
17
- start_api_for_dev(reload=False)
17
+ __command()
@@ -0,0 +1,17 @@
1
+ import uvicorn
2
+
3
+ from src.core.settings import get_cached_settings
4
+
5
+
6
+ def __command():
7
+ uvicorn.run(
8
+ "src.api.asgi:app",
9
+ port=get_cached_settings().api_port,
10
+ host="localhost",
11
+ workers=1,
12
+ reload=False
13
+ )
14
+
15
+
16
+ if __name__ == '__main__':
17
+ __command()
@@ -1,4 +1,5 @@
1
1
  from arpakitlib.ar_fastapi_util import BaseTransmittedAPIData
2
+ from arpakitlib.ar_file_storage_in_dir_util import FileStorageInDir
2
3
  from arpakitlib.ar_sqlalchemy_util import SQLAlchemyDB
3
4
 
4
5
  from src.core.settings import Settings
@@ -7,3 +8,6 @@ from src.core.settings import Settings
7
8
  class TransmittedAPIData(BaseTransmittedAPIData):
8
9
  settings: Settings
9
10
  sqlalchemy_db: SQLAlchemyDB | None = None
11
+ media_file_storage_in_dir: FileStorageInDir | None = None
12
+ cache_file_storage_in_dir: FileStorageInDir | None = None
13
+ dump_file_storage_in_dir: FileStorageInDir | None = None
@@ -0,0 +1,12 @@
1
+ import logging
2
+
3
+ _logger = logging.getLogger(__name__)
4
+
5
+
6
+ def hello_world() -> str:
7
+ _logger.info("hello world")
8
+ return "Hello world"
9
+
10
+
11
+ if __name__ == '__main__':
12
+ print(hello_world())
@@ -5,10 +5,10 @@ from src.core.util import setup_logging
5
5
  _logger = logging.getLogger(__name__)
6
6
 
7
7
 
8
- def command():
8
+ def __check_logging():
9
9
  setup_logging()
10
- _logger.info("checking logging")
10
+ _logger.info("logging is good")
11
11
 
12
12
 
13
13
  if __name__ == '__main__':
14
- command()
14
+ __check_logging()
@@ -1,8 +1,10 @@
1
1
  from arpakitlib.ar_json_util import safely_transfer_obj_to_json_str
2
2
  from src.core.settings import get_cached_settings
3
+ from src.core.util import setup_logging
3
4
 
4
5
 
5
6
  def command():
7
+ setup_logging()
6
8
  print(safely_transfer_obj_to_json_str(get_cached_settings().model_dump(mode="json")))
7
9
 
8
10
 
@@ -0,0 +1,16 @@
1
+ import os.path
2
+
3
+ from arpakitlib.ar_json_util import safely_transfer_obj_to_json_str
4
+ from src.core.const import BASE_DIRPATH
5
+ from src.core.settings import Settings, get_cached_settings
6
+ from src.core.util import setup_logging
7
+
8
+
9
+ def command():
10
+ setup_logging()
11
+ print(safely_transfer_obj_to_json_str(get_cached_settings().model_dump(mode="json")))
12
+ Settings.save_env_example_to_file(filepath=os.path.join(BASE_DIRPATH, "example.env"))
13
+
14
+
15
+ if __name__ == '__main__':
16
+ command()
@@ -2,10 +2,10 @@ from src.core.util import setup_logging
2
2
  from src.db.util import get_cached_sqlalchemy_db
3
3
 
4
4
 
5
- def command():
5
+ def __init_sqlalchemy_db():
6
6
  setup_logging()
7
7
  get_cached_sqlalchemy_db().init()
8
8
 
9
9
 
10
10
  if __name__ == '__main__':
11
- command()
11
+ __init_sqlalchemy_db()
@@ -1,11 +1,13 @@
1
+ from src.core.settings import get_cached_settings
1
2
  from src.core.util import setup_logging
2
3
  from src.db.util import get_cached_sqlalchemy_db
3
4
 
4
5
 
5
- def command():
6
+ def __reinit_sqlalchemy_db():
6
7
  setup_logging()
8
+ get_cached_settings().raise_if_mode_type_not_prod()
7
9
  get_cached_sqlalchemy_db().reinit()
8
10
 
9
11
 
10
12
  if __name__ == '__main__':
11
- command()
13
+ __reinit_sqlalchemy_db()
@@ -4,14 +4,14 @@ from arpakitlib.ar_operation_execution_util import ScheduledOperation, every_tim
4
4
  between_different_times_is_time_func
5
5
  from arpakitlib.ar_sqlalchemy_model_util import BaseOperationTypes
6
6
 
7
- ALL_SCHEDULED_OPERATIONS = []
7
+ SCHEDULED_OPERATIONS = []
8
8
 
9
9
  healthcheck_1_scheduled_operation = ScheduledOperation(
10
10
  type=BaseOperationTypes.healthcheck_,
11
11
  input_data={"healthcheck_1": "healthcheck_1"},
12
12
  is_time_func=every_timedelta_is_time_func(td=timedelta(seconds=15))
13
13
  )
14
- ALL_SCHEDULED_OPERATIONS.append(healthcheck_1_scheduled_operation)
14
+ SCHEDULED_OPERATIONS.append(healthcheck_1_scheduled_operation)
15
15
 
16
16
  healthcheck_2_scheduled_operation = ScheduledOperation(
17
17
  type=BaseOperationTypes.healthcheck_,
@@ -22,4 +22,4 @@ healthcheck_2_scheduled_operation = ScheduledOperation(
22
22
  ),
23
23
  timeout_after_creation=timedelta(seconds=60)
24
24
  )
25
- ALL_SCHEDULED_OPERATIONS.append(healthcheck_2_scheduled_operation)
25
+ SCHEDULED_OPERATIONS.append(healthcheck_2_scheduled_operation)
@@ -1,18 +1,19 @@
1
1
  from arpakitlib.ar_operation_execution_util import OperationExecutorWorker
2
+ from src.core.settings import get_cached_settings
2
3
  from src.core.util import setup_logging
3
4
  from src.db.util import get_cached_sqlalchemy_db
4
5
  from src.operation_execution.operation_executor import OperationExecutor
5
6
 
6
7
 
7
- def start_operation_executor_worker_for_dev():
8
+ def start_operation_executor_worker():
8
9
  setup_logging()
10
+ get_cached_settings().raise_if_mode_type_prod()
9
11
  worker = OperationExecutorWorker(
10
12
  sqlalchemy_db=get_cached_sqlalchemy_db(),
11
- operation_executor=OperationExecutor(sqlalchemy_db=get_cached_sqlalchemy_db()),
12
- filter_operation_types=None
13
+ operation_executor=OperationExecutor(sqlalchemy_db=get_cached_sqlalchemy_db())
13
14
  )
14
15
  worker.sync_safe_run()
15
16
 
16
17
 
17
18
  if __name__ == '__main__':
18
- start_operation_executor_worker_for_dev()
19
+ start_operation_executor_worker()
@@ -1,17 +1,19 @@
1
1
  from arpakitlib.ar_operation_execution_util import ScheduledOperationCreatorWorker
2
+ from src.core.settings import get_cached_settings
2
3
  from src.core.util import setup_logging
3
4
  from src.db.util import get_cached_sqlalchemy_db
4
- from src.operation_execution.scheduled_operations import ALL_SCHEDULED_OPERATIONS
5
+ from src.operation_execution.scheduled_operations import SCHEDULED_OPERATIONS
5
6
 
6
7
 
7
- def start_create_scheduled_operation_worker_for_dev():
8
+ def start_scheduled_operation_creator_worker():
8
9
  setup_logging()
10
+ get_cached_settings().raise_if_mode_type_prod()
9
11
  worker = ScheduledOperationCreatorWorker(
10
12
  sqlalchemy_db=get_cached_sqlalchemy_db(),
11
- scheduled_operations=ALL_SCHEDULED_OPERATIONS
13
+ scheduled_operations=SCHEDULED_OPERATIONS
12
14
  )
13
15
  worker.sync_safe_run()
14
16
 
15
17
 
16
18
  if __name__ == '__main__':
17
- start_create_scheduled_operation_worker_for_dev()
19
+ start_scheduled_operation_creator_worker()
@@ -25,10 +25,8 @@ from starlette import status
25
25
  from starlette.middleware.cors import CORSMiddleware
26
26
  from starlette.staticfiles import StaticFiles
27
27
 
28
- from arpakitlib.ar_base_worker_util import BaseWorker, safe_run_worker_in_background
29
28
  from arpakitlib.ar_dict_util import combine_dicts
30
29
  from arpakitlib.ar_enumeration_util import Enumeration
31
- from arpakitlib.ar_file_storage_in_dir_util import FileStorageInDir
32
30
  from arpakitlib.ar_func_util import raise_if_not_async_func, is_async_function, is_async_object
33
31
  from arpakitlib.ar_json_util import safely_transfer_obj_to_json_str_to_json_obj
34
32
  from arpakitlib.ar_logging_util import setup_normal_logging
@@ -431,37 +429,6 @@ class BaseShutdownAPIEvent:
431
429
  self._logger.info("on_shutdown ends")
432
430
 
433
431
 
434
- class InitSqlalchemyDBStartupAPIEvent(BaseStartupAPIEvent):
435
- def __init__(self, sqlalchemy_db: SQLAlchemyDB):
436
- super().__init__()
437
- self.sqlalchemy_db = sqlalchemy_db
438
-
439
- async def async_on_startup(self, *args, **kwargs):
440
- self.sqlalchemy_db.init()
441
-
442
-
443
- class SafeRunWorkerStartupAPIEvent(BaseStartupAPIEvent):
444
- def __init__(self, workers: list[BaseWorker], safe_run_in_background_mode: str):
445
- super().__init__()
446
- self.workers = workers
447
- self.safe_run_in_background_mode = safe_run_in_background_mode
448
-
449
- async def async_on_startup(self, *args, **kwargs):
450
- for worker in self.workers:
451
- _ = safe_run_worker_in_background(worker=worker, mode=self.safe_run_in_background_mode)
452
-
453
-
454
- class InitFileStoragesInDir(BaseStartupAPIEvent):
455
- def __init__(self, file_storages_in_dir: list[FileStorageInDir | None]):
456
- super().__init__()
457
- file_storages_in_dir = [v for v in file_storages_in_dir if v is not None]
458
- self.file_storages_in_dir = file_storages_in_dir
459
-
460
- async def async_on_startup(self, *args, **kwargs):
461
- for file_storage_in_dir in self.file_storages_in_dir:
462
- file_storage_in_dir.init()
463
-
464
-
465
432
  class BaseTransmittedAPIData(BaseModel):
466
433
  model_config = ConfigDict(extra="ignore", arbitrary_types_allowed=True, from_attributes=True)
467
434