ul-api-utils 8.1.3__tar.gz → 8.1.4__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.

Potentially problematic release.


This version of ul-api-utils might be problematic. Click here for more details.

Files changed (161) hide show
  1. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/PKG-INFO +1 -1
  2. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/example/workers/worker.py +3 -3
  3. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/setup.py +2 -2
  4. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/modules/worker_sdk.py +3 -3
  5. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/resources/health_check/health_check.py +2 -2
  6. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/broker_topics_message_count.py +2 -2
  7. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/validators/custom_fields.py +26 -15
  8. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils.egg-info/PKG-INFO +1 -1
  9. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils.egg-info/requires.txt +1 -1
  10. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/LICENSE +0 -0
  11. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/README.md +0 -0
  12. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/example/__init__.py +0 -0
  13. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/example/conf.py +0 -0
  14. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/example/main.py +0 -0
  15. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/example/models/__init__.py +0 -0
  16. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/example/permissions.py +0 -0
  17. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/example/pure_flask_example.py +0 -0
  18. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/example/rate_limit_load.py +0 -0
  19. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/example/redis_repository.py +0 -0
  20. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/example/routes/__init__.py +0 -0
  21. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/example/routes/api_some.py +0 -0
  22. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/example/sockets/__init__.py +0 -0
  23. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/example/sockets/on_connect.py +0 -0
  24. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/example/sockets/on_disconnect.py +0 -0
  25. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/example/sockets/on_json.py +0 -0
  26. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/example/sockets/on_message.py +0 -0
  27. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/example/sockets/on_open.py +0 -0
  28. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/example/workers/__init__.py +0 -0
  29. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/setup.cfg +0 -0
  30. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/__init__.py +0 -0
  31. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/access/__init__.py +0 -0
  32. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/api_resource/__init__.py +0 -0
  33. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/api_resource/api_request.py +0 -0
  34. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/api_resource/api_resource.py +0 -0
  35. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/api_resource/api_resource_config.py +0 -0
  36. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/api_resource/api_resource_error_handling.py +0 -0
  37. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/api_resource/api_resource_fn_typing.py +0 -0
  38. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/api_resource/api_resource_type.py +0 -0
  39. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/api_resource/api_response.py +0 -0
  40. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/api_resource/api_response_db.py +0 -0
  41. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/api_resource/api_response_payload_alias.py +0 -0
  42. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/api_resource/db_types.py +0 -0
  43. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/api_resource/signature_check.py +0 -0
  44. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/commands/__init__.py +0 -0
  45. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/commands/cmd_enc_keys.py +0 -0
  46. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/commands/cmd_gen_api_user_token.py +0 -0
  47. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/commands/cmd_gen_new_api_user.py +0 -0
  48. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/commands/cmd_generate_api_docs.py +0 -0
  49. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/commands/cmd_start.py +0 -0
  50. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/commands/cmd_worker_start.py +0 -0
  51. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/commands/start/__init__.py +0 -0
  52. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/commands/start/gunicorn.conf.local.py +0 -0
  53. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/commands/start/gunicorn.conf.py +0 -0
  54. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/commands/start/wsgi.py +0 -0
  55. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/conf/ul-debugger-main.js +0 -0
  56. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/conf/ul-debugger-ui.js +0 -0
  57. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/conf.py +0 -0
  58. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/const.py +0 -0
  59. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/debug/__init__.py +0 -0
  60. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/debug/debugger.py +0 -0
  61. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/debug/malloc.py +0 -0
  62. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/debug/stat.py +0 -0
  63. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/encrypt/__init__.py +0 -0
  64. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/encrypt/encrypt_decrypt_abstract.py +0 -0
  65. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/encrypt/encrypt_decrypt_aes_xtea.py +0 -0
  66. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/errors.py +0 -0
  67. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/internal_api/__init__.py +0 -0
  68. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/internal_api/__tests__/__init__.py +0 -0
  69. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/internal_api/__tests__/internal_api.py +0 -0
  70. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/internal_api/__tests__/internal_api_content_type.py +0 -0
  71. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/internal_api/internal_api.py +0 -0
  72. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/internal_api/internal_api_check_context.py +0 -0
  73. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/internal_api/internal_api_error.py +0 -0
  74. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/internal_api/internal_api_response.py +0 -0
  75. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/main.py +0 -0
  76. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/modules/__init__.py +0 -0
  77. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/modules/__tests__/__init__.py +0 -0
  78. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/modules/__tests__/test_api_sdk_jwt.py +0 -0
  79. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/modules/api_sdk.py +0 -0
  80. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/modules/api_sdk_config.py +0 -0
  81. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/modules/api_sdk_jwt.py +0 -0
  82. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/modules/intermediate_state.py +0 -0
  83. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/modules/worker_context.py +0 -0
  84. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/modules/worker_sdk_config.py +0 -0
  85. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/py.typed +0 -0
  86. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/resources/__init__.py +0 -0
  87. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/resources/caching.py +0 -0
  88. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/resources/debugger_scripts.py +0 -0
  89. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/resources/health_check/__init__.py +0 -0
  90. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/resources/health_check/const.py +0 -0
  91. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/resources/health_check/health_check_template.py +0 -0
  92. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/resources/health_check/resource.py +0 -0
  93. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/resources/not_implemented.py +0 -0
  94. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/resources/permissions.py +0 -0
  95. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/resources/rate_limitter.py +0 -0
  96. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/resources/socketio.py +0 -0
  97. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/resources/swagger.py +0 -0
  98. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/resources/web_forms/__init__.py +0 -0
  99. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/resources/web_forms/custom_fields/__init__.py +0 -0
  100. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/resources/web_forms/custom_fields/custom_checkbox_select.py +0 -0
  101. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/resources/web_forms/custom_widgets/__init__.py +0 -0
  102. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/resources/web_forms/custom_widgets/custom_select_widget.py +0 -0
  103. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/resources/web_forms/custom_widgets/custom_text_input_widget.py +0 -0
  104. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/resources/web_forms/uni_form.py +0 -0
  105. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/sentry.py +0 -0
  106. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/__init__.py +0 -0
  107. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/__tests__/__init__.py +0 -0
  108. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/__tests__/api_path_version.py +0 -0
  109. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/__tests__/unwrap_typing.py +0 -0
  110. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/api_encoding.py +0 -0
  111. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/api_format.py +0 -0
  112. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/api_method.py +0 -0
  113. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/api_pagination.py +0 -0
  114. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/api_path_version.py +0 -0
  115. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/api_request_info.py +0 -0
  116. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/avro.py +0 -0
  117. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/cached_per_request.py +0 -0
  118. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/colors.py +0 -0
  119. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/constants.py +0 -0
  120. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/decode_base64.py +0 -0
  121. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/deprecated.py +0 -0
  122. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/flags.py +0 -0
  123. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/flask_swagger_generator/__init__.py +0 -0
  124. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/flask_swagger_generator/conf.py +0 -0
  125. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/flask_swagger_generator/exceptions.py +0 -0
  126. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/flask_swagger_generator/specifiers/__init__.py +0 -0
  127. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/flask_swagger_generator/specifiers/swagger_models.py +0 -0
  128. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/flask_swagger_generator/specifiers/swagger_specifier.py +0 -0
  129. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/flask_swagger_generator/specifiers/swagger_three_specifier.py +0 -0
  130. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/flask_swagger_generator/specifiers/swagger_version.py +0 -0
  131. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/flask_swagger_generator/utils/__init__.py +0 -0
  132. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/flask_swagger_generator/utils/input_type.py +0 -0
  133. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/flask_swagger_generator/utils/parameter_type.py +0 -0
  134. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/flask_swagger_generator/utils/replace_in_dict.py +0 -0
  135. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/flask_swagger_generator/utils/request_type.py +0 -0
  136. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/flask_swagger_generator/utils/schema_type.py +0 -0
  137. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/flask_swagger_generator/utils/security_type.py +0 -0
  138. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/imports.py +0 -0
  139. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/instance_checks.py +0 -0
  140. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/jinja/__init__.py +0 -0
  141. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/jinja/t_url_for.py +0 -0
  142. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/jinja/to_pretty_json.py +0 -0
  143. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/json_encoder.py +0 -0
  144. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/load_modules.py +0 -0
  145. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/memory_db/__init__.py +0 -0
  146. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/memory_db/__tests__/__init__.py +0 -0
  147. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/memory_db/errors.py +0 -0
  148. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/memory_db/repository.py +0 -0
  149. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/token_check.py +0 -0
  150. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/token_check_through_request.py +0 -0
  151. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/unwrap_typing.py +0 -0
  152. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/utils/uuid_converter.py +0 -0
  153. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/validators/__init__.py +0 -0
  154. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/validators/__tests__/__init__.py +0 -0
  155. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/validators/__tests__/test_custom_fields.py +0 -0
  156. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/validators/validate_empty_object.py +0 -0
  157. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils/validators/validate_uuid.py +0 -0
  158. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils.egg-info/SOURCES.txt +0 -0
  159. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils.egg-info/dependency_links.txt +0 -0
  160. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils.egg-info/entry_points.txt +0 -0
  161. {ul-api-utils-8.1.3 → ul-api-utils-8.1.4}/ul_api_utils.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ul-api-utils
