ul-api-utils 9.3.9__tar.gz → 10.0.0.dev1__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 (163) hide show
  1. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/PKG-INFO +46 -13
  2. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/README.md +6 -6
  3. ul_api_utils-10.0.0.dev1/pyproject.toml +100 -0
  4. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils.egg-info/PKG-INFO +47 -14
  5. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils.egg-info/SOURCES.txt +1 -19
  6. ul_api_utils-10.0.0.dev1/ul_api_utils.egg-info/requires.txt +35 -0
  7. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils.egg-info/top_level.txt +0 -1
  8. ul_api_utils-9.3.9/example/conf.py +0 -35
  9. ul_api_utils-9.3.9/example/main.py +0 -24
  10. ul_api_utils-9.3.9/example/permissions.py +0 -6
  11. ul_api_utils-9.3.9/example/pure_flask_example.py +0 -65
  12. ul_api_utils-9.3.9/example/rate_limit_load.py +0 -10
  13. ul_api_utils-9.3.9/example/redis_repository.py +0 -22
  14. ul_api_utils-9.3.9/example/routes/api_some.py +0 -335
  15. ul_api_utils-9.3.9/example/sockets/on_connect.py +0 -16
  16. ul_api_utils-9.3.9/example/sockets/on_disconnect.py +0 -14
  17. ul_api_utils-9.3.9/example/sockets/on_json.py +0 -10
  18. ul_api_utils-9.3.9/example/sockets/on_message.py +0 -13
  19. ul_api_utils-9.3.9/example/sockets/on_open.py +0 -16
  20. ul_api_utils-9.3.9/example/workers/worker.py +0 -28
  21. ul_api_utils-9.3.9/setup.py +0 -93
  22. ul_api_utils-9.3.9/ul_api_utils/utils/jinja/__init__.py +0 -0
  23. ul_api_utils-9.3.9/ul_api_utils/utils/memory_db/__init__.py +0 -0
  24. ul_api_utils-9.3.9/ul_api_utils/utils/memory_db/__tests__/__init__.py +0 -0
  25. ul_api_utils-9.3.9/ul_api_utils/validators/__init__.py +0 -0
  26. ul_api_utils-9.3.9/ul_api_utils/validators/__tests__/__init__.py +0 -0
  27. ul_api_utils-9.3.9/ul_api_utils.egg-info/requires.txt +0 -33
  28. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/LICENSE +0 -0
  29. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/setup.cfg +0 -0
  30. {ul_api_utils-9.3.9/example → ul_api_utils-10.0.0.dev1/ul_api_utils}/__init__.py +0 -0
  31. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/access/__init__.py +0 -0
  32. {ul_api_utils-9.3.9/example/models → ul_api_utils-10.0.0.dev1/ul_api_utils/api_resource}/__init__.py +0 -0
  33. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/api_resource/api_request.py +0 -0
  34. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/api_resource/api_resource.py +0 -0
  35. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/api_resource/api_resource_config.py +0 -0
  36. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/api_resource/api_resource_error_handling.py +0 -0
  37. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/api_resource/api_resource_fn_typing.py +0 -0
  38. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/api_resource/api_resource_type.py +0 -0
  39. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/api_resource/api_response.py +0 -0
  40. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/api_resource/api_response_db.py +0 -0
  41. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/api_resource/api_response_payload_alias.py +0 -0
  42. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/api_resource/db_types.py +0 -0
  43. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/api_resource/signature_check.py +0 -0
  44. {ul_api_utils-9.3.9/example/routes → ul_api_utils-10.0.0.dev1/ul_api_utils/commands}/__init__.py +0 -0
  45. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/commands/cmd_enc_keys.py +0 -0
  46. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/commands/cmd_gen_api_user_token.py +0 -0
  47. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/commands/cmd_gen_new_api_user.py +0 -0
  48. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/commands/cmd_generate_api_docs.py +0 -0
  49. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/commands/cmd_start.py +0 -0
  50. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/commands/cmd_worker_start.py +0 -0
  51. {ul_api_utils-9.3.9/example/sockets → ul_api_utils-10.0.0.dev1/ul_api_utils/commands/start}/__init__.py +0 -0
  52. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/commands/start/gunicorn.conf.local.py +0 -0
  53. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/commands/start/gunicorn.conf.py +0 -0
  54. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/commands/start/wsgi.py +0 -0
  55. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/conf/ul-debugger-main.js +0 -0
  56. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/conf/ul-debugger-ui.js +0 -0
  57. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/conf.py +0 -0
  58. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/const.py +0 -0
  59. {ul_api_utils-9.3.9/example/workers → ul_api_utils-10.0.0.dev1/ul_api_utils/debug}/__init__.py +0 -0
  60. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/debug/debugger.py +0 -0
  61. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/debug/malloc.py +0 -0
  62. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/debug/stat.py +0 -0
  63. {ul_api_utils-9.3.9/ul_api_utils → ul_api_utils-10.0.0.dev1/ul_api_utils/encrypt}/__init__.py +0 -0
  64. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/encrypt/encrypt_decrypt_abstract.py +0 -0
  65. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/encrypt/encrypt_decrypt_aes_xtea.py +0 -0
  66. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/errors.py +0 -0
  67. {ul_api_utils-9.3.9/ul_api_utils/api_resource → ul_api_utils-10.0.0.dev1/ul_api_utils/internal_api}/__init__.py +0 -0
  68. {ul_api_utils-9.3.9/ul_api_utils/commands → ul_api_utils-10.0.0.dev1/ul_api_utils/internal_api/__tests__}/__init__.py +0 -0
  69. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/internal_api/__tests__/internal_api.py +0 -0
  70. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/internal_api/__tests__/internal_api_content_type.py +0 -0
  71. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/internal_api/internal_api.py +0 -0
  72. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/internal_api/internal_api_check_context.py +0 -0
  73. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/internal_api/internal_api_error.py +0 -0
  74. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/internal_api/internal_api_response.py +0 -0
  75. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/main.py +0 -0
  76. {ul_api_utils-9.3.9/ul_api_utils/commands/start → ul_api_utils-10.0.0.dev1/ul_api_utils/modules}/__init__.py +0 -0
  77. {ul_api_utils-9.3.9/ul_api_utils/debug → ul_api_utils-10.0.0.dev1/ul_api_utils/modules/__tests__}/__init__.py +0 -0
  78. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/modules/__tests__/test_api_sdk_jwt.py +0 -0
  79. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/modules/api_sdk.py +0 -0
  80. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/modules/api_sdk_config.py +0 -0
  81. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/modules/api_sdk_jwt.py +0 -0
  82. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/modules/intermediate_state.py +0 -0
  83. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/modules/worker_context.py +0 -0
  84. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/modules/worker_sdk.py +0 -0
  85. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/modules/worker_sdk_config.py +0 -0
  86. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/py.typed +0 -0
  87. {ul_api_utils-9.3.9/ul_api_utils/encrypt → ul_api_utils-10.0.0.dev1/ul_api_utils/resources}/__init__.py +0 -0
  88. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/resources/caching.py +0 -0
  89. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/resources/debugger_scripts.py +0 -0
  90. {ul_api_utils-9.3.9/ul_api_utils/internal_api → ul_api_utils-10.0.0.dev1/ul_api_utils/resources/health_check}/__init__.py +0 -0
  91. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/resources/health_check/const.py +0 -0
  92. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/resources/health_check/health_check.py +0 -0
  93. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/resources/health_check/health_check_template.py +0 -0
  94. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/resources/health_check/resource.py +0 -0
  95. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/resources/not_implemented.py +0 -0
  96. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/resources/permissions.py +0 -0
  97. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/resources/rate_limitter.py +0 -0
  98. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/resources/socketio.py +0 -0
  99. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/resources/swagger.py +0 -0
  100. {ul_api_utils-9.3.9/ul_api_utils/internal_api/__tests__ → ul_api_utils-10.0.0.dev1/ul_api_utils/resources/web_forms}/__init__.py +0 -0
  101. {ul_api_utils-9.3.9/ul_api_utils/modules → ul_api_utils-10.0.0.dev1/ul_api_utils/resources/web_forms/custom_fields}/__init__.py +0 -0
  102. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/resources/web_forms/custom_fields/custom_checkbox_select.py +0 -0
  103. {ul_api_utils-9.3.9/ul_api_utils/modules/__tests__ → ul_api_utils-10.0.0.dev1/ul_api_utils/resources/web_forms/custom_widgets}/__init__.py +0 -0
  104. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/resources/web_forms/custom_widgets/custom_select_widget.py +0 -0
  105. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/resources/web_forms/custom_widgets/custom_text_input_widget.py +0 -0
  106. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/resources/web_forms/uni_form.py +0 -0
  107. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/sentry.py +0 -0
  108. {ul_api_utils-9.3.9/ul_api_utils/resources → ul_api_utils-10.0.0.dev1/ul_api_utils/utils}/__init__.py +0 -0
  109. {ul_api_utils-9.3.9/ul_api_utils/resources/health_check → ul_api_utils-10.0.0.dev1/ul_api_utils/utils/__tests__}/__init__.py +0 -0
  110. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/__tests__/api_path_version.py +0 -0
  111. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/__tests__/unwrap_typing.py +0 -0
  112. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/api_encoding.py +0 -0
  113. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/api_format.py +0 -0
  114. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/api_method.py +0 -0
  115. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/api_pagination.py +0 -0
  116. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/api_path_version.py +0 -0
  117. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/api_request_info.py +0 -0
  118. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/avro.py +0 -0
  119. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/broker_topics_message_count.py +0 -0
  120. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/cached_per_request.py +0 -0
  121. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/colors.py +0 -0
  122. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/constants.py +0 -0
  123. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/decode_base64.py +0 -0
  124. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/deprecated.py +0 -0
  125. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/flags.py +0 -0
  126. {ul_api_utils-9.3.9/ul_api_utils/resources/web_forms → ul_api_utils-10.0.0.dev1/ul_api_utils/utils/flask_swagger_generator}/__init__.py +0 -0
  127. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/flask_swagger_generator/conf.py +0 -0
  128. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/flask_swagger_generator/exceptions.py +0 -0
  129. {ul_api_utils-9.3.9/ul_api_utils/resources/web_forms/custom_fields → ul_api_utils-10.0.0.dev1/ul_api_utils/utils/flask_swagger_generator/specifiers}/__init__.py +0 -0
  130. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/flask_swagger_generator/specifiers/swagger_models.py +0 -0
  131. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/flask_swagger_generator/specifiers/swagger_specifier.py +0 -0
  132. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/flask_swagger_generator/specifiers/swagger_three_specifier.py +0 -0
  133. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/flask_swagger_generator/specifiers/swagger_version.py +0 -0
  134. {ul_api_utils-9.3.9/ul_api_utils/resources/web_forms/custom_widgets → ul_api_utils-10.0.0.dev1/ul_api_utils/utils/flask_swagger_generator/utils}/__init__.py +0 -0
  135. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/flask_swagger_generator/utils/input_type.py +0 -0
  136. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/flask_swagger_generator/utils/parameter_type.py +0 -0
  137. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/flask_swagger_generator/utils/replace_in_dict.py +0 -0
  138. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/flask_swagger_generator/utils/request_type.py +0 -0
  139. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/flask_swagger_generator/utils/schema_type.py +0 -0
  140. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/flask_swagger_generator/utils/security_type.py +0 -0
  141. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/imports.py +0 -0
  142. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/instance_checks.py +0 -0
  143. {ul_api_utils-9.3.9/ul_api_utils/utils → ul_api_utils-10.0.0.dev1/ul_api_utils/utils/jinja}/__init__.py +0 -0
  144. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/jinja/t_url_for.py +0 -0
  145. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/jinja/to_pretty_json.py +0 -0
  146. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/json_encoder.py +0 -0
  147. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/load_modules.py +0 -0
  148. {ul_api_utils-9.3.9/ul_api_utils/utils/__tests__ → ul_api_utils-10.0.0.dev1/ul_api_utils/utils/memory_db}/__init__.py +0 -0
  149. {ul_api_utils-9.3.9/ul_api_utils/utils/flask_swagger_generator → ul_api_utils-10.0.0.dev1/ul_api_utils/utils/memory_db/__tests__}/__init__.py +0 -0
  150. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/memory_db/errors.py +0 -0
  151. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/memory_db/repository.py +0 -0
  152. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/token_check.py +0 -0
  153. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/token_check_through_request.py +0 -0
  154. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/unwrap_typing.py +0 -0
  155. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/utils/uuid_converter.py +0 -0
  156. {ul_api_utils-9.3.9/ul_api_utils/utils/flask_swagger_generator/specifiers → ul_api_utils-10.0.0.dev1/ul_api_utils/validators}/__init__.py +0 -0
  157. {ul_api_utils-9.3.9/ul_api_utils/utils/flask_swagger_generator/utils → ul_api_utils-10.0.0.dev1/ul_api_utils/validators/__tests__}/__init__.py +0 -0
  158. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/validators/__tests__/test_custom_fields.py +0 -0
  159. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/validators/custom_fields.py +0 -0
  160. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/validators/validate_empty_object.py +0 -0
  161. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils/validators/validate_uuid.py +0 -0
  162. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils.egg-info/dependency_links.txt +0 -0
  163. {ul_api_utils-9.3.9 → ul_api_utils-10.0.0.dev1}/ul_api_utils.egg-info/entry_points.txt +0 -0
