arpakitlib 1.7.44__tar.gz → 1.7.46__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 (184) hide show
  1. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/PKG-INFO +1 -1
  2. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/example.env +3 -2
  3. arpakitlib-1.7.46/arpakitlib/_arpakit_project_template/manage/requirements.txt +209 -0
  4. arpakitlib-1.7.46/arpakitlib/_arpakit_project_template/manage/settings_generate_env_example.py +13 -0
  5. arpakitlib-1.7.46/arpakitlib/_arpakit_project_template/src/api/const.py +13 -0
  6. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/api/create_api_app.py +2 -2
  7. arpakitlib-1.7.46/arpakitlib/_arpakit_project_template/src/api/router/v1/get_api_error_info.py +14 -0
  8. arpakitlib-1.7.46/arpakitlib/_arpakit_project_template/src/api/router/v1/main_router.py +7 -0
  9. arpakitlib-1.7.46/arpakitlib/_arpakit_project_template/src/api/schema/v1/out.py +6 -0
  10. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/core/settings.py +2 -2
  11. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/operation_execution/const.py +1 -3
  12. arpakitlib-1.7.46/arpakitlib/_arpakit_project_template/src/operation_execution/scheduled_operations.py +25 -0
  13. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_fastapi_util.py +12 -8
  14. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_operation_execution_util.py +28 -2
  15. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_settings_util.py +9 -2
  16. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/pyproject.toml +1 -1
  17. arpakitlib-1.7.44/arpakitlib/_arpakit_project_template/manage/settings_generate_env_example.py +0 -15
  18. arpakitlib-1.7.44/arpakitlib/_arpakit_project_template/src/api/const.py +0 -9
  19. arpakitlib-1.7.44/arpakitlib/_arpakit_project_template/src/api/router/v1/main_router.py +0 -3
  20. arpakitlib-1.7.44/arpakitlib/_arpakit_project_template/src/api/schema/v1/out.py +0 -0
  21. arpakitlib-1.7.44/arpakitlib/_arpakit_project_template/src/operation_execution/scheduled_operations.py +0 -13
  22. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/LICENSE +0 -0
  23. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/NOTICE +0 -0
  24. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/README.md +0 -0
  25. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/__init__.py +0 -0
  26. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/.gitignore +0 -0
  27. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/.python-version +0 -0
  28. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/ARPAKITLIB +0 -0
  29. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/AUTHOR.md +0 -0
  30. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/LICENSE +0 -0
  31. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/NOTICE +0 -0
  32. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/README.md +0 -0
  33. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/__init__.py +0 -0
  34. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/docker_ps.sh +0 -0
  35. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/docker_ps_a.sh +0 -0
  36. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/docker_run_postgres_for_dev.sh +0 -0
  37. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/docker_start_postgres_for_dev.sh +0 -0
  38. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/docker_stop_postgres_for_dev.sh +0 -0
  39. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/example_nginx_proxy.nginx +0 -0
  40. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/example_poetry_arpakitlib.sh +0 -0
  41. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/example_pyproject.toml +0 -0
  42. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/example_systemd.service +0 -0
  43. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/git_branch.sh +0 -0
  44. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/git_commit.sh +0 -0
  45. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/git_push_arpakit_company_github_1.sh +0 -0
  46. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/git_push_arpakit_company_gitlab_1.sh +0 -0
  47. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/git_push_arpakit_github_1.sh +0 -0
  48. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/git_push_arpakit_gitlab_1.sh +0 -0
  49. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/git_remote_v.sh +0 -0
  50. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/git_set_arpakit_company_origin.sh +0 -0
  51. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/git_set_arpakit_origin.sh +0 -0
  52. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/git_status.sh +0 -0
  53. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/hello_world.py +0 -0
  54. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/json_beutify.py +0 -0
  55. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/logging_check.py +0 -0
  56. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/note/__init__.py +0 -0
  57. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/note/note_1.txt +0 -0
  58. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/note/note_2.txt +0 -0
  59. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/note/note_3.txt +0 -0
  60. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/note/note_4.txt +0 -0
  61. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/note/note_5.txt +0 -0
  62. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/poetry_add_plugin_export.sh +0 -0
  63. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/poetry_check.sh +0 -0
  64. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/poetry_clear_cache.sh +0 -0
  65. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/poetry_config_virtualenvs_in_project_true.sh +0 -0
  66. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/poetry_generate_requirements.txt.sh +0 -0
  67. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/poetry_install.sh +0 -0
  68. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/poetry_lock.sh +0 -0
  69. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/poetry_remove_and_add_arpakitlib.sh +0 -0
  70. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/poetry_show.sh +0 -0
  71. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/poetry_show_arpakitlib.sh +0 -0
  72. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/poetry_update.sh +0 -0
  73. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/poetry_update_arpakitlib.sh +0 -0
  74. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/sandbox/__init__.py +0 -0
  75. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_1.py +0 -0
  76. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_2.py +0 -0
  77. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_3.py +0 -0
  78. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_4.py +0 -0
  79. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_5.py +0 -0
  80. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_6.py +0 -0
  81. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_7.py +0 -0
  82. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_8.sh +0 -0
  83. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/sandbox/sandbox_9.sh +0 -0
  84. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/settings_check.py +0 -0
  85. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/sqlalchemy_db_check_conn.py +0 -0
  86. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/sqlalchemy_db_init.py +0 -0
  87. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/manage/sqlalchemy_db_reinit.py +0 -0
  88. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/resource/__init__.py +0 -0
  89. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/resource/static/__init__.py +0 -0
  90. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/resource/static/helloworld +0 -0
  91. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/__init__.py +0 -0
  92. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/additional_model/__init__.py +0 -0
  93. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/additional_model/additional_model.py +0 -0
  94. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/api/__init__.py +0 -0
  95. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/api/asgi.py +0 -0
  96. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/api/auth.py +0 -0
  97. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/api/event.py +0 -0
  98. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/api/router/__init__.py +0 -0
  99. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/api/router/v1/__init__.py +0 -0
  100. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/api/schema/__init__.py +0 -0
  101. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/api/schema/v1/__init__.py +0 -0
  102. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/api/schema/v1/in_.py +0 -0
  103. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/api/start_api_for_dev.py +0 -0
  104. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/api/transmitted_api_data.py +0 -0
  105. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/api/util.py +0 -0
  106. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/business_service/__init__.py +0 -0
  107. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/core/__init__.py +0 -0
  108. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/core/const.py +0 -0
  109. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/core/util.py +0 -0
  110. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/db/__init__.py +0 -0
  111. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/db/sqlalchemy_model.py +0 -0
  112. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/db/util.py +0 -0
  113. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/operation_execution/__init__.py +0 -0
  114. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/operation_execution/operation_executor.py +0 -0
  115. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/operation_execution/start_operation_executor_for_dev_.py +0 -0
  116. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/operation_execution/start_scheduled_operation_creator_for_dev.py +0 -0
  117. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/test_data/__init__.py +0 -0
  118. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/test_data/make_test_data_1.py +0 -0
  119. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/test_data/make_test_data_2.py +0 -0
  120. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/test_data/make_test_data_3.py +0 -0
  121. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/test_data/make_test_data_4.py +0 -0
  122. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/test_data/make_test_data_5.py +0 -0
  123. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/_arpakit_project_template/src/util/__init__.py +0 -0
  124. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/api_key_util.py +0 -0
  125. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_additional_model_util.py +0 -0
  126. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_aiogram_util.py +0 -0
  127. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_arpakit_lib_module_util.py +0 -0
  128. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_arpakit_project_template_util.py +0 -0
  129. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_arpakit_schedule_uust_api_client_util.py +0 -0
  130. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_arpakitlib_cli_util.py +0 -0
  131. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_base64_util.py +0 -0
  132. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_base_worker_util.py +0 -0
  133. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_cache_file_util.py +0 -0
  134. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_datetime_util.py +0 -0
  135. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_dict_util.py +0 -0
  136. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_dream_ai_api_client_util.py +0 -0
  137. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_encrypt_decrypt_util.py +0 -0
  138. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_enumeration_util.py +0 -0
  139. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_fastapi_static/healthcheck +0 -0
  140. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_fastapi_static/redoc/redoc.standalone.js +0 -0
  141. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_fastapi_static/swagger-ui/favicon-16x16.png +0 -0
  142. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_fastapi_static/swagger-ui/favicon-32x32.png +0 -0
  143. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_fastapi_static/swagger-ui/index.css +0 -0
  144. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_fastapi_static/swagger-ui/index.html +0 -0
  145. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_fastapi_static/swagger-ui/oauth2-redirect.html +0 -0
  146. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-initializer.js +0 -0
  147. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-bundle.js +0 -0
  148. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-bundle.js.map +0 -0
  149. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-es-bundle-core.js +0 -0
  150. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-es-bundle-core.js.map +0 -0
  151. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-es-bundle.js +0 -0
  152. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-es-bundle.js.map +0 -0
  153. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-standalone-preset.js +0 -0
  154. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui-standalone-preset.js.map +0 -0
  155. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.css +0 -0
  156. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.css.map +0 -0
  157. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.js +0 -0
  158. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.js.map +0 -0
  159. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_file_storage_in_dir_util.py +0 -0
  160. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_file_util.py +0 -0
  161. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_hash_util.py +0 -0
  162. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_http_request_util.py +0 -0
  163. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_ip_util.py +0 -0
  164. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_json_db_util.py +0 -0
  165. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_json_util.py +0 -0
  166. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_jwt_util.py +0 -0
  167. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_list_of_dicts_to_xlsx.py +0 -0
  168. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_list_util.py +0 -0
  169. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_logging_util.py +0 -0
  170. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_mongodb_util.py +0 -0
  171. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_need_type_util.py +0 -0
  172. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_openai_api_client_util.py +0 -0
  173. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_parse_command.py +0 -0
  174. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_postgresql_util.py +0 -0
  175. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_run_cmd_util.py +0 -0
  176. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_schedule_uust_api_client_util.py +0 -0
  177. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_sleep_util.py +0 -0
  178. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_sqlalchemy_model_util.py +0 -0
  179. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_sqlalchemy_util.py +0 -0
  180. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_ssh_runner_util.py +0 -0
  181. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_str_util.py +0 -0
  182. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_type_util.py +0 -0
  183. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/arpakitlib/ar_yookassa_api_client_util.py +0 -0
  184. {arpakitlib-1.7.44 → arpakitlib-1.7.46}/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.44
