amsdal_cli 0.4.14__tar.gz → 0.4.16__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 (215) hide show
  1. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/PKG-INFO +4 -3
  2. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/change-logs.md +16 -0
  3. amsdal_cli-0.4.16/latest-changelogs.md +5 -0
  4. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/license_check.py +4 -1
  5. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/pyproject.toml +3 -2
  6. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/Third-Party Materials - AMSDAL Dependencies - License Notices.md +36 -1
  7. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/__about__.py +1 -1
  8. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/sub_commands/generate_tests.py +2 -2
  9. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/utils/tests/model_utils.py +5 -1
  10. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/migrations/sub_commands/apply.py +1 -1
  11. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/migrations/sub_commands/make.py +1 -1
  12. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/restore/command.py +82 -7
  13. amsdal_cli-0.4.14/latest-changelogs.md +0 -5
  14. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/.editorconfig +0 -0
  15. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/.gitignore +0 -0
  16. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/CONTRIBUTING.md +0 -0
  17. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/LICENSE.txt +0 -0
  18. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/README.md +0 -0
  19. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/release_notes/.gitkeep +0 -0
  20. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/scripts/release.sh +0 -0
  21. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/scripts/tag_check.sh +0 -0
  22. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/__init__.py +0 -0
  23. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/app.py +0 -0
  24. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/__init__.py +0 -0
  25. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/build/__init__.py +0 -0
  26. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/build/command.py +0 -0
  27. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/build/constants.py +0 -0
  28. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/build/schemas/__init__.py +0 -0
  29. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/build/schemas/data_models/__init__.py +0 -0
  30. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/build/schemas/data_models/custom_code.py +0 -0
  31. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/build/schemas/data_models/options.py +0 -0
  32. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/build/schemas/data_models/schemas_directory.py +0 -0
  33. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/build/schemas/extenders/__init__.py +0 -0
  34. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/build/schemas/extenders/custom_code_extender.py +0 -0
  35. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/build/schemas/extenders/options_extender.py +0 -0
  36. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/build/schemas/loaders/__init__.py +0 -0
  37. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/build/schemas/loaders/base.py +0 -0
  38. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/build/schemas/loaders/cli_custom_code_loader.py +0 -0
  39. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/build/schemas/loaders/cli_loader.py +0 -0
  40. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/build/schemas/loaders/cli_options_loader.py +0 -0
  41. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/build/schemas/loaders/cli_statics_loader.py +0 -0
  42. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/build/schemas/loaders/cli_transactions_loader.py +0 -0
  43. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/build/schemas/loaders/utils.py +0 -0
  44. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/build/schemas/mixins/__init__.py +0 -0
  45. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/build/schemas/mixins/enrich_schemas_mixin.py +0 -0
  46. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/build/schemas/schema_json_loader.py +0 -0
  47. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/build/schemas/utils/__init__.py +0 -0
  48. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/build/schemas/utils/merger.py +0 -0
  49. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/build/services/__init__.py +0 -0
  50. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/build/services/builder.py +0 -0
  51. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/build/services/mixin.py +0 -0
  52. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/build/utils/__init__.py +0 -0
  53. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/build/utils/build_config_file.py +0 -0
  54. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/callbacks.py +0 -0
  55. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/ci_cd/__init__.py +0 -0
  56. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/ci_cd/command.py +0 -0
  57. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/ci_cd/constants.py +0 -0
  58. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/ci_cd/templates/github.yml +0 -0
  59. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/clean/__init__.py +0 -0
  60. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/clean/command.py +0 -0
  61. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/__init__.py +0 -0
  62. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/app.py +0 -0
  63. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/command.py +0 -0
  64. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/dependency/__init__.py +0 -0
  65. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/dependency/app.py +0 -0
  66. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/dependency/command.py +0 -0
  67. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/dependency/sub_commands/__init__.py +0 -0
  68. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/dependency/sub_commands/dependency_delete.py +0 -0
  69. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/dependency/sub_commands/dependency_list.py +0 -0
  70. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/dependency/sub_commands/dependency_new.py +0 -0
  71. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/deploy/__init__.py +0 -0
  72. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/deploy/app.py +0 -0
  73. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/deploy/command.py +0 -0
  74. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/deploy/sub_commands/__init__.py +0 -0
  75. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/deploy/sub_commands/deploy_delete.py +0 -0
  76. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/deploy/sub_commands/deploy_list.py +0 -0
  77. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/deploy/sub_commands/deploy_new.py +0 -0
  78. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/enums.py +0 -0
  79. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/environments/__init__.py +0 -0
  80. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/environments/app.py +0 -0
  81. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/environments/command.py +0 -0
  82. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/environments/constants.py +0 -0
  83. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/environments/sub_commands/__init__.py +0 -0
  84. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/environments/sub_commands/env_checkout.py +0 -0
  85. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/environments/sub_commands/env_delete.py +0 -0
  86. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/environments/sub_commands/env_list.py +0 -0
  87. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/environments/sub_commands/env_new.py +0 -0
  88. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/environments/utils.py +0 -0
  89. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/secret/__init__.py +0 -0
  90. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/secret/app.py +0 -0
  91. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/secret/command.py +0 -0
  92. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/secret/constants.py +0 -0
  93. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/secret/sub_commands/__init__.py +0 -0
  94. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/secret/sub_commands/secret_delete.py +0 -0
  95. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/secret/sub_commands/secret_list.py +0 -0
  96. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/secret/sub_commands/secret_new.py +0 -0
  97. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/security/__init__.py +0 -0
  98. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/security/allowlist/__init__.py +0 -0
  99. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/security/allowlist/app.py +0 -0
  100. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/security/allowlist/command.py +0 -0
  101. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/security/allowlist/sub_commands/__init__.py +0 -0
  102. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/security/allowlist/sub_commands/allowlist_delete.py +0 -0
  103. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/security/allowlist/sub_commands/allowlist_new.py +0 -0
  104. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/security/app.py +0 -0
  105. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/security/basic_auth/__init__.py +0 -0
  106. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/security/basic_auth/app.py +0 -0
  107. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/security/basic_auth/command.py +0 -0
  108. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/security/basic_auth/sub_commands/__init__.py +0 -0
  109. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/security/basic_auth/sub_commands/basic_auth_delete.py +0 -0
  110. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/security/basic_auth/sub_commands/basic_auth_new.py +0 -0
  111. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/security/basic_auth/sub_commands/basic_auth_retrieve.py +0 -0
  112. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/security/command.py +0 -0
  113. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/sub_commands/__init__.py +0 -0
  114. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/sub_commands/expose_db.py +0 -0
  115. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/sub_commands/get_monitoring_info.py +0 -0
  116. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/cloud/sub_commands/sync_db.py +0 -0
  117. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/__init__.py +0 -0
  118. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/app.py +0 -0
  119. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/command.py +0 -0
  120. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/enums.py +0 -0
  121. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/sub_commands/__init__.py +0 -0
  122. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/sub_commands/generate_frontend_config.py +0 -0
  123. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/sub_commands/generate_hook.py +0 -0
  124. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/sub_commands/generate_model.py +0 -0
  125. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/sub_commands/generate_modifier.py +0 -0
  126. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/sub_commands/generate_permission.py +0 -0
  127. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/sub_commands/generate_property.py +0 -0
  128. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/sub_commands/generate_transaction.py +0 -0
  129. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/templates/async_transaction.pyt +0 -0
  130. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/templates/hook.pyt +0 -0
  131. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/templates/modifier/constructor.pyt +0 -0
  132. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/templates/modifier/display_name.pyt +0 -0
  133. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/templates/modifier/version_name.pyt +0 -0
  134. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/templates/property.pyt +0 -0
  135. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/templates/transaction.pyt +0 -0
  136. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/utils/__init__.py +0 -0
  137. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/utils/build_base_path.py +0 -0
  138. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/utils/cast_to_attribute_type.py +0 -0
  139. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/utils/model_attributes.py +0 -0
  140. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/utils/tests/__init__.py +0 -0
  141. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/utils/tests/async_mode_utils.py +0 -0
  142. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/utils/tests/conftest_utils.py +0 -0
  143. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/utils/tests/function_utils.py +0 -0
  144. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/utils/tests/templates/async/conftest.py +0 -0
  145. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/utils/tests/templates/sync/conftest.py +0 -0
  146. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/utils/tests/type_utils.py +0 -0
  147. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/generate/utils/tests/unit.py +0 -0
  148. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/migrations/__init__.py +0 -0
  149. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/migrations/app.py +0 -0
  150. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/migrations/command.py +0 -0
  151. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/migrations/constants.py +0 -0
  152. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/migrations/sub_commands/__init__.py +0 -0
  153. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/migrations/sub_commands/list.py +0 -0
  154. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/new/__init__.py +0 -0
  155. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/new/command.py +0 -0
  156. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/new/templates/.amsdal/.dependencies +0 -0
  157. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/new/templates/.amsdal/.environment +0 -0
  158. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/new/templates/.amsdal/.secrets +0 -0
  159. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/new/templates/.amsdal-cli +0 -0
  160. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/new/templates/.gitignore +0 -0
  161. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/new/templates/README.md +0 -0
  162. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/new/templates/config.yml +0 -0
  163. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/new/templates/requirements.txt +0 -0
  164. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/register_connection/__init__.py +0 -0
  165. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/register_connection/command.py +0 -0
  166. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/register_connection/utils/__init__.py +0 -0
  167. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/register_connection/utils/build.py +0 -0
  168. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/register_connection/utils/config_updater.py +0 -0
  169. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/register_connection/utils/credentials.py +0 -0
  170. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/register_connection/utils/initialize.py +0 -0
  171. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/register_connection/utils/meta.py +0 -0
  172. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/register_connection/utils/migrate_models.py +0 -0
  173. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/register_connection/utils/model_generator.py +0 -0
  174. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/register_connection/utils/tables.py +0 -0
  175. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/restore/__init__.py +0 -0
  176. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/restore/enums.py +0 -0
  177. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/serve/__init__.py +0 -0
  178. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/serve/command.py +0 -0
  179. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/serve/filters/__init__.py +0 -0
  180. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/serve/filters/models_watch_filter.py +0 -0
  181. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/serve/filters/static_files_watch_filter.py +0 -0
  182. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/serve/services/__init__.py +0 -0
  183. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/serve/services/supervisor.py +0 -0
  184. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/serve/utils.py +0 -0
  185. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/tests/__init__.py +0 -0
  186. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/tests/command.py +0 -0
  187. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/verify/__init__.py +0 -0
  188. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/verify/command.py +0 -0
  189. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/verify/models.py +0 -0
  190. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/verify/utils/__init__.py +0 -0
  191. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/verify/utils/verify_json_model.py +0 -0
  192. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/verify/utils/verify_python_file.py +0 -0
  193. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/worker/__init__.py +0 -0
  194. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/worker/app.py +0 -0
  195. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/worker/command.py +0 -0
  196. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/worker/sub_commands/__init__.py +0 -0
  197. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/commands/worker/sub_commands/run.py +0 -0
  198. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/config/__init__.py +0 -0
  199. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/config/main.py +0 -0
  200. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/main.py +0 -0
  201. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/py.typed +0 -0
  202. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/utils/__init__.py +0 -0
  203. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/utils/alias_group.py +0 -0
  204. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/utils/check_versions.py +0 -0
  205. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/utils/cli_config.py +0 -0
  206. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/utils/copier.py +0 -0
  207. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/utils/markdown_patch.py +0 -0
  208. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/utils/render_template.py +0 -0
  209. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/utils/schema_repository.py +0 -0
  210. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/utils/text.py +0 -0
  211. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/utils/vcs/__init__.py +0 -0
  212. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/utils/vcs/base.py +0 -0
  213. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/utils/vcs/dummy.py +0 -0
  214. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/utils/vcs/enums.py +0 -0
  215. {amsdal_cli-0.4.14 → amsdal_cli-0.4.16}/src/amsdal_cli/utils/vcs/git.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: amsdal_cli
