arpakitlib 1.7.62__tar.gz → 1.7.64__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 (182) hide show
  1. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/PKG-INFO +1 -1
  2. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_base_worker_util.py +35 -37
  3. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_fastapi_util.py +5 -1
  4. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_logging_util.py +2 -35
  5. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_operation_execution_util.py +14 -2
  6. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/pyproject.toml +1 -1
  7. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/LICENSE +0 -0
  8. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/NOTICE +0 -0
  9. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/README.md +0 -0
  10. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/__init__.py +0 -0
  11. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/.gitignore +0 -0
  12. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/.python-version +0 -0
  13. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/ARPAKITLIB +0 -0
  14. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/AUTHOR.md +0 -0
  15. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/LICENSE +0 -0
  16. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/NOTICE +0 -0
  17. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/README.md +0 -0
  18. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/example.env +0 -0
  19. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/__init__.py +0 -0
  20. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/docker_ps.sh +0 -0
  21. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/docker_ps_a.sh +0 -0
  22. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/docker_run_postgres_for_dev.sh +0 -0
  23. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/docker_start_postgres_for_dev.sh +0 -0
  24. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/docker_stop_postgres_for_dev.sh +0 -0
  25. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/example_nginx_proxy.nginx +0 -0
  26. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/example_poetry_arpakitlib.sh +0 -0
  27. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/example_pyproject.toml +0 -0
  28. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/example_systemd.service +0 -0
  29. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/git_branch.sh +0 -0
  30. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/git_commit.sh +0 -0
  31. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/git_push_arpakit_company_github_1.sh +0 -0
  32. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/git_push_arpakit_company_gitlab_1.sh +0 -0
  33. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/git_push_arpakit_github_1.sh +0 -0
  34. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/git_push_arpakit_gitlab_1.sh +0 -0
  35. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/git_remote_v.sh +0 -0
  36. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/git_set_arpakit_company_origin.sh +0 -0
  37. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/git_set_arpakit_origin.sh +0 -0
  38. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/git_status.sh +0 -0
  39. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/hello_world.py +0 -0
  40. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/json_beutify.py +0 -0
  41. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/logging_check.py +0 -0
  42. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/note/__init__.py +0 -0
  43. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/note/note_1.txt +0 -0
  44. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/note/note_2.txt +0 -0
  45. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/note/note_3.txt +0 -0
  46. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/note/note_4.txt +0 -0
  47. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/note/note_5.txt +0 -0
  48. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/poetry_add_plugin_export.sh +0 -0
  49. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/poetry_check.sh +0 -0
  50. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/poetry_clear_cache.sh +0 -0
  51. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/poetry_config_virtualenvs_in_project_true.sh +0 -0
  52. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/poetry_generate_requirements.txt.sh +0 -0
  53. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/poetry_install.sh +0 -0
  54. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/poetry_lock.sh +0 -0
  55. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/poetry_remove_and_add_arpakitlib.sh +0 -0
  56. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/poetry_show.sh +0 -0
  57. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/poetry_show_arpakitlib.sh +0 -0
  58. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/poetry_update.sh +0 -0
  59. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/poetry_update_arpakitlib.sh +0 -0
  60. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/requirements.txt +0 -0
  61. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/sandbox/__init__.py +0 -0
  62. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_1.py +0 -0
  63. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_2.py +0 -0
  64. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_3.py +0 -0
  65. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_4.py +0 -0
  66. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_5.py +0 -0
  67. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_6.py +0 -0
  68. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_7.py +0 -0
  69. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_8.sh +0 -0
  70. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_9.sh +0 -0
  71. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/settings_check.py +0 -0
  72. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/settings_generate_env_example.py +0 -0
  73. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/sqlalchemy_db_check_conn.py +0 -0
  74. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/sqlalchemy_db_init.py +0 -0
  75. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/manage/sqlalchemy_db_reinit.py +0 -0
  76. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/resource/__init__.py +0 -0
  77. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/resource/static/__init__.py +0 -0
  78. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/resource/static/helloworld +0 -0
  79. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/__init__.py +0 -0
  80. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/additional_model/__init__.py +0 -0
  81. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/additional_model/additional_model.py +0 -0
  82. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/api/__init__.py +0 -0
  83. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/api/asgi.py +0 -0
  84. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/api/auth.py +0 -0
  85. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/api/const.py +0 -0
  86. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/api/create_api_app.py +0 -0
  87. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/api/event.py +0 -0
  88. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/api/router/__init__.py +0 -0
  89. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/api/router/main_router.py +0 -0
  90. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/api/router/v1/__init__.py +0 -0
  91. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/api/router/v1/get_api_error_info.py +0 -0
  92. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/api/router/v1/main_router.py +0 -0
  93. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/api/schema/__init__.py +0 -0
  94. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/api/schema/v1/__init__.py +0 -0
  95. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/api/schema/v1/in_.py +0 -0
  96. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/api/schema/v1/out.py +0 -0
  97. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/api/start_api_for_dev.py +0 -0
  98. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/api/start_api_for_dev_with_reload.py +0 -0
  99. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/api/transmitted_api_data.py +0 -0
  100. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/api/util.py +0 -0
  101. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/business_service/__init__.py +0 -0
  102. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/core/__init__.py +0 -0
  103. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/core/const.py +0 -0
  104. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/core/settings.py +0 -0
  105. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/core/util.py +0 -0
  106. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/db/__init__.py +0 -0
  107. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/db/sqlalchemy_model.py +0 -0
  108. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/db/util.py +0 -0
  109. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/operation_execution/__init__.py +0 -0
  110. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/operation_execution/const.py +0 -0
  111. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/operation_execution/operation_executor.py +0 -0
  112. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/operation_execution/scheduled_operations.py +0 -0
  113. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/operation_execution/start_operation_executor_worker_for_dev.py +0 -0
  114. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/operation_execution/start_scheduled_operation_creator_worker_for_dev.py +0 -0
  115. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/test_data/__init__.py +0 -0
  116. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/test_data/make_test_data_1.py +0 -0
  117. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/test_data/make_test_data_2.py +0 -0
  118. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/test_data/make_test_data_3.py +0 -0
  119. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/test_data/make_test_data_4.py +0 -0
  120. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/test_data/make_test_data_5.py +0 -0
  121. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/_arpakit_project_template/src/util/__init__.py +0 -0
  122. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/api_key_util.py +0 -0
  123. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_additional_model_util.py +0 -0
  124. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_aiogram_util.py +0 -0
  125. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_arpakit_lib_module_util.py +0 -0
  126. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_arpakit_project_template_util.py +0 -0
  127. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_arpakit_schedule_uust_api_client_util.py +0 -0
  128. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_arpakitlib_cli_util.py +0 -0
  129. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_base64_util.py +0 -0
  130. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_cache_file_util.py +0 -0
  131. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_datetime_util.py +0 -0
  132. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_dict_util.py +0 -0
  133. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_dream_ai_api_client_util.py +0 -0
  134. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_encrypt_decrypt_util.py +0 -0
  135. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_enumeration_util.py +0 -0
  136. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_exception_util.py +0 -0
  137. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_fastapi_static/healthcheck +0 -0
  138. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_fastapi_static/redoc/redoc.standalone.js +0 -0
  139. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_fastapi_static/swagger-ui/favicon-16x16.png +0 -0
  140. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_fastapi_static/swagger-ui/favicon-32x32.png +0 -0
  141. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_fastapi_static/swagger-ui/index.css +0 -0
  142. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_fastapi_static/swagger-ui/index.html +0 -0
  143. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_fastapi_static/swagger-ui/oauth2-redirect.html +0 -0
  144. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-initializer.js +0 -0
  145. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-bundle.js +0 -0
  146. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-bundle.js.map +0 -0
  147. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-es-bundle-core.js +0 -0
  148. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-es-bundle-core.js.map +0 -0
  149. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-es-bundle.js +0 -0
  150. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-es-bundle.js.map +0 -0
  151. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-standalone-preset.js +0 -0
  152. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-standalone-preset.js.map +0 -0
  153. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.css +0 -0
  154. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.css.map +0 -0
  155. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.js +0 -0
  156. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.js.map +0 -0
  157. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_file_storage_in_dir_util.py +0 -0
  158. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_file_util.py +0 -0
  159. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_hash_util.py +0 -0
  160. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_http_request_util.py +0 -0
  161. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_ip_util.py +0 -0
  162. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_json_db_util.py +0 -0
  163. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_json_util.py +0 -0
  164. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_jwt_util.py +0 -0
  165. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_list_of_dicts_to_xlsx.py +0 -0
  166. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_list_util.py +0 -0
  167. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_mongodb_util.py +0 -0
  168. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_need_type_util.py +0 -0
  169. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_openai_api_client_util.py +0 -0
  170. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_parse_command.py +0 -0
  171. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_postgresql_util.py +0 -0
  172. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_run_cmd_util.py +0 -0
  173. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_schedule_uust_api_client_util.py +0 -0
  174. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_settings_util.py +0 -0
  175. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_sleep_util.py +0 -0
  176. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_sqlalchemy_model_util.py +0 -0
  177. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_sqlalchemy_util.py +0 -0
  178. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_ssh_runner_util.py +0 -0
  179. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_str_util.py +0 -0
  180. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_type_util.py +0 -0
  181. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_yookassa_api_client_util.py +0 -0
  182. {arpakitlib-1.7.62 → arpakitlib-1.7.64}/arpakitlib/ar_zabbix_api_client_util.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: arpakitlib