@@ -1,20 +1,53 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: ul_api_utils
3
- Version: 9.3.9
3
+ Version: 10.0.0.dev1
4
4
  Summary: Python api utils
5
5
  Author: Unic-lab
6
- Author-email:
7
6
  License: MIT
8
- Platform: any
9
7
  Classifier: Intended Audience :: Developers
10
8
  Classifier: License :: OSI Approved :: MIT License
11
9
  Classifier: Programming Language :: Python
12
- Classifier: Programming Language :: Python :: 3.8
13
- Classifier: Programming Language :: Python :: 3.9
14
- Classifier: Programming Language :: Python :: 3.10
10
+ Classifier: Programming Language :: Python :: 3.14
15
11
  Classifier: Operating System :: OS Independent
12
+ Requires-Python: >=3.14
16
13
  Description-Content-Type: text/markdown
17
14
  License-File: LICENSE
15
+ Requires-Dist: ul-db-utils==5.2.1.dev0
16
+ Requires-Dist: ul-py-tool==3.0.2.dev1
17
+ Requires-Dist: ul-unipipeline>=3.0.1.dev1
18
+ Requires-Dist: frozendict>=2.4.4
19
+ Requires-Dist: jinja2>=3.1.6
20
+ Requires-Dist: flask>=3.1.0
21
+ Requires-Dist: flask-wtf>=1.2.2
22
+ Requires-Dist: flask-limiter>=3.10.1
23
+ Requires-Dist: flask-swagger-ui>=4.11.1
24
+ Requires-Dist: flask-monitoringdashboard>=3.3.2
25
+ Requires-Dist: flask-caching>=2.3.1
26
+ Requires-Dist: pycryptodome>=3.21.0
27
+ Requires-Dist: pyjwt>=2.10.1
28
+ Requires-Dist: gunicorn>=23.0.0
29
+ Requires-Dist: gevent>=25.9.1
30
+ Requires-Dist: gevent-websocket>=0.10.1
31
+ Requires-Dist: flask-socketio>=5.5.1
32
+ Requires-Dist: pyyaml>=6.0
33
+ Requires-Dist: requests>=2.31.0
34
+ Requires-Dist: cryptography>=44.0.2
35
+ Requires-Dist: colored>=1.4.3
36
+ Requires-Dist: factory-boy>=3.3.0
37
+ Requires-Dist: faker>=37.0.0
38
+ Requires-Dist: ormsgpack>=1.11.0
39
+ Requires-Dist: msgpack>=1.1.2
40
+ Requires-Dist: msgpack-types>=0.5.0
41
+ Requires-Dist: fastavro>=1.11.1
42
+ Requires-Dist: xlsxwriter>=3.2.2
43
+ Requires-Dist: sentry-sdk[flask]>=2.22.0
44
+ Requires-Dist: pathvalidate>=3.2.3
45
+ Requires-Dist: types-requests>=2.32.0.20250306
46
+ Requires-Dist: types-jinja2>=2.11.9
47
+ Requires-Dist: werkzeug>=3.1.3
48
+ Requires-Dist: wtforms>=3.0.1
49
+ Requires-Dist: wtforms-alchemy>=0.18.0
50
+ Dynamic: license-file
18
51
 