3
- Version: 0.4.14
3
+ Version: 0.4.16
4
4
  Summary: CLI for AMSDAL framework
5
5
  Project-URL: Documentation, https://pypi.org/project/amsdal_cli/#readme
6
6
  Project-URL: Issues, https://pypi.org/project/amsdal_cli/
@@ -122,13 +122,14 @@ Classifier: Programming Language :: Python :: Implementation :: CPython
122
122
  Classifier: Programming Language :: Python :: Implementation :: PyPy
123
123
  Requires-Python: >=3.11
124
124
  Requires-Dist: amsdal-server==0.4.*
125
+ Requires-Dist: click<8.2.0
125
126
  Requires-Dist: faker==27.*
126
127
  Requires-Dist: gitpython~=3.1
127
128
  Requires-Dist: jinja2~=3.1
128
129
  Requires-Dist: pydantic-settings~=2.2
129
130
  Requires-Dist: pydantic~=2.3
130
- Requires-Dist: rich~=13.9
131
- Requires-Dist: typer~=0.15.2
131
+ Requires-Dist: rich~=14.0
132
+ Requires-Dist: typer~=0.15.3
132
133
  Requires-Dist: watchfiles~=0.21
133
134
  Description-Content-Type: text/markdown
134
135
 
@@ -1,3 +1,19 @@
1
+ ## [v0.4.16](https://pypi.org/project/amsdal_cli/0.4.16/) - 2025-05-12
2
+
3
+ ### Fixed
4
+
5
+ - Pin `click` version
6
+
7
+ ## [v0.4.15](https://pypi.org/project/amsdal_cli/0.4.15/) - 2025-05-01
8
+
9
+ ### Fixed
10
+
11
+ - Fixed import in generated tests
12
+
13
+ ### Added
14
+
15
+ - Added support for date and datetime types in tests
16
+
1
17
  ## [v0.4.14](https://pypi.org/project/amsdal_cli/0.4.14/) - 2025-05-01
