qwak-sdk 0.5.37__tar.gz → 0.5.39__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 qwak-sdk might be problematic. Click here for more details.

Files changed (332) hide show
  1. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/PKG-INFO +2 -2
  2. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/pyproject.toml +2 -2
  3. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/__init__.py +1 -1
  4. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/feature_store/register/_logic.py +68 -73
  5. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/feature_store/register/ui.py +3 -1
  6. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/inner/file_registry.py +2 -1
  7. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/setup.py +2 -2
  8. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/README.md +0 -0
  9. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/cli.py +0 -0
  10. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/__init__.py +0 -0
  11. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/_logic/__init__.py +0 -0
  12. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/_logic/tools.py +0 -0
  13. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/admin/__init__.py +0 -0
  14. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/admin/admin_commands_group.py +0 -0
  15. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/admin/apikeys/__init__.py +0 -0
  16. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/admin/apikeys/api_keys_commands_group.py +0 -0
  17. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/admin/apikeys/generate/__init__.py +0 -0
  18. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/admin/apikeys/generate/_logic.py +0 -0
  19. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/admin/apikeys/generate/ui.py +0 -0
  20. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/admin/apikeys/revoke/__init__.py +0 -0
  21. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/admin/apikeys/revoke/_logic.py +0 -0
  22. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/admin/apikeys/revoke/ui.py +0 -0
  23. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/alerts/__init__.py +0 -0
  24. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/alerts/alerts_commnad_group.py +0 -0
  25. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/alerts/delete/__init__.py +0 -0
  26. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/alerts/delete/_logic.py +0 -0
  27. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/alerts/delete/ui.py +0 -0
  28. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/alerts/list/__init__.py +0 -0
  29. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/alerts/list/_logic.py +0 -0
  30. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/alerts/list/ui.py +0 -0
  31. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/alerts/register/__init__.py +0 -0
  32. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/alerts/register/_logic.py +0 -0
  33. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/alerts/register/ui.py +0 -0
  34. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/audience/__init__.py +0 -0
  35. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/audience/_logic/__init__.py +0 -0
  36. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/audience/_logic/config/__init__.py +0 -0
  37. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/audience/_logic/config/config_base.py +0 -0
  38. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/audience/_logic/config/parser.py +0 -0
  39. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/audience/_logic/config/v1/__init__.py +0 -0
  40. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/audience/_logic/config/v1/audience_config.py +0 -0
  41. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/audience/_logic/config/v1/conditions_config.py +0 -0
  42. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/audience/_logic/config/v1/config_v1.py +0 -0
  43. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/audience/_logic/config/v1/route_config.py +0 -0
  44. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/audience/_logic/config/v1/spec.py +0 -0
  45. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/audience/audience_api_dump.py +0 -0
  46. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/audience/audience_commands_group.py +0 -0
  47. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/audience/create/__init__.py +0 -0
  48. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/audience/create/logic.py +0 -0
  49. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/audience/create/ui.py +0 -0
  50. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/audience/delete/__init__.py +0 -0
  51. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/audience/delete/logic.py +0 -0
  52. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/audience/delete/ui.py +0 -0
  53. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/audience/get/__init__.py +0 -0
  54. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/audience/get/logic.py +0 -0
  55. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/audience/get/ui.py +0 -0
  56. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/audience/list/__init__.py +0 -0
  57. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/audience/list/logic.py +0 -0
  58. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/audience/list/ui.py +0 -0
  59. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/audience/update/__init__.py +0 -0
  60. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/audience/update/logic.py +0 -0
  61. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/audience/update/ui.py +0 -0
  62. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/auto_scalling/__init__.py +0 -0
  63. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/auto_scalling/_logic/__init__.py +0 -0
  64. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/auto_scalling/_logic/config/__init__.py +0 -0
  65. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/auto_scalling/_logic/config/config.py +0 -0
  66. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/auto_scalling/_logic/config/parser.py +0 -0
  67. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/auto_scalling/attach/__init__.py +0 -0
  68. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/auto_scalling/attach/_logic.py +0 -0
  69. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/auto_scalling/attach/ui.py +0 -0
  70. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/auto_scalling/autoscaling_commands_group.py +0 -0
  71. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/automations/__init__.py +0 -0
  72. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/automations/automations_commands_group.py +0 -0
  73. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/automations/delete/__init__.py +0 -0
  74. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/automations/delete/_logic.py +0 -0
  75. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/automations/delete/ui.py +0 -0
  76. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/automations/executions/__init__.py +0 -0
  77. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/automations/executions/executions_commands_group.py +0 -0
  78. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/automations/executions/list/__init__.py +0 -0
  79. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/automations/executions/list/_logic.py +0 -0
  80. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/automations/executions/list/ui.py +0 -0
  81. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/automations/list/__init__.py +0 -0
  82. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/automations/list/_logic.py +0 -0
  83. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/automations/list/ui.py +0 -0
  84. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/automations/register/__init__.py +0 -0
  85. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/automations/register/_logic.py +0 -0
  86. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/automations/register/ui.py +0 -0
  87. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/feature_store/__init__.py +0 -0
  88. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/feature_store/backfill/__init__.py +0 -0
  89. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/feature_store/backfill/_logic.py +0 -0
  90. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/feature_store/backfill/ui.py +0 -0
  91. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/feature_store/delete/__init__.py +0 -0
  92. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/feature_store/delete/_logic.py +0 -0
  93. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/feature_store/delete/ui.py +0 -0
  94. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/feature_store/execution/__init__.py +0 -0
  95. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/feature_store/execution/ui.py +0 -0
  96. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/feature_store/feature_store_command_group.py +0 -0
  97. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/feature_store/list/__init__.py +0 -0
  98. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/feature_store/list/ui.py +0 -0
  99. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/feature_store/pause/__init__.py +0 -0
  100. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/feature_store/pause/ui.py +0 -0
  101. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/feature_store/register/__init__.py +0 -0
  102. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/feature_store/resume/__init__.py +0 -0
  103. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/feature_store/resume/ui.py +0 -0
  104. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/feature_store/trigger/__init__.py +0 -0
  105. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/feature_store/trigger/ui.py +0 -0
  106. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/__init__.py +0 -0
  107. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/_logic/__init__.py +0 -0
  108. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/_logic/variations.py +0 -0
  109. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/build/__init__.py +0 -0
  110. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/build/_logic/__init__.py +0 -0
  111. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/build/_logic/build_steps.py +0 -0
  112. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/build/_logic/client_logs/__init__.py +0 -0
  113. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/build/_logic/client_logs/cli_phase_run_handler.py +0 -0
  114. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/build/_logic/client_logs/cli_trigger_build_logger.py +0 -0
  115. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/build/_logic/client_logs/logger.py +0 -0
  116. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/build/_logic/client_logs/messages.py +0 -0
  117. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/build/_logic/client_logs/spinner.py +0 -0
  118. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/build/_logic/client_logs/trigger_build_logger.py +0 -0
  119. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/build/_logic/client_logs/utils.py +0 -0
  120. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/build/_logic/phase/__init__.py +0 -0
  121. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/build/_logic/phase/a_fetch_model_code/__init__.py +0 -0
  122. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/build/_logic/phase/a_fetch_model_code/get_sdk_version_step.py +0 -0
  123. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/build/_logic/phase/b_remote_register_qwak_build/__init__.py +0 -0
  124. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/build/_logic/phase/c_deploy/__init__.py +0 -0
  125. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/build/_logic/phase/c_deploy/build_polling_status.py +0 -0
  126. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/build/_logic/phase/c_deploy/deploy_build.py +0 -0
  127. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/build/_logic/util/__init__.py +0 -0
  128. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/build/_logic/util/protobuf_factory.py +0 -0
  129. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/build/_logic/util/step_decorator.py +0 -0
  130. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/build/_logic/util/text.py +0 -0
  131. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/build/ui.py +0 -0
  132. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/builds/__init__.py +0 -0
  133. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/builds/builds_commands_group.py +0 -0
  134. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/builds/cancel/__init__.py +0 -0
  135. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/builds/cancel/_logic.py +0 -0
  136. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/builds/cancel/ui.py +0 -0
  137. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/builds/logs/__init__.py +0 -0
  138. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/builds/logs/ui.py +0 -0
  139. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/builds/status/__init__.py +0 -0
  140. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/builds/status/_logic.py +0 -0
  141. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/builds/status/ui.py +0 -0
  142. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/create/__init__.py +0 -0
  143. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/create/_logic.py +0 -0
  144. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/create/ui.py +0 -0
  145. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/delete/__init__.py +0 -0
  146. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/delete/_logic.py +0 -0
  147. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/delete/ui.py +0 -0
  148. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/__init__.py +0 -0
  149. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/deploy/__init__.py +0 -0
  150. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/deploy/_logic/__init__.py +0 -0
  151. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/deploy/_logic/advance_deployment_options_handler.py +0 -0
  152. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/deploy/_logic/base_deploy_executor.py +0 -0
  153. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/deploy/_logic/deploy_config.py +0 -0
  154. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/deploy/_logic/deployment.py +0 -0
  155. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/deploy/_logic/deployment_message_helpers.py +0 -0
  156. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/deploy/_logic/deployment_response_handler.py +0 -0
  157. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/deploy/_logic/deployment_size_mapper.py +0 -0
  158. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/deploy/_logic/get_latest_successful_build.py +0 -0
  159. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/deploy/_logic/variations.py +0 -0
  160. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/deploy/batch/__init__.py +0 -0
  161. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/deploy/batch/_logic/__init__.py +0 -0
  162. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/deploy/batch/_logic/advanced_deployment_mapper.py +0 -0
  163. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/deploy/batch/_logic/deploy_executor.py +0 -0
  164. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/deploy/batch/ui.py +0 -0
  165. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/deploy/deploy_commands_group.py +0 -0
  166. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/deploy/realtime/__init__.py +0 -0
  167. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/deploy/realtime/_logic/__init__.py +0 -0
  168. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/deploy/realtime/_logic/advanced_deployment_mapper.py +0 -0
  169. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/deploy/realtime/_logic/deploy_executor.py +0 -0
  170. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/deploy/realtime/_logic/serving_strategy_mapper.py +0 -0
  171. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/deploy/realtime/ui.py +0 -0
  172. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/deploy/streaming/__init__.py +0 -0
  173. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/deploy/streaming/_logic/__init__.py +0 -0
  174. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/deploy/streaming/_logic/deploy_executor.py +0 -0
  175. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/deploy/streaming/_logic/serving_strategy_mapper.py +0 -0
  176. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/deploy/streaming/ui.py +0 -0
  177. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/undeploy/__init__.py +0 -0
  178. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/undeploy/_logic/__init__.py +0 -0
  179. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/undeploy/_logic/request_undeploy.py +0 -0
  180. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/undeploy/_logic/variations.py +0 -0
  181. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/deployments/undeploy/ui.py +0 -0
  182. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/describe/__init__.py +0 -0
  183. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/describe/_logic.py +0 -0
  184. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/describe/ui.py +0 -0
  185. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/executions/__init__.py +0 -0
  186. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/executions/cancel/__init__.py +0 -0
  187. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/executions/cancel/_logic.py +0 -0
  188. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/executions/cancel/ui.py +0 -0
  189. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/executions/execution_commands_group.py +0 -0
  190. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/executions/report/__init__.py +0 -0
  191. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/executions/report/_logic.py +0 -0
  192. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/executions/report/ui.py +0 -0
  193. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/executions/start/__init__.py +0 -0
  194. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/executions/start/_logic.py +0 -0
  195. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/executions/start/ui.py +0 -0
  196. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/executions/status/__init__.py +0 -0
  197. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/executions/status/_logic.py +0 -0
  198. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/executions/status/ui.py +0 -0
  199. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/__init__.py +0 -0
  200. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/__init__.py +0 -0
  201. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/initialize_model_structure.py +0 -0
  202. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/__init__.py +0 -0
  203. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/churn/__init__.py +0 -0
  204. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/churn/cookiecutter.json +0 -0
  205. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/churn/{{cookiecutter.model_directory}}/__init__.py +0 -0
  206. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/churn/{{cookiecutter.model_directory}}/main/__init__.py +0 -0
  207. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/churn/{{cookiecutter.model_directory}}/main/conda.yml +0 -0
  208. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/churn/{{cookiecutter.model_directory}}/main/data.csv +0 -0
  209. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/churn/{{cookiecutter.model_directory}}/main/model.py +0 -0
  210. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/churn/{{cookiecutter.model_directory}}/tests/__init__.py +0 -0
  211. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/churn/{{cookiecutter.model_directory}}/tests/it/__init__.py +0 -0
  212. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/churn/{{cookiecutter.model_directory}}/tests/it/test_churn.py +0 -0
  213. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/credit_risk/__init__.py +0 -0
  214. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/credit_risk/cookiecutter.json +0 -0
  215. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/credit_risk/{{cookiecutter.model_directory}}/__init__.py +0 -0
  216. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/credit_risk/{{cookiecutter.model_directory}}/main/__init__.py +0 -0
  217. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/credit_risk/{{cookiecutter.model_directory}}/main/conda.yml +0 -0
  218. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/credit_risk/{{cookiecutter.model_directory}}/main/data.csv +0 -0
  219. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/credit_risk/{{cookiecutter.model_directory}}/main/model.py +0 -0
  220. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/general/__init__.py +0 -0
  221. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/general/cookiecutter.json +0 -0
  222. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/general/{{cookiecutter.model_directory}}/__init__.py +0 -0
  223. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/general/{{cookiecutter.model_directory}}/{{cookiecutter.main_directory}}/__init__.py +0 -0
  224. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/general/{{cookiecutter.model_directory}}/{{cookiecutter.main_directory}}/conda.yml +0 -0
  225. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/general/{{cookiecutter.model_directory}}/{{cookiecutter.main_directory}}/model.py +0 -0
  226. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/general/{{cookiecutter.model_directory}}/{{cookiecutter.test_directory}}/__init__.py +0 -0
  227. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/general/{{cookiecutter.model_directory}}/{{cookiecutter.test_directory}}/test_qwak_model.py +0 -0
  228. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/titanic/__init__.py +0 -0
  229. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/titanic/cookiecutter.json +0 -0
  230. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/titanic/{{cookiecutter.model_directory}}/__init__.py +0 -0
  231. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/titanic/{{cookiecutter.model_directory}}/main/__init__.py +0 -0
  232. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/titanic/{{cookiecutter.model_directory}}/main/conda.yml +0 -0
  233. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/titanic/{{cookiecutter.model_directory}}/main/model.py +0 -0
  234. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/titanic/{{cookiecutter.model_directory}}/tests/__init__.py +0 -0
  235. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/titanic/{{cookiecutter.model_directory}}/tests/it/__init__.py +0 -0
  236. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/titanic/{{cookiecutter.model_directory}}/tests/it/test_titanic.py +0 -0
  237. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/titanic_poetry/__init__.py +0 -0
  238. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/titanic_poetry/cookiecutter.json +0 -0
  239. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/titanic_poetry/{{cookiecutter.model_directory}}/__init__.py +0 -0
  240. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/titanic_poetry/{{cookiecutter.model_directory}}/main/__init__.py +0 -0
  241. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/titanic_poetry/{{cookiecutter.model_directory}}/main/model.py +0 -0
  242. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/titanic_poetry/{{cookiecutter.model_directory}}/main/pyproject.toml +0 -0
  243. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/titanic_poetry/{{cookiecutter.model_directory}}/tests/__init__.py +0 -0
  244. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/titanic_poetry/{{cookiecutter.model_directory}}/tests/it/__init__.py +0 -0
  245. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/_logic/template/titanic_poetry/{{cookiecutter.model_directory}}/tests/it/test_titanic.py +0 -0
  246. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/init/ui.py +0 -0
  247. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/list/__init__.py +0 -0
  248. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/list/_logic.py +0 -0
  249. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/list/ui.py +0 -0
  250. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/list_models/__init__.py +0 -0
  251. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/list_models/_logic.py +0 -0
  252. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/list_models/ui.py +0 -0
  253. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/metadata/__init__.py +0 -0
  254. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/metadata/_logic.py +0 -0
  255. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/metadata/ui.py +0 -0
  256. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/models_command_group.py +0 -0
  257. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/runtime/__init__.py +0 -0
  258. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/runtime/logs/__init__.py +0 -0
  259. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/runtime/logs/ui.py +0 -0
  260. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/runtime/runtime_commands_group.py +0 -0
  261. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/runtime/traffic_update/__init__.py +0 -0
  262. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/runtime/traffic_update/_logic/__init__.py +0 -0
  263. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/runtime/traffic_update/_logic/execute_runtime_update_traffic.py +0 -0
  264. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/runtime/traffic_update/_logic/variations.py +0 -0
  265. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/runtime/traffic_update/ui.py +0 -0
  266. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/runtime/update/__init__.py +0 -0
  267. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/runtime/update/_logic.py +0 -0
  268. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/models/runtime/update/ui.py +0 -0
  269. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/projects/__init__.py +0 -0
  270. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/projects/create/__init__.py +0 -0
  271. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/projects/create/_logic.py +0 -0
  272. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/projects/create/ui.py +0 -0
  273. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/projects/delete/__init__.py +0 -0
  274. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/projects/delete/_logic.py +0 -0
  275. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/projects/delete/ui.py +0 -0
  276. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/projects/list/__init__.py +0 -0
  277. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/projects/list/_logic.py +0 -0
  278. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/projects/list/ui.py +0 -0
  279. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/projects/projects_command_group.py +0 -0
  280. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/secrets/__init__.py +0 -0
  281. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/secrets/delete/__init__.py +0 -0
  282. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/secrets/delete/_logic.py +0 -0
  283. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/secrets/delete/ui.py +0 -0
  284. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/secrets/get/__init__.py +0 -0
  285. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/secrets/get/_logic.py +0 -0
  286. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/secrets/get/ui.py +0 -0
  287. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/secrets/secrets_commands_group.py +0 -0
  288. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/secrets/set/__init__.py +0 -0
  289. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/secrets/set/_logic.py +0 -0
  290. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/secrets/set/ui.py +0 -0
  291. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/ui_tools.py +0 -0
  292. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/workspaces/__init__.py +0 -0
  293. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/workspaces/_logic/__init__.py +0 -0
  294. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/workspaces/_logic/tools.py +0 -0
  295. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/workspaces/_logic/workspace_validations.py +0 -0
  296. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/workspaces/config/__init__.py +0 -0
  297. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/workspaces/config/workspace_config.py +0 -0
  298. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/workspaces/create/__init__.py +0 -0
  299. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/workspaces/create/_logic.py +0 -0
  300. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/workspaces/create/ui.py +0 -0
  301. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/workspaces/delete/__init__.py +0 -0
  302. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/workspaces/delete/_logic.py +0 -0
  303. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/workspaces/delete/ui.py +0 -0
  304. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/workspaces/start/__init__.py +0 -0
  305. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/workspaces/start/_logic.py +0 -0
  306. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/workspaces/start/ui.py +0 -0
  307. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/workspaces/stop/__init__.py +0 -0
  308. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/workspaces/stop/_logic.py +0 -0
  309. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/workspaces/stop/ui.py +0 -0
  310. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/workspaces/update/__init__.py +0 -0
  311. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/workspaces/update/_logic.py +0 -0
  312. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/workspaces/update/ui.py +0 -0
  313. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/commands/workspaces/workspaces_commands_group.py +0 -0
  314. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/exceptions/__init__.py +0 -0
  315. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/exceptions/qwak_command_exception.py +0 -0
  316. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/exceptions/qwak_deploy_new_build_failed.py +0 -0
  317. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/exceptions/qwak_resource_not_found.py +0 -0
  318. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/inner/__init__.py +0 -0
  319. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/inner/tools/__init__.py +0 -0
  320. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/inner/tools/cli_tools.py +0 -0
  321. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/inner/tools/config_handler.py +0 -0
  322. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/inner/tools/dataclasses_utils.py +0 -0
  323. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/inner/tools/logger/__init__.py +0 -0
  324. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/inner/tools/logger/logger.py +0 -0
  325. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/inner/tools/logger/logging.yml +0 -0
  326. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/inner/tools/tracking.py +0 -0
  327. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/main.py +0 -0
  328. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/tools/__init__.py +0 -0
  329. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/tools/colors.py +0 -0
  330. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/tools/files.py +0 -0
  331. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/tools/log_handling.py +0 -0
  332. {qwak_sdk-0.5.37 → qwak_sdk-0.5.39}/qwak_sdk/tools/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: qwak-sdk