19
52
  # Generic library api-utils
20
53
 
@@ -218,11 +251,11 @@ def validate_empty_object(obj_id: str, model: Any) -> Any:
218
251
 
219
252
  > Check this library for deprecation, does it have enough maintenance, library dependencies.
220
253
  > If all above satisfies you, perform next steps:
221
- > 1. Add the package name and version to **Pipfile** under ```[packages]``` section. Example: ```alembic = "==1.8.1"```.
222
- > 2. Run ```pipenv install```.
223
- > 3. Add the package name and version to **setup.py** to ```install-requires``` section.
254
+ > 1. Add the package name and version to **pyproject.toml** under ```[project].dependencies``` section. Example: ```alembic>=1.8.1```.
255
+ > 2. Run ```uv lock && uv sync --frozen```.
256
+ > 3. Verify command aliases in **pyproject.toml** under ```[tool.uvs.scripts]``` if needed.
224
257
  > 4. Commit changes. ```git commit -m "Add dependency *library-name*"```.
225
- > 5. Run version patch: ```pipenv run version_patch```.
258
+ > 5. Run version patch: ```uv run uvs version_patch```.
226
259
  > 6. Push changes directly to dev ```git push origin dev --tags``` or raise MR for your changes to be reviewed.
227
260
 
228
261
 
