amsdal_cli 0.9.3__tar.gz → 0.9.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/.gitignore +1 -0
  2. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/PKG-INFO +1 -1
  3. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/change-logs.md +16 -0
  4. amsdal_cli-0.9.4/latest-changelogs.md +15 -0
  5. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/__about__.py +1 -1
  6. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/enums.py +4 -0
  7. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/sub_commands/generate_external_models.py +3 -0
  8. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/sub_commands/generate_model.py +9 -1
  9. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/utils/cast_to_attribute_type.py +3 -0
  10. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/utils/model_attributes.py +14 -0
  11. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/register_connection/utils/model_generator.py +10 -1
  12. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/uv.lock +33 -33
  13. amsdal_cli-0.9.3/latest-changelogs.md +0 -26
  14. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/.editorconfig +0 -0
  15. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/.junie/guidelines.md +0 -0
  16. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/CONTRIBUTING.md +0 -0
  17. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/LICENSE.txt +0 -0
  18. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/README.md +0 -0
  19. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/license_check.py +0 -0
  20. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/pyproject.toml +0 -0
  21. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/release_notes/.gitkeep +0 -0
  22. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/scripts/release.sh +0 -0
  23. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/scripts/tag_check.sh +0 -0
  24. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/Third-Party Materials - AMSDAL Dependencies - License Notices.md +0 -0
  25. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/__init__.py +0 -0
  26. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/app.py +0 -0
  27. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/__init__.py +0 -0
  28. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/api_check/__init__.py +0 -0
  29. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/api_check/command.py +0 -0
  30. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/api_check/config.py +0 -0
  31. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/api_check/data_classes.py +0 -0
  32. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/api_check/operation_log.py +0 -0
  33. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/api_check/services/__init__.py +0 -0
  34. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/api_check/services/comparison.py +0 -0
  35. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/api_check/services/data_factory.py +0 -0
  36. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/api_check/services/loader.py +0 -0
  37. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/api_check/services/runner.py +0 -0
  38. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/api_check/services/storage.py +0 -0
  39. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/build/__init__.py +0 -0
  40. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/build/command.py +0 -0
  41. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/build/constants.py +0 -0
  42. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/build/schemas/__init__.py +0 -0
  43. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/build/schemas/data_models/__init__.py +0 -0
  44. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/build/schemas/data_models/custom_code.py +0 -0
  45. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/build/schemas/data_models/options.py +0 -0
  46. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/build/schemas/data_models/schemas_directory.py +0 -0
  47. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/build/schemas/extenders/__init__.py +0 -0
  48. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/build/schemas/extenders/custom_code_extender.py +0 -0
  49. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/build/schemas/extenders/options_extender.py +0 -0
  50. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/build/schemas/loaders/__init__.py +0 -0
  51. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/build/schemas/loaders/base.py +0 -0
  52. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/build/schemas/loaders/cli_custom_code_loader.py +0 -0
  53. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/build/schemas/loaders/cli_loader.py +0 -0
  54. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/build/schemas/loaders/cli_options_loader.py +0 -0
  55. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/build/schemas/loaders/cli_statics_loader.py +0 -0
  56. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/build/schemas/loaders/cli_transactions_loader.py +0 -0
  57. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/build/schemas/loaders/utils.py +0 -0
  58. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/build/schemas/mixins/__init__.py +0 -0
  59. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/build/schemas/mixins/enrich_schemas_mixin.py +0 -0
  60. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/build/schemas/schema_json_loader.py +0 -0
  61. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/build/schemas/utils/__init__.py +0 -0
  62. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/build/schemas/utils/merger.py +0 -0
  63. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/build/services/__init__.py +0 -0
  64. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/build/services/builder.py +0 -0
  65. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/build/services/mixin.py +0 -0
  66. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/build/utils/__init__.py +0 -0
  67. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/build/utils/build_config_file.py +0 -0
  68. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/callbacks.py +0 -0
  69. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/ci_cd/__init__.py +0 -0
  70. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/ci_cd/command.py +0 -0
  71. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/ci_cd/constants.py +0 -0
  72. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/ci_cd/templates/github.yml +0 -0
  73. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/clean/__init__.py +0 -0
  74. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/clean/command.py +0 -0
  75. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/__init__.py +0 -0
  76. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/app.py +0 -0
  77. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/command.py +0 -0
  78. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/dependency/__init__.py +0 -0
  79. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/dependency/app.py +0 -0
  80. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/dependency/command.py +0 -0
  81. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/dependency/sub_commands/__init__.py +0 -0
  82. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/dependency/sub_commands/dependency_delete.py +0 -0
  83. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/dependency/sub_commands/dependency_list.py +0 -0
  84. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/dependency/sub_commands/dependency_new.py +0 -0
  85. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/deploy/__init__.py +0 -0
  86. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/deploy/app.py +0 -0
  87. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/deploy/command.py +0 -0
  88. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/deploy/sub_commands/__init__.py +0 -0
  89. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/deploy/sub_commands/deploy_delete.py +0 -0
  90. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/deploy/sub_commands/deploy_list.py +0 -0
  91. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/deploy/sub_commands/deploy_new.py +0 -0
  92. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/enums.py +0 -0
  93. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/environments/__init__.py +0 -0
  94. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/environments/app.py +0 -0
  95. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/environments/command.py +0 -0
  96. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/environments/constants.py +0 -0
  97. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/environments/sub_commands/__init__.py +0 -0
  98. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/environments/sub_commands/env_checkout.py +0 -0
  99. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/environments/sub_commands/env_delete.py +0 -0
  100. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/environments/sub_commands/env_list.py +0 -0
  101. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/environments/sub_commands/env_new.py +0 -0
  102. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/environments/utils.py +0 -0
  103. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/external_connections/__init__.py +0 -0
  104. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/external_connections/app.py +0 -0
  105. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/external_connections/command.py +0 -0
  106. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/external_connections/sub_commands/__init__.py +0 -0
  107. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/external_connections/sub_commands/connection_add.py +0 -0
  108. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/external_connections/sub_commands/connection_list.py +0 -0
  109. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/external_connections/sub_commands/connection_remove.py +0 -0
  110. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/external_connections/sub_commands/connection_update.py +0 -0
  111. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/secret/__init__.py +0 -0
  112. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/secret/app.py +0 -0
  113. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/secret/command.py +0 -0
  114. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/secret/constants.py +0 -0
  115. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/secret/sub_commands/__init__.py +0 -0
  116. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/secret/sub_commands/secret_delete.py +0 -0
  117. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/secret/sub_commands/secret_list.py +0 -0
  118. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/secret/sub_commands/secret_new.py +0 -0
  119. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/security/__init__.py +0 -0
  120. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/security/allowlist/__init__.py +0 -0
  121. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/security/allowlist/app.py +0 -0
  122. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/security/allowlist/command.py +0 -0
  123. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/security/allowlist/sub_commands/__init__.py +0 -0
  124. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/security/allowlist/sub_commands/allowlist_delete.py +0 -0
  125. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/security/allowlist/sub_commands/allowlist_new.py +0 -0
  126. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/security/app.py +0 -0
  127. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/security/basic_auth/__init__.py +0 -0
  128. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/security/basic_auth/app.py +0 -0
  129. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/security/basic_auth/command.py +0 -0
  130. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/security/basic_auth/sub_commands/__init__.py +0 -0
  131. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/security/basic_auth/sub_commands/basic_auth_delete.py +0 -0
  132. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/security/basic_auth/sub_commands/basic_auth_new.py +0 -0
  133. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/security/basic_auth/sub_commands/basic_auth_retrieve.py +0 -0
  134. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/security/command.py +0 -0
  135. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/sub_commands/__init__.py +0 -0
  136. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/sub_commands/expose_db.py +0 -0
  137. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/sub_commands/gen_token.py +0 -0
  138. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/sub_commands/get_monitoring_info.py +0 -0
  139. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/sub_commands/sync_db.py +0 -0
  140. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/cloud/sub_commands/tunnel_db.py +0 -0
  141. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/gen_token/__init__.py +0 -0
  142. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/gen_token/command.py +0 -0
  143. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/__init__.py +0 -0
  144. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/app.py +0 -0
  145. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/command.py +0 -0
  146. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/sub_commands/__init__.py +0 -0
  147. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/sub_commands/generate_frontend_config.py +0 -0
  148. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/sub_commands/generate_hook.py +0 -0
  149. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/sub_commands/generate_modifier.py +0 -0
  150. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/sub_commands/generate_permission.py +0 -0
  151. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/sub_commands/generate_property.py +0 -0
  152. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/sub_commands/generate_tests.py +0 -0
  153. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/sub_commands/generate_transaction.py +0 -0
  154. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/templates/async_transaction.pyt +0 -0
  155. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/templates/hook.pyt +0 -0
  156. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/templates/modifier/constructor.pyt +0 -0
  157. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/templates/modifier/display_name.pyt +0 -0
  158. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/templates/modifier/version_name.pyt +0 -0
  159. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/templates/property.pyt +0 -0
  160. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/templates/transaction.pyt +0 -0
  161. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/utils/__init__.py +0 -0
  162. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/utils/build_base_path.py +0 -0
  163. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/utils/tests/__init__.py +0 -0
  164. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/utils/tests/async_mode_utils.py +0 -0
  165. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/utils/tests/conftest_utils.py +0 -0
  166. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/utils/tests/function_utils.py +0 -0
  167. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/utils/tests/model_utils.py +0 -0
  168. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/utils/tests/templates/async/conftest.py +0 -0
  169. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/utils/tests/templates/sync/conftest.py +0 -0
  170. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/utils/tests/type_utils.py +0 -0
  171. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/generate/utils/tests/unit.py +0 -0
  172. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/migrations/__init__.py +0 -0
  173. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/migrations/app.py +0 -0
  174. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/migrations/command.py +0 -0
  175. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/migrations/constants.py +0 -0
  176. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/migrations/sub_commands/__init__.py +0 -0
  177. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/migrations/sub_commands/apply.py +0 -0
  178. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/migrations/sub_commands/list.py +0 -0
  179. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/migrations/sub_commands/make.py +0 -0
  180. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/migrations/sub_commands/make_contrib.py +0 -0
  181. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/migrations/utils.py +0 -0
  182. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/new/__init__.py +0 -0
  183. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/new/command.py +0 -0
  184. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/new/templates/.amsdal/.dependencies +0 -0
  185. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/new/templates/.amsdal/.environment +0 -0
  186. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/new/templates/.amsdal/.secrets +0 -0
  187. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/new/templates/.amsdal-cli +0 -0
  188. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/new/templates/.env.template +0 -0
  189. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/new/templates/.gitignore +0 -0
  190. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/new/templates/README.md +0 -0
  191. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/new/templates/config.yml +0 -0
  192. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/new/templates/requirements.txt +0 -0
  193. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/new/templates/src/app.pyt +0 -0
  194. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/plugin/__init__.py +0 -0
  195. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/plugin/command.py +0 -0
  196. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/plugin/templates/.amsdal-cli +0 -0
  197. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/plugin/templates/README.md +0 -0
  198. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/plugin/templates/config.yml +0 -0
  199. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/plugin/templates/pyproject.toml +0 -0
  200. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/plugin/templates/src/__about__.py +0 -0
  201. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/plugin/templates/src/__init__.py +0 -0
  202. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/plugin/templates/src/models/__init__.py +0 -0
  203. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/plugin/templates/src/transactions/__init__.py +0 -0
  204. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/plugin/templates/src/transactions/example_transaction.py +0 -0
  205. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/register_connection/__init__.py +0 -0
  206. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/register_connection/command.py +0 -0
  207. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/register_connection/utils/__init__.py +0 -0
  208. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/register_connection/utils/build.py +0 -0
  209. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/register_connection/utils/config_updater.py +0 -0
  210. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/register_connection/utils/credentials.py +0 -0
  211. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/register_connection/utils/initialize.py +0 -0
  212. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/register_connection/utils/meta.py +0 -0
  213. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/register_connection/utils/migrate_models.py +0 -0
  214. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/register_connection/utils/tables.py +0 -0
  215. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/restore/__init__.py +0 -0
  216. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/restore/command.py +0 -0
  217. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/restore/enums.py +0 -0
  218. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/serve/__init__.py +0 -0
  219. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/serve/command.py +0 -0
  220. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/serve/filters/__init__.py +0 -0
  221. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/serve/filters/models_watch_filter.py +0 -0
  222. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/serve/filters/static_files_watch_filter.py +0 -0
  223. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/serve/services/__init__.py +0 -0
  224. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/serve/services/supervisor.py +0 -0
  225. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/serve/utils.py +0 -0
  226. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/tests/__init__.py +0 -0
  227. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/tests/command.py +0 -0
  228. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/verify/__init__.py +0 -0
  229. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/verify/command.py +0 -0
  230. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/verify/models.py +0 -0
  231. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/verify/utils/__init__.py +0 -0
  232. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/verify/utils/verify_json_model.py +0 -0
  233. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/verify/utils/verify_python_file.py +0 -0
  234. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/worker/__init__.py +0 -0
  235. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/worker/app.py +0 -0
  236. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/worker/command.py +0 -0
  237. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/worker/sub_commands/__init__.py +0 -0
  238. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/commands/worker/sub_commands/run.py +0 -0
  239. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/config/__init__.py +0 -0
  240. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/config/main.py +0 -0
  241. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/main.py +0 -0
  242. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/py.typed +0 -0
  243. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/services/__init__.py +0 -0
  244. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/services/gen_token.py +0 -0
  245. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/utils/__init__.py +0 -0
  246. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/utils/alias_group.py +0 -0
  247. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/utils/auth.py +0 -0
  248. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/utils/check_versions.py +0 -0
  249. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/utils/cli_config.py +0 -0
  250. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/utils/copier.py +0 -0
  251. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/utils/markdown_patch.py +0 -0
  252. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/utils/render_template.py +0 -0
  253. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/utils/schema_repository.py +0 -0
  254. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/utils/text.py +0 -0
  255. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/utils/vcs/__init__.py +0 -0
  256. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/utils/vcs/base.py +0 -0
  257. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/utils/vcs/dummy.py +0 -0
  258. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/utils/vcs/enums.py +0 -0
  259. {amsdal_cli-0.9.3 → amsdal_cli-0.9.4}/src/amsdal_cli/utils/vcs/git.py +0 -0