3
- Version: 1.7.62
3
+ Version: 1.7.64
4
4
  Summary: arpakitlib
5
5
  Home-page: https://github.com/ARPAKIT-Company/arpakitlib
6
6
  License: Apache-2.0
@@ -14,49 +14,23 @@ _ARPAKIT_LIB_MODULE_VERSION = "3.0"
14
14
 
15
15
 
16
16
  class BaseWorker(ABC):
17
- class SafeRunInBackgroundModes(Enumeration):
18
- async_task = "async_task"
19
- thread = "thread"
20
- process = "process"
21
-
22
17
  def __init__(self):
23
18
  self.worker_name = self.__class__.__name__
24
19
  self._logger = logging.getLogger(self.worker_name)
25
20
  self.timeout_after_run = timedelta(seconds=0.1).total_seconds()
26
21
  self.timeout_after_err_in_run = timedelta(seconds=1).total_seconds()
27
22
 
28
- def safe_run_in_background(self, *, safe_run_in_background_mode: str) -> (
29
- asyncio.Task | threading.Thread | multiprocessing.Process
30
- ):
31
- if safe_run_in_background_mode == self.SafeRunInBackgroundModes.async_task:
32
- res: asyncio.Task = asyncio.create_task(self.async_safe_run())
33
- elif safe_run_in_background_mode == self.SafeRunInBackgroundModes.thread:
34
- res: threading.Thread = threading.Thread(
35
- target=self.sync_safe_run,
36
- daemon=True
37
- )
38
- res.start()
39
- elif safe_run_in_background_mode == self.SafeRunInBackgroundModes.process:
40
- res: multiprocessing.Process = multiprocessing.Process(
41
- target=self.sync_safe_run,
42
- daemon=True
43
- )
44
- res.start()
45
- else:
46
- raise ValueError(f"unknown safe_run_mode={safe_run_in_background_mode}")
47
- return res
48
-
49
23
  def sync_on_startup(self):