@@ -238,9 +271,9 @@ FLASK_DEBUG=1 FLASK_ENV=development FLASK_APP=example.example_app APPLICATION_DI
238
271
  ## How to create keys
239
272
 
240
273
  ```bash
241
- pipenv run enc_keys --algorithm=RS256 --service-name some --follower-services foo bar --jwt-permissions-module example.permissions --jwt-user-id 03670a66-fb50-437e-96ae-b42bb83e3d04 --jwt-environment=local
274
+ uv run uvs enc_keys --algorithm=RS256 --service-name some --follower-services foo bar --jwt-permissions-module example.permissions --jwt-user-id 03670a66-fb50-437e-96ae-b42bb83e3d04 --jwt-environment=local
242
275
  ```
243
276
 
244
277
  ```bash
245
- pipenv run enc_keys --algorithm ES256 --service-name some --follower-services foo bar --jwt-permissions-module example.permissions --jwt-user-id 03670a66-fb50-437e-96ae-b42bb83e3d04 --jwt-environment=local
278
+ uv run uvs enc_keys --algorithm ES256 --service-name some --follower-services foo bar --jwt-permissions-module example.permissions --jwt-user-id 03670a66-fb50-437e-96ae-b42bb83e3d04 --jwt-environment=local
246
279
  ```
@@ -200,11 +200,11 @@ def validate_empty_object(obj_id: str, model: Any) -> Any:
200
200
 
201
201
  > Check this library for deprecation, does it have enough maintenance, library dependencies.
202
202
  > If all above satisfies you, perform next steps:
203
- > 1. Add the package name and version to **Pipfile** under ```[packages]``` section. Example: ```alembic = "==1.8.1"```.
204
- > 2. Run ```pipenv install```.
205
- > 3. Add the package name and version to **setup.py** to ```install-requires``` section.
203
+ > 1. Add the package name and version to **pyproject.toml** under ```[project].dependencies``` section. Example: ```alembic>=1.8.1```.
204
+ > 2. Run ```uv lock && uv sync --frozen```.
205
+ > 3. Verify command aliases in **pyproject.toml** under ```[tool.uvs.scripts]``` if needed.
206
206
  > 4. Commit changes. ```git commit -m "Add dependency *library-name*"```.
207
- > 5. Run version patch: ```pipenv run version_patch```.
207
+ > 5. Run version patch: ```uv run uvs version_patch```.
208
208
  > 6. Push changes directly to dev ```git push origin dev --tags``` or raise MR for your changes to be reviewed.
209
209
 
210
210
 
@@ -220,9 +220,9 @@ FLASK_DEBUG=1 FLASK_ENV=development FLASK_APP=example.example_app APPLICATION_DI
220
220
  ## How to create keys
221
221
 
222
222
  ```bash
223
- pipenv run enc_keys --algorithm=RS256 --service-name some --follower-services foo bar --jwt-permissions-module example.permissions --jwt-user-id 03670a66-fb50-437e-96ae-b42bb83e3d04 --jwt-environment=local
223
+ uv run uvs enc_keys --algorithm=RS256 --service-name some --follower-services foo bar --jwt-permissions-module example.permissions --jwt-user-id 03670a66-fb50-437e-96ae-b42bb83e3d04 --jwt-environment=local
224
224
  ```