@@ -15,3 +15,4 @@ pyrightconfig.json
15
15
  .claude/
16
16
  CLAUDE.md
17
17
  .tmp
18
+ docs/
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: amsdal_cli
3
- Version: 0.9.3
3
+ Version: 0.9.4
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/
@@ -1,3 +1,19 @@
1
+ ## [v0.9.4](https://pypi.org/project/amsdal_cli/0.9.4/) - 2026-06-16
2
+
3
+
4
+ ### Added
5
+
6
+ - Added a `decimal` attribute type for fixed-precision decimal fields. `generate
7
+ model` accepts it with optional positional precision and scale, e.g.
8
+ `price:decimal:10:2` (equivalent to `price: Decimal = Field(max_digits=10,
9
+ decimal_places=2)`, stored as `NUMERIC(10, 2)`); without them (`total:decimal`)
10
+ it is an unconstrained decimal. Precision/scale are emitted into both JSON and
11
+ Python model definitions.
12
+ - `register-connection` now maps a Glue `DecimalSchemaModel` column to the
13
+ `decimal` type, carrying its precision and scale into the generated model.
14
+ - `generate external-models` now maps Python `Decimal` fields to the `decimal`
15
+ JSON schema type.
16
+
1
17
  ## [v0.9.3](https://pypi.org/project/amsdal_cli/0.9.3/) - 2026-06-15