50
24
  pass
51
25
 
52
26
  def sync_run(self):
53
- raise NotImplementedError()
27
+ self._logger.info("hello world")
54
28
 
55
29
  def sync_run_on_error(self, exception: BaseException, **kwargs):
56
30
  pass
57
31
 
58
32
  def sync_safe_run(self):
59
- self._logger.info("start sync_safe_run")
33
+ self._logger.info("start")
60
34
  try:
61
35
  self.sync_on_startup()
62
36
  except BaseException as exception:
@@ -65,8 +39,6 @@ class BaseWorker(ABC):
65
39
  while True:
66
40
  try:
67
41
  self.sync_run()
68
- if self.timeout_after_run is not None:
69
- sync_safe_sleep(self.timeout_after_run)
70
42
  except BaseException as exception:
71
43
  self._logger.error("error in sync_run", exc_info=exception)
72
44
  try:
@@ -74,14 +46,14 @@ class BaseWorker(ABC):
74
46
  except BaseException as exception_:
75
47
  self._logger.error("error in sync_run_on_error", exc_info=exception_)
76
48
  raise exception_
77
- if self.timeout_after_err_in_run is not None:
78
- sync_safe_sleep(self.timeout_after_err_in_run)
49
+ if self.timeout_after_run is not None:
50
+ sync_safe_sleep(self.timeout_after_run)
79
51
 
80
52
  async def async_on_startup(self):
81
53
  pass
82
54
 
83
55
  async def async_run(self):