3
+ Version: 1.7.46
4
4
  Summary: arpakitlib
5
5
  Home-page: https://github.com/ARPAKIT-Company/arpakitlib
6
6
  License: Apache-2.0
@@ -5,9 +5,10 @@
5
5
  # api_title=
6
6
  # api_description=
7
7
  # api_create_story_log_before_response_in_handle_exception=
8
- # api_start_execute_operation_worker=
9
- # api_start_create_scheduled_operation_worker=
8
+ # api_start_operation_executor_worker=
9
+ # api_start_scheduled_operation_creator_worker=
10
10
  # api_port=
11
+ # api_correct_api_key=
11
12
  # var_dirname=
12
13
  # var_dirpath=
13
14
  # log_filename=
@@ -0,0 +1,209 @@
1
+ aiofiles==24.1.0 ; python_version >= "3.12" and python_version < "4.0"
2
+ aiogram==3.17.0 ; python_version >= "3.12" and python_version < "4.0"
3
+ aiohappyeyeballs==2.4.4 ; python_version >= "3.12" and python_version < "4.0"
4
+ aiohttp-socks==0.9.2 ; python_version >= "3.12" and python_version < "4.0"
5
+ aiohttp==3.11.11 ; python_version >= "3.12" and python_version < "4.0"
6
+ aiosignal==1.3.2 ; python_version >= "3.12" and python_version < "4.0"
7
+ alembic==1.14.0 ; python_version >= "3.12" and python_version < "4.0"
8
+ amqp==5.3.1 ; python_version >= "3.12" and python_version < "4.0"
9
+ annotated-types==0.7.0 ; python_version >= "3.12" and python_version < "4.0"
10
+ anyio==4.7.0 ; python_version >= "3.12" and python_version < "4.0"
11
+ appnope==0.1.4 ; python_version >= "3.12" and python_version < "4.0" and platform_system == "Darwin"
12
+ argon2-cffi-bindings==21.2.0 ; python_version >= "3.12" and python_version < "4.0"
13
+ argon2-cffi==23.1.0 ; python_version >= "3.12" and python_version < "4.0"
14
+ arrow==1.3.0 ; python_version >= "3.12" and python_version < "4.0"
15
+ asttokens==3.0.0 ; python_version >= "3.12" and python_version < "4.0"
16
+ async-lru==2.0.4 ; python_version >= "3.12" and python_version < "4.0"
17
+ asyncpg==0.30.0 ; python_version >= "3.12" and python_version < "4.0"
18
+ asyncssh==2.19.0 ; python_version >= "3.12" and python_version < "4.0"
19
+ attrs==24.3.0 ; python_version >= "3.12" and python_version < "4.0"
20
+ babel==2.16.0 ; python_version >= "3.12" and python_version < "4.0"
21
+ bcrypt==4.2.1 ; python_version >= "3.12" and python_version < "4.0"
22
+ beautifulsoup4==4.12.3 ; python_version >= "3.12" and python_version < "4.0"
23
+ billiard==4.2.1 ; python_version >= "3.12" and python_version < "4.0"
24
+ bleach[css]==6.2.0 ; python_version >= "3.12" and python_version < "4.0"
25
+ bs4==0.0.2 ; python_version >= "3.12" and python_version < "4.0"
26
+ build==1.2.2.post1 ; python_version >= "3.12" and python_version < "4.0"
27
+ cachecontrol[filecache]==0.14.1 ; python_version >= "3.12" and python_version < "4.0"
28
+ cachetools==5.5.0 ; python_version >= "3.12" and python_version < "4.0"
29
+ celery==5.4.0 ; python_version >= "3.12" and python_version < "4.0"
30
+ certifi==2024.12.14 ; python_version >= "3.12" and python_version < "4.0"
31
+ cffi==1.17.1 ; python_version >= "3.12" and python_version < "4.0"
32
+ charset-normalizer==3.4.1 ; python_version >= "3.12" and python_version < "4.0"
33
+ cleo==2.1.0 ; python_version >= "3.12" and python_version < "4.0"
34
+ click-didyoumean==0.3.1 ; python_version >= "3.12" and python_version < "4.0"
35
+ click-plugins==1.1.1 ; python_version >= "3.12" and python_version < "4.0"
36
+ click-repl==0.3.0 ; python_version >= "3.12" and python_version < "4.0"
37
+ click==8.1.8 ; python_version >= "3.12" and python_version < "4.0"
38
+ colorama==0.4.6 ; python_version >= "3.12" and python_version < "4.0" and (platform_system == "Windows" or os_name == "nt" or sys_platform == "win32")
39
+ comm==0.2.2 ; python_version >= "3.12" and python_version < "4.0"
40
+ contourpy==1.3.1 ; python_version >= "3.12" and python_version < "4.0"
41
+ crashtest==0.4.1 ; python_version >= "3.12" and python_version < "4.0"
42
+ cryptography==44.0.0 ; python_version >= "3.12" and python_version < "4.0"
43
+ cycler==0.12.1 ; python_version >= "3.12" and python_version < "4.0"
44
+ debugpy==1.8.11 ; python_version >= "3.12" and python_version < "4.0"
45
+ decorator==5.1.1 ; python_version >= "3.12" and python_version < "4.0"
46
+ defusedxml==0.7.1 ; python_version >= "3.12" and python_version < "4.0"
47
+ distlib==0.3.9 ; python_version >= "3.12" and python_version < "4.0"
48
+ distro==1.9.0 ; python_version >= "3.12" and python_version < "4.0"
49
+ dnspython==2.7.0 ; python_version >= "3.12" and python_version < "4.0"
50
+ docutils==0.21.2 ; python_version >= "3.12" and python_version < "4.0"
51
+ dulwich==0.21.7 ; python_version >= "3.12" and python_version < "4.0"
52
+ email-validator==2.2.0 ; python_version >= "3.12" and python_version < "4.0"
53
+ emoji==2.14.0 ; python_version >= "3.12" and python_version < "4.0"
54
+ et-xmlfile==2.0.0 ; python_version >= "3.12" and python_version < "4.0"
55
+ executing==2.1.0 ; python_version >= "3.12" and python_version < "4.0"
56
+ fastapi==0.115.6 ; python_version >= "3.12" and python_version < "4.0"
57
+ fastjsonschema==2.21.1 ; python_version >= "3.12" and python_version < "4.0"
58
+ filelock==3.16.1 ; python_version >= "3.12" and python_version < "4.0"
59
+ fonttools==4.55.3 ; python_version >= "3.12" and python_version < "4.0"
60
+ fqdn==1.5.1 ; python_version >= "3.12" and python_version < "4"
61
+ frozenlist==1.5.0 ; python_version >= "3.12" and python_version < "4.0"
62
+ greenlet==3.1.1 ; python_version < "3.13" and (platform_machine == "aarch64" or platform_machine == "ppc64le" or platform_machine == "x86_64" or platform_machine == "amd64" or platform_machine == "AMD64" or platform_machine == "win32" or platform_machine == "WIN32") and python_version >= "3.12"
63
+ gunicorn==23.0.0 ; python_version >= "3.12" and python_version < "4.0"
64
+ h11==0.14.0 ; python_version >= "3.12" and python_version < "4.0"
65
+ httpcore==1.0.7 ; python_version >= "3.12" and python_version < "4.0"
66
+ httpx==0.28.1 ; python_version >= "3.12" and python_version < "4.0"
67
+ idna==3.10 ; python_version >= "3.12" and python_version < "4.0"
68
+ installer==0.7.0 ; python_version >= "3.12" and python_version < "4.0"
69
+ ipykernel==6.29.5 ; python_version >= "3.12" and python_version < "4.0"
70
+ ipython==8.31.0 ; python_version >= "3.12" and python_version < "4.0"
71
+ ipywidgets==8.1.5 ; python_version >= "3.12" and python_version < "4.0"
72
+ isoduration==20.11.0 ; python_version >= "3.12" and python_version < "4.0"
73
+ itsdangerous==2.2.0 ; python_version >= "3.12" and python_version < "4.0"
74
+ jaraco-classes==3.4.0 ; python_version >= "3.12" and python_version < "4.0"
75
+ jedi==0.19.2 ; python_version >= "3.12" and python_version < "4.0"
76
+ jeepney==0.8.0 ; python_version >= "3.12" and python_version < "4.0" and sys_platform == "linux"
77
+ jinja2==3.1.5 ; python_version >= "3.12" and python_version < "4.0"
78
+ jiter==0.8.2 ; python_version >= "3.12" and python_version < "4.0"
79
+ json5==0.10.0 ; python_version >= "3.12" and python_version < "4.0"
80
+ jsonpointer==3.0.0 ; python_version >= "3.12" and python_version < "4.0"
81
+ jsonschema-specifications==2024.10.1 ; python_version >= "3.12" and python_version < "4.0"
82
+ jsonschema==4.23.0 ; python_version >= "3.12" and python_version < "4.0"
83
+ jsonschema[format-nongpl]==4.23.0 ; python_version >= "3.12" and python_version < "4.0"
84
+ jupyter-client==8.6.3 ; python_version >= "3.12" and python_version < "4.0"
85
+ jupyter-console==6.6.3 ; python_version >= "3.12" and python_version < "4.0"
86
+ jupyter-core==5.7.2 ; python_version >= "3.12" and python_version < "4.0"
87
+ jupyter-events==0.11.0 ; python_version >= "3.12" and python_version < "4.0"
88
+ jupyter-lsp==2.2.5 ; python_version >= "3.12" and python_version < "4.0"
89
+ jupyter-server-terminals==0.5.3 ; python_version >= "3.12" and python_version < "4.0"
90
+ jupyter-server==2.15.0 ; python_version >= "3.12" and python_version < "4.0"
91
+ jupyter==1.1.1 ; python_version >= "3.12" and python_version < "4.0"
92
+ jupyterlab-pygments==0.3.0 ; python_version >= "3.12" and python_version < "4.0"
93
+ jupyterlab-server==2.27.3 ; python_version >= "3.12" and python_version < "4.0"
94
+ jupyterlab-widgets==3.0.13 ; python_version >= "3.12" and python_version < "4.0"
95
+ jupyterlab==4.3.4 ; python_version >= "3.12" and python_version < "4.0"
96
+ keyring==24.3.1 ; python_version >= "3.12" and python_version < "4.0"
97
+ kiwisolver==1.4.8 ; python_version >= "3.12" and python_version < "4.0"
98
+ kombu==5.4.2 ; python_version >= "3.12" and python_version < "4.0"
99
+ magic-filter==1.0.12 ; python_version >= "3.12" and python_version < "4.0"
100
+ mako==1.3.8 ; python_version >= "3.12" and python_version < "4.0"
101
+ markdown-it-py==3.0.0 ; python_version >= "3.12" and python_version < "4.0"
102
+ markupsafe==3.0.2 ; python_version >= "3.12" and python_version < "4.0"
103
+ matplotlib-inline==0.1.7 ; python_version >= "3.12" and python_version < "4.0"
104
+ matplotlib==3.10.0 ; python_version >= "3.12" and python_version < "4.0"
105
+ mdurl==0.1.2 ; python_version >= "3.12" and python_version < "4.0"
106
+ mistune==3.1.0 ; python_version >= "3.12" and python_version < "4.0"
107
+ more-itertools==10.5.0 ; python_version >= "3.12" and python_version < "4.0"
108
+ msgpack==1.1.0 ; python_version >= "3.12" and python_version < "4.0"
109
+ multidict==6.1.0 ; python_version >= "3.12" and python_version < "4.0"
110
+ nbclient==0.10.2 ; python_version >= "3.12" and python_version < "4.0"
111
+ nbconvert==7.16.5 ; python_version >= "3.12" and python_version < "4.0"
112
+ nbformat==5.10.4 ; python_version >= "3.12" and python_version < "4.0"
113
+ nest-asyncio==1.6.0 ; python_version >= "3.12" and python_version < "4.0"
114
+ nh3==0.2.20 ; python_version >= "3.12" and python_version < "4.0"
115
+ notebook-shim==0.2.4 ; python_version >= "3.12" and python_version < "4.0"
116
+ notebook==7.3.2 ; python_version >= "3.12" and python_version < "4.0"
117
+ numpy==2.2.1 ; python_version >= "3.12" and python_version < "4.0"
118
+ openai==1.58.1 ; python_version >= "3.12" and python_version < "4.0"
119
+ openpyxl==3.1.5 ; python_version >= "3.12" and python_version < "4.0"
120
+ overrides==7.7.0 ; python_version >= "3.12" and python_version < "4.0"
121
+ packaging==24.2 ; python_version >= "3.12" and python_version < "4.0"
122
+ pandas==2.2.3 ; python_version >= "3.12" and python_version < "4.0"
123
+ pandocfilters==1.5.1 ; python_version >= "3.12" and python_version < "4.0"
124
+ paramiko==3.5.0 ; python_version >= "3.12" and python_version < "4.0"
125
+ parso==0.8.4 ; python_version >= "3.12" and python_version < "4.0"
126
+ pexpect==4.9.0 ; python_version >= "3.12" and python_version < "4.0"
127
+ pillow==11.1.0 ; python_version >= "3.12" and python_version < "4.0"
128
+ pkginfo==1.12.0 ; python_version >= "3.12" and python_version < "4.0"
129
+ platformdirs==4.3.6 ; python_version >= "3.12" and python_version < "4.0"
130
+ poetry-core==1.9.1 ; python_version >= "3.12" and python_version < "4.0"
131
+ poetry-plugin-export==1.8.0 ; python_version >= "3.12" and python_version < "4.0"
132
+ poetry==1.8.5 ; python_version >= "3.12" and python_version < "4.0"
133
+ prometheus-client==0.21.1 ; python_version >= "3.12" and python_version < "4.0"
134
+ prompt-toolkit==3.0.48 ; python_version >= "3.12" and python_version < "4.0"
135
+ propcache==0.2.1 ; python_version >= "3.12" and python_version < "4.0"
136
+ psutil==6.1.1 ; python_version >= "3.12" and python_version < "4.0"
137
+ psycopg2-binary==2.9.10 ; python_version >= "3.12" and python_version < "4.0"
138
+ ptyprocess==0.7.0 ; python_version >= "3.12" and python_version < "4.0"
139
+ pure-eval==0.2.3 ; python_version >= "3.12" and python_version < "4.0"
140
+ pycparser==2.22 ; python_version >= "3.12" and python_version < "4.0"
141
+ pydantic-core==2.27.2 ; python_version >= "3.12" and python_version < "4.0"
142
+ pydantic-settings==2.7.1 ; python_version >= "3.12" and python_version < "4.0"
143
+ pydantic==2.10.4 ; python_version >= "3.12" and python_version < "4.0"
144
+ pygments==2.18.0 ; python_version >= "3.12" and python_version < "4.0"
145
+ pyjwt==2.10.1 ; python_version >= "3.12" and python_version < "4.0"
146
+ pymongo==4.10.1 ; python_version >= "3.12" and python_version < "4.0"
147
+ pynacl==1.5.0 ; python_version >= "3.12" and python_version < "4.0"
148
+ pyparsing==3.2.1 ; python_version >= "3.12" and python_version < "4.0"
149
+ pyproject-hooks==1.2.0 ; python_version >= "3.12" and python_version < "4.0"
150
+ pysocks==1.7.1 ; python_version >= "3.12" and python_version < "4.0"
151
+ python-dateutil==2.9.0.post0 ; python_version >= "3.12" and python_version < "4.0"
152
+ python-dotenv==1.0.1 ; python_version >= "3.12" and python_version < "4.0"
153
+ python-json-logger==3.2.1 ; python_version >= "3.12" and python_version < "4.0"
154
+ python-multipart==0.0.20 ; python_version >= "3.12" and python_version < "4.0"
155
+ python-socks[asyncio]==2.6.1 ; python_version >= "3.12" and python_version < "4.0"
156
+ pytz==2024.2 ; python_version >= "3.12" and python_version < "4.0"
157
+ pywin32-ctypes==0.2.3 ; python_version >= "3.12" and python_version < "4.0" and sys_platform == "win32"
158
+ pywin32==308 ; sys_platform == "win32" and platform_python_implementation != "PyPy" and python_version >= "3.12" and python_version < "4.0"
159
+ pywinpty==2.0.14 ; python_version >= "3.12" and python_version < "4.0" and os_name == "nt"
160
+ pyyaml==6.0.2 ; python_version >= "3.12" and python_version < "4.0"
161
+ pyzabbix==1.3.1 ; python_version >= "3.12" and python_version < "4.0"
162
+ pyzmq==26.2.0 ; python_version >= "3.12" and python_version < "4.0"
163
+ rapidfuzz==3.11.0 ; python_version >= "3.12" and python_version < "4.0"
164
+ readme-renderer==44.0 ; python_version >= "3.12" and python_version < "4.0"
165
+ redis==5.2.1 ; python_version >= "3.12" and python_version < "4.0"
166
+ referencing==0.35.1 ; python_version >= "3.12" and python_version < "4.0"
167
+ requests-toolbelt==1.0.0 ; python_version >= "3.12" and python_version < "4.0"
168
+ requests==2.32.3 ; python_version >= "3.12" and python_version < "4.0"
169
+ requests[socks]==2.32.3 ; python_version >= "3.12" and python_version < "4.0"
170
+ rfc3339-validator==0.1.4 ; python_version >= "3.12" and python_version < "4.0"
171
+ rfc3986-validator==0.1.1 ; python_version >= "3.12" and python_version < "4.0"
172
+ rfc3986==2.0.0 ; python_version >= "3.12" and python_version < "4.0"
173
+ rich==13.9.4 ; python_version >= "3.12" and python_version < "4.0"
174
+ rpds-py==0.22.3 ; python_version >= "3.12" and python_version < "4.0"
175
+ secretstorage==3.3.3 ; python_version >= "3.12" and python_version < "4.0" and sys_platform == "linux"
176
+ send2trash==1.8.3 ; python_version >= "3.12" and python_version < "4.0"
177
+ setuptools==75.6.0 ; python_version >= "3.12" and python_version < "4.0"
178
+ shellingham==1.5.4 ; python_version >= "3.12" and python_version < "4.0"
179
+ six==1.17.0 ; python_version >= "3.12" and python_version < "4.0"
180
+ sniffio==1.3.1 ; python_version >= "3.12" and python_version < "4.0"
181
+ soupsieve==2.6 ; python_version >= "3.12" and python_version < "4.0"
182
+ sqladmin==0.20.1 ; python_version >= "3.12" and python_version < "4.0"
183
+ sqlalchemy==2.0.36 ; python_version >= "3.12" and python_version < "4.0"
184
+ stack-data==0.6.3 ; python_version >= "3.12" and python_version < "4.0"
185
+ starlette==0.41.3 ; python_version >= "3.12" and python_version < "4.0"
186
+ terminado==0.18.1 ; python_version >= "3.12" and python_version < "4.0"
187
+ tinycss2==1.4.0 ; python_version >= "3.12" and python_version < "4.0"
188
+ tomlkit==0.13.2 ; python_version >= "3.12" and python_version < "4.0"
189
+ tornado==6.4.2 ; python_version >= "3.12" and python_version < "4.0"
190
+ tqdm==4.67.1 ; python_version >= "3.12" and python_version < "4.0"
191
+ traitlets==5.14.3 ; python_version >= "3.12" and python_version < "4.0"
192
+ trove-classifiers==2024.10.21.16 ; python_version >= "3.12" and python_version < "4.0"
193
+ twine==6.0.1 ; python_version >= "3.12" and python_version < "4.0"
194
+ types-python-dateutil==2.9.0.20241206 ; python_version >= "3.12" and python_version < "4.0"
195
+ typing-extensions==4.12.2 ; python_version >= "3.12" and python_version < "4.0"
196
+ tzdata==2024.2 ; python_version >= "3.12" and python_version < "4.0"
197
+ uri-template==1.3.0 ; python_version >= "3.12" and python_version < "4.0"
198
+ urllib3==2.3.0 ; python_version >= "3.12" and python_version < "4.0"
199
+ uvicorn==0.32.1 ; python_version >= "3.12" and python_version < "4.0"
200
+ vine==5.1.0 ; python_version >= "3.12" and python_version < "4.0"
201
+ virtualenv==20.28.0 ; python_version >= "3.12" and python_version < "4.0"
202
+ wcwidth==0.2.13 ; python_version >= "3.12" and python_version < "4.0"
203
+ webcolors==24.11.1 ; python_version >= "3.12" and python_version < "4.0"
204
+ webencodings==0.5.1 ; python_version >= "3.12" and python_version < "4.0"
205
+ websocket-client==1.8.0 ; python_version >= "3.12" and python_version < "4.0"
206
+ widgetsnbextension==4.0.13 ; python_version >= "3.12" and python_version < "4.0"
207
+ wtforms==3.1.2 ; python_version >= "3.12" and python_version < "4.0"
208
+ xattr==1.1.0 ; python_version >= "3.12" and python_version < "4.0" and sys_platform == "darwin"
209
+ yarl==1.18.3 ; python_version >= "3.12" and python_version < "4.0"
@@ -0,0 +1,13 @@
1
+ import os.path
2
+
3
+ from src.core.const import BASE_DIRPATH
4
+ from src.core.settings import Settings
5
+
6
+
7
+ def command():
8
+ print(Settings.generate_env_example())
9
+ Settings.save_env_example_to_file(filepath=os.path.join(BASE_DIRPATH, "example.env"))
10
+
11
+
12
+ if __name__ == '__main__':
13
+ command()
@@ -0,0 +1,13 @@
1
+ from arpakitlib.ar_fastapi_util import BaseAPIErrorCodes, BaseAPIErrorSpecificationCodes
2
+
3
+
4
+ class APIErrorCodes(BaseAPIErrorCodes):
5
+ pass
6
+
7
+
8
+ class APIErrorSpecificationCodes(BaseAPIErrorSpecificationCodes):
9
+ pass
10
+
11
+
12
+ if __name__ == '__main__':
13
+ print(APIErrorCodes.str_for_print())
@@ -55,7 +55,7 @@ def create_api_app() -> FastAPI:
55
55
 