2
18
 
3
19
 
@@ -0,0 +1,15 @@
1
+ ## [v0.9.4](https://pypi.org/project/amsdal_cli/0.9.4/) - 2026-06-16
2
+
3
+
4
+ ### Added
5
+
6
+ - Added a `decimal` attribute type for fixed-precision decimal fields. `generate
7
+ model` accepts it with optional positional precision and scale, e.g.
8
+ `price:decimal:10:2` (equivalent to `price: Decimal = Field(max_digits=10,
9
+ decimal_places=2)`, stored as `NUMERIC(10, 2)`); without them (`total:decimal`)
10
+ it is an unconstrained decimal. Precision/scale are emitted into both JSON and
11
+ Python model definitions.
12
+ - `register-connection` now maps a Glue `DecimalSchemaModel` column to the
13
+ `decimal` type, carrying its precision and scale into the generated model.
14
+ - `generate external-models` now maps Python `Decimal` fields to the `decimal`
15
+ JSON schema type.
@@ -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.9.3'
4
+ __version__ = '0.9.4'
@@ -55,6 +55,7 @@ class AttributeType(StrEnum):
55
55
  NUMBER (str): Attribute type for numeric values.
56
56
  INTEGER (str): Attribute type for integer values.
57
57
  BOOLEAN (str): Attribute type for boolean values.
58
+ DECIMAL (str): Attribute type for fixed-precision decimal values.
58
59
  BELONGS_TO (str): Attribute type for belongs-to relationships.
59
60
  HAS_MANY (str): Attribute type for has-many relationships.
60
61
  DICT (str): Attribute type for dictionary values.
@@ -64,6 +65,7 @@ class AttributeType(StrEnum):
64
65
  NUMBER = 'number'
65
66
  INTEGER = 'integer'
66
67
  BOOLEAN = 'boolean'
68
+ DECIMAL = 'decimal'
67
69
  BELONGS_TO = 'belongs-to'
68
70
  HAS_MANY = 'has-many'
69
71
  DICT = 'dict'
@@ -78,6 +80,7 @@ class JsonType(StrEnum):
78
80
  NUMBER (str): JSON type for numeric values.
79
81
  INTEGER (str): JSON type for integer values.
80
82
  BOOLEAN (str): JSON type for boolean values.
83
+ DECIMAL (str): JSON type for fixed-precision decimal values.
81
84
  ARRAY (str): JSON type for array values.
82
85
  DICT (str): JSON type for dictionary values.
