ul-api-utils 10.0.0.dev5__tar.gz → 10.0.0.dev6__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 (144) hide show
  1. {ul_api_utils-10.0.0.dev5/ul_api_utils.egg-info → ul_api_utils-10.0.0.dev6}/PKG-INFO +4 -3
  2. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/pyproject.toml +5 -3
  3. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/commands/start/gunicorn.conf.local.py +16 -0
  4. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/commands/start/gunicorn.conf.py +16 -0
  5. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6/ul_api_utils.egg-info}/PKG-INFO +4 -3
  6. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils.egg-info/requires.txt +3 -2
  7. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/LICENSE +0 -0
  8. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/README.md +0 -0
  9. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/setup.cfg +0 -0
  10. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/setup.py +0 -0
  11. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/__init__.py +0 -0
  12. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/access/__init__.py +0 -0
  13. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/api_resource/__init__.py +0 -0
  14. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/api_resource/api_request.py +0 -0
  15. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/api_resource/api_resource.py +0 -0
  16. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/api_resource/api_resource_config.py +0 -0
  17. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/api_resource/api_resource_error_handling.py +0 -0
  18. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/api_resource/api_resource_fn_typing.py +0 -0
  19. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/api_resource/api_resource_type.py +0 -0
  20. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/api_resource/api_response.py +0 -0
  21. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/api_resource/api_response_db.py +0 -0
  22. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/api_resource/api_response_payload_alias.py +0 -0
  23. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/api_resource/db_types.py +0 -0
  24. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/api_resource/signature_check.py +0 -0
  25. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/commands/__init__.py +0 -0
  26. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/commands/cmd_enc_keys.py +0 -0
  27. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/commands/cmd_gen_api_user_token.py +0 -0
  28. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/commands/cmd_gen_new_api_user.py +0 -0
  29. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/commands/cmd_generate_api_docs.py +0 -0
  30. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/commands/cmd_start.py +0 -0
  31. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/commands/cmd_worker_start.py +0 -0
  32. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/commands/start/__init__.py +0 -0
  33. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/commands/start/wsgi.py +0 -0
  34. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/conf/ul-debugger-main.js +0 -0
  35. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/conf/ul-debugger-ui.js +0 -0
  36. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/conf.py +0 -0
  37. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/const.py +0 -0
  38. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/debug/__init__.py +0 -0
  39. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/debug/debugger.py +0 -0
  40. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/debug/malloc.py +0 -0
  41. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/debug/stat.py +0 -0
  42. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/encrypt/__init__.py +0 -0
  43. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/encrypt/encrypt_decrypt_abstract.py +0 -0
  44. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/encrypt/encrypt_decrypt_aes_xtea.py +0 -0
  45. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/errors.py +0 -0
  46. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/internal_api/__init__.py +0 -0
  47. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/internal_api/__tests__/__init__.py +0 -0
  48. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/internal_api/__tests__/internal_api.py +0 -0
  49. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/internal_api/__tests__/internal_api_content_type.py +0 -0
  50. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/internal_api/internal_api.py +0 -0
  51. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/internal_api/internal_api_check_context.py +0 -0
  52. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/internal_api/internal_api_error.py +0 -0
  53. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/internal_api/internal_api_response.py +0 -0
  54. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/main.py +0 -0
  55. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/modules/__init__.py +0 -0
  56. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/modules/__tests__/__init__.py +0 -0
  57. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/modules/__tests__/test_api_sdk_jwt.py +0 -0
  58. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/modules/api_sdk.py +0 -0
  59. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/modules/api_sdk_config.py +0 -0
  60. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/modules/api_sdk_jwt.py +0 -0
  61. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/modules/intermediate_state.py +0 -0
  62. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/modules/worker_context.py +0 -0
  63. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/modules/worker_sdk.py +0 -0
  64. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/modules/worker_sdk_config.py +0 -0
  65. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/py.typed +0 -0
  66. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/resources/__init__.py +0 -0
  67. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/resources/caching.py +0 -0
  68. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/resources/debugger_scripts.py +0 -0
  69. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/resources/health_check/__init__.py +0 -0
  70. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/resources/health_check/const.py +0 -0
  71. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/resources/health_check/health_check.py +0 -0
  72. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/resources/health_check/health_check_template.py +0 -0
  73. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/resources/health_check/resource.py +0 -0
  74. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/resources/not_implemented.py +0 -0
  75. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/resources/permissions.py +0 -0
  76. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/resources/rate_limitter.py +0 -0
  77. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/resources/socketio.py +0 -0
  78. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/resources/swagger.py +0 -0
  79. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/resources/web_forms/__init__.py +0 -0
  80. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/resources/web_forms/custom_fields/__init__.py +0 -0
  81. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/resources/web_forms/custom_fields/custom_checkbox_select.py +0 -0
  82. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/resources/web_forms/custom_widgets/__init__.py +0 -0
  83. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/resources/web_forms/custom_widgets/custom_select_widget.py +0 -0
  84. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/resources/web_forms/custom_widgets/custom_text_input_widget.py +0 -0
  85. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/resources/web_forms/uni_form.py +0 -0
  86. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/sentry.py +0 -0
  87. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/__init__.py +0 -0
  88. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/__tests__/__init__.py +0 -0
  89. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/__tests__/api_path_version.py +0 -0
  90. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/__tests__/unwrap_typing.py +0 -0
  91. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/api_encoding.py +0 -0
  92. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/api_format.py +0 -0
  93. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/api_method.py +0 -0
  94. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/api_pagination.py +0 -0
  95. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/api_path_version.py +0 -0
  96. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/api_request_info.py +0 -0
  97. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/avro.py +0 -0
  98. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/broker_topics_message_count.py +0 -0
  99. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/cached_per_request.py +0 -0
  100. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/colors.py +0 -0
  101. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/constants.py +0 -0
  102. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/decode_base64.py +0 -0
  103. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/deprecated.py +0 -0
  104. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/flags.py +0 -0
  105. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/flask_swagger_generator/__init__.py +0 -0
  106. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/flask_swagger_generator/conf.py +0 -0
  107. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/flask_swagger_generator/exceptions.py +0 -0
  108. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/flask_swagger_generator/specifiers/__init__.py +0 -0
  109. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/flask_swagger_generator/specifiers/swagger_models.py +0 -0
  110. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/flask_swagger_generator/specifiers/swagger_specifier.py +0 -0
  111. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/flask_swagger_generator/specifiers/swagger_three_specifier.py +0 -0
  112. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/flask_swagger_generator/specifiers/swagger_version.py +0 -0
  113. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/flask_swagger_generator/utils/__init__.py +0 -0
  114. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/flask_swagger_generator/utils/input_type.py +0 -0
  115. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/flask_swagger_generator/utils/parameter_type.py +0 -0
  116. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/flask_swagger_generator/utils/replace_in_dict.py +0 -0
  117. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/flask_swagger_generator/utils/request_type.py +0 -0
  118. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/flask_swagger_generator/utils/schema_type.py +0 -0
  119. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/flask_swagger_generator/utils/security_type.py +0 -0
  120. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/imports.py +0 -0
  121. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/instance_checks.py +0 -0
  122. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/jinja/__init__.py +0 -0
  123. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/jinja/t_url_for.py +0 -0
  124. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/jinja/to_pretty_json.py +0 -0
  125. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/json_encoder.py +0 -0
  126. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/load_modules.py +0 -0
  127. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/memory_db/__init__.py +0 -0
  128. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/memory_db/__tests__/__init__.py +0 -0
  129. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/memory_db/errors.py +0 -0
  130. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/memory_db/repository.py +0 -0
  131. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/token_check.py +0 -0
  132. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/token_check_through_request.py +0 -0
  133. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/unwrap_typing.py +0 -0
  134. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/utils/uuid_converter.py +0 -0
  135. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/validators/__init__.py +0 -0
  136. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/validators/__tests__/__init__.py +0 -0
  137. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/validators/__tests__/test_custom_fields.py +0 -0
  138. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/validators/custom_fields.py +0 -0
  139. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/validators/validate_empty_object.py +0 -0
  140. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils/validators/validate_uuid.py +0 -0
  141. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils.egg-info/SOURCES.txt +0 -0
  142. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils.egg-info/dependency_links.txt +0 -0
  143. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils.egg-info/entry_points.txt +0 -0
  144. {ul_api_utils-10.0.0.dev5 → ul_api_utils-10.0.0.dev6}/ul_api_utils.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ul_api_utils