3
- Version: 8.1.3
3
+ Version: 8.1.4
4
4
  Summary: Python api utils
5
5
  Author: Unic-lab
6
6
  Author-email:
@@ -1,6 +1,6 @@
1
- from unipipeline.message.uni_message import UniMessage
2
- from unipipeline.worker.uni_worker import UniWorker
3
- from unipipeline.worker.uni_worker_consumer_message import UniWorkerConsumerMessage
1
+ from ul_unipipeline.message.uni_message import UniMessage
2
+ from ul_unipipeline.worker.uni_worker import UniWorker
3
+ from ul_unipipeline.worker.uni_worker_consumer_message import UniWorkerConsumerMessage
4
4
 
5
5
  from ul_api_utils.modules.worker_context import WorkerContext
6
6
  from ul_api_utils.modules.worker_sdk import WorkerSdk
@@ -9,7 +9,7 @@ with open(path.join(HERE, 'README.md'), encoding='utf-8') as f:
9
9
 
10
10
  setup(
11
11
  name='ul-api-utils',
12
- version='8.1.3',
12
+ version='8.1.4',
13
13
  description='Python api utils',
14
14
  author='Unic-lab',
15
15
  long_description=long_description,
@@ -48,7 +48,7 @@ setup(
48
48
  ],
49
49
  platforms='any',
50
50
  install_requires=[
51
- "ul-unipipeline>=2.0.0",
51
+ "ul-unipipeline==2.0.5",
52
52
  "jinja2==3.1.2",
53
53
  "flask==2.1.3",
54
54
  "flask-wtf==1.0.1",
@@ -4,9 +4,9 @@ from datetime import datetime
4
4
  from typing import TypeVar, Callable, Any, Union, Dict, Optional, Tuple, TYPE_CHECKING
5
5
 
6
6
  from flask import Flask
7
- from unipipeline.message.uni_message import UniMessage
8
- from unipipeline.worker.uni_worker import UniWorker
9
- from unipipeline.worker.uni_worker_consumer_message import UniWorkerConsumerMessage
7
+ from ul_unipipeline.message.uni_message import UniMessage
8
+ from ul_unipipeline.worker.uni_worker import UniWorker
9
+ from ul_unipipeline.worker.uni_worker_consumer_message import UniWorkerConsumerMessage
10
10
 
11
11
  from ul_api_utils.conf import APPLICATION_START_DT
12
12
  from ul_api_utils.modules.intermediate_state import try_init, try_configure
@@ -4,8 +4,8 @@ from typing import List, Callable, Any, Optional, Dict, TYPE_CHECKING, Tuple, Na
4
4
 
5
5
  from pydantic import model_validator, ConfigDict, Field, BaseModel, PositiveInt, TypeAdapter
6
6
  from sqlalchemy.sql import text
7
- from unipipeline.errors import UniError
8
- from unipipeline.modules.uni import Uni
7
+ from ul_unipipeline.errors import UniError
8
+ from ul_unipipeline.modules.uni import Uni
9
9
 
10
10
  from ul_api_utils.api_resource.api_response import JsonApiResponsePayload
11
11
  from ul_api_utils.errors import Client4XXInternalApiError, Server5XXInternalApiError
@@ -1,7 +1,7 @@
1
1
  from typing import NamedTuple, List, Optional
2
2
 
3
- from unipipeline.errors import UniError
4
- from unipipeline.modules.uni import Uni
3
+ from ul_unipipeline.errors import UniError
4
+ from ul_unipipeline.modules.uni import Uni
5
5
 
6
6
 
7
7
  class DataStreamStats(NamedTuple):
@@ -1,12 +1,16 @@
1
1
  import csv
2
- from typing import TypeVar, Generic, List, Union, Generator, Callable, Annotated, Any
2
+ from typing import TypeVar, Generic, List, Union, Generator, Callable, Annotated, Any, get_args
3
+ from uuid import UUID
3
4
 
4
- from pydantic import ValidationError, Field, StringConstraints
5
- from pydantic.v1.fields import ModelField
5
+ from pydantic import ValidationError, Field, StringConstraints, TypeAdapter
6
+ from pydantic_core.core_schema import ValidationInfo
6
7
 
7
8
  from ul_api_utils.const import CRON_EXPRESSION_VALIDATION_REGEX, MIN_UTC_OFFSET_SECONDS, MAX_UTC_OFFSET_SECONDS
8
9
 
9
10
  NotEmptyListAnnotation = Annotated[list[Any], Field(min_length=1)]
11
+ NotEmptyListStrAnnotation = Annotated[list[str], Field(min_length=1)]
12
+ NotEmptyListIntAnnotation = Annotated[list[int], Field(min_length=1)]
13
+ NotEmptyListUUIDAnnotation = Annotated[list[UUID], Field(min_length=1)]
10
14
  CronScheduleAnnotation = Annotated[str, StringConstraints(pattern=CRON_EXPRESSION_VALIDATION_REGEX)]
11
15
  WhiteSpaceStrippedStrAnnotation = Annotated[str, StringConstraints(strip_whitespace=True)]
12
16
  UTCOffsetSecondsAnnotation = Annotated[int, Field(ge=MIN_UTC_OFFSET_SECONDS, le=MAX_UTC_OFFSET_SECONDS)]
@@ -42,24 +46,31 @@ class QueryParamsSeparatedList(Generic[QueryParamsSeparatedListValueType]):
42
46
  return f'QueryParamsSeparatedList({super().__repr__()})'
43
47
 
44
48
  @classmethod
45
- def __get_validators__(cls) -> Generator[Callable[[Union[List[str], str], ModelField], Union[List[QueryParamsSeparatedListValueType], List[str]]], None, None]:
49
+ def __get_validators__(cls) -> Generator[Callable[[Union[List[str], str], ValidationInfo], List[QueryParamsSeparatedListValueType]], None, None]:
46
50
  yield cls.validate
47
51
 
48
52
  @classmethod
49
- def validate(cls, query_param: Union[List[str], str], field: ModelField) -> Union[List[QueryParamsSeparatedListValueType], List[str]]:
50
- if not isinstance(query_param, List):
53
+ def validate(cls, query_param: Union[List[str], str], info: ValidationInfo) -> List[QueryParamsSeparatedListValueType]:
54
+ """
55
+ Validate and convert the query parameter string into a list of the specified type.
56
+ """
57
+ if not isinstance(query_param, list):
51
58
  query_param = [query_param]
59
+
52
60
  reader = csv.reader(query_param, skipinitialspace=True)
53
61
  splitted = next(reader)
54
- if not field.sub_fields:
55
- return splitted
56
- list_item = field.sub_fields[0] # retrieving info about data type of the list
62
+
63
+ adapter = TypeAdapter(get_args(cls)[0])
64
+
65
+ validated_items = []
57
66
  errors = []
67
+
58
68
  for value in splitted:
59
- validated_list_item, error = list_item.validate(value, {}, loc="separated query param")
60
- if error:
61
- errors.append(error)
69
+ try:
70
+ validated_items.append(adapter.validate_python(value))
71
+ except ValidationError as e:
72
+ errors.append(e)
62
73
  if errors:
63
- raise ValidationError(errors, cls)
64
- # Validation passed without errors, modify string to a list and cast the right type for every element
65
- return [list_item.type_(value) for value in splitted]
74
+ raise ValidationError(errors)
75
+
76
+ return validated_items
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ul-api-utils
3
- Version: 8.1.3
3
+ Version: 8.1.4
4
4
  Summary: Python api utils
5
5
  Author: Unic-lab
6
6
  Author-email:
@@ -1,4 +1,4 @@
1
- ul-unipipeline>=2.0.0
1
+ ul-unipipeline==2.0.5
2
2
  jinja2==3.1.2
3
3
  flask==2.1.3
4
4
  flask-wtf==1.0.1
File without changes
File without changes
File without changes