225
225
 
226
226
  ```bash
227
- pipenv run enc_keys --algorithm ES256 --service-name some --follower-services foo bar --jwt-permissions-module example.permissions --jwt-user-id 03670a66-fb50-437e-96ae-b42bb83e3d04 --jwt-environment=local
227
+ uv run uvs enc_keys --algorithm ES256 --service-name some --follower-services foo bar --jwt-permissions-module example.permissions --jwt-user-id 03670a66-fb50-437e-96ae-b42bb83e3d04 --jwt-environment=local
228
228
  ```
@@ -0,0 +1,100 @@
1
+ [build-system]
2
+ requires = [
3
+ "setuptools>=69.5.1",
4
+ "wheel>=0.43.0",
5
+ ]
6
+ build-backend = "setuptools.build_meta"
7
+
8
+ [project]
9
+ name = "ul_api_utils"
10
+ version = "10.0.0.dev1"
11
+ description = "Python api utils"
12
+ readme = "README.md"
13
+ license = { text = "MIT" }
14
+ authors = [{ name = "Unic-lab" }]
15
+ requires-python = ">=3.14"
16
+ classifiers = [
17
+ "Intended Audience :: Developers",
18
+ "License :: OSI Approved :: MIT License",
19
+ "Programming Language :: Python",
20
+ "Programming Language :: Python :: 3.14",
21
+ "Operating System :: OS Independent",
22
+ ]
23
+ dependencies = [
24
+ "ul-db-utils==5.2.1.dev0",
25
+ "ul-py-tool==3.0.2.dev1",
26
+ "ul-unipipeline>=3.0.1.dev1",
27
+ "frozendict>=2.4.4",
28
+ "jinja2>=3.1.6",
29
+ "flask>=3.1.0",
30
+ "flask-wtf>=1.2.2",
31
+ "flask-limiter>=3.10.1",
32
+ "flask-swagger-ui>=4.11.1",
33
+ "flask-monitoringdashboard>=3.3.2",
34
+ "flask-caching>=2.3.1",
35
+ "pycryptodome>=3.21.0",
36
+ "pyjwt>=2.10.1",
37
+ "gunicorn>=23.0.0",
38
+ "gevent>=25.9.1",
39
+ "gevent-websocket>=0.10.1",
40
+ "flask-socketio>=5.5.1",
41
+ "pyyaml>=6.0",
42
+ "requests>=2.31.0",
43
+ "cryptography>=44.0.2",
44
+ "colored>=1.4.3",
45
+ "factory-boy>=3.3.0",
46
+ "faker>=37.0.0",
47
+ "ormsgpack>=1.11.0",
48
+ "msgpack>=1.1.2",
49
+ "msgpack-types>=0.5.0",
50
+ "fastavro>=1.11.1",
51
+ "xlsxwriter>=3.2.2",
52
+ "sentry-sdk[flask]>=2.22.0",
53
+ "pathvalidate>=3.2.3",
54
+ "types-requests>=2.32.0.20250306",
55
+ "types-jinja2>=2.11.9",
56
+ "werkzeug>=3.1.3",
57
+ "wtforms>=3.0.1",
58
+ "wtforms-alchemy>=0.18.0",
59
+ ]
60
+
61
+ [project.scripts]
62
+ ulapiutls = "ul_api_utils.main:main"
63
+
64
+ [tool.uvs.scripts]
65
+ prepare = "uv build"
66
+ ci-smoke = "sh -lc 'uv lock --python 3.14 && uv sync --frozen && rm -f dist/*.whl dist/*.tar.gz && uv build && uv pip install --force-reinstall dist/ul_api_utils-10.0.0.dev1-py3-none-any.whl && uv run python -c \"import importlib.metadata as m; print(m.version(\\\"ul-api-utils\\\"))\"'"
67
+ lint = "ulpytool lint --check-imports=0 --dockercomposefiles-ignore example/**"
68
+ test = "ulpytool test"
69
+ version_minor = "ulpytool minor"
70
+ version_patch = "ulpytool patch"
71
+ version_major = "ulpytool major"
72
+ start = "bash -c 'APPLICATION_GUNICORN_WORKERS=12 python3 ./ul_api_utils/main.py start --app-dir ./example --env=staging --port=5000 --debug=0 --freeze=gc=True'"
73
+ start_socket = "bash -c 'APPLICATION_GUNICORN_WORKERS=1 python3 ./ul_api_utils/main.py start --app-dir ./example --env=staging --port=5000 --debug=0 --worker-class=geventwebsocket.gunicorn.workers.GeventWebSocketWorker'"
74
+ start_debug = "bash -c 'APPLICATION_GUNICORN_WORKERS=12 FLASK_MONITORING_DASHBOARD_CONFIG=./example/fmd.cfg python3 ./ul_api_utils/main.py start --app-dir ./example --env=local --port=5000 --debug=1'"
75
+ start_1 = "bash -c 'APPLICATION_GUNICORN_WORKERS=1 PROFILE_MEM=1 python3 ./ul_api_utils/main.py start --app-dir ./example --env=staging --port=5000 --debug=0'"
76
+ start_flask = "bash -c 'FLASK_DEBUG=0 FLASK_ENV=production FLASK_APP=example.main APPLICATION_DIR=$(pwd)/example APPLICATION_DEBUG=0 flask run --port 5000'"
77
+ start_help = "python3 ./ul_api_utils/main.py start --help"
78
+ start_rate_limit_load = "python3 ./example/rate_limit_load.py"
79
+ enc_keys = "python3 ./ul_api_utils/main.py enc_keys"
80
+ gen_new_api_user = "python3 ./ul_api_utils/main.py gen_new_api_user"
81
+ gen_api_user_token = "python3 ./ul_api_utils/main.py gen_api_user_token"
82
+
83
+ [tool.setuptools]
84
+ include-package-data = true
85
+
86
+ [tool.setuptools.packages.find]
87
+ include = ["ul_api_utils*"]
88
+
89
+ [tool.setuptools.package-data]
90
+ ul_api_utils = [
91
+ "py.typed",
92
+ "utils/flask_swagger_ui/templates/*.html",
93
+ "utils/flask_swagger_ui/static/*.html",
94
+ "utils/flask_swagger_ui/static/*.js",
95
+ "utils/flask_swagger_ui/static/*.css",
96
+ "utils/flask_swagger_ui/static/*.png",
97
+ "utils/flask_swagger_ui/static/*.map",
98
+ "conf/ul-debugger-main.js",
99
+ "conf/ul-debugger-ui.js",
100
+ ]
@@ -1,20 +1,53 @@
1
- Metadata-Version: 2.1
2
- Name: ul-api-utils
3
- Version: 9.3.9
1
+ Metadata-Version: 2.4
2
+ Name: ul_api_utils
3
+ Version: 10.0.0.dev1
4
4
  Summary: Python api utils