3
- Version: 0.5.37
3
+ Version: 0.5.39
4
4
  Summary: Qwak SDK and CLI for qwak models
5
5
  License: Apache-2.0
6
6
  Keywords: mlops,ml,deployment,serving,model
@@ -28,7 +28,7 @@ Requires-Dist: pandas (<1.4) ; (python_full_version >= "3.7.1" and python_versio
28
28
  Requires-Dist: pandas (>=1.4.3,<2.0.0) ; (python_version >= "3.8" and python_version < "3.10") and (extra == "batch" or extra == "feedback")
29
29
  Requires-Dist: pyarrow (>=6.0.0,<11.0.0) ; extra == "batch"
30
30
  Requires-Dist: python-json-logger (>=2.0.2)
31
- Requires-Dist: qwak-core (==0.1.102)
31
+ Requires-Dist: qwak-core (==0.2.8)
32
32
  Requires-Dist: qwak-inference (==0.1.8)
33
33
  Requires-Dist: tabulate (>=0.8.0)
34
34
  Requires-Dist: yaspin (>=2.0.0)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "qwak-sdk"
3
- version = "0.5.37"
3
+ version = "0.5.39"
4
4
  description = "Qwak SDK and CLI for qwak models"
5
5
  authors = ["Qwak <info@qwak.com>"]
6
6
  readme = "README.md"
@@ -27,7 +27,7 @@ qwak = "qwak_sdk.main:qwak_cli"
27
27
 
28
28
  [tool.poetry.dependencies]
29
29
  python = ">=3.7.1,<3.10"
30
- qwak-core = "==0.1.102"
30
+ qwak-core = "==0.2.8"
31
31
  qwak-inference = "==0.1.8"
32
32
  croniter = "==1.4.1"
33
33
  tabulate = ">=0.8.0"
@@ -1,6 +1,6 @@
1
1
  # fmt: off
2
2
  __author__ = '''Qwak.ai'''
3
- __version__ = '0.5.37'
3
+ __version__ = '0.5.39'
4
4
 
5
5
  from qwak.inner import wire_dependencies
6
6
 
@@ -1,4 +1,4 @@
1
- from typing import List, Optional, Tuple
1
+ from typing import List, Optional, Tuple, cast
2
2
 
3
3
  from _qwak_proto.qwak.feature_store.entities.entity_pb2 import (
4
4
  EntityDefinition as ProtoEntityDefinition,
@@ -10,7 +10,6 @@ from _qwak_proto.qwak.feature_store.features.feature_set_service_pb2 import (
10
10
  GetFeatureSetByNameResponse as ProtoGetFeatureSetByNameResponse,
11
11
  )
12
12
  from _qwak_proto.qwak.features_operator.v3.features_operator_pb2 import (
13
- Outputs,
14
13
  SparkColumnDescription,
15
14
  ValidationSuccessResponse,
16
15
  )
@@ -20,7 +19,10 @@ from qwak.exceptions import QwakException
20
19
  from qwak.feature_store.data_sources.base import BaseSource
21
20
  from qwak.feature_store.entities.entity import Entity
22
21
  from qwak.feature_store.feature_sets.base_feature_set import BaseFeatureSet
23
- from qwak.feature_store.feature_sets.batch import BatchFeatureSet
22
+ from qwak.feature_store.validations.validation_response import (
23
+ SuccessValidationResponse,
24
+ ValidationResponse,
25
+ )
24
26
  from tabulate import tabulate
25
27
 
26
28
  from qwak_sdk.inner.file_registry import extract_class_objects
@@ -31,7 +33,9 @@ DELIMITER = "----------------------------------------"
31
33
 
32
34
 
33
35
  def _register_entities(
34
- qwak_python_files: List[str], registry: FeatureRegistryClient, force: bool
36
+ qwak_python_files: List[Tuple[str, str]],
37
+ registry: FeatureRegistryClient,
38
+ force: bool,
35
39
  ):
36
40
  """
37
41
  Register Feature Store Entity Objects
@@ -68,7 +72,7 @@ def _register_entities(
68
72
 
69
73
 
70
74
  def _register_data_sources(
71
- qwak_python_files: List[str],
75
+ qwak_python_files: List[Tuple[str, str]],
72
76
  registry: FeatureRegistryClient,
73
77
  operator_client: FeaturesOperatorClient,
74
78
  force: bool,
@@ -139,7 +143,7 @@ def _handle_data_source_validation(
139
143
 
140
144
  response = getattr(result, result.WhichOneof("type"))
141
145
  if isinstance(response, ValidationSuccessResponse):
142
- print_validation_outputs(response)
146
+ print_validation_outputs(response.outputs.stdout, response.outputs.stderr)
143
147
  print("✅ Validation completed successfully, got data source columns:")
144
148
 
145
149
  table = [
@@ -147,13 +151,12 @@ def _handle_data_source_validation(
147
151
  ]
148
152
  print(tabulate(table, headers=["column name", "type"]))
149
153
  else:
150
- raise QwakException(f"🧨 Validation failed:\n{response}")
154
+ raise QwakException(f"🧨 Validation failed: \n{response}")
151
155
 
152
156
 
153
157
  def _register_features_sets(
154
- qwak_python_files: List[str],
158
+ qwak_python_files: List[Tuple[str, str]],
155
159
  registry: FeatureRegistryClient,
156
- operator_client: FeaturesOperatorClient,
157
160
  force: bool,
158
161
  git_commit: str,
159
162
  no_validation: bool,
@@ -165,7 +168,6 @@ def _register_features_sets(
165
168
  Args:
166
169
  qwak_python_files: a list of python files containing qwak package imports
167
170
  registry: FeatureRegistryClient
168
- operator_client: features operator grpc client
169
171
  force: boolean determining if to force register all encountered Feature Set objects
170
172
  git_commit: the git commit of the parent folder
171
173
  no_validation: whether to validate entities
@@ -174,43 +176,48 @@ def _register_features_sets(
174
176
  with qwak_spinner(
175
177
  begin_text="Finding Feature Sets to register", print_callback=print
176
178
  ):
177
- qwak_feature_sets = extract_class_objects(qwak_python_files, BatchFeatureSet)
179
+ qwak_feature_sets = extract_class_objects(qwak_python_files, BaseFeatureSet)
178
180
 
179
181
  print(f"👀 Found {len(qwak_feature_sets)} Feature Set(s)")
180
182
 
181
- for feature_set, source_file_path in qwak_feature_sets:
183
+ for featureset, source_file_path in qwak_feature_sets:
184
+ featureset = cast(BaseFeatureSet, featureset)
182
185
  existing_feature_set: ProtoGetFeatureSetByNameResponse = (
183
- registry.get_feature_set_by_name(feature_set.name)
186
+ registry.get_feature_set_by_name(featureset.name)
184
187
  )
185
188
 
186
189
  registration: bool = False
187
190
  if existing_feature_set:
188
191
  # Provide entity information of registered feature set before any other operation
189
- if feature_set.key:
190
- feature_set.entity = (
192
+ if featureset.key:
193
+ featureset.entity = (
191
194
  existing_feature_set.feature_set.feature_set_definition.feature_set_spec.entity.entity_spec.name
192
195
  )
193
196
 
194
197
  registration = ask_yesno(
195
- f"Update existing feature set '{feature_set.name}' from source file '{source_file_path}'?", # nosec B608
198
+ f"Update existing feature set '{featureset.name}' from source file '{source_file_path}'?", # nosec B608
196
199
  force,
197
200
  )
198
201
  else:
199
202
  registration = ask_yesno(
200
- f"Create new feature set '{feature_set.name}' from source file '{source_file_path}'?",
203
+ f"Create new feature set '{featureset.name}' from source file '{source_file_path}'?",
201
204
  force,
202
205
  )
203
206
 
204
207
  if registration:
205
- spark_columns_features = _batch_v1_feature_set_validation(
206
- feature_set=feature_set,
208
+ features: Optional[List[ProtoFeature]] = []
209
+ artifact_url: Optional[str] = None
210
+
211
+ features, artifact_url = _validate_featureset(
212
+ featureset=featureset,
207
213
  no_validation=no_validation,
208
- operator=operator_client,
209
- registry=registry,
210
214
  )
211
215
 
212
- proto_feature_set = feature_set._to_proto(
213
- git_commit, spark_columns_features, registry
216
+ proto_feature_set, _ = featureset._to_proto(
217
+ git_commit=git_commit,
218
+ features=features,
219
+ feature_registry=registry,
220
+ artifact_url=artifact_url,
214
221
  )
215
222
 
216
223
  if existing_feature_set:
@@ -220,11 +227,12 @@ def _register_features_sets(
220
227
  )
221
228
  else:
222
229
  _register_new_feature_set(
223
- new_feature_set=feature_set,
230
+ new_feature_set=featureset,
224
231
  entity_key=proto_feature_set.entity,
225
232
  registry=registry,
226
233
  git_commit=git_commit,
227
- spark_columns_features=spark_columns_features,
234
+ features=features,
235
+ artifact_url=artifact_url,
228
236
  )
229
237
 
230
238
 
@@ -233,7 +241,8 @@ def _register_new_feature_set(
233
241
  entity_key: ProtoEntityDefinition,
234
242
  registry: FeatureRegistryClient,
235
243
  git_commit: str,
236
- spark_columns_features: Optional[List[ProtoFeature]],
244
+ features: Optional[List[ProtoFeature]],
245
+ artifact_url: Optional[str] = None,
237
246
  ):
238
247
  # Create entity for the defined key and set it as the fs's entity
239
248
  if new_feature_set.key:
@@ -248,8 +257,8 @@ def _register_new_feature_set(
248
257
  new_feature_set.entity = new_entity.name
249
258
 
250
259
  # this is done to retrieve the entities metadata
251
- proto_feature_set = new_feature_set._to_proto(
252
- git_commit, spark_columns_features, registry
260
+ proto_feature_set, _ = new_feature_set._to_proto(
261
+ git_commit, features, registry, artifact_url=artifact_url
253
262
  )
254
263
 
255
264
  try:
@@ -264,32 +273,26 @@ def _register_new_feature_set(
264
273
  raise e1
265
274
 
266
275
 
267
- def _handle_batch_v1_feature_set_validation(
268
- operator_client: FeaturesOperatorClient,
269
- registry_client: FeatureRegistryClient,
270
- feature_set: BatchFeatureSet,
271
- ) -> List[SparkColumnDescription]:
272
- print(f"Validating '{feature_set.name}' feature set")
276
+ def _handle_featureset_validation(
277
+ featureset: BaseFeatureSet,
278
+ ) -> Tuple[List[ProtoFeature], Optional[str]]:
279
+ print(f"Validating '{featureset.name}' feature set")
273
280
  with qwak_spinner(begin_text="", print_callback=print):
274
- feature_set_spec = feature_set._to_proto(
275
- feature_registry=registry_client, features=None, git_commit=None
276
- )
277
- result = operator_client.validate_featureset_blocking(
278
- feature_set_spec, resource_path=None, num_samples=10
279
- )
281
+ from qwak.feature_store.validations.validator import FeaturesOperatorValidator
280
282
 
281
- response = getattr(result, result.WhichOneof("type"))
282
- if isinstance(response, ValidationSuccessResponse):
283
- print_validation_outputs(response)
283
+ v = FeaturesOperatorValidator()
284
+ response: ValidationResponse
285
+ artifact_url: Optional[str]
286
+
287
+ response, artifact_url = v.validate_featureset(featureset=featureset)
288
+ if isinstance(response, SuccessValidationResponse):
289
+ print_validation_outputs(response.stdout, response.stderr)
284
290
  print("✅ Validation completed successfully, got data source columns:")
285
- table = [
286
- (x.column_name, x.spark_type) for x in response.spark_column_description
287
- ]
291
+ table = [(x.feature_name, x.feature_type) for x in response.features]
288
292
  print(tabulate(table, headers=["column name", "type"]))
289
- return response.spark_column_description
290
-
293
+ return response.features, artifact_url
291
294
  else:
292
- raise QwakException(f"🧨 Validation failed:\n{response}")
295
+ raise QwakException(f"🧨 Validation failed: \n{response}")
293
296
 
294
297
 
295
298
  def _get_features_from_spark_columns_description(
@@ -315,55 +318,47 @@ def _get_features_from_spark_columns_description(
315
318
  return None
316
319
 
317
320
 
318
- def _batch_v1_feature_set_validation(
319
- feature_set: BatchFeatureSet,
321
+ def _validate_featureset(
322
+ featureset: BaseFeatureSet,
320
323
  no_validation: bool,
321
- operator: FeaturesOperatorClient,
322
- registry: FeatureRegistryClient,
323
- ) -> Optional[List[ProtoFeature]]:
324
+ ) -> Tuple[List[ProtoFeature], Optional[str]]:
324
325
  """
325
326
  Validates featureset transformation
326
327
  Args:
327
- feature_set: BatchFeatureSet featureset
328
+ featureset: BaseFeatureSet featureset
328
329
  no_validation: skip validation
329
330
  operator: Operator client
330
331
  registry: Registry client
331
332
  Returns:
332
333
  Optional list of features returned from validation
333
334
  """
334
- spark_columns_features: Optional[List[ProtoFeature]] = []
335
-
335
+ features: List[ProtoFeature] = []
336
+ artifact_url: Optional[str] = None
336
337
  if not no_validation:
337
338
  try:
338
- spark_columns_description = _handle_batch_v1_feature_set_validation(
339
- operator_client=operator,
340
- registry_client=registry,
341
- feature_set=feature_set,
342
- )
343
- spark_columns_features = _get_features_from_spark_columns_description(
344
- spark_columns_description
339
+ features, artifact_url = _handle_featureset_validation(
340
+ featureset=featureset
345
341
  )
346
342
  except Exception as e:
347
343
  print(str(e))
348
344
  print("Not continuing to registration due to failure in validation")
349
345
  exit(1)
350
346
  else:
351
- print(f"Skipping validation for '{feature_set.name}' feature set")
352
- return spark_columns_features
347
+ print(f"Skipping validation for '{featureset.name}' feature set")
348
+ return features, artifact_url
353
349
 
354
350
 
355
- def print_validation_outputs(response: ValidationSuccessResponse) -> bool:
351
+ def print_validation_outputs(stdout: str, stderr: str) -> bool:
356
352
  did_print = False
357
- outputs = response.outputs
358
353
 
359
- if isinstance(outputs, Outputs) and (outputs.stdout or outputs.stderr):
354
+ if stdout or stderr:
360
355
  message = "Validation outputs: "
361
356
 
362
- if outputs.stdout:
363
- message += f"stdout: {outputs.stdout}\n "
357
+ if stdout:
358
+ message += f"stdout: {stdout}\n "
364
359
 
365
- if outputs.stderr:
366
- message += f"stderr: {outputs.stderr}"
360
+ if stderr:
361
+ message += f"stderr: {stderr}"
367
362
 
368
363
  print(message)
369
364
  did_print = True
@@ -1,5 +1,6 @@
1
1
  import os
2
2
  from pathlib import Path
3
+ from typing import List, Tuple
3
4
 
4
5
  import click
5
6
  from qwak.clients.feature_store import FeatureRegistryClient
@@ -59,6 +60,8 @@ def register_fs_objects(
59
60
  ignore_validation_errors: bool,
60
61
  **kwargs,
61
62
  ):
63
+ qwak_python_files: List[Tuple[str, str]]
64
+
62
65
  if not path:
63
66
  path = Path.cwd()
64
67
  else:
@@ -97,7 +100,6 @@ def register_fs_objects(
97
100
  _register_features_sets(
98
101
  qwak_python_files,
99
102
  registry_client,
100
- operator_client,
101
103
  force,
102
104
  git_commit,
103
105
  no_validation,
@@ -3,11 +3,12 @@ import os
3
3
  import sys
4
4
  from contextlib import contextmanager
5
5
  from pathlib import Path
6
+ from typing import List, Tuple
6
7
 
7
8
  from yaspin.core import Yaspin
8
9
 
9
10
 
10
- def list_qwak_python_files(path: Path, sp: Yaspin):
11
+ def list_qwak_python_files(path: Path, sp: Yaspin) -> List[Tuple[str, str]]:
11
12
  """
12
13
  Helper function which finds python files with qwak imports in a given module
13
14
 
@@ -137,7 +137,7 @@ install_requires = \
137
137
  'croniter==1.4.1',
138
138
  'gitpython>=2.1.0',
139
139
  'python-json-logger>=2.0.2',
140
- 'qwak-core==0.1.102',
140
+ 'qwak-core==0.2.8',
141
141
  'qwak-inference==0.1.8',
142
142
  'tabulate>=0.8.0',
143
143
  'yaspin>=2.0.0']
@@ -161,7 +161,7 @@ entry_points = \
161
161
 
162
162
  setup_kwargs = {
163
163
  'name': 'qwak-sdk',
164
- 'version': '0.5.37',
164
+ 'version': '0.5.39',
165
165
  'description': 'Qwak SDK and CLI for qwak models',
166
166
  'long_description': '# Qwak SDK\n\nQwak is an end-to-end production ML platform designed to allow data scientists to build, deploy, and monitor their models in production with minimal engineering friction.\n',
167
167
  'author': 'Qwak',
File without changes
File without changes