3
- Version: 10.0.0.dev5
3
+ Version: 10.0.0.dev6
4
4
  Summary: Python api utils
5
5
  Author: Unic-lab
6
6
  Author-email:
@@ -14,9 +14,9 @@ Classifier: Operating System :: OS Independent
14
14
  Requires-Python: >=3.14
15
15
  Description-Content-Type: text/markdown
16
16
  License-File: LICENSE
17
- Requires-Dist: ul-db-utils==6.0.0.dev2
17
+ Requires-Dist: ul-db-utils==6.0.0.dev3
18
18
  Requires-Dist: ul-py-tool==3.0.2.dev1
19
- Requires-Dist: ul-unipipeline>=3.0.2.dev0
19
+ Requires-Dist: ul-unipipeline>=3.0.2.dev1
20
20
  Requires-Dist: frozendict>=2.4.4
21
21
  Requires-Dist: jinja2>=3.1.6
22
22
  Requires-Dist: flask>=3.1.0
@@ -29,6 +29,7 @@ Requires-Dist: pyjwt>=2.10.1
29
29
  Requires-Dist: gunicorn>=23.0.0
30
30
  Requires-Dist: gevent>=25.9.1
31
31
  Requires-Dist: gevent-websocket>=0.10.1
32
+ Requires-Dist: psycogreen>=1.0.2
32
33
  Requires-Dist: flask-socketio>=5.5.1
