arpakitlib 1.7.256__py3-none-any.whl → 1.8.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. arpakitlib/{_arpakit_project_template → _arpakit_project_template_v1}/README.md +1 -1
  2. arpakitlib/{_arpakit_project_template/src → _arpakit_project_template_v1}/admin1/add_admin_in_app.py +6 -12
  3. arpakitlib/{_arpakit_project_template/src → _arpakit_project_template_v1}/admin1/admin_auth.py +2 -6
  4. arpakitlib/_arpakit_project_template_v1/admin1/model_view.py +95 -0
  5. arpakitlib/{_arpakit_project_template → _arpakit_project_template_v1}/alembic/env.py +3 -3
  6. arpakitlib/_arpakit_project_template_v1/api/asgi.py +3 -0
  7. arpakitlib/_arpakit_project_template_v1/api/auth.py +244 -0
  8. arpakitlib/_arpakit_project_template_v1/api/const.py +18 -0
  9. arpakitlib/_arpakit_project_template_v1/api/create_api_app.py +72 -0
  10. arpakitlib/_arpakit_project_template_v1/api/event.py +69 -0
  11. arpakitlib/_arpakit_project_template_v1/api/exception.py +39 -0
  12. arpakitlib/_arpakit_project_template_v1/api/exception_handler.py +297 -0
  13. arpakitlib/_arpakit_project_template_v1/api/openapi_ui.py +28 -0
  14. arpakitlib/_arpakit_project_template_v1/api/response.py +27 -0
  15. arpakitlib/{_arpakit_project_template/src → _arpakit_project_template_v1}/api/router/main_router.py +3 -2
  16. arpakitlib/_arpakit_project_template_v1/api/router/v1/arpakitlib_.py +27 -0
  17. arpakitlib/_arpakit_project_template_v1/api/router/v1/check_auth.py +30 -0
  18. arpakitlib/_arpakit_project_template_v1/api/router/v1/get_errors_info.py +24 -0
  19. arpakitlib/_arpakit_project_template_v1/api/router/v1/healthcheck.py +21 -0
  20. arpakitlib/_arpakit_project_template_v1/api/router/v1/main_router.py +54 -0
  21. arpakitlib/_arpakit_project_template_v1/api/router/v1/now_utc_datetime.py +21 -0
  22. arpakitlib/_arpakit_project_template_v1/api/router/v1/raise_fake_error.py +21 -0
  23. arpakitlib/_arpakit_project_template_v1/api/schema/base_schema.py +26 -0
  24. arpakitlib/_arpakit_project_template_v1/api/schema/common/in_.py +5 -0
  25. arpakitlib/_arpakit_project_template_v1/api/schema/common/out.py +60 -0
  26. arpakitlib/_arpakit_project_template_v1/api/schema/v1/in_.py +5 -0
  27. arpakitlib/_arpakit_project_template_v1/api/schema/v1/out.py +53 -0
  28. arpakitlib/_arpakit_project_template_v1/api/transmitted_api_data.py +66 -0
  29. arpakitlib/_arpakit_project_template_v1/arpakitlib_project_template.json +3 -0
  30. arpakitlib/{_arpakit_project_template/src → _arpakit_project_template_v1}/business_service/hello_world.py +1 -1
  31. arpakitlib/_arpakit_project_template_v1/business_service/remove_operations.py +51 -0
  32. arpakitlib/_arpakit_project_template_v1/command/alembic_history.sh +2 -0
  33. arpakitlib/_arpakit_project_template_v1/command/alembic_revision_autogenerate.sh +2 -0
  34. arpakitlib/{_arpakit_project_template/manage/json_beautify.py → _arpakit_project_template_v1/command/beautify_json.py} +2 -2
  35. arpakitlib/{_arpakit_project_template/src/core/_check_logging.py → _arpakit_project_template_v1/command/check_logging.py} +3 -3
  36. arpakitlib/_arpakit_project_template_v1/command/check_sqlalchemy_db.py +11 -0
  37. arpakitlib/_arpakit_project_template_v1/command/drop_json_db.py +13 -0
  38. arpakitlib/_arpakit_project_template_v1/command/drop_sqlalchemy_db.py +14 -0
  39. arpakitlib/{_arpakit_project_template/src/core/_generate_settings_env_example.py → _arpakit_project_template_v1/command/generate_settings_env_example.py} +4 -4
  40. arpakitlib/{_arpakit_project_template/manage → _arpakit_project_template_v1/command}/hello_world.py +2 -2
  41. arpakitlib/_arpakit_project_template_v1/command/init_json_db.py +11 -0
  42. arpakitlib/_arpakit_project_template_v1/command/init_sqlalchemy_db.py +11 -0
  43. arpakitlib/_arpakit_project_template_v1/command/reinit_json_db.py +13 -0
  44. arpakitlib/_arpakit_project_template_v1/command/reinit_sqlalchemy_db.py +13 -0
  45. arpakitlib/_arpakit_project_template_v1/command/remove_operations.py +13 -0
  46. arpakitlib/_arpakit_project_template_v1/command/remove_story_logs.py +16 -0
  47. arpakitlib/_arpakit_project_template_v1/command/rm_all_records_in_json_db.py +13 -0
  48. arpakitlib/{_arpakit_project_template/src/core/_show_settings.py → _arpakit_project_template_v1/command/show_settings.py} +3 -3
  49. arpakitlib/{_arpakit_project_template/src/api/_start_api_with_reload.py → _arpakit_project_template_v1/command/start_api_with_reload.py} +5 -5
  50. arpakitlib/{_arpakit_project_template/src/api/_start_api_without_reload.py → _arpakit_project_template_v1/command/start_api_without_reload.py} +5 -5
  51. arpakitlib/_arpakit_project_template_v1/command/start_async_operation_executor_worker.py +14 -0
  52. arpakitlib/_arpakit_project_template_v1/command/start_async_scheduled_operation_creator_worker.py +14 -0
  53. arpakitlib/_arpakit_project_template_v1/command/start_sync_operation_executor_worker.py +15 -0
  54. arpakitlib/_arpakit_project_template_v1/command/start_sync_operation_executor_workers.py +22 -0
  55. arpakitlib/_arpakit_project_template_v1/command/start_sync_scheduled_operation_creator_worker.py +12 -0
  56. arpakitlib/_arpakit_project_template_v1/core/cache_file_storage_in_dir.py +21 -0
  57. arpakitlib/{_arpakit_project_template/src → _arpakit_project_template_v1}/core/const.py +2 -9
  58. arpakitlib/_arpakit_project_template_v1/core/dump_file_storage_in_dir.py +21 -0
  59. arpakitlib/_arpakit_project_template_v1/core/media_file_storage_in_dir.py +21 -0
  60. arpakitlib/_arpakit_project_template_v1/core/settings.py +193 -0
  61. arpakitlib/_arpakit_project_template_v1/core/util.py +29 -0
  62. arpakitlib/{_arpakit_project_template → _arpakit_project_template_v1}/example.env +10 -5
  63. arpakitlib/{_arpakit_project_template/src → _arpakit_project_template_v1}/json_db/util.py +2 -2
  64. arpakitlib/_arpakit_project_template_v1/operation_execution/operation_executor_worker.py +256 -0
  65. arpakitlib/_arpakit_project_template_v1/operation_execution/scheduled_operation_creator_worker.py +106 -0
  66. arpakitlib/_arpakit_project_template_v1/operation_execution/scheduled_operations.py +49 -0
  67. arpakitlib/_arpakit_project_template_v1/operation_execution/util.py +29 -0
  68. arpakitlib/_arpakit_project_template_v1/resource/static/openapi-favicon.png +0 -0
  69. arpakitlib/_arpakit_project_template_v1/resource/static/swagger-ui/index.html +19 -0
  70. arpakitlib/_arpakit_project_template_v1/resource/static/swagger-ui/swagger-ui-bundle.js +2 -0
  71. arpakitlib/{ar_fastapi_static → _arpakit_project_template_v1/resource/static}/swagger-ui/swagger-ui-es-bundle-core.js +1 -1
  72. arpakitlib/_arpakit_project_template_v1/resource/static/swagger-ui/swagger-ui-es-bundle-core.js.map +1 -0
  73. arpakitlib/_arpakit_project_template_v1/resource/static/swagger-ui/swagger-ui-es-bundle.js +2 -0
  74. arpakitlib/_arpakit_project_template_v1/resource/static/swagger-ui/swagger-ui-standalone-preset.js +2 -0
  75. arpakitlib/{ar_fastapi_static → _arpakit_project_template_v1/resource/static}/swagger-ui/swagger-ui.js +1 -1
  76. arpakitlib/_arpakit_project_template_v1/resource/static/swagger-ui/swagger-ui.js.map +1 -0
  77. arpakitlib/_arpakit_project_template_v1/sandbox/sandbox_1.py +14 -0
  78. arpakitlib/_arpakit_project_template_v1/sandbox/sandbox_2.py +14 -0
  79. arpakitlib/_arpakit_project_template_v1/sandbox/sandbox_3.py +14 -0
  80. arpakitlib/_arpakit_project_template_v1/sandbox/sandbox_4.py +14 -0
  81. arpakitlib/_arpakit_project_template_v1/sandbox/sandbox_5.py +14 -0
  82. arpakitlib/_arpakit_project_template_v1/sandbox/sandbox_6.py +14 -0
  83. arpakitlib/_arpakit_project_template_v1/sandbox/sandbox_7.py +14 -0
  84. arpakitlib/{_arpakit_project_template/src/sqlalchemy_db/util.py → _arpakit_project_template_v1/sqlalchemy_db/sqlalchemy_db.py} +3 -11
  85. arpakitlib/_arpakit_project_template_v1/sqlalchemy_db/sqlalchemy_model.py +129 -0
  86. arpakitlib/_arpakit_project_template_v1/sqlalchemy_db/util.py +28 -0
  87. arpakitlib/{_arpakit_project_template/src/sandbox/sandbox_3.py → _arpakit_project_template_v1/test_data/make_test_data_1.py} +8 -3
  88. arpakitlib/{_arpakit_project_template/src/sandbox/sandbox_4.py → _arpakit_project_template_v1/test_data/make_test_data_2.py} +8 -3
  89. arpakitlib/{_arpakit_project_template/src/sandbox/sandbox_1.py → _arpakit_project_template_v1/test_data/make_test_data_3.py} +8 -3
  90. arpakitlib/{_arpakit_project_template/src/sandbox/sandbox_2.py → _arpakit_project_template_v1/test_data/make_test_data_4.py} +8 -3
  91. arpakitlib/_arpakit_project_template_v1/test_data/make_test_data_5.py +22 -0
  92. arpakitlib/_arpakit_project_template_v1/tg_bot/blank/blank.py +5 -0
  93. arpakitlib/{_arpakit_project_template/src → _arpakit_project_template_v1}/tg_bot/blank/util.py +1 -1
  94. arpakitlib/{_arpakit_project_template/src → _arpakit_project_template_v1}/tg_bot/const.py +6 -3
  95. arpakitlib/_arpakit_project_template_v1/tg_bot/event.py +51 -0
  96. arpakitlib/{_arpakit_project_template/src → _arpakit_project_template_v1}/tg_bot/filter/not_prod_mode.py +1 -1
  97. arpakitlib/{_arpakit_project_template/src → _arpakit_project_template_v1}/tg_bot/filter/prod_mode.py +1 -1
  98. arpakitlib/_arpakit_project_template_v1/tg_bot/middleware/init_user.py +24 -0
  99. arpakitlib/_arpakit_project_template_v1/tg_bot/middleware/middleware.py +12 -0
  100. arpakitlib/_arpakit_project_template_v1/tg_bot/router/arpakitlib_.py +10 -0
  101. arpakitlib/_arpakit_project_template_v1/tg_bot/router/error.py +15 -0
  102. arpakitlib/_arpakit_project_template_v1/tg_bot/router/healthcheck.py +10 -0
  103. arpakitlib/_arpakit_project_template_v1/tg_bot/router/main_router.py +14 -0
  104. arpakitlib/_arpakit_project_template_v1/tg_bot/start_tg_bot.py +34 -0
  105. arpakitlib/_arpakit_project_template_v1/tg_bot/tg_bot.py +24 -0
  106. arpakitlib/_arpakit_project_template_v1/tg_bot/tg_bot_dispatcher.py +19 -0
  107. arpakitlib/_arpakit_project_template_v1/tg_bot/transmitted_tg_data.py +58 -0
  108. arpakitlib/_arpakit_project_template_v1/util/read_arpakitlib_project_template_file.py +17 -0
  109. arpakitlib/ar_aiogram_util.py +41 -52
  110. arpakitlib/ar_arpakit_project_template_util.py +8 -11
  111. arpakitlib/ar_arpakitlib_cli_util.py +14 -5
  112. arpakitlib/ar_base_worker_util.py +35 -17
  113. arpakitlib/ar_class_util.py +11 -0
  114. arpakitlib/ar_func_util.py +19 -29
  115. arpakitlib/ar_http_request_util.py +10 -2
  116. arpakitlib/ar_need_type_util.py +3 -0
  117. arpakitlib/ar_rat_func_util.py +1 -1
  118. arpakitlib/ar_retry_func_util.py +4 -4
  119. arpakitlib/ar_schedule_uust_api_client_util.py +1 -1
  120. arpakitlib/ar_settings_util.py +3 -204
  121. arpakitlib/ar_sqladmin_util.py +7 -102
  122. arpakitlib/ar_sqlalchemy_util.py +65 -13
  123. arpakitlib/ar_type_util.py +0 -2
  124. {arpakitlib-1.7.256.dist-info → arpakitlib-1.8.0.dist-info}/METADATA +7 -6
  125. arpakitlib-1.8.0.dist-info/RECORD +251 -0
  126. {arpakitlib-1.7.256.dist-info → arpakitlib-1.8.0.dist-info}/WHEEL +1 -1
  127. arpakitlib/_arpakit_project_template/ARPAKITLIB +0 -1
  128. arpakitlib/_arpakit_project_template/manage/docker_ps.sh +0 -2
  129. arpakitlib/_arpakit_project_template/manage/git_branch.sh +0 -2
  130. arpakitlib/_arpakit_project_template/manage/poetry_add_plugin_export.sh +0 -2
  131. arpakitlib/_arpakit_project_template/manage/poetry_config_virtualenvs_in_project_true.sh +0 -2
  132. arpakitlib/_arpakit_project_template/manage/poetry_self_add_plugin_export.sh +0 -2
  133. arpakitlib/_arpakit_project_template/src/admin1/model_view.py +0 -1
  134. arpakitlib/_arpakit_project_template/src/api/asgi.py +0 -3
  135. arpakitlib/_arpakit_project_template/src/api/auth.py +0 -53
  136. arpakitlib/_arpakit_project_template/src/api/const.py +0 -13
  137. arpakitlib/_arpakit_project_template/src/api/create_api_app.py +0 -43
  138. arpakitlib/_arpakit_project_template/src/api/create_handle_exception_.py +0 -59
  139. arpakitlib/_arpakit_project_template/src/api/event.py +0 -83
  140. arpakitlib/_arpakit_project_template/src/api/router/v1/get_api_error_info.py +0 -27
  141. arpakitlib/_arpakit_project_template/src/api/router/v1/main_router.py +0 -15
  142. arpakitlib/_arpakit_project_template/src/api/schema/v1/in_.py +0 -1
  143. arpakitlib/_arpakit_project_template/src/api/schema/v1/out.py +0 -1
  144. arpakitlib/_arpakit_project_template/src/api/transmitted_api_data.py +0 -7
  145. arpakitlib/_arpakit_project_template/src/api/util.py +0 -44
  146. arpakitlib/_arpakit_project_template/src/core/settings.py +0 -21
  147. arpakitlib/_arpakit_project_template/src/core/util.py +0 -61
  148. arpakitlib/_arpakit_project_template/src/json_db/_drop_json_db.py +0 -13
  149. arpakitlib/_arpakit_project_template/src/json_db/_init_json_db.py +0 -11
  150. arpakitlib/_arpakit_project_template/src/json_db/_reinit_json_db.py +0 -13
  151. arpakitlib/_arpakit_project_template/src/json_db/_rm_all_records_in_json_db.py +0 -13
  152. arpakitlib/_arpakit_project_template/src/just_script/example.py +0 -16
  153. arpakitlib/_arpakit_project_template/src/operation_execution/_start_operation_executor_worker.py +0 -17
  154. arpakitlib/_arpakit_project_template/src/operation_execution/_start_scheduled_operation_creator_worker.py +0 -17
  155. arpakitlib/_arpakit_project_template/src/operation_execution/const.py +0 -9
  156. arpakitlib/_arpakit_project_template/src/operation_execution/operation_executor.py +0 -16
  157. arpakitlib/_arpakit_project_template/src/operation_execution/scheduled_operations.py +0 -29
  158. arpakitlib/_arpakit_project_template/src/operation_execution/util.py +0 -1
  159. arpakitlib/_arpakit_project_template/src/sandbox/sandbox_5.py +0 -17
  160. arpakitlib/_arpakit_project_template/src/sandbox/sandbox_6.py +0 -17
  161. arpakitlib/_arpakit_project_template/src/sandbox/sandbox_7.py +0 -17
  162. arpakitlib/_arpakit_project_template/src/sqlalchemy_db/_check_conn_sqlalchemy_db.py +0 -11
  163. arpakitlib/_arpakit_project_template/src/sqlalchemy_db/_drop_sqlalchemy_db.py +0 -13
  164. arpakitlib/_arpakit_project_template/src/sqlalchemy_db/_init_sqlalchemy_db.py +0 -11
  165. arpakitlib/_arpakit_project_template/src/sqlalchemy_db/_reinit_sqlalchemy_db.py +0 -13
  166. arpakitlib/_arpakit_project_template/src/sqlalchemy_db/_remove_operations.py +0 -15
  167. arpakitlib/_arpakit_project_template/src/sqlalchemy_db/_remove_story_logs.py +0 -16
  168. arpakitlib/_arpakit_project_template/src/sqlalchemy_db/sqlalchemy_model.py +0 -13
  169. arpakitlib/_arpakit_project_template/src/test_data/make_test_data_1.py +0 -8
  170. arpakitlib/_arpakit_project_template/src/test_data/make_test_data_2.py +0 -8
  171. arpakitlib/_arpakit_project_template/src/test_data/make_test_data_3.py +0 -8
  172. arpakitlib/_arpakit_project_template/src/test_data/make_test_data_4.py +0 -8
  173. arpakitlib/_arpakit_project_template/src/test_data/make_test_data_5.py +0 -8
  174. arpakitlib/_arpakit_project_template/src/tg_bot/blank/blank.py +0 -10
  175. arpakitlib/_arpakit_project_template/src/tg_bot/event.py +0 -39
  176. arpakitlib/_arpakit_project_template/src/tg_bot/handler/cmd_healthcheck.py +0 -0
  177. arpakitlib/_arpakit_project_template/src/tg_bot/router/error.py +0 -3
  178. arpakitlib/_arpakit_project_template/src/tg_bot/router/router.py +0 -7
  179. arpakitlib/_arpakit_project_template/src/tg_bot/start_tg_bot.py +0 -11
  180. arpakitlib/_arpakit_project_template/src/tg_bot/transmitted_tg_data.py +0 -6
  181. arpakitlib/_arpakit_project_template/src/tg_bot/util.py +0 -44
  182. arpakitlib/ar_api_key_util.py +0 -21
  183. arpakitlib/ar_fastapi_static/healthcheck +0 -1
  184. arpakitlib/ar_fastapi_static/swagger-ui/index.html +0 -19
  185. arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-bundle.js +0 -2
  186. arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-es-bundle-core.js.map +0 -1
  187. arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-es-bundle.js +0 -2
  188. arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-standalone-preset.js +0 -2
  189. arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.js.map +0 -1
  190. arpakitlib/ar_fastapi_util.py +0 -862
  191. arpakitlib/ar_operation_execution_util.py +0 -504
  192. arpakitlib/ar_sqlalchemy_model_util.py +0 -183
  193. arpakitlib-1.7.256.dist-info/RECORD +0 -236
  194. /arpakitlib/{_arpakit_project_template → _arpakit_project_template_v1}/.gitignore +0 -0
  195. /arpakitlib/{_arpakit_project_template → _arpakit_project_template_v1}/.python-version +0 -0
  196. /arpakitlib/{_arpakit_project_template → _arpakit_project_template_v1}/LICENSE +0 -0
  197. /arpakitlib/{_arpakit_project_template/manage → _arpakit_project_template_v1/additional_model}/__init__.py +0 -0
  198. /arpakitlib/{_arpakit_project_template/src → _arpakit_project_template_v1}/additional_model/additional_model.py +0 -0
  199. /arpakitlib/{_arpakit_project_template/manage/note → _arpakit_project_template_v1/admin1}/__init__.py +0 -0
  200. /arpakitlib/{_arpakit_project_template → _arpakit_project_template_v1}/alembic/README +0 -0
  201. /arpakitlib/{_arpakit_project_template → _arpakit_project_template_v1}/alembic/script.py.mako +0 -0
  202. /arpakitlib/{_arpakit_project_template → _arpakit_project_template_v1}/alembic.ini +0 -0
  203. /arpakitlib/{_arpakit_project_template/resource → _arpakit_project_template_v1/api}/__init__.py +0 -0
  204. /arpakitlib/{_arpakit_project_template/resource/static → _arpakit_project_template_v1/api/router}/__init__.py +0 -0
  205. /arpakitlib/{_arpakit_project_template/src → _arpakit_project_template_v1/api/router/v1}/__init__.py +0 -0
  206. /arpakitlib/{_arpakit_project_template/src/additional_model → _arpakit_project_template_v1/api/schema}/__init__.py +0 -0
  207. /arpakitlib/{_arpakit_project_template/src/admin1 → _arpakit_project_template_v1/api/schema/common}/__init__.py +0 -0
  208. /arpakitlib/{_arpakit_project_template/src/api → _arpakit_project_template_v1/api/schema/v1}/__init__.py +0 -0
  209. /arpakitlib/{_arpakit_project_template/manage/note/note_1.txt → _arpakit_project_template_v1/api/util.py} +0 -0
  210. /arpakitlib/{_arpakit_project_template/src/api/router → _arpakit_project_template_v1/business_service}/__init__.py +0 -0
  211. /arpakitlib/{_arpakit_project_template/src/api/router/v1 → _arpakit_project_template_v1/command}/__init__.py +0 -0
  212. /arpakitlib/{_arpakit_project_template/manage → _arpakit_project_template_v1/command}/alembic_upgrade_head .sh +0 -0
  213. /arpakitlib/{_arpakit_project_template/manage → _arpakit_project_template_v1/command}/docker_ps_a.sh +0 -0
  214. /arpakitlib/{_arpakit_project_template/manage → _arpakit_project_template_v1/command}/docker_rm_postgres.sh +0 -0
  215. /arpakitlib/{_arpakit_project_template/manage → _arpakit_project_template_v1/command}/docker_run_postgres.sh +0 -0
  216. /arpakitlib/{_arpakit_project_template/manage → _arpakit_project_template_v1/command}/docker_start_postgres.sh +0 -0
  217. /arpakitlib/{_arpakit_project_template/manage → _arpakit_project_template_v1/command}/docker_stop_postgres.sh +0 -0
  218. /arpakitlib/{_arpakit_project_template/manage → _arpakit_project_template_v1/command}/git_commit.sh +0 -0
  219. /arpakitlib/{_arpakit_project_template/manage → _arpakit_project_template_v1/command}/git_push_arpakit_company_github_1.sh +0 -0
  220. /arpakitlib/{_arpakit_project_template/manage → _arpakit_project_template_v1/command}/git_push_arpakit_company_gitlab_1.sh +0 -0
  221. /arpakitlib/{_arpakit_project_template/manage → _arpakit_project_template_v1/command}/git_push_arpakit_github_1.sh +0 -0
  222. /arpakitlib/{_arpakit_project_template/manage → _arpakit_project_template_v1/command}/git_push_arpakit_gitlab_1.sh +0 -0
  223. /arpakitlib/{_arpakit_project_template/manage/git_remote_v.sh → _arpakit_project_template_v1/command/git_remote.sh} +0 -0
  224. /arpakitlib/{_arpakit_project_template/manage → _arpakit_project_template_v1/command}/git_set_arpakit_company_origin.sh +0 -0
  225. /arpakitlib/{_arpakit_project_template/manage → _arpakit_project_template_v1/command}/git_set_arpakit_origin.sh +0 -0
  226. /arpakitlib/{_arpakit_project_template/manage → _arpakit_project_template_v1/command}/git_status.sh +0 -0
  227. /arpakitlib/{_arpakit_project_template/manage → _arpakit_project_template_v1/command}/poetry_check.sh +0 -0
  228. /arpakitlib/{_arpakit_project_template/manage → _arpakit_project_template_v1/command}/poetry_clear_cache.sh +0 -0
  229. /arpakitlib/{_arpakit_project_template/manage → _arpakit_project_template_v1/command}/poetry_config.sh +0 -0
  230. /arpakitlib/{_arpakit_project_template/manage → _arpakit_project_template_v1/command}/poetry_install.sh +0 -0
  231. /arpakitlib/{_arpakit_project_template/manage → _arpakit_project_template_v1/command}/poetry_lock.sh +0 -0
  232. /arpakitlib/{_arpakit_project_template/manage → _arpakit_project_template_v1/command}/poetry_remove_and_add_arpakitlib.sh +0 -0
  233. /arpakitlib/{_arpakit_project_template/manage → _arpakit_project_template_v1/command}/poetry_show.sh +0 -0
  234. /arpakitlib/{_arpakit_project_template/manage → _arpakit_project_template_v1/command}/poetry_show_arpakitlib.sh +0 -0
  235. /arpakitlib/{_arpakit_project_template/manage → _arpakit_project_template_v1/command}/poetry_update.sh +0 -0
  236. /arpakitlib/{_arpakit_project_template/manage → _arpakit_project_template_v1/command}/poetry_update_arpakitlib.sh +0 -0
  237. /arpakitlib/{_arpakit_project_template/src/api/schema → _arpakit_project_template_v1/core}/__init__.py +0 -0
  238. /arpakitlib/{_arpakit_project_template/src/api/schema/v1 → _arpakit_project_template_v1/json_db}/__init__.py +0 -0
  239. /arpakitlib/{_arpakit_project_template/src → _arpakit_project_template_v1}/json_db/json_db.py +0 -0
  240. /arpakitlib/{_arpakit_project_template/src/business_service → _arpakit_project_template_v1/note}/__init__.py +0 -0
  241. /arpakitlib/{_arpakit_project_template/manage/note/note_2.txt → _arpakit_project_template_v1/note/note_1.txt} +0 -0
  242. /arpakitlib/{_arpakit_project_template/manage/note/note_3.txt → _arpakit_project_template_v1/note/note_2.txt} +0 -0
  243. /arpakitlib/{_arpakit_project_template/manage/note/note_4.txt → _arpakit_project_template_v1/note/note_3.txt} +0 -0
  244. /arpakitlib/{_arpakit_project_template/manage/note/note_5.txt → _arpakit_project_template_v1/note/note_4.txt} +0 -0
  245. /arpakitlib/{_arpakit_project_template/src/core/__init__.py → _arpakit_project_template_v1/note/note_5.txt} +0 -0
  246. /arpakitlib/{_arpakit_project_template/src/json_db → _arpakit_project_template_v1/operation_execution}/__init__.py +0 -0
  247. /arpakitlib/{_arpakit_project_template/src/just_script/__init__.py → _arpakit_project_template_v1/operation_execution/const.py} +0 -0
  248. /arpakitlib/{_arpakit_project_template/src/operation_execution → _arpakit_project_template_v1/resource}/__init__.py +0 -0
  249. /arpakitlib/{_arpakit_project_template/src/sandbox → _arpakit_project_template_v1/resource/static}/__init__.py +0 -0
  250. /arpakitlib/{_arpakit_project_template → _arpakit_project_template_v1}/resource/static/healthcheck +0 -0
  251. /arpakitlib/{_arpakit_project_template → _arpakit_project_template_v1}/resource/static/helloworld +0 -0
  252. /arpakitlib/{ar_fastapi_static → _arpakit_project_template_v1/resource/static}/redoc/redoc.standalone.js +0 -0
  253. /arpakitlib/{ar_fastapi_static → _arpakit_project_template_v1/resource/static}/swagger-ui/favicon-16x16.png +0 -0
  254. /arpakitlib/{ar_fastapi_static → _arpakit_project_template_v1/resource/static}/swagger-ui/favicon-32x32.png +0 -0
  255. /arpakitlib/{ar_fastapi_static → _arpakit_project_template_v1/resource/static}/swagger-ui/index.css +0 -0
  256. /arpakitlib/{ar_fastapi_static → _arpakit_project_template_v1/resource/static}/swagger-ui/oauth2-redirect.html +0 -0
  257. /arpakitlib/{ar_fastapi_static → _arpakit_project_template_v1/resource/static}/swagger-ui/swagger-initializer.js +0 -0
  258. /arpakitlib/{ar_fastapi_static → _arpakit_project_template_v1/resource/static}/swagger-ui/swagger-ui-bundle.js.map +0 -0
  259. /arpakitlib/{ar_fastapi_static → _arpakit_project_template_v1/resource/static}/swagger-ui/swagger-ui-es-bundle.js.map +0 -0
  260. /arpakitlib/{ar_fastapi_static → _arpakit_project_template_v1/resource/static}/swagger-ui/swagger-ui-standalone-preset.js.map +0 -0
  261. /arpakitlib/{ar_fastapi_static → _arpakit_project_template_v1/resource/static}/swagger-ui/swagger-ui.css +0 -0
  262. /arpakitlib/{ar_fastapi_static → _arpakit_project_template_v1/resource/static}/swagger-ui/swagger-ui.css.map +0 -0
  263. /arpakitlib/{_arpakit_project_template/src/sqlalchemy_db → _arpakit_project_template_v1/sandbox}/__init__.py +0 -0
  264. /arpakitlib/{_arpakit_project_template/src/test_data → _arpakit_project_template_v1/sqlalchemy_db}/__init__.py +0 -0
  265. /arpakitlib/{_arpakit_project_template/src → _arpakit_project_template_v1}/sqlalchemy_db/const.py +0 -0
  266. /arpakitlib/{_arpakit_project_template/src/tg_bot → _arpakit_project_template_v1/test_data}/__init__.py +0 -0
  267. /arpakitlib/{_arpakit_project_template/src/tg_bot/blank → _arpakit_project_template_v1/tg_bot}/__init__.py +0 -0
  268. /arpakitlib/{_arpakit_project_template/src/tg_bot/filter → _arpakit_project_template_v1/tg_bot/blank}/__init__.py +0 -0
  269. /arpakitlib/{_arpakit_project_template/src/tg_bot/handler → _arpakit_project_template_v1/tg_bot/filter}/__init__.py +0 -0
  270. /arpakitlib/{_arpakit_project_template/src → _arpakit_project_template_v1}/tg_bot/kb/__init__.py +0 -0
  271. /arpakitlib/{_arpakit_project_template/src → _arpakit_project_template_v1}/tg_bot/kb/inline_/__init__.py +0 -0
  272. /arpakitlib/{_arpakit_project_template/src → _arpakit_project_template_v1}/tg_bot/kb/inline_/callback.py +0 -0
  273. /arpakitlib/{_arpakit_project_template/src → _arpakit_project_template_v1}/tg_bot/kb/inline_/common.py +0 -0
  274. /arpakitlib/{_arpakit_project_template/src → _arpakit_project_template_v1}/tg_bot/kb/static_/__init__.py +0 -0
  275. /arpakitlib/{_arpakit_project_template/src → _arpakit_project_template_v1}/tg_bot/kb/static_/common.py +0 -0
  276. /arpakitlib/{_arpakit_project_template/src → _arpakit_project_template_v1}/tg_bot/middleware/__init__.py +0 -0
  277. /arpakitlib/{_arpakit_project_template/src → _arpakit_project_template_v1}/tg_bot/router/__init__.py +0 -0
  278. /arpakitlib/{_arpakit_project_template/src/tg_bot/handler/cmd_arpakitlib.py → _arpakit_project_template_v1/tg_bot/util.py} +0 -0
  279. /arpakitlib/{_arpakit_project_template/src → _arpakit_project_template_v1}/util/__init__.py +0 -0
  280. {arpakitlib-1.7.256.dist-info → arpakitlib-1.8.0.dist-info}/LICENSE +0 -0
  281. {arpakitlib-1.7.256.dist-info → arpakitlib-1.8.0.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,53 @@
1
+ from __future__ import annotations
2
+
3
+ import datetime as dt
4
+ from typing import Any
5
+
6
+ from api.schema.base_schema import BaseSO
7
+ from sqlalchemy_db.sqlalchemy_model import OperationDBM, StoryLogDBM
8
+
9
+
10
+ class BaseV1SO(BaseSO):
11
+ pass
12
+
13
+
14
+ class HealthcheckV1SO(BaseV1SO):
15
+ is_ok: bool = True
16
+
17
+
18
+ class ARPAKITLIBInfoV1SO(BaseV1SO):
19
+ arpakitlib: bool = True
20
+ arpakitlib_project_template_version: str
21
+ data: dict[str, Any] = {}
22
+
23
+
24
+ class _SimpleDBMV1SO(BaseV1SO):
25
+ id: int
26
+ long_id: str
27
+ creation_dt: dt.datetime
28
+
29
+
30
+ class StoryLogV1SO(_SimpleDBMV1SO):
31
+ level: str
32
+ type: str | None = None
33
+ title: str | None = None
34
+ data: dict[str, Any] = {}
35
+
36
+ @classmethod
37
+ def from_story_log_dbm(cls, *, story_log_dbm: StoryLogDBM) -> StoryLogV1SO:
38
+ return cls.model_validate(story_log_dbm.simple_dict_with_sd_properties())
39
+
40
+
41
+ class OperationV1SO(_SimpleDBMV1SO):
42
+ execution_start_dt: dt.datetime | None = None
43
+ execution_finish_dt: dt.datetime | None = None
44
+ status: str
45
+ type: str
46
+ input_data: dict[str, Any] = {}
47
+ output_data: dict[str, Any] = {}
48
+ error_data: dict[str, Any] = {}
49
+ duration_total_seconds: float | None = None
50
+
51
+ @classmethod
52
+ def from_operation_dbm(cls, *, operation_dbm: OperationDBM) -> OperationV1SO:
53
+ return cls.model_validate(operation_dbm.simple_dict_with_sd_properties())
@@ -0,0 +1,66 @@
1
+ from functools import lru_cache
2
+
3
+ import starlette.requests
4
+ from pydantic import BaseModel, ConfigDict
5
+
6
+ from arpakitlib.ar_file_storage_in_dir_util import FileStorageInDir
7
+ from arpakitlib.ar_json_db_util import BaseJSONDb
8
+ from arpakitlib.ar_sqlalchemy_util import SQLAlchemyDb
9
+ from core.cache_file_storage_in_dir import get_cached_cache_file_storage_in_dir
10
+ from core.dump_file_storage_in_dir import get_cached_dump_file_storage_in_dir
11
+ from core.media_file_storage_in_dir import get_cached_media_file_storage_in_dir
12
+ from core.settings import Settings
13
+ from core.settings import get_cached_settings
14
+ from json_db.util import get_json_db
15
+ from sqlalchemy_db.sqlalchemy_db import get_cached_sqlalchemy_db
16
+
17
+
18
+ class TransmittedAPIData(BaseModel):
19
+ model_config = ConfigDict(extra="ignore", arbitrary_types_allowed=True, from_attributes=True)
20
+
21
+ settings: Settings | None = None
22
+ sqlalchemy_db: SQLAlchemyDb | None = None
23
+ json_db: BaseJSONDb | None = None
24
+ media_file_storage_in_dir: FileStorageInDir | None = None
25
+ cache_file_storage_in_dir: FileStorageInDir | None = None
26
+ dump_file_storage_in_dir: FileStorageInDir | None = None
27
+
28
+
29
+ def get_transmitted_api_data(request: starlette.requests.Request) -> TransmittedAPIData:
30
+ return request.app.state.transmitted_api_data
31
+
32
+
33
+ def create_transmitted_api_data() -> TransmittedAPIData:
34
+ settings = get_cached_settings()
35
+
36
+ sqlalchemy_db = get_cached_sqlalchemy_db() if settings.sqlalchemy_sync_db_url is not None else None
37
+
38
+ json_db = get_json_db() if settings.json_db_dirpath is not None else None
39
+
40
+ media_file_storage_in_dir = (
41
+ get_cached_media_file_storage_in_dir() if settings.media_dirpath is not None else None
42
+ )
43
+
44
+ cache_file_storage_in_dir = (
45
+ get_cached_cache_file_storage_in_dir() if settings.cache_dirpath is not None else None
46
+ )
47
+
48
+ dump_file_storage_in_dir = (
49
+ get_cached_dump_file_storage_in_dir() if settings.dump_dirpath is not None else None
50
+ )
51
+
52
+ transmitted_api_data = TransmittedAPIData(
53
+ settings=settings,
54
+ sqlalchemy_db=sqlalchemy_db,
55
+ json_db=json_db,
56
+ media_file_storage_in_dir=media_file_storage_in_dir,
57
+ cache_file_storage_in_dir=cache_file_storage_in_dir,
58
+ dump_file_storage_in_dir=dump_file_storage_in_dir
59
+ )
60
+
61
+ return transmitted_api_data
62
+
63
+
64
+ @lru_cache()
65
+ def get_cached_transmitted_api_data() -> TransmittedAPIData:
66
+ return create_transmitted_api_data()
@@ -0,0 +1,3 @@
1
+ {
2
+ "arpakitlib_project_template_version": "1"
3
+ }
@@ -1,6 +1,6 @@
1
1
  import logging
2
2
 
3
- from src.core.util import setup_logging
3
+ from core.util import setup_logging
4
4
 
5
5
  _logger = logging.getLogger(__name__)
6
6
 
@@ -0,0 +1,51 @@
1
+ import asyncio
2
+
3
+ from arpakitlib.ar_type_util import raise_for_type
4
+ from sqlalchemy_db.sqlalchemy_db import get_cached_sqlalchemy_db
5
+ from sqlalchemy_db.sqlalchemy_model import OperationDBM
6
+
7
+
8
+ def remove_operations(
9
+ *,
10
+ filter_operation_ids: list[int] | int | None = None,
11
+ filter_operation_statuses: list[str] | str | None = None,
12
+ filter_operation_types: list[str] | str | None = None,
13
+ ):
14
+ if isinstance(filter_operation_ids, int):
15
+ filter_operation_ids = [filter_operation_ids]
16
+ if filter_operation_ids is not None:
17
+ raise_for_type(filter_operation_ids, list)
18
+
19
+ if isinstance(filter_operation_statuses, str):
20
+ filter_operation_statuses = [filter_operation_statuses]
21
+ if filter_operation_statuses is not None:
22
+ raise_for_type(filter_operation_statuses, list)
23
+
24
+ if isinstance(filter_operation_types, str):
25
+ filter_operation_types = [filter_operation_types]
26
+ if filter_operation_types is not None:
27
+ raise_for_type(filter_operation_types, list)
28
+
29
+ with get_cached_sqlalchemy_db().new_session() as session:
30
+ query = session.query(OperationDBM)
31
+ if filter_operation_ids is not None:
32
+ query = query.filter(OperationDBM.id.in_(filter_operation_ids))
33
+ if filter_operation_statuses is not None:
34
+ query = query.filter(OperationDBM.status.in_(filter_operation_statuses))
35
+ if filter_operation_types is not None:
36
+ query = query.filter(OperationDBM.type.in_(filter_operation_types))
37
+ query.delete()
38
+ session.commit()
39
+
40
+
41
+ def __example():
42
+ remove_operations(filter_operation_statuses="123")
43
+
44
+
45
+ async def __async_example():
46
+ pass
47
+
48
+
49
+ if __name__ == '__main__':
50
+ __example()
51
+ asyncio.run(__async_example())
@@ -0,0 +1,2 @@
1
+ cd ..
2
+ alembic history
@@ -0,0 +1,2 @@
1
+ cd ..
2
+ alembic revision --autogenerate -m "no_message"
@@ -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 __json_beautify():
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
- __json_beautify()
10
+ __command()
@@ -1,14 +1,14 @@
1
1
  import logging
2
2
 
3
- from src.core.util import setup_logging
3
+ from core.util import setup_logging
4
4
 
5
5
  _logger = logging.getLogger(__name__)
6
6
 
7
7
 
8
- def _check_logging():
8
+ def __command():
9
9
  setup_logging()
10
10
  _logger.info("logging is good")
11
11
 
12
12
 
13
13
  if __name__ == '__main__':
14
- _check_logging()
14
+ __command()
@@ -0,0 +1,11 @@
1
+ from core.util import setup_logging
2
+ from sqlalchemy_db.sqlalchemy_db import get_cached_sqlalchemy_db
3
+
4
+
5
+ def __command():
6
+ setup_logging()
7
+ get_cached_sqlalchemy_db().check_conn()
8
+
9
+
10
+ if __name__ == '__main__':
11
+ __command()
@@ -0,0 +1,13 @@
1
+ from core.settings import get_cached_settings
2
+ from core.util import setup_logging
3
+ from json_db.util import get_json_db
4
+
5
+
6
+ def __command():
7
+ setup_logging()
8
+ get_cached_settings().raise_if_mode_type_prod()
9
+ get_json_db().drop()
10
+
11
+
12
+ if __name__ == '__main__':
13
+ __command()
@@ -0,0 +1,14 @@
1
+ from core.settings import get_cached_settings
2
+ from core.util import setup_logging
3
+ from sqlalchemy_db.sqlalchemy_db import get_cached_sqlalchemy_db
4
+
5
+
6
+ def __command():
7
+ setup_logging()
8
+ get_cached_settings().raise_if_mode_type_prod()
9
+ get_cached_sqlalchemy_db().drop()
10
+ get_cached_sqlalchemy_db().drop_celery_tables()
11
+
12
+
13
+ if __name__ == '__main__':
14
+ __command()
@@ -1,14 +1,14 @@
1
1
  import os.path
2
2
 
3
3
  from arpakitlib.ar_json_util import safely_transfer_obj_to_json_str
4
- from src.core.const import ProjectPaths
5
- from src.core.settings import Settings, get_cached_settings
4
+ from core.const import ProjectPaths
5
+ from core.settings import Settings, get_cached_settings
6
6
 
7
7
 
8
- def _generate_settings_env_example():
8
+ def __command():
9
9
  print(safely_transfer_obj_to_json_str(get_cached_settings().model_dump(mode="json")))
10
10
  Settings.save_env_example_to_file(filepath=os.path.join(ProjectPaths.base_dirpath, "example.env"))
11
11
 
12
12
 
13
13
  if __name__ == '__main__':
14
- _generate_settings_env_example()
14
+ __command()
@@ -1,6 +1,6 @@
1
- def __hello_world():
1
+ def __command():
2
2
  print("Hello world")
3
3
 
4
4
 
5
5
  if __name__ == '__main__':
6
- __hello_world()
6
+ __command()
@@ -0,0 +1,11 @@
1
+ from core.util import setup_logging
2
+ from json_db.util import get_json_db
3
+
4
+
5
+ def __command():
6
+ setup_logging()
7
+ get_json_db().init()
8
+
9
+
10
+ if __name__ == '__main__':
11
+ __command()
@@ -0,0 +1,11 @@
1
+ from core.util import setup_logging
2
+ from sqlalchemy_db.sqlalchemy_db import get_cached_sqlalchemy_db
3
+
4
+
5
+ def __command():
6
+ setup_logging()
7
+ get_cached_sqlalchemy_db().init()
8
+
9
+
10
+ if __name__ == '__main__':
11
+ __command()
@@ -0,0 +1,13 @@
1
+ from core.settings import get_cached_settings
2
+ from core.util import setup_logging
3
+ from json_db.util import get_json_db
4
+
5
+
6
+ def __command():
7
+ setup_logging()
8
+ get_cached_settings().raise_if_mode_type_prod()
9
+ get_json_db().reinit()
10
+
11
+
12
+ if __name__ == '__main__':
13
+ __command()
@@ -0,0 +1,13 @@
1
+ from core.settings import get_cached_settings
2
+ from core.util import setup_logging
3
+ from sqlalchemy_db.sqlalchemy_db import get_cached_sqlalchemy_db
4
+
5
+
6
+ def __command():
7
+ setup_logging()
8
+ get_cached_settings().raise_if_mode_type_prod()
9
+ get_cached_sqlalchemy_db().reinit()
10
+
11
+
12
+ if __name__ == '__main__':
13
+ __command()
@@ -0,0 +1,13 @@
1
+ from business_service.remove_operations import remove_operations
2
+ from core.settings import get_cached_settings
3
+ from core.util import setup_logging
4
+
5
+
6
+ def __command():
7
+ setup_logging()
8
+ get_cached_settings().raise_if_mode_type_prod()
9
+ remove_operations()
10
+
11
+
12
+ if __name__ == '__main__':
13
+ __command()
@@ -0,0 +1,16 @@
1
+ from core.settings import get_cached_settings
2
+ from core.util import setup_logging
3
+ from sqlalchemy_db.sqlalchemy_db import get_cached_sqlalchemy_db
4
+ from sqlalchemy_db.sqlalchemy_model import StoryLogDBM
5
+
6
+
7
+ def __command():
8
+ setup_logging()
9
+ get_cached_settings().raise_if_mode_type_prod()
10
+ with get_cached_sqlalchemy_db().new_session() as session:
11
+ session.query(StoryLogDBM).delete()
12
+ session.commit()
13
+
14
+
15
+ if __name__ == '__main__':
16
+ __command()
@@ -0,0 +1,13 @@
1
+ from core.settings import get_cached_settings
2
+ from core.util import setup_logging
3
+ from json_db.util import get_json_db
4
+
5
+
6
+ def __command():
7
+ setup_logging()
8
+ get_cached_settings().raise_if_mode_type_prod()
9
+ get_json_db().rm_all_records()
10
+
11
+
12
+ if __name__ == '__main__':
13
+ __command()
@@ -1,10 +1,10 @@
1
1
  from arpakitlib.ar_json_util import safely_transfer_obj_to_json_str
2
- from src.core.settings import get_cached_settings
2
+ from core.settings import get_cached_settings
3
3
 
4
4
 
5
- def _check_settings():
5
+ def __command():
6
6
  print(safely_transfer_obj_to_json_str(get_cached_settings().model_dump(mode="json")))
7
7
 
8
8
 
9
9
  if __name__ == '__main__':
10
- _check_settings()
10
+ __command()
@@ -1,13 +1,13 @@
1
1
  import uvicorn
2
2
 
3
- from src.core.settings import get_cached_settings
4
- from src.core.util import setup_logging
3
+ from core.settings import get_cached_settings
4
+ from core.util import setup_logging
5
5
 
6
6
 
7
- def _start_api_for_dev_with_reload():
7
+ def __command():
8
8
  setup_logging()
9
9
  uvicorn.run(
10
- "src.api.asgi:app",
10
+ "api.asgi:app",
11
11
  port=get_cached_settings().api_port,
12
12
  host="localhost",
13
13
  workers=1,
@@ -16,4 +16,4 @@ def _start_api_for_dev_with_reload():
16
16
 
17
17
 
18
18
  if __name__ == '__main__':
19
- _start_api_for_dev_with_reload()
19
+ __command()
@@ -1,13 +1,13 @@
1
1
  import uvicorn
2
2
 
3
- from src.core.settings import get_cached_settings
4
- from src.core.util import setup_logging
3
+ from core.settings import get_cached_settings
4
+ from core.util import setup_logging
5
5
 
6
6
 
7
- def _start_api_for_dev_without_reload():
7
+ def __command():
8
8
  setup_logging()
9
9
  uvicorn.run(
10
- "src.api.asgi:app",
10
+ "api.asgi:app",
11
11
  port=get_cached_settings().api_port,
12
12
  host="localhost",
13
13
  workers=1,
@@ -16,4 +16,4 @@ def _start_api_for_dev_without_reload():
16
16
 
17
17
 
18
18
  if __name__ == '__main__':
19
- _start_api_for_dev_without_reload()
19
+ __command()
@@ -0,0 +1,14 @@
1
+ import asyncio
2
+
3
+ from core.util import setup_logging
4
+ from operation_execution.operation_executor_worker import create_operation_executor_worker
5
+
6
+
7
+ def __command():
8
+ setup_logging()
9
+ worker = create_operation_executor_worker()
10
+ asyncio.run(worker.async_safe_run())
11
+
12
+
13
+ if __name__ == '__main__':
14
+ __command()
@@ -0,0 +1,14 @@
1
+ import asyncio
2
+
3
+ from core.util import setup_logging
4
+ from operation_execution.scheduled_operation_creator_worker import create_scheduled_operation_creator_worker
5
+
6
+
7
+ async def __command():
8
+ setup_logging()
9
+ worker = create_scheduled_operation_creator_worker()
10
+ await worker.async_safe_run()
11
+
12
+
13
+ if __name__ == '__main__':
14
+ asyncio.run(__command())
@@ -0,0 +1,15 @@
1
+ from core.util import setup_logging
2
+ from operation_execution.operation_executor_worker import OperationExecutorWorker
3
+ from sqlalchemy_db.sqlalchemy_db import get_cached_sqlalchemy_db
4
+
5
+
6
+ def __command():
7
+ setup_logging()
8
+ worker = OperationExecutorWorker(
9
+ sqlalchemy_db=get_cached_sqlalchemy_db(),
10
+ )
11
+ worker.sync_safe_run()
12
+
13
+
14
+ if __name__ == '__main__':
15
+ __command()
@@ -0,0 +1,22 @@
1
+ from arpakitlib.ar_base_worker_util import safe_run_workers_in_background, SafeRunInBackgroundModes
2
+ from core.util import setup_logging
3
+ from operation_execution.operation_executor_worker import OperationExecutorWorker
4
+ from sqlalchemy_db.sqlalchemy_db import get_cached_sqlalchemy_db
5
+
6
+
7
+ def __command():
8
+ setup_logging()
9
+ workers = []
10
+ for i in range(int(input("amount of workers: "))):
11
+ workers.append(OperationExecutorWorker(
12
+ sqlalchemy_db=get_cached_sqlalchemy_db(),
13
+ ))
14
+ safe_run_workers_in_background(
15
+ workers=workers,
16
+ mode=SafeRunInBackgroundModes.thread
17
+ )
18
+ input("press to close")
19
+
20
+
21
+ if __name__ == '__main__':
22
+ __command()
@@ -0,0 +1,12 @@
1
+ from core.util import setup_logging
2
+ from operation_execution.scheduled_operation_creator_worker import create_scheduled_operation_creator_worker
3
+
4
+
5
+ def __command():
6
+ setup_logging()
7
+ worker = create_scheduled_operation_creator_worker()
8
+ worker.sync_safe_run()
9
+
10
+
11
+ if __name__ == '__main__':
12
+ __command()
@@ -0,0 +1,21 @@
1
+ from functools import lru_cache
2
+
3
+ from arpakitlib.ar_file_storage_in_dir_util import FileStorageInDir
4
+ from core.settings import get_cached_settings
5
+
6
+
7
+ def create_cache_file_storage_in_dir() -> FileStorageInDir:
8
+ return FileStorageInDir(dirpath=get_cached_settings().cache_dirpath)
9
+
10
+
11
+ @lru_cache()
12
+ def get_cached_cache_file_storage_in_dir() -> FileStorageInDir:
13
+ return create_cache_file_storage_in_dir()
14
+
15
+
16
+ def __example():
17
+ print(get_cached_cache_file_storage_in_dir().dirpath)
18
+
19
+
20
+ if __name__ == '__main__':
21
+ __example()
@@ -7,25 +7,18 @@ from arpakitlib.ar_json_util import safely_transfer_obj_to_json_str
7
7
 
8
8
 
9
9
  class ProjectPaths(Enumeration):
10
- base_dirpath: str = str(pathlib.Path(__file__).parent.parent.parent)
10
+ base_dirpath: str = str(pathlib.Path(__file__).parent.parent)
11
11
 
12
12
  env_filename: str = ".env"
13
13
  env_filepath: str = os.path.join(base_dirpath, env_filename)
14
14
 
15
- src_dirname: str = "src"
16
- src_dirpath: str = os.path.join(base_dirpath, src_dirname)
17
-
18
- manage_dirname: str = "manage"
19
- manage_dirpath: str = os.path.join(base_dirpath, manage_dirname)
20
-
21
15
  resource_dirname: str = "resource"
22
16
  resource_dirpath: str = os.path.join(base_dirpath, resource_dirname)
23
17
 
24
18
  static_dirname: str = "static"
25
19
  static_dirpath: str = os.path.join(resource_dirpath, static_dirname)
26
20
 
27
-
28
- # ...
21
+ arpakit_lib_project_template_filepath: str = os.path.join(base_dirpath, "arpakitlib_project_template.json")
29
22
 
30
23
 
31
24
  def __example():
@@ -0,0 +1,21 @@
1
+ from functools import lru_cache
2
+
3
+ from arpakitlib.ar_file_storage_in_dir_util import FileStorageInDir
4
+ from core.settings import get_cached_settings
5
+
6
+
7
+ def create_dump_file_storage_in_dir() -> FileStorageInDir:
8
+ return FileStorageInDir(dirpath=get_cached_settings().dump_dirpath)
9
+
10
+
11
+ @lru_cache()
12
+ def get_cached_dump_file_storage_in_dir() -> FileStorageInDir:
13
+ return create_dump_file_storage_in_dir()
14
+
15
+
16
+ def __example():
17
+ print(get_cached_dump_file_storage_in_dir().dirpath)
18
+
19
+
20
+ if __name__ == '__main__':
21
+ __example()
@@ -0,0 +1,21 @@
1
+ from functools import lru_cache
2
+
3
+ from arpakitlib.ar_file_storage_in_dir_util import FileStorageInDir
4
+ from core.settings import get_cached_settings
5
+
6
+
7
+ def create_media_file_storage_in_dir() -> FileStorageInDir:
8
+ return FileStorageInDir(dirpath=get_cached_settings().media_dirpath)
9
+
10
+
11
+ @lru_cache()
12
+ def get_cached_media_file_storage_in_dir() -> FileStorageInDir:
13
+ return create_media_file_storage_in_dir()
14
+
15
+
16
+ def __example():
17
+ print(get_cached_media_file_storage_in_dir().dirpath)
18
+
19
+
20
+ if __name__ == '__main__':
21
+ __example()