5
5
  Author: Unic-lab
6
- Author-email:
7
6
  License: MIT
8
- Platform: any
9
7
  Classifier: Intended Audience :: Developers
10
8
  Classifier: License :: OSI Approved :: MIT License
11
9
  Classifier: Programming Language :: Python
12
- Classifier: Programming Language :: Python :: 3.8
13
- Classifier: Programming Language :: Python :: 3.9
14
- Classifier: Programming Language :: Python :: 3.10
10
+ Classifier: Programming Language :: Python :: 3.14
15
11
  Classifier: Operating System :: OS Independent
12
+ Requires-Python: >=3.14
16
13
  Description-Content-Type: text/markdown
17
14
  License-File: LICENSE
15
+ Requires-Dist: ul-db-utils==5.2.1.dev0
16
+ Requires-Dist: ul-py-tool==3.0.2.dev1
17
+ Requires-Dist: ul-unipipeline>=3.0.1.dev1
18
+ Requires-Dist: frozendict>=2.4.4
19
+ Requires-Dist: jinja2>=3.1.6
20
+ Requires-Dist: flask>=3.1.0
21
+ Requires-Dist: flask-wtf>=1.2.2
22
+ Requires-Dist: flask-limiter>=3.10.1
23
+ Requires-Dist: flask-swagger-ui>=4.11.1
24
+ Requires-Dist: flask-monitoringdashboard>=3.3.2
25
+ Requires-Dist: flask-caching>=2.3.1
26
+ Requires-Dist: pycryptodome>=3.21.0
27
+ Requires-Dist: pyjwt>=2.10.1
28
+ Requires-Dist: gunicorn>=23.0.0
29
+ Requires-Dist: gevent>=25.9.1
30
+ Requires-Dist: gevent-websocket>=0.10.1
31
+ Requires-Dist: flask-socketio>=5.5.1
32
+ Requires-Dist: pyyaml>=6.0
33
+ Requires-Dist: requests>=2.31.0
34
+ Requires-Dist: cryptography>=44.0.2
35
+ Requires-Dist: colored>=1.4.3
36
+ Requires-Dist: factory-boy>=3.3.0
37
+ Requires-Dist: faker>=37.0.0
38
+ Requires-Dist: ormsgpack>=1.11.0
39
+ Requires-Dist: msgpack>=1.1.2
40
+ Requires-Dist: msgpack-types>=0.5.0
41
+ Requires-Dist: fastavro>=1.11.1
42
+ Requires-Dist: xlsxwriter>=3.2.2
43
+ Requires-Dist: sentry-sdk[flask]>=2.22.0
44
+ Requires-Dist: pathvalidate>=3.2.3
45
+ Requires-Dist: types-requests>=2.32.0.20250306
46
+ Requires-Dist: types-jinja2>=2.11.9
47
+ Requires-Dist: werkzeug>=3.1.3
48
+ Requires-Dist: wtforms>=3.0.1
49
+ Requires-Dist: wtforms-alchemy>=0.18.0
50
+ Dynamic: license-file
18
51
 
19
52
  # Generic library api-utils
20
53
 
@@ -218,11 +251,11 @@ def validate_empty_object(obj_id: str, model: Any) -> Any:
218
251
 
219
252
  > Check this library for deprecation, does it have enough maintenance, library dependencies.
220
253
  > If all above satisfies you, perform next steps:
221
- > 1. Add the package name and version to **Pipfile** under ```[packages]``` section. Example: ```alembic = "==1.8.1"```.
222
- > 2. Run ```pipenv install```.
223
- > 3. Add the package name and version to **setup.py** to ```install-requires``` section.
254
+ > 1. Add the package name and version to **pyproject.toml** under ```[project].dependencies``` section. Example: ```alembic>=1.8.1```.
255
+ > 2. Run ```uv lock && uv sync --frozen```.
256
+ > 3. Verify command aliases in **pyproject.toml** under ```[tool.uvs.scripts]``` if needed.
224
257
  > 4. Commit changes. ```git commit -m "Add dependency *library-name*"```.
225
- > 5. Run version patch: ```pipenv run version_patch```.
258
+ > 5. Run version patch: ```uv run uvs version_patch```.
226
259
  > 6. Push changes directly to dev ```git push origin dev --tags``` or raise MR for your changes to be reviewed.
227
260
 
228
261
 
@@ -238,9 +271,9 @@ FLASK_DEBUG=1 FLASK_ENV=development FLASK_APP=example.example_app APPLICATION_DI
238
271
  ## How to create keys
239
272
 
240
273
  ```bash
241
- pipenv run enc_keys --algorithm=RS256 --service-name some --follower-services foo bar --jwt-permissions-module example.permissions --jwt-user-id 03670a66-fb50-437e-96ae-b42bb83e3d04 --jwt-environment=local
274
+ uv run uvs enc_keys --algorithm=RS256 --service-name some --follower-services foo bar --jwt-permissions-module example.permissions --jwt-user-id 03670a66-fb50-437e-96ae-b42bb83e3d04 --jwt-environment=local
242
275
  ```
243
276
 
244
277
  ```bash
245
- pipenv run enc_keys --algorithm ES256 --service-name some --follower-services foo bar --jwt-permissions-module example.permissions --jwt-user-id 03670a66-fb50-437e-96ae-b42bb83e3d04 --jwt-environment=local
278
+ uv run uvs enc_keys --algorithm ES256 --service-name some --follower-services foo bar --jwt-permissions-module example.permissions --jwt-user-id 03670a66-fb50-437e-96ae-b42bb83e3d04 --jwt-environment=local
246
279
  ```
@@ -1,24 +1,6 @@
1
1
  LICENSE
2
2
  README.md
3
- setup.py
4
- example/__init__.py
5
- example/conf.py
6
- example/main.py
7
- example/permissions.py
8
- example/pure_flask_example.py
9
- example/rate_limit_load.py
10
- example/redis_repository.py
11
- example/models/__init__.py
12
- example/routes/__init__.py
13
- example/routes/api_some.py
14
- example/sockets/__init__.py
15
- example/sockets/on_connect.py
16
- example/sockets/on_disconnect.py
17
- example/sockets/on_json.py
18
- example/sockets/on_message.py
19
- example/sockets/on_open.py
20
- example/workers/__init__.py
21
- example/workers/worker.py
3
+ pyproject.toml
22
4
  ul_api_utils/__init__.py
23
5
  ul_api_utils/conf.py
24
6
  ul_api_utils/const.py