33
34
  Requires-Dist: pyyaml>=6.0
34
35
  Requires-Dist: requests>=2.31.0
@@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta"
7
7
 
8
8
  [project]
9
9
  name = "ul_api_utils"
10
- version = "10.0.0.dev5"
10
+ version = "10.0.0.dev6"
11
11
  description = "Python api utils"
12
12
  readme = "README.md"
13
13
  license = { text = "MIT" }
@@ -21,9 +21,10 @@ classifiers = [
21
21
  "Operating System :: OS Independent",
22
22
  ]
23
23
  dependencies = [
24
- "ul-db-utils==6.0.0.dev2",
24
+ "ul-db-utils==6.0.0.dev3",
25
25
  "ul-py-tool==3.0.2.dev1",
26
- "ul-unipipeline>=3.0.2.dev0",
26
+ "ul-unipipeline>=3.0.2.dev1",
27
+
27
28
  "frozendict>=2.4.4",
28
29
  "jinja2>=3.1.6",
29
30
  "flask>=3.1.0",
@@ -36,6 +37,7 @@ dependencies = [
36
37
  "gunicorn>=23.0.0",
37
38
  "gevent>=25.9.1",
38
39
  "gevent-websocket>=0.10.1",
40
+ "psycogreen>=1.0.2",
39
41
  "flask-socketio>=5.5.1",
40
42
  "pyyaml>=6.0",
41
43
  "requests>=2.31.0",
@@ -22,3 +22,19 @@ def post_fork(server: Any, worker: Any) -> None:
22
22
  write_stdout("gevent monkey-patching applied for worker", worker.pid)
23
23
  write_stdout("Enabling GC for worker", worker.pid)
24
24
  gc.enable()
25
+
26
+
27
+ def post_worker_init(worker: Any) -> None:
28
+ """
29
+ Called just after a worker has been initialized (inside the worker process).
30
+ Patches psycopg2 to use a gevent-friendly wait callback so that database I/O
31
+ through libpq (C extension) yields to the gevent event loop instead of blocking.
32
+ https://docs.gunicorn.org/en/stable/settings.html#post-worker-init
33
+ """
34
+ if _gevent_available and gevent.monkey.is_module_patched('socket'):
35
+ try:
36
+ from psycogreen.gevent import patch_psycopg # type: ignore
37
+ patch_psycopg()
38
+ write_stdout("psycogreen patch applied for worker", worker.pid)
39
+ except ImportError:
40
+ pass
@@ -35,3 +35,19 @@ def post_fork(server: Any, worker: Any) -> None:
35
35
  write_stdout("gevent monkey-patching applied for worker", worker.pid)
36
36
  write_stdout("Enabling GC for worker", worker.pid)
37
37
  gc.enable()
38
+
39
+
40
+ def post_worker_init(worker: Any) -> None:
41
+ """
42
+ Called just after a worker has been initialized (inside the worker process).
43
+ Patches psycopg2 to use a gevent-friendly wait callback so that database I/O
44
+ through libpq (C extension) yields to the gevent event loop instead of blocking.
45
+ https://docs.gunicorn.org/en/stable/settings.html#post-worker-init
46
+ """
47
+ if _gevent_available and gevent.monkey.is_module_patched('socket'):
48
+ try:
49
+ from psycogreen.gevent import patch_psycopg # type: ignore
50
+ patch_psycopg()
51
+ write_stdout("psycogreen patch applied for worker", worker.pid)
52
+ except ImportError:
53
+ pass
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ul_api_utils
3
- Version: 10.0.0.dev5
3
+ Version: 10.0.0.dev6
4
4
  Summary: Python api utils
5
5
  Author: Unic-lab
6
6
  Author-email:
@@ -14,9 +14,9 @@ Classifier: Operating System :: OS Independent
14
14
  Requires-Python: >=3.14
15
15
  Description-Content-Type: text/markdown
16
16
  License-File: LICENSE
17
- Requires-Dist: ul-db-utils==6.0.0.dev2
17
+ Requires-Dist: ul-db-utils==6.0.0.dev3
18
18
  Requires-Dist: ul-py-tool==3.0.2.dev1
19
- Requires-Dist: ul-unipipeline>=3.0.2.dev0
19
+ Requires-Dist: ul-unipipeline>=3.0.2.dev1
20
20
  Requires-Dist: frozendict>=2.4.4
21
21
  Requires-Dist: jinja2>=3.1.6
22
22
  Requires-Dist: flask>=3.1.0
@@ -29,6 +29,7 @@ Requires-Dist: pyjwt>=2.10.1
29
29
  Requires-Dist: gunicorn>=23.0.0
30
30
  Requires-Dist: gevent>=25.9.1
31
31
  Requires-Dist: gevent-websocket>=0.10.1
32
+ Requires-Dist: psycogreen>=1.0.2
32
33
  Requires-Dist: flask-socketio>=5.5.1
33
34
  Requires-Dist: pyyaml>=6.0
34
35
  Requires-Dist: requests>=2.31.0
@@ -1,6 +1,6 @@
1
- ul-db-utils==6.0.0.dev2
1
+ ul-db-utils==6.0.0.dev3
2
2
  ul-py-tool==3.0.2.dev1
3
- ul-unipipeline>=3.0.2.dev0
3
+ ul-unipipeline>=3.0.2.dev1
4
4
  frozendict>=2.4.4
5
5
  jinja2>=3.1.6
6
6
  flask>=3.1.0
@@ -13,6 +13,7 @@ pyjwt>=2.10.1
13
13
  gunicorn>=23.0.0
14
14
  gevent>=25.9.1
15
15
  gevent-websocket>=0.10.1
16
+ psycogreen>=1.0.2
16
17
  flask-socketio>=5.5.1
17
18
  pyyaml>=6.0
18
19
  requests>=2.31.0