84
- raise NotImplementedError()
56
+ self._logger.info("hello world")
85
57
 
86
58
  async def async_run_on_error(self, exception: BaseException, **kwargs):
87
59
  pass
@@ -96,8 +68,6 @@ class BaseWorker(ABC):
96
68
  while True:
97
69
  try:
98
70
  await self.async_run()
99
- if self.timeout_after_run is not None:
100
- await async_safe_sleep(self.timeout_after_run)
101
71
  except BaseException as exception:
102
72
  self._logger.error("error in async_run", exc_info=exception)
103
73
  try:
@@ -105,8 +75,36 @@ class BaseWorker(ABC):
105
75
  except BaseException as exception_:
106
76
  self._logger.error("error in async_run_on_error", exc_info=exception_)
107
77
  raise exception_
108
- if self.timeout_after_err_in_run is not None:
109
- await async_safe_sleep(self.timeout_after_err_in_run)
78
+ if self.timeout_after_err_in_run is not None:
79
+ await async_safe_sleep(self.timeout_after_err_in_run)
80
+
81
+
82
+ class SafeRunInBackgroundModes(Enumeration):
83
+ async_task = "async_task"
84
+ thread = "thread"
85
+ process = "process"
86
+
87
+
88
+ def safe_run_worker_in_background(*, worker: BaseWorker, mode: str) -> (
89
+ asyncio.Task | threading.Thread | multiprocessing.Process
90
+ ):
91
+ if mode == SafeRunInBackgroundModes.async_task:
92
+ res: asyncio.Task = asyncio.create_task(worker.async_safe_run())
93
+ elif mode == SafeRunInBackgroundModes.thread:
94
+ res: threading.Thread = threading.Thread(
95
+ target=worker.sync_safe_run,
96
+ daemon=True
97
+ )
98
+ res.start()
99
+ elif mode == SafeRunInBackgroundModes.process:
100
+ res: multiprocessing.Process = multiprocessing.Process(
101
+ target=worker.sync_safe_run,
102
+ daemon=True
103
+ )
104
+ res.start()
105
+ else:
106
+ raise ValueError(f"unknown safe_run_mode={mode}")
107
+ return res
110
108
 
111
109
 
112
110
  def __example():
@@ -176,6 +176,7 @@ def create_handle_exception(
176
176
  "exception_str": str(exception),
177
177
  "request.method": str(request.method),
178
178
  "request.url": str(request.url),
179
+ "request.headers": str(request.headers),
179
180
  }
180
181
  )
181
182
 
@@ -254,7 +255,8 @@ def create_handle_exception(
254
255
 
255
256
  def create_story_log_before_response_in_handle_exception(
256
257
  *,
257
- sqlalchemy_db: SQLAlchemyDB
258
+ sqlalchemy_db: SQLAlchemyDB,
259
+ ignore_api_error_code_not_found: bool = True
258
260
  ) -> Callable:
259
261
  def func(
260
262
  *,
@@ -264,6 +266,8 @@ def create_story_log_before_response_in_handle_exception(
264
266
  exception: Exception,
265
267
  **kwargs
266
268
  ) -> (int, ErrorSO, dict[str, Any]):
269
+ if ignore_api_error_code_not_found and error_so.error_code == BaseAPIErrorCodes.not_found:
270
+ return status_code, error_so, kwargs
267
271
  sqlalchemy_db.init()
268
272
  traceback_str = "".join(traceback.format_exception(type(exception), exception, exception.__traceback__))
269
273
  with sqlalchemy_db.new_session() as session:
@@ -2,7 +2,6 @@
2
2
 
3
3
  import logging
4
4
  import os
5
- from functools import wraps
6
5
  from typing import Optional
7
6
 
8
7
  _ARPAKIT_LIB_MODULE_VERSION = "3.0"
@@ -34,7 +33,7 @@ def setup_normal_logging(log_filepath: Optional[str] = None):
34
33
  stream_handler = logging.StreamHandler()
35
34
  stream_handler.setLevel(logging.INFO)
36
35
  stream_formatter = logging.Formatter(
37
- "%(asctime)s | %(levelname)s | %(name)s | %(filename)s:%(funcName)s:%(lineno)d - %(message)s",
36
+ "%(asctime)s | %(levelname)s | %(filename)s | %(name)s:%(funcName)s:%(lineno)d - %(message)s",
38
37
  datefmt="%d.%m.%Y %I:%M:%S%p"
39
38
  )
40
39
  stream_handler.setFormatter(stream_formatter)
@@ -44,7 +43,7 @@ def setup_normal_logging(log_filepath: Optional[str] = None):
44
43
  file_handler = logging.FileHandler(log_filepath)
45
44
  file_handler.setLevel(logging.WARNING)
46
45
  file_formatter = logging.Formatter(
47
- "%(asctime)s | %(levelname)s | %(name)s | %(filename)s:%(funcName)s:%(lineno)d - %(message)s",
46
+ "%(asctime)s | %(levelname)s | %(filename)s | %(name)s:%(funcName)s:%(lineno)d - %(message)s",
48
47
  datefmt="%d.%m.%Y %I:%M:%S%p"
49
48
  )
50
49
  file_handler.setFormatter(file_formatter)
@@ -55,38 +54,6 @@ def setup_normal_logging(log_filepath: Optional[str] = None):
55
54
  logger.info("normal logging was setup")
56
55
 
57
56
 
58
- def log_func():
59
- def decorator(func):
60
- @wraps(func)
61
- def wrapper(*args, **kwargs):
62
- function_path = f"{func.__module__}:{func.__qualname__}"
63
- logger = logging.getLogger(__name__)
64
- logger.info(f"start func {function_path}")
65
- result = func(*args, **kwargs)
66
- logger.info(f"finish func {function_path}")
67
- return result
68
-
69
- return wrapper
70
-
71
- return decorator
72
-
73
-
74
- def log_async_func():
75
- def decorator(func):
76
- @wraps(func)
77
- async def async_wrapper(*args, **kwargs):
78
- function_path = f"{func.__module__}:{func.__qualname__}"
79
- logger = logging.getLogger(__name__)
80
- logger.info(f"start async func {function_path}")
81
- result = await func(*args, **kwargs)
82
- logger.info(f"finish async func {function_path}")
83
- return result
84
-
85
- return async_wrapper
86
-
87
- return decorator
88
-
89
-
90
57
  def __example():
91
58
  pass
92
59
 
@@ -136,11 +136,17 @@ class BaseOperationExecutor:
136
136
  elif operation_dbm.type == BaseOperationTypes.raise_fake_exception_:
137
137
  self._logger.info("raise_fake_exception")
138
138
  raise Exception("raise_fake_exception")
139
+ else:
140
+ raise Exception(
141
+ f"unknown operation_dbm.type,"
142
+ f" operation_dbm.id={operation_dbm.id},"
143
+ f" operation_dbm.type={operation_dbm.type}"
144
+ )
139
145
  return operation_dbm
140
146
 
141
147
  def sync_safe_execute_operation(self, operation_dbm: OperationDBM) -> OperationDBM:
142
148
  self._logger.info(
143
- f"start sync_safe_execute_operation, "
149
+ f"start "
144
150
  f"operation_dbm.id={operation_dbm.id}, "
145
151
  f"operation_dbm.type={operation_dbm.type}, "
146
152
  f"operation_dbm.status={operation_dbm.status}"
@@ -219,11 +225,17 @@ class BaseOperationExecutor:
219
225
  elif operation_dbm.type == BaseOperationTypes.raise_fake_exception_:
220
226
  self._logger.info("raise_fake_exception")
221
227
  raise Exception("raise_fake_exception")
228
+ else:
229
+ raise Exception(
230
+ f"unknown operation_dbm.type,"
231
+ f" operation_dbm.id={operation_dbm.id},"
232
+ f" operation_dbm.type={operation_dbm.type}"
233
+ )
222
234
  return operation_dbm
223
235
 
224
236
  async def async_safe_execute_operation(self, operation_dbm: OperationDBM) -> OperationDBM:
225
237
  self._logger.info(
226
- f"start async_safe_execute_operation, "
238
+ f"start "
227
239
  f"operation_dbm.id={operation_dbm.id}, "
228
240
  f"operation_dbm.type={operation_dbm.type}, "
229
241
  f"operation_dbm.status={operation_dbm.status}"
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "arpakitlib"
3
- version = "1.7.62"
3
+ version = "1.7.64"
4
4
  description = "arpakitlib"
5
5
  authors = ["arpakit <arpakit@gmail.com>", "arpakit_support <support@arpakit.com>"]
6
6
  license = "Apache License 2.0"
File without changes
File without changes
File without changes