@@ -0,0 +1,35 @@
1
+ ul-db-utils==5.2.1.dev0
2
+ ul-py-tool==3.0.2.dev1
3
+ ul-unipipeline>=3.0.1.dev1
4
+ frozendict>=2.4.4
5
+ jinja2>=3.1.6
6
+ flask>=3.1.0
7
+ flask-wtf>=1.2.2
8
+ flask-limiter>=3.10.1
9
+ flask-swagger-ui>=4.11.1
10
+ flask-monitoringdashboard>=3.3.2
11
+ flask-caching>=2.3.1
12
+ pycryptodome>=3.21.0
13
+ pyjwt>=2.10.1
14
+ gunicorn>=23.0.0
15
+ gevent>=25.9.1
16
+ gevent-websocket>=0.10.1
17
+ flask-socketio>=5.5.1
18
+ pyyaml>=6.0
19
+ requests>=2.31.0
20
+ cryptography>=44.0.2
21
+ colored>=1.4.3
22
+ factory-boy>=3.3.0
23
+ faker>=37.0.0
24
+ ormsgpack>=1.11.0
25
+ msgpack>=1.1.2
26
+ msgpack-types>=0.5.0
27
+ fastavro>=1.11.1
28
+ xlsxwriter>=3.2.2
29
+ sentry-sdk[flask]>=2.22.0
30
+ pathvalidate>=3.2.3
31
+ types-requests>=2.32.0.20250306
32
+ types-jinja2>=2.11.9
33
+ werkzeug>=3.1.3
34
+ wtforms>=3.0.1
35
+ wtforms-alchemy>=0.18.0
@@ -1,35 +0,0 @@
1
- import os
2
-
3
- from ul_db_utils.modules.postgres_modules.db import DbConfig
4
-
5
- from ul_api_utils.modules.api_sdk import ApiSdk
6
- from ul_api_utils.modules.api_sdk_config import ApiSdkConfig, ApiSdkIdentifyTypeEnum, \
7
- ApiSdkFlaskDebuggingPluginsEnabled
8
- from example.permissions import permissions
9
- from ul_api_utils.resources.socketio import SocketIOConfigType, SocketIOConfig
10
-
11
-
12
- sdk = ApiSdk(ApiSdkConfig(
13
- socket_config=SocketIOConfig(
14
- app_type=SocketIOConfigType.EXTERNAL_PROCESS,
15
- message_queue='redis://localhost:16379',
16
- logs_enabled=True,
17
- engineio_logs_enabled=False,
18
- ),
19
- service_name='example_service',
20
- permissions=permissions,
21
- cache_storage_uri='redis://localhost:16379',
22
- cache_default_ttl=60,
23
- rate_limit_storage_uri='redis://localhost:16379',
24
- rate_limit_identify=ApiSdkIdentifyTypeEnum.JWT_USER_ID,
25
- flask_debugging_plugins=ApiSdkFlaskDebuggingPluginsEnabled(
26
- flask_monitoring_dashboard=True,
27
- ),
28
- web_error_template='error.html.jinja2',
29
- ))
30
-
31
-
32
- fake_models_dir = os.path.join(os.path.dirname(__file__), 'models')
33
-
34
-
35
- db_config = DbConfig(uri='postgresql://admin:admin@localhost:45432/example', models_path=fake_models_dir)
@@ -1,24 +0,0 @@
1
- # from gevent import monkey
2
- #
3
- # monkey.patch_all()
4
-
5
-
6
- # UNCOMMENT THIS IN CASE YOU'RE TESTING GEVENT WORKERS WITH SOCKET.IO
7
-
8
- import os
9
-
10
- if int(os.environ.get('PROFILE_MEM', '0')):
11
- from ul_api_utils.debug.malloc import trace_malloc
12
-
13
- with trace_malloc(show_all=True):
14
- from example.conf import sdk, db_config
15
-
16
- flask_app = sdk.init_with_flask(__name__, db_config=db_config)
17
- else:
18
- from example.conf import sdk, db_config
19
-
20
- flask_app = sdk.init_with_flask(__name__, db_config=db_config)
21
-
22
- __all__ = (
23
- 'flask_app',
24
- )
@@ -1,6 +0,0 @@
1
- from ul_api_utils.access import PermissionRegistry
2
-
3
- permissions = PermissionRegistry('example-debug-log', 111, 222)
4
-
5
- SOME_PERMISSION = permissions.add('SOME', 1, 'Param pam Pam', 'test')
6
- SOME_PERMISSION2 = permissions.add('SOME2', 2, 'Param pam Pam2', 'test', flags='123,234')
@@ -1,65 +0,0 @@
1
- # import os.path
2
- # from tempfile import NamedTemporaryFile
3
- #
4
- # from flask import Flask, send_file, after_this_request, Response
5
- #
6
- # app = Flask(__name__)
7
- #
8
- #
9
- # files = []
10
- #
11
- #
12
- # # def _clean_files():
13
- # # print('_clean_files')
14
- # #
15
- # #
16
- # # @app.after_request
17
- # # def _after(resp):
18
- # # print('_after', resp)
19
- # # return resp
20
- # #
21
- # #
22
- # # def _after_this(resp):
23
- # # print('_after_this', resp)
24
- # # return resp
25
- #
26
- #
27
- # @app.route('/test')
28
- # def donwload_test():
29
- # resp = Response("some")
30
- #
31
- # after_this_request(_after_this)
32
- # resp.call_on_close(_clean_files)
33
- #
34
- # return resp, 200
35
- #
36
- #
37
- # # @app.teardown_request
38
- # # def _teardown(exc):
39
- # # print('_teardown', str(exc))
40
- #
41
- #
42
- # @app.route('/test-file')
43
- # def donwload_test_file():
44
- # f = NamedTemporaryFile()
45
- # for ff in files:
46
- # print(f'{ff} = {os.path.exists(ff)}')
47
- # files.append(str(f.name))
48
- # # f.seek(0)
49
- # f.write(b'test\n')
50
- # f.write(b'test\n')
51
- # f.write(b'test\n')
52
- # f.write(b'test\n')
53
- #
54
- # with open(f.name, 'w+t') as ff:
55
- # ff.write('SOME\n')
56
- # ff.write('SOME\n')
57
- # ff.write('SOME\n')
58
- # ff.write('SOME\n')
59
- #
60
- # resp = send_file(f, mimetype='application/javascript')
61
- #
62
- # # after_this_request(_after_this)
63
- # # resp.call_on_close(_clean_files)
64
- #
65
- # return resp
@@ -1,10 +0,0 @@
1
- import requests
2
-
3
-
4
- max_lim = 10000
5
-
6
-
7
- for i in range(max_lim):
8
- resp = requests.get('http://localhost:5001/api/v1/example-send-temp-file')
9
- print(f'{i}/{max_lim} = {resp.status_code}') # noqa
10
- resp.raise_for_status()
@@ -1,22 +0,0 @@
1
- from typing import Any
2
-
3
- import redis
4
- from pydantic import BaseModel, UUID4
5
- from uuid import uuid4
6
- from ul_api_utils.utils.memory_db.repository import BaseMemoryDbRepository
7
-
8
- redis_client: Any = redis.StrictRedis.from_url("redis://172.19.0.2:6379")
9
- redis_db = BaseMemoryDbRepository(redis_client=redis_client)
10
-
11
-
12
- class Person(BaseModel):
13
- id: UUID4
14
- name: str = 'Slava'
15
-
16
-
17
- slava = Person(id=uuid4())
18
-
19
-
20
- redis_db['slava'] = 35
21
- value = redis_db['slava', Person]
22
- value2 = redis_db.get('slava', default=1)