56
56
  startup_api_events.append(StartupAPIEvent(transmitted_api_data=transmitted_api_data))
57
57
 
58
- if settings.api_start_execute_operation_worker:
58
+ if settings.api_start_operation_executor_worker:
59
59
  raise_for_type(sqlalchemy_db, SQLAlchemyDB)
60
60
  startup_api_events.append(
61
61
  SafeRunWorkerStartupAPIEvent(
@@ -70,7 +70,7 @@ def create_api_app() -> FastAPI:
70
70
  )
71
71
  )
72
72
 
73
- if settings.api_start_create_scheduled_operation_worker:
73
+ if settings.api_start_scheduled_operation_creator_worker:
74
74
  raise_for_type(sqlalchemy_db, SQLAlchemyDB)
75
75
  startup_api_events.append(
76
76
  SafeRunWorkerStartupAPIEvent(
@@ -0,0 +1,14 @@
1
+ from fastapi import APIRouter
2
+
3
+ from src.api.const import APIErrorCodes, APIErrorSpecificationCodes
4
+ from src.api.schema.v1.out import APIErrorInfo
5
+
6
+ api_router = APIRouter()
7
+
8
+
9
+ @api_router.get("/", response_model=APIErrorInfo)
10
+ async def _():
11
+ return APIErrorInfo(
12
+ api_error_codes=APIErrorCodes.values_list(),
13
+ api_error_specification_codes=APIErrorSpecificationCodes.values_list()
14
+ )
@@ -0,0 +1,7 @@
1
+ from fastapi import APIRouter
2
+
3
+ from src.api.router.v1 import get_api_error_info
4
+
5
+ api_v1_main_router = APIRouter()
6
+
7
+ api_v1_main_router.include_router(get_api_error_info.api_router)
@@ -0,0 +1,6 @@
1
+ from arpakitlib.ar_fastapi_util import BaseSO
2
+
3
+
4
+ class APIErrorInfo(BaseSO):
5
+ api_error_codes: list[str] = []
6
+ api_error_specification_codes: list[str] = []
@@ -25,9 +25,9 @@ class Settings(SimpleSettings):
25
25
 
26
26
  api_create_story_log_before_response_in_handle_exception: bool = True
27
27
 
28
- api_start_execute_operation_worker: bool = False
28
+ api_start_operation_executor_worker: bool = False
29
29
 
30
- api_start_create_scheduled_operation_worker: bool = False
30
+ api_start_scheduled_operation_creator_worker: bool = False
31
31
 
32
32
  api_port: int | None = int("{API_PORT}") if "{API_PORT}".isdigit() else None
33
33
 
@@ -6,6 +6,4 @@ class OperationTypes(BaseOperationTypes):
6
6
 
7
7
 
8
8
  if __name__ == '__main__':
9
- print(f"OperationTypes (len={len(OperationTypes.values_list())})")
10
- for v in OperationTypes.values_list():
11
- print(f"- {v}")
9
+ OperationTypes.print()
@@ -0,0 +1,25 @@
1
+ from datetime import timedelta, time
2
+
3
+ from arpakitlib.ar_operation_execution_util import ScheduledOperation, every_timedelta_is_time_func, \
4
+ between_different_times_is_time_func
5
+ from arpakitlib.ar_sqlalchemy_model_util import BaseOperationTypes
6
+
7
+ ALL_SCHEDULED_OPERATIONS = []
8
+
9
+ healthcheck_1_scheduled_operation = ScheduledOperation(
10
+ type=BaseOperationTypes.healthcheck_,
11
+ input_data={"healthcheck_1": "healthcheck_1"},
12
+ is_time_func=every_timedelta_is_time_func(td=timedelta(seconds=15))
13
+ )
14
+ ALL_SCHEDULED_OPERATIONS.append(healthcheck_1_scheduled_operation)
15
+
16
+ healthcheck_2_scheduled_operation = ScheduledOperation(
17
+ type=BaseOperationTypes.healthcheck_,
18
+ input_data={"healthcheck_2": "healthcheck_2"},
19
+ is_time_func=between_different_times_is_time_func(
20
+ from_time=time(hour=12, minute=0),
21
+ to_time=time(hour=12, minute=15)
22
+ ),
23
+ timeout_after_creation=timedelta(seconds=60)
24
+ )
25
+ ALL_SCHEDULED_OPERATIONS.append(healthcheck_2_scheduled_operation)
@@ -75,10 +75,14 @@ class BaseAPIErrorCodes(Enumeration):
75
75
  not_found = "NOT_FOUND"
76
76
 
77
77
 
78
+ class BaseAPIErrorSpecificationCodes(Enumeration):
79
+ pass
80
+
81
+
78
82
  class ErrorSO(BaseSO):
79
83
  has_error: bool = True
80
84
  error_code: str | None = None
81
- error_code_specification: str | None = None
85
+ error_specification_code: str | None = None
82
86
  error_description: str | None = None
83
87
  error_data: dict[str, Any] = {}
84
88
 
@@ -120,13 +124,13 @@ class APIException(fastapi.exceptions.HTTPException):
120
124
  *,
121
125
  status_code: int = starlette.status.HTTP_400_BAD_REQUEST,
122
126
  error_code: str | None = BaseAPIErrorCodes.unknown_error,
123
- error_code_specification: str | None = None,
127
+ error_specification_code: str | None = None,
124
128
  error_description: str | None = None,
125
129
  error_data: dict[str, Any] | None = None
126
130
  ):
127
131
  self.status_code = status_code
128
132
  self.error_code = error_code
129
- self.error_code_specification = error_code_specification
133
+ self.error_specification_code = error_specification_code
130
134
  self.error_description = error_description
131
135
  if error_data is None:
132
136
  error_data = {}
@@ -135,7 +139,7 @@ class APIException(fastapi.exceptions.HTTPException):
135
139
  self.error_so = ErrorSO(
136
140
  has_error=True,
137
141
  error_code=self.error_code,
138
- error_code_specification=self.error_code_specification,
142
+ error_specification_code=self.error_specification_code,
139
143
  error_description=self.error_description,
140
144
  error_data=self.error_data
141
145
  )
@@ -211,9 +215,9 @@ def create_handle_exception(
211
215
  if error_so.error_code:
212
216
  error_so.error_code = error_so.error_code.upper().replace(" ", "_").strip()
213
217
 
214
- if error_so.error_code_specification:
215
- error_so.error_code_specification = (
216
- error_so.error_code_specification.upper().replace(" ", "_").strip()
218
+ if error_so.error_specification_code:
219
+ error_so.error_specification_code = (
220
+ error_so.error_specification_code.upper().replace(" ", "_").strip()
217
221
  )
218
222
 
219
223
  if _need_exc_info:
@@ -588,7 +592,7 @@ def simple_api_router_for_testing():
588
592
  async def _():
589
593
  raise APIException(
590
594
  error_code="raise_fake_exception_2",
591
- error_code_specification="raise_fake_exception_2",
595
+ error_specification_code="raise_fake_exception_2",
592
596
  error_description="raise_fake_exception_2"
593
597
  )
594
598
 
@@ -16,6 +16,7 @@ from sqlalchemy.orm import Session
16
16
  from arpakitlib.ar_base_worker_util import BaseWorker
17
17
  from arpakitlib.ar_datetime_util import now_utc_dt
18
18
  from arpakitlib.ar_dict_util import combine_dicts
19
+ from arpakitlib.ar_sleep_util import sync_safe_sleep, async_safe_sleep
19
20
  from arpakitlib.ar_sqlalchemy_model_util import OperationDBM, StoryLogDBM, BaseOperationTypes
20
21
  from arpakitlib.ar_sqlalchemy_util import SQLAlchemyDB
21
22
 
@@ -292,6 +293,7 @@ class ScheduledOperation(BaseModel):
292
293
  type: str
293
294
  input_data: dict[str, Any] | None = None
294
295
  is_time_func: Callable[[], bool]
296
+ timeout_after_creation: timedelta | None = None
295
297
 
296
298
 
297
299
  class ScheduledOperationCreatorWorker(BaseWorker):
@@ -315,6 +317,8 @@ class ScheduledOperationCreatorWorker(BaseWorker):
315
317
  self.sqlalchemy_db.init()
316
318
 
317
319
  def sync_run(self):
320
+ timeout = None
321
+
318
322
  for scheduled_operation in self.scheduled_operations:
319
323
  if not scheduled_operation.is_time_func():
320
324
  continue
@@ -327,10 +331,22 @@ class ScheduledOperationCreatorWorker(BaseWorker):
327
331
  session.commit()
328
332
  session.refresh(operation_dbm)
329
333
 
330
- def async_on_startup(self):
334
+ if scheduled_operation.timeout_after_creation is not None:
335
+ if timeout is not None:
336
+ if scheduled_operation.timeout_after_creation > timeout:
337
+ timeout = scheduled_operation.timeout_after_creation
338
+ else:
339
+ timeout = scheduled_operation.timeout_after_creation
340
+
341
+ if timeout is not None:
342
+ sync_safe_sleep(n=timeout)
343
+
344
+ async def async_on_startup(self):
331
345
  self.sqlalchemy_db.init()
332
346
 
333
- def async_run(self):
347
+ async def async_run(self):
348
+ timeout: timedelta | None = None
349
+
334
350
  for scheduled_operation in self.scheduled_operations:
335
351
  if not scheduled_operation.is_time_func():
336
352
  continue
@@ -343,6 +359,16 @@ class ScheduledOperationCreatorWorker(BaseWorker):
343
359
  session.commit()
344
360
  session.refresh(operation_dbm)
345
361
 
362
+ if scheduled_operation.timeout_after_creation is not None:
363
+ if timeout is not None:
364
+ if scheduled_operation.timeout_after_creation > timeout:
365
+ timeout = scheduled_operation.timeout_after_creation
366
+ else:
367
+ timeout = scheduled_operation.timeout_after_creation
368
+
369
+ if timeout is not None:
370
+ await async_safe_sleep(n=timeout)
371
+
346
372
 
347
373
  def every_timedelta_is_time_func(*, td: timedelta) -> Callable:
348
374
  last_now_utc_dt = now_utc_dt()
@@ -35,8 +35,8 @@ class SimpleSettings(BaseSettings):
35
35
  return v
36
36
 
37
37
  @property
38
- def is_mode_type_dev(self) -> bool:
39
- return self.mode_type == self.ModeTypes.dev
38
+ def is_mode_type_not_prod(self) -> bool:
39
+ return self.mode_type == self.ModeTypes.not_prod
40
40
 
41
41
  @property
42
42
  def is_mode_type_prod(self) -> bool:
@@ -45,3 +45,10 @@ class SimpleSettings(BaseSettings):
45
45
  @classmethod
46
46
  def generate_env_example(cls) -> str:
47
47
  return generate_env_example(settings_class=cls)
48
+
49
+ @classmethod
50
+ def save_env_example_to_file(cls, filepath: str) -> str:
51
+ env_example = cls.generate_env_example()
52
+ with open(filepath, mode="w") as f:
53
+ f.write(env_example)
54
+ return env_example
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "arpakitlib"
3
- version = "1.7.44"
3
+ version = "1.7.46"
4
4
  description = "arpakitlib"
5
5
  authors = ["arpakit <arpakit@gmail.com>", "arpakit_support <support@arpakit.com>"]
6
6
  license = "Apache License 2.0"
@@ -1,15 +0,0 @@
1
- import os.path
2
-
3
- from src.core.const import BASE_DIRPATH
4
- from src.core.settings import Settings
5
-
6
-
7
- def command():
8
- env_example = Settings.generate_env_example()
9
- print(env_example)
10
- with open(os.path.join(BASE_DIRPATH, "example.env"), mode="w") as f:
11
- f.write(env_example)
12
-
13
-
14
- if __name__ == '__main__':
15
- command()
@@ -1,9 +0,0 @@
1
- from arpakitlib.ar_fastapi_util import BaseAPIErrorCodes
2
-
3
-
4
- class APIErrorCodes(BaseAPIErrorCodes):
5
- pass
6
-
7
-
8
- if __name__ == '__main__':
9
- print(APIErrorCodes.str_for_print())
@@ -1,3 +0,0 @@
1
- from fastapi import APIRouter
2
-
3
- api_v1_main_router = APIRouter()
@@ -1,13 +0,0 @@
1
- from datetime import timedelta
2
-
3
- from arpakitlib.ar_operation_execution_util import ScheduledOperation, every_timedelta_is_time_func
4
- from arpakitlib.ar_sqlalchemy_model_util import BaseOperationTypes
5
-
6
- ALL_SCHEDULED_OPERATIONS = []
7
-
8
- healthcheck_scheduled_operation = ScheduledOperation(
9
- type=BaseOperationTypes.healthcheck_,
10
- input_data={},
11
- is_time_func=every_timedelta_is_time_func(td=timedelta(seconds=5))
12
- )
13
- ALL_SCHEDULED_OPERATIONS.append(healthcheck_scheduled_operation)
File without changes
File without changes
File without changes