2
18
 
3
19
  ### Fixed
@@ -0,0 +1,5 @@
1
+ ## [v0.4.16](https://pypi.org/project/amsdal_cli/0.4.16/) - 2025-05-12
2
+
3
+ ### Fixed
4
+
5
+ - Pin `click` version
@@ -10,7 +10,10 @@ def extract_dependency_names():
10
10
 
11
11
  project_dependencies = toml_content.get('project', {}).get('dependencies', [])
12
12
 
13
- dependency_list = [dep.split('==')[0].split('~=')[0].split('>=')[0].split('[')[0] for dep in project_dependencies]
13
+ dependency_list = [
14
+ dep.split('==')[0].split('<=')[0].split('~=')[0].split('>=')[0].split('[')[0].split('<')[0]
15
+ for dep in project_dependencies
16
+ ]
14
17
  return dependency_list
15
18
 
16
19
 
@@ -33,8 +33,9 @@ classifiers = [
33
33
  dependencies = [
34
34
  "pydantic~=2.3",
35
35
  "pydantic-settings~=2.2",
36
- "typer~=0.15.2",
37
- "rich~=13.9",
36
+ "typer~=0.15.3",
37
+ "click<8.2.0",
38
+ "rich~=14.0",
38
39
  "jinja2~=3.1",
39
40
  "watchfiles~=0.21",
40
41
  "GitPython~=3.1",
@@ -1185,4 +1185,39 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1185
1185
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1186
1186
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1187
1187
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1188
- THE SOFTWARE.
1188
+ THE SOFTWARE.
1189
+
1190
+ ## click **v8**
1191
+
1192
+ ### [https://github.com/pallets/click/](https://github.com/pallets/click/)
1193
+
1194
+ ### **BSD-3-Clause license**
1195
+
1196
+ Copyright 2014 Pallets
1197
+
1198
+ Redistribution and use in source and binary forms, with or without
1199
+ modification, are permitted provided that the following conditions are
1200
+ met:
1201
+
1202
+ 1. Redistributions of source code must retain the above copyright
1203
+ notice, this list of conditions and the following disclaimer.
1204
+
1205
+ 2. Redistributions in binary form must reproduce the above copyright
1206
+ notice, this list of conditions and the following disclaimer in the
1207
+ documentation and/or other materials provided with the distribution.
1208
+
1209
+ 3. Neither the name of the copyright holder nor the names of its
1210
+ contributors may be used to endorse or promote products derived from
1211
+ this software without specific prior written permission.
1212
+
1213
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1214
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1215
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
1216
+ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
1217
+ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
1218
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
1219
+ TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
1220
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
1221
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
1222
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
1223
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -1,4 +1,4 @@
1
1
  # SPDX-FileCopyrightText: 2023-present
2
2
  #
3
3
  # SPDX-License-Identifier: AMSDAL End User License Agreement
4
- __version__ = '0.4.14'
4
+ __version__ = '0.4.16'
@@ -16,9 +16,9 @@ from amsdal_cli.commands.generate.enums import TestType
16
16
  def generate_tests(
17
17
  ctx: typer.Context,
18
18
  model_name: str = typer.Option(..., help='The model name. It should be provided in PascalCase.'),
19
- test_type: TestType = typer.Option(TestType.UNIT, help='The type of test to generate.'), # noqa: B008
19
+ test_type: TestType = typer.Option(TestType.UNIT.value, help='The type of test to generate.'), # noqa: B008
20
20
  test_data_type: TestDataType = typer.Option( # noqa: B008
21
- TestDataType.DYNAMIC,
21
+ TestDataType.DYNAMIC.value,
22
22
  help='The type of test data to generate.',
23
23
  ),
24
24
  config: Annotated[Path, typer.Option(..., '--config', '-c')] = None, # type: ignore # noqa: RUF013
@@ -108,7 +108,11 @@ def object_init_call(
108
108
  ) -> ast.Call:
109
109
  from amsdal_cli.commands.generate.utils.tests.type_utils import keywords_for_schema
110
110
 
111
- imports_set.add((f'models.{model_name_snake_case}', object_schema.title))
111
+ if cli_config.models_format == ModelsFormat.PY:
112
+ model_class = find_model_class('models', object_schema.title)
113
+ imports_set.add((model_class.__module__, object_schema.title))
114
+ else:
115
+ imports_set.add((f'models.{model_name_snake_case}', object_schema.title))
112
116
 
113
117
  return ast.Call(
114
118
  func=ast.Name(id=object_schema.title, ctx=ast.Load()),
@@ -211,7 +211,7 @@ def apply_migrations(
211
211
  ] = None, # type: ignore[assignment]
212
212
  build_dir: Annotated[Path, typer.Option(..., '--build-dir', '-b')] = Path('.'),
213
213
  *,
214
- module_type: Annotated[ModuleType, typer.Option(..., '--module', '-m')] = ModuleType.USER,
214
+ module_type: Annotated[ModuleType, typer.Option(..., '--module', '-m')] = ModuleType.USER.value, # type: ignore
215
215
  fake: Annotated[bool, typer.Option('--fake', '-f')] = False,
216
216
  config: Annotated[Path, typer.Option(..., '--config', '-c')] = None, # type: ignore # noqa: RUF013
217
217
  ) -> None:
@@ -122,7 +122,7 @@ def make_migrations(
122
122
  build_dir: Annotated[Path, typer.Option('--build-dir', '-b')] = Path('.'),
123
123
  *,
124
124
  name: Annotated[str, typer.Option('--name', '-n', help='Migration name')] = None, # type: ignore # noqa: RUF013
125
- is_data: Annotated[bool, typer.Option('--data', '-d', is_flag=True, help='Create data migration')] = False,
125
+ is_data: Annotated[bool, typer.Option('--data', '-d', help='Create data migration')] = False,
126
126
  config: Annotated[Path, typer.Option('--config', '-c')] = None, # type: ignore # noqa: RUF013
127
127
  ) -> None:
128
128
  """
@@ -264,6 +264,8 @@ async def _async_restore_models(app_source_path: Path, cli_config: 'CliConfig')
264
264
 
265
265
  def _restore_state_db(cli_config: 'CliConfig', config_path: Path | None) -> None:
266
266
  from amsdal_data.connections.constants import SECONDARY_PARTITION_KEY
267
+ from amsdal_data.connections.historical.data_query_transform import META_FOREIGN_KEYS
268
+ from amsdal_data.connections.historical.data_query_transform import META_PRIMARY_KEY_FIELDS
267
269
  from amsdal_data.utils import object_schema_to_glue_schema
268
270
  from amsdal_utils.config.manager import AmsdalConfigManager
269
271
 
@@ -277,6 +279,12 @@ def _restore_state_db(cli_config: 'CliConfig', config_path: Path | None) -> None
277
279
 
278
280
  class_object_ref, class_object_meta_ref = _get_class_object_reference(lakehouse_connection)
279
281
  model_pks, model_fks, model_m2ms = _fetch_model_pks_and_fks(lakehouse_connection, class_object_ref)
282
+
283
+ expected_m2m_tables: set[str] = set()
284
+ for model_name, m2m_list in model_m2ms.items():
285
+ for _, m2m_value in m2m_list.items():
286
+ expected_m2m_tables.add(f'{model_name}{m2m_value[1]}')
287
+
280
288
  user_schemas = _get_user_schemas(
281
289
  lakehouse_connection,
282
290
  class_object_ref,
@@ -287,7 +295,8 @@ def _restore_state_db(cli_config: 'CliConfig', config_path: Path | None) -> None
287
295
  user_scheams_with_tries = [(table_ref, schema, 0) for table_ref, schema in user_schemas]
288
296
  refs_by_name = {table_ref.name: table_ref for table_ref, _ in user_schemas}
289
297
 
290
- m2m_all_data = []
298
+ m2m_schemas = [schema for schema in user_schemas if schema[0].name in expected_m2m_tables]
299
+
291
300
  while user_scheams_with_tries:
292
301
  table_ref, schema, current_iteration = user_scheams_with_tries.pop(0)
293
302
  rprint(rich_info(f'Restoring {table_ref.name}'))
@@ -316,7 +325,7 @@ def _restore_state_db(cli_config: 'CliConfig', config_path: Path | None) -> None
316
325
 
317
326
  from amsdal_data.connections.historical.data_query_transform import META_CLASS_NAME
318
327
 
319
- data, m2m_data = _build_data(
328
+ data, _ = _build_data(
320
329
  item,
321
330
  model_name=table_ref.metadata[META_CLASS_NAME], # type: ignore[index]
322
331
  model_pks=model_pks,
@@ -325,7 +334,6 @@ def _restore_state_db(cli_config: 'CliConfig', config_path: Path | None) -> None
325
334
  refs_by_name=refs_by_name,
326
335
  )
327
336
 
328
- m2m_all_data.extend(m2m_data)
329
337
  state_connection.run_mutations(
330
338
  mutations=[
331
339
  glue.InsertData(
@@ -339,12 +347,79 @@ def _restore_state_db(cli_config: 'CliConfig', config_path: Path | None) -> None
339
347
  ],
340
348
  )
341
349
  rprint('.', end='')
350
+
342
351
  rprint('Inserting m2m data...')
352
+ m2m_all_data = []
353
+ for schema_ref, schema in m2m_schemas:
354
+ _datas = []
355
+ _objects = lakehouse_connection.query(glue.QueryStatement(table=schema_ref))
356
+ field1, field2 = schema.required
357
+ prop1 = schema.properties[field1] # type: ignore[index]
358
+ prop2 = schema.properties[field2] # type: ignore[index]
359
+
360
+ rprint(rich_info(f'Found {len(_objects)} m2m objects for {schema_ref.name}...'))
361
+ for _item in _objects:
362
+ obj_id_1 = _item.data[field1]['ref']['object_id']
363
+ obj_id_2 = _item.data[field2]['ref']['object_id']
364
+ _datas.append(
365
+ glue.Data(
366
+ data={
367
+ f'{field1}_partition_key': obj_id_1,
368
+ f'{field2}_partition_key': obj_id_2,
369
+ },
370
+ metadata={
371
+ META_PRIMARY_KEY_FIELDS: {
372
+ f'{field1}_partition_key': str,
373
+ f'{field2}_partition_key': str,
374
+ },
375
+ META_FOREIGN_KEYS: {
376
+ f'{field1}_partition_key': {
377
+ 'ref': {
378
+ 'resource': 'statedb',
379
+ 'class_name': prop1.type,
380
+ 'object_id': obj_id_1,
381
+ 'class_version': 'LATEST',
382
+ 'object_version': 'LATEST',
383
+ },
384
+ },
385
+ f'{field2}_partition_key': {
386
+ 'ref': {
387
+ 'resource': 'statedb',
388
+ 'class_name': prop2.type,
389
+ 'object_id': obj_id_2,
390
+ 'class_version': 'LATEST',
391
+ 'object_version': 'LATEST',
392
+ },
393
+ },
394
+ },
395
+ },
396
+ )
397
+ )
398
+
399
+ if _datas:
400
+ m2m_all_data.append(
401
+ glue.InsertData(
402
+ schema=glue.SchemaReference(
403
+ name=schema_ref.name,
404
+ version=glue.Version.LATEST,
405
+ metadata=schema_ref.metadata,
406
+ ),
407
+ data=_datas,
408
+ )
409
+ )
343
410
  for _m2m_data in m2m_all_data:
344
- try:
345
- state_connection.run_mutations(mutations=[_m2m_data])
346
- except Exception:
347
- rprint('Error inserting m2m data')
411
+ for data in _m2m_data.data:
412
+ try:
413
+ state_connection.run_mutations(
414
+ mutations=[
415
+ glue.InsertData(
416
+ schema=_m2m_data.schema,
417
+ data=[data],
418
+ ),
419
+ ]
420
+ )
421
+ except Exception:
422
+ rprint('Error inserting m2m data')
348
423
 
349
424
  rprint(rich_success('Done! All classes are restored.'))
350
425
 
@@ -1,5 +0,0 @@
1
- ## [v0.4.14](https://pypi.org/project/amsdal_cli/0.4.14/) - 2025-05-01
2
-
3
- ### Fixed
4
-
5
- - Fixed for nested models in tests
File without changes
File without changes
File without changes
File without changes
File without changes