83
86
  """
@@ -86,6 +89,7 @@ class JsonType(StrEnum):
86
89
  NUMBER = 'number'
87
90
  INTEGER = 'integer'
88
91
  BOOLEAN = 'boolean'
92
+ DECIMAL = 'decimal'
89
93
  ARRAY = 'array'
90
94
  DICT = 'dictionary'
91
95
 
@@ -351,12 +351,15 @@ def _generate_json_schema(model_class: type, connection_name: str) -> dict[str,
351
351
 
352
352
  def _python_type_to_json_type(python_type: type) -> str:
353
353
  """Convert Python type to JSON schema type string."""
354
+ from decimal import Decimal
355
+
354
356
  from amsdal_utils.models.data_models.enums import CoreTypes
355
357
 
356
358
  type_mapping = {
357
359
  str: CoreTypes.STRING.value,
358
360
  int: CoreTypes.INTEGER.value,
359
361
  float: CoreTypes.NUMBER.value,
362
+ Decimal: CoreTypes.DECIMAL.value,
360
363
  bool: CoreTypes.BOOLEAN.value,
361
364
  bytes: CoreTypes.BINARY.value,
362
365
  list: CoreTypes.ARRAY.value,
@@ -40,6 +40,9 @@ def generate_model(
40
40
  - string - Example: `position:string`
41
41
  - number - Example: `age:number`
42
42
  - boolean - Example: `is_active:boolean`
43
+ - decimal - Fixed-precision decimal. Optional precision and scale may be given as positional values:
44
+ `price:decimal:10:2` (equivalent to `price: Decimal = Field(max_digits=10, decimal_places=2)`,
45
+ stored as `NUMERIC(10, 2)`). Without them (`total:decimal`) it is an unconstrained decimal.
43
46
  - dict - Example: `metadata:dict:string:Country` (equivalent to `metadata: dict[str, Country]` in Python)
44
47
  - belongs-to - Example: `user:belongs-to:User` (equivalent to `user: User` in Python)
45
48
  - has-many - Example: `posts:has-many:Post` (equivalent to `posts: list[Post]` in Python)
@@ -75,6 +78,7 @@ def generate_model(
75
78
  from amsdal_utils.utils.text import to_snake_case
76
79
 
77
80
  from amsdal_cli.commands.generate.enums import MODEL_JSON_FILE
81
+ from amsdal_cli.commands.generate.enums import AttributeType
78
82
  from amsdal_cli.commands.generate.utils.model_attributes import parse_attributes
79
83
  from amsdal_cli.utils.cli_config import CliConfig
80
84
  from amsdal_cli.utils.cli_config import ModelsFormat
@@ -115,6 +119,10 @@ def generate_model(
115
119
  if attr.has_items:
116
120
  property_info['items'] = attr.json_items
117
121
 
122
+ if attr.type == AttributeType.DECIMAL:
123
+ property_info['precision'] = attr.precision
124
+ property_info['scale'] = attr.scale
125
+
118
126
  if attr.default != attr.NotSet:
119
127
  property_info['default'] = attr.default
120
128
 
@@ -124,7 +132,7 @@ def generate_model(
124
132
  output_path = cli_config.app_directory / cli_config.src_dir / 'models' / name
125
133
 
126
134
  write_file(
127
- json.dumps(json_schema, indent=cli_config.indent),
135
+ json.dumps(json_schema, indent=cli_config.indent, default=str),
128
136
  destination_file_path=output_path / MODEL_JSON_FILE,
129
137
  confirm_overwriting=True,
130
138
  )
@@ -1,3 +1,4 @@
1
+ from decimal import Decimal
1
2
  from typing import Any
2
3
 
3
4
  from amsdal_cli.commands.generate.enums import AttributeType
@@ -23,6 +24,8 @@ def cast_to_attribute_type(
23
24
  match attr_type:
24
25
  case AttributeType.NUMBER:
25
26
  return float(value)
27
+ case AttributeType.DECIMAL:
28
+ return Decimal(value)
26
29
  case AttributeType.BOOLEAN:
27
30
  return value.lower() == 'true'
28
31
  case _:
@@ -39,6 +39,8 @@ class Attribute(BaseModel):
39
39
  unique: bool = False
40
40
  item_key_type: str | None = None
41
41
  item_value_type: str | None = None
42
+ precision: int | None = None
43
+ scale: int | None = None
42
44
 
43
45
  @property
44
46
  def json_type(self) -> str | None:
@@ -100,6 +102,8 @@ class Attribute(BaseModel):
100
102
  return JsonType.INTEGER.value
101
103
  case AttributeType.NUMBER:
102
104
  return JsonType.NUMBER.value
105
+ case AttributeType.DECIMAL:
106
+ return JsonType.DECIMAL.value
103
107
  case AttributeType.BOOLEAN:
104
108
  return JsonType.BOOLEAN.value
105
109
  case AttributeType.HAS_MANY:
@@ -169,6 +173,16 @@ def parse_attributes(attrs: list[str]) -> list[Attribute]:
169
173
  params['item_key_type'] = attr_options[0]
170
174
  params['item_value_type'] = attr_options[1]
171
175
  attr_options = attr_options[2:]
176
+ elif attr_type == AttributeType.DECIMAL:
177
+ # Optional leading positional digits are precision then scale,
178
+ # e.g. `price:decimal:10:2`. Anything else (index/required/...) is left as options.
179
+ _digit_options = []
180
+ while attr_options and attr_options[0].isdigit():
181
+ _digit_options.append(int(attr_options.pop(0)))
182
+ if _digit_options:
183
+ params['precision'] = _digit_options[0]
184
+ if len(_digit_options) > 1:
185
+ params['scale'] = _digit_options[1]
172
186
 
173
187
  for attr_option in attr_options:
174
188
  if attr_option.lower() == OptionName.INDEX.value:
@@ -5,6 +5,8 @@ from pathlib import Path
5
5
  from typing import TYPE_CHECKING
6
6
  from typing import Any
7
7
 
8
+ from amsdal_glue_core.common.data_models.schema import DecimalSchemaModel
9
+
8
10
  from amsdal_cli.utils.cli_config import ModelsFormat
9
11
 
10
12
  if TYPE_CHECKING:
@@ -152,6 +154,10 @@ class ModelGenerator:
152
154
  'title': prop.name,
153
155
  }
154
156
 
157
+ if isinstance(prop.type, DecimalSchemaModel):
158
+ property_data['precision'] = prop.type.precision
159
+ property_data['scale'] = prop.type.scale
160
+
155
161
  if prop.default is not None:
156
162
  property_data['default'] = prop.default
157
163
 
@@ -234,10 +240,13 @@ class ModelGenerator:
234
240
  return ObjectSchema(**schema_data), depends
235
241
 
236
242
  @staticmethod
237
- def glue_type_to_object_schema_type(glue_type: type) -> str:
243
+ def glue_type_to_object_schema_type(glue_type: Any) -> str:
238
244
  """Converts Glue type to ObjectSchema type, reverse of object_schema_type_to_glue_type."""
239
245
  from amsdal_utils.models.data_models.enums import CoreTypes
240
246
 
247
+ if isinstance(glue_type, DecimalSchemaModel):
248
+ return CoreTypes.DECIMAL.value
249
+
241
250
  type_mapping = {
242
251
  dict: CoreTypes.DICTIONARY.value,
243
252
  float: CoreTypes.NUMBER.value,
@@ -17,7 +17,7 @@ wheels = [
17
17
 
18
18
  [[package]]
19
19
  name = "amsdal"
20
- version = "0.9.4"
20
+ version = "0.9.5"
21
21
  source = { registry = "https://pypi.org/simple" }
22
22
  dependencies = [
23
23
  { name = "amsdal-data" },
@@ -33,12 +33,12 @@ dependencies = [
33
33
  { name = "pyotp" },
34
34
  ]
35
35
  wheels = [
36
- { url = "https://files.pythonhosted.org/packages/1d/33/eb28b132f44d9ff693b4216853d761d8f4d693312c1eed45a103d6cbd630/amsdal-0.9.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:82152d989c9ff7f58ecf19a4290d7ed2a5eb9296ce96b828ebebe0b0fe4a24f0", size = 3148217, upload-time = "2026-06-15T15:00:41.4Z" },
37
- { url = "https://files.pythonhosted.org/packages/cb/cd/be125947763fba8c2872214e3c6f3d883a272911b92d3de99334f038b7b1/amsdal-0.9.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:920b94f26e58f2c6bc204d10dbf5d7e3e1bb0f57393504b4c847c3690b1f7517", size = 8700910, upload-time = "2026-06-15T15:00:36.534Z" },
38
- { url = "https://files.pythonhosted.org/packages/9a/0f/939f47fb7cb9e6f98033eddc3130c241929fd75fdaf543d14feda7f34c5e/amsdal-0.9.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:edb7156bba50033e82669c95e12fa83b8c60f93be2f04d70d2018e8e318ea338", size = 3145723, upload-time = "2026-06-15T15:00:43.025Z" },
39
- { url = "https://files.pythonhosted.org/packages/86/f7/78144e4fbcea010395d2d875ab4e06eb4495552e6503056f9e0d7d981a6d/amsdal-0.9.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5bdb2fee34464ff4c3519245f303be4cd455122f04be085c7b64d50932037dfe", size = 9050002, upload-time = "2026-06-15T15:00:38.973Z" },
40
- { url = "https://files.pythonhosted.org/packages/c6/3e/46430b4a44485329dc82a35d85087d2be1b4c146c1c1936a48c17594aa99/amsdal-0.9.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:bd07db56c1a339411eea57888ee67b8ecbce185401bb21ab22db63de40cdd069", size = 3040226, upload-time = "2026-06-15T15:00:34.203Z" },
41
- { url = "https://files.pythonhosted.org/packages/f1/d6/502db97d42e87b2b77044dffa05655484272df9c025ea8abbd7c57214339/amsdal-0.9.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bd928f52e2c8c02fad3235b11fbc2cca53619c48767ec315f9f096a2de66f7de", size = 8648194, upload-time = "2026-06-15T15:00:45.139Z" },
36
+ { url = "https://files.pythonhosted.org/packages/7f/92/2783e03d983f60463684e73fbd9fd8a70e753136e1acddcc1ea3733d373a/amsdal-0.9.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1c89ce5f8c6c4592dc229ead979b33adeac17e6c03941a87d88d95021524a587", size = 3148273, upload-time = "2026-06-16T12:47:45.312Z" },
37
+ { url = "https://files.pythonhosted.org/packages/6d/67/204905a3867de401b7853e532995fe9e78cf455f807d630f807d1502b441/amsdal-0.9.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:28a913f2ff620fbfa8d4689e84a0c5f706a0aef9520a88e787efe795e468aba1", size = 8700926, upload-time = "2026-06-16T12:47:47.384Z" },
38
+ { url = "https://files.pythonhosted.org/packages/0a/af/9b0ad634f444ff17eec676a2b0286beb3381732b2e01e0c60ddd55bfba60/amsdal-0.9.5-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e6f564966081278846407014666fcbaa47285a7a304f46cfc6ec04d39976ea23", size = 3145743, upload-time = "2026-06-16T12:47:40.891Z" },
39
+ { url = "https://files.pythonhosted.org/packages/5b/01/76195170eb0ec4c8e47e8069169ea0e270bd85c4f54d1ef298a391a6eaf0/amsdal-0.9.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:480a4e4b04d4a0edf3f37747eee3e375ae17ec7a2dffb271f580b881f15d106c", size = 9050019, upload-time = "2026-06-16T12:47:43.03Z" },
40
+ { url = "https://files.pythonhosted.org/packages/f2/07/6427ba39a45bd202152894406617e611ba21c6e8c813ccdb3b4ec3c41f9c/amsdal-0.9.5-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:82a0a7e07b804a9c78fdc9c9ab4ad963277004f1d07e348aa93b5f8ddb5dc454", size = 3040242, upload-time = "2026-06-16T12:47:49.651Z" },
41
+ { url = "https://files.pythonhosted.org/packages/bb/58/875d50c5d5c983d91d16f0bb9dbb60e3687955ae7a938fb5469ae1f973d9/amsdal-0.9.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8d2cec9b2dac2b36300f808a771f8af64de5bbde945ad50f6c9c9bda95e01602", size = 8648211, upload-time = "2026-06-16T12:47:51.323Z" },
42
42
  ]
43
43
 
44
44
  [package.optional-dependencies]
@@ -140,7 +140,7 @@ dev = [
140
140
 
141
141
  [[package]]
142
142
  name = "amsdal-data"
143
- version = "0.7.4"
143
+ version = "0.7.5"
144
144
  source = { registry = "https://pypi.org/simple" }
145
145
  dependencies = [
146
146
  { name = "amsdal-glue" },
@@ -151,12 +151,12 @@ dependencies = [
151
151
  { name = "pytz" },
152
152
  ]
153
153
  wheels = [
154
- { url = "https://files.pythonhosted.org/packages/35/21/0f6231c3325f382fe5700b87d377d0dc265aba773e1bb508b65b31d9c89f/amsdal_data-0.7.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3c9a38f382e0acaf4bd97401e055c3ed63ba1e4b8c33fd16a9a4f853eeaa3b2c", size = 479773, upload-time = "2026-06-15T12:39:21.508Z" },
155
- { url = "https://files.pythonhosted.org/packages/c4/49/e142fae3fca0fcc6ec0031758f67b45a4699d336b10120b4f9c0abc3f3df/amsdal_data-0.7.4-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:495185405ad640b8706dc66ab5367c68b013d6a25c2ba78f2c38293a8a423003", size = 1114230, upload-time = "2026-06-15T12:39:16.972Z" },
156
- { url = "https://files.pythonhosted.org/packages/ea/56/9ebe6a477bdbf3c2a96a6b4b18cfc720050f75a0e8280116c80245696bdc/amsdal_data-0.7.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:c23a17023915e775cdf242011de017910dc01c23fdfd0e435a560d20266b1ba4", size = 479308, upload-time = "2026-06-15T12:39:22.643Z" },
157
- { url = "https://files.pythonhosted.org/packages/c9/04/6755ffca65fee0e47d7c5cc0666ef0ee9aa1f12e417b79a0c192dafc7982/amsdal_data-0.7.4-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:88ea6feec6fe2517674d24d77af70a90d84f4ad3b97d03990ad6c948e8d4ed5e", size = 1128766, upload-time = "2026-06-15T12:39:20.301Z" },
158
- { url = "https://files.pythonhosted.org/packages/93/ab/e431bc20f4c2d8630c9265c90a45828c38c5e87d88beb625db8e0d07741b/amsdal_data-0.7.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:fc6a0143e5af1a39923600be3b3381553185cfac154b30da81eddc3e50957929", size = 471513, upload-time = "2026-06-15T12:39:23.754Z" },
159
- { url = "https://files.pythonhosted.org/packages/a8/dc/cb09a336f8a181237914c33d03c38289cee478d222567d36c37d776bba58/amsdal_data-0.7.4-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:ef961e47307f430c15f58771a22fe1dc25fa368ee1487351d4e50746fa3b9199", size = 1087903, upload-time = "2026-06-15T12:39:18.615Z" },
154
+ { url = "https://files.pythonhosted.org/packages/64/e5/d0573126255cd92ef7c52f7897303c2f9a6b590ce435f641f277ad89a98c/amsdal_data-0.7.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6ad8b3f178d9cfb0999f3659819579268fac67e471d298c8f846420a0510fab0", size = 479855, upload-time = "2026-06-15T20:56:11.825Z" },
155
+ { url = "https://files.pythonhosted.org/packages/32/94/eb978a338c3b8e8d3ff0fe8118a80a5301190a472d4dc08bc97f51eb4927/amsdal_data-0.7.5-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b892e62107fa5b4ac18b031e1fe208f9859f5d46ac8a26a09e78b9261fc1a9fc", size = 1114307, upload-time = "2026-06-15T20:56:07.52Z" },
156
+ { url = "https://files.pythonhosted.org/packages/db/a6/9c8c1cfbe4592267681f058fecb334b8a57f932d265fe35c3cd42b12a1ba/amsdal_data-0.7.5-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:4374ff6a2f27a9337bb56dc41a6f65ce35273a9245b6271bc5fa7e15ac48ae2c", size = 479397, upload-time = "2026-06-15T20:56:08.888Z" },
157
+ { url = "https://files.pythonhosted.org/packages/ab/20/074c0c4baea1be3fbc9e047b0b839a68728925092430d19b3b03b656d1ea/amsdal_data-0.7.5-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:1e52e218c6499bc675b388fb4560e2a2271fca8022b21e97761a15c50ce22985", size = 1128845, upload-time = "2026-06-15T20:56:05.977Z" },
158
+ { url = "https://files.pythonhosted.org/packages/f3/53/863d3f9d790da17ab54ae318614c842a164384b0fb9ec229850b18f6f02c/amsdal_data-0.7.5-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:05dea0e9519a9301577f169e4a2f7f8e94034854625648baff8f890bddd80fa1", size = 471598, upload-time = "2026-06-15T20:56:10.498Z" },
159
+ { url = "https://files.pythonhosted.org/packages/69/eb/f63e55788d09aa3017316796c1e105670d6cb0be2e23a891269f6c26ff3a/amsdal_data-0.7.5-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:3119d94c70c517406e41b9e5c8e38f5e76b29a31651d9758c4017c50d1368429", size = 1087980, upload-time = "2026-06-15T20:56:03.959Z" },
160
160
  ]
161
161
 
162
162
  [package.optional-dependencies]
@@ -190,14 +190,14 @@ postgres-binary = [
190
190
 
191
191
  [[package]]
192
192
  name = "amsdal-glue-connections"
193
- version = "0.1.25"
193
+ version = "0.1.26"
194
194
  source = { registry = "https://pypi.org/simple" }
195
195
  dependencies = [
196
196
  { name = "amsdal-glue-core" },
197
197
  ]
198
- sdist = { url = "https://files.pythonhosted.org/packages/f6/09/31be9e61b9ffbaffd184c4cad288997929a194f78ce0250c62c512a5e7f8/amsdal_glue_connections-0.1.25.tar.gz", hash = "sha256:129090425a24adef63b035b0b82fb4ddbaf3256c932cc34339a96e350537c1f4", size = 201509, upload-time = "2026-05-20T09:12:34.765Z" }
198
+ sdist = { url = "https://files.pythonhosted.org/packages/fa/0a/fc081ccdd15cc59f92396069dcbc4c77ecdf7e3782136f4dc0e4a55d3d09/amsdal_glue_connections-0.1.26.tar.gz", hash = "sha256:363b08210c4595dbbebd7da847dbf87c2062f16d58550adb2fc571ce2898ff72", size = 203827, upload-time = "2026-06-15T20:31:13.638Z" }
199
199
  wheels = [
200
- { url = "https://files.pythonhosted.org/packages/95/b0/bea5c86f4432692a8ba605fe46c224ba2945830e2da4974c6e6c64ecf124/amsdal_glue_connections-0.1.25-py3-none-any.whl", hash = "sha256:8190fcd02f673a32b2b3c066f781bc9ea6ff7a42c94dd48b1fc6d699b9a05255", size = 89297, upload-time = "2026-05-20T09:12:33.427Z" },
200
+ { url = "https://files.pythonhosted.org/packages/0d/c5/71b458ddbc9de83eccc20b28b50113f0d46e04df98a2bc1f070789fb2957/amsdal_glue_connections-0.1.26-py3-none-any.whl", hash = "sha256:2fd8691a46d1baac5738e7c4f06b5a81650ca4062a98ad889183ee0b184d8b49", size = 89797, upload-time = "2026-06-15T20:31:12.178Z" },
201
201
  ]
202
202
 
203
203
  [package.optional-dependencies]
@@ -210,16 +210,16 @@ postgres-binary = [
210
210
 
211
211
  [[package]]
212
212
  name = "amsdal-glue-core"
213
- version = "0.1.11"
213
+ version = "0.1.12"
214
214
  source = { registry = "https://pypi.org/simple" }
215
- sdist = { url = "https://files.pythonhosted.org/packages/7b/39/845cb2e148a643a7edcf301aa654c76b6027fc744e0026c7bdceebea5a21/amsdal_glue_core-0.1.11.tar.gz", hash = "sha256:61ff51738c2433ed0cf0296cc645854616f75c197bf1b34bf0c9e6b0422cc73a", size = 83062, upload-time = "2026-05-20T08:00:39.353Z" }
215
+ sdist = { url = "https://files.pythonhosted.org/packages/fd/57/9cfdd358d316007460901d3be3cac3126b68322e51ab2b4e55f338d94689/amsdal_glue_core-0.1.12.tar.gz", hash = "sha256:126ad2694bbb64e8f847fd12da9989307f3290363e5b609b9dbcd6b5e62dfd2b", size = 83393, upload-time = "2026-06-15T20:30:59.701Z" }
216
216
  wheels = [
217
- { url = "https://files.pythonhosted.org/packages/50/50/ee0769756f55a799c8c541c8ea73db16c76224c1caec36dd4664e1742613/amsdal_glue_core-0.1.11-py3-none-any.whl", hash = "sha256:54474c8b28395dd3c8751323210f13732fda1d476252163464007a71c5d2564d", size = 66062, upload-time = "2026-05-20T08:00:40.69Z" },
217
+ { url = "https://files.pythonhosted.org/packages/09/a8/81fa1d22aec1021c829669a41aeee44278b27b5802e203bbe46b759f8c46/amsdal_glue_core-0.1.12-py3-none-any.whl", hash = "sha256:858ffb6a8f0089a1f369a993385ced23222ae6a88c50ba1ffd19f93ccb81a9d4", size = 66181, upload-time = "2026-06-15T20:30:57.132Z" },
218
218
  ]
219
219
 
220
220
  [[package]]
221
221
  name = "amsdal-models"
222
- version = "0.8.7"
222
+ version = "0.8.8"
223
223
  source = { registry = "https://pypi.org/simple" }
224
224
  dependencies = [
225
225
  { name = "amsdal-data" },
@@ -234,12 +234,12 @@ dependencies = [
234
234
  { name = "pyruff" },
235
235
  ]
236
236
  wheels = [
237
- { url = "https://files.pythonhosted.org/packages/a4/94/c4da897d9e7684fc7080d6e6246b709a98895637df26a0c1698577236a07/amsdal_models-0.8.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:bdc2e0fc2c2317a7af9a12947881d26a1a0c04aac5bde67c66b8b5bd35a63b3c", size = 1145661, upload-time = "2026-06-15T10:24:35.332Z" },
238
- { url = "https://files.pythonhosted.org/packages/1c/d1/0d5292f2d20bef0ce03855dfcd8314cadbba08f24e8f7720bfe42ef0f48d/amsdal_models-0.8.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ebfa422a73011e8494473be9a52914a1a6d397593714d8f4b419896f81331c9c", size = 2820015, upload-time = "2026-06-15T10:24:41.836Z" },
239
- { url = "https://files.pythonhosted.org/packages/61/b9/a1862836e1013837d9d85cf68248d5475d5a3603faf84499abf7bf071aee/amsdal_models-0.8.7-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:86a8e1cc1af2b24f3587edd67256a9dff3da0ffe18d6fd21f321333a16b80671", size = 1132749, upload-time = "2026-06-15T10:24:33.671Z" },
240
- { url = "https://files.pythonhosted.org/packages/8f/3d/b8199f11dce94055c0d5673126ced7e7e3d73375c5f3407931b40ac71ed1/amsdal_models-0.8.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:19d89541daa23d274427bd4d4eae4687ca8e8e14a21268da071bfb1cd40a29ed", size = 2860666, upload-time = "2026-06-15T10:24:38.547Z" },
241
- { url = "https://files.pythonhosted.org/packages/c4/bb/05113608ef46f52957b4523776983e82314b9124bec4eb4620efad3af17d/amsdal_models-0.8.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:138c549a2f1acd8026661aece9188aaa6eb6ba11d5b3caf4c80bc6707801e0d0", size = 1123068, upload-time = "2026-06-15T10:24:40.088Z" },
242
- { url = "https://files.pythonhosted.org/packages/a2/06/d9985591408e58f7b6135d7927d7f96f2622df11fb2eb5cdd6c05a6980a9/amsdal_models-0.8.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:26c1a575558e205b8b09408498ad2f08c8afa258d6171710caab1be8f2c7dd2c", size = 2809793, upload-time = "2026-06-15T10:24:36.904Z" },
237
+ { url = "https://files.pythonhosted.org/packages/61/0e/ed203116be23ec2fb1cb455aca6f58b2ffea3e8d380cabdb929eab5b1e03/amsdal_models-0.8.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:54954e32e6117ad7606ad1e4474be884d6332ca19868a31492136b765f614469", size = 1146323, upload-time = "2026-06-15T21:16:33.234Z" },
238
+ { url = "https://files.pythonhosted.org/packages/6c/60/b54c6ea70443639d3a7234eab5234096a592517f32e2e7d60059fb534599/amsdal_models-0.8.8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dbea80cfb29b475927ee80b68595b6de705e2f3d18834f95f76267eec11a5557", size = 2821188, upload-time = "2026-06-15T21:16:42.291Z" },
239
+ { url = "https://files.pythonhosted.org/packages/05/b5/8d119d96dffa3cc4ec902c9ea41c4c4de6a909686579ad6558bd607272d7/amsdal_models-0.8.8-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e0703c88144ffa788dbdf68b5084908a52551cb6e78940779b5758d869b67863", size = 1133309, upload-time = "2026-06-15T21:16:40.504Z" },
240
+ { url = "https://files.pythonhosted.org/packages/c4/e4/18ac7f68fe0c240ad17b298a158f57ed05781d6be8e8b4ece8eb2495098b/amsdal_models-0.8.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2203adf3b3912220013c57f9ddbaab904ebf4bdfa2c47248278b45f8cc70851a", size = 2861828, upload-time = "2026-06-15T21:16:35.166Z" },
241
+ { url = "https://files.pythonhosted.org/packages/c8/be/4897b3cb5b4cadb089ac96d533d57a156acbdf6bf0b3c6e83da8562ae2e1/amsdal_models-0.8.8-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:c7f5f50cf42a12dac3f4cc371f21a11617af6da4fce461d1fab485514cbc273d", size = 1123486, upload-time = "2026-06-15T21:16:36.933Z" },
242
+ { url = "https://files.pythonhosted.org/packages/07/c4/3b4ae6400fda0d24066e29124d9a7f005e45ef4e4f77e54c6f84c0820fe1/amsdal_models-0.8.8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4738d5f72abdaabe99eae96ee01590b9478f1199b0201799cdf8ebe7943355f1", size = 2810908, upload-time = "2026-06-15T21:16:38.766Z" },
243
243
  ]
244
244
 
245
245
  [[package]]
@@ -264,15 +264,15 @@ wheels = [
264
264
 
265
265
  [[package]]
266
266
  name = "amsdal-utils"
267
- version = "0.7.2"
267
+ version = "0.7.3"
268
268
  source = { registry = "https://pypi.org/simple" }
269
269
  dependencies = [
270
270
  { name = "pydantic" },
271
271
  { name = "pyyaml" },
272
272
  ]
273
- sdist = { url = "https://files.pythonhosted.org/packages/58/8f/b9084df4b87f180c4d82c727b78daeeb362c3043b8592248d3d530feef22/amsdal_utils-0.7.2.tar.gz", hash = "sha256:ed2fb72e9bf4e91f3082f3cd79d2e5a15a668444581584d42439866769d6491a", size = 114971, upload-time = "2026-06-08T12:28:11.229Z" }
273
+ sdist = { url = "https://files.pythonhosted.org/packages/9b/7d/79ab2f9fd17755e597f5a2b7053ba0c7a5702696f1cd7fe0ac61bdda1bd5/amsdal_utils-0.7.3.tar.gz", hash = "sha256:22849991b32136b574769780f7a8d576a12a6d57b87d0b0289329f73746ab076", size = 115242, upload-time = "2026-06-15T20:43:04.476Z" }
274
274
  wheels = [
275
- { url = "https://files.pythonhosted.org/packages/38/32/76cecc0d862720eb2147541bb40a46db4d64679b0ebf054dd9d5f679ee91/amsdal_utils-0.7.2-py3-none-any.whl", hash = "sha256:4e5271e724ece24fa5cebfeb63ccbed2f9b8355c5c2028c654508b3c346e9a27", size = 77269, upload-time = "2026-06-08T12:28:09.881Z" },
275
+ { url = "https://files.pythonhosted.org/packages/2f/2f/435df9b54f7a74573e98b579ed8bf626f9c5dc83bbde13f78ce24bbb1070/amsdal_utils-0.7.3-py3-none-any.whl", hash = "sha256:4f88a077eb3bbbce0d51cd59a451a346966d885077a6ba08004d01e348ecd012", size = 77378, upload-time = "2026-06-15T20:43:05.572Z" },
276
276
  ]
277
277
 
278
278
  [[package]]
@@ -295,15 +295,15 @@ wheels = [
295
295
 
296
296
  [[package]]
297
297
  name = "anyio"
298
- version = "4.13.0"
298
+ version = "4.14.0"
299
299
  source = { registry = "https://pypi.org/simple" }
300
300
  dependencies = [
301
301
  { name = "idna" },
302
302
  { name = "typing-extensions", marker = "python_full_version < '3.13'" },
303
303
  ]
304
- sdist = { url = "https://files.pythonhosted.org/packages/19/14/2c5dd9f512b66549ae92767a9c7b330ae88e1932ca57876909410251fe13/anyio-4.13.0.tar.gz", hash = "sha256:334b70e641fd2221c1505b3890c69882fe4a2df910cba14d97019b90b24439dc", size = 231622, upload-time = "2026-03-24T12:59:09.671Z" }
304
+ sdist = { url = "https://files.pythonhosted.org/packages/1c/b5/001890774a9552aff22502b8da382593109ce0c95314abaebbb116567545/anyio-4.14.0.tar.gz", hash = "sha256:b47c1f9ccf73e67021df785332508f99379c68fa7d0684e8e3492cb1d4b23f89", size = 253586, upload-time = "2026-06-15T22:00:49.021Z" }
305
305
  wheels = [
306
- { url = "https://files.pythonhosted.org/packages/da/42/e921fccf5015463e32a3cf6ee7f980a6ed0f395ceeaa45060b61d86486c2/anyio-4.13.0-py3-none-any.whl", hash = "sha256:08b310f9e24a9594186fd75b4f73f4a4152069e3853f1ed8bfbf58369f4ad708", size = 114353, upload-time = "2026-03-24T12:59:08.246Z" },
306
+ { url = "https://files.pythonhosted.org/packages/ba/16/9826f089383c593cdfc4a6e5aca94d9e91ae1692c57af82c3b2aa5e810f7/anyio-4.14.0-py3-none-any.whl", hash = "sha256:dd9b7a2a9799ed6552fde617b2c5df02b7fdd7d88392fc48101e51bae46164d9", size = 123506, upload-time = "2026-06-15T22:00:47.595Z" },
307
307
  ]
308
308
 
309
309
  [[package]]
@@ -1,26 +0,0 @@
1
- ## [v0.9.3](https://pypi.org/project/amsdal_cli/0.9.3/) - 2026-06-15
2
-
3
-
4
- ### Changed
5
-
6
- - Bumped runtime dependencies to `amsdal>=0.9.4` and `amsdal_server>=0.9.1`.
7
- - Credentials are now required only for the `cloud` and `serve` commands. Other
8
- commands (`migrations`, `restore`, `register-connection`, ...) no longer
9
- authenticate and run without credentials.
10
-
11
- ### Fixed
12
-
13
- - `generate tests` no longer crashes with `Unsupported data type` on `anything`/
14
- `object` fields (now generated as an empty dict `{}`) and `binary` fields (now
15
- generated as bytes).
16
- - `generate tests` now fills enum/`Literal` fields with one of their allowed
17
- values instead of a random string that failed model validation at runtime.
18
- - `generate tests` no longer emits `late registration after freeze()` warnings and
19
- no longer re-imports the whole models package for every referenced model.
20
- Contrib/plugin models referenced from user models (e.g. auth/CRM models) now
21
- resolve correctly.
22
- - `amsdal test` no longer fails with `ModuleNotFoundError: No module named
23
- 'models'`; the application is now built before the manager is set up.
24
- - The `cloud` and `serve` commands again show the interactive sign-up prompt when
25
- credentials are missing, instead of surfacing a raw authentication error (the
26
- `serve` auto-reload worker still reports the underlying error).
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes