maxcompute-semantic 0.16.1__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 (300) hide show
  1. maxcompute_semantic-0.16.1/.github/workflows/ci.yml +39 -0
  2. maxcompute_semantic-0.16.1/.github/workflows/publish.yml +23 -0
  3. maxcompute_semantic-0.16.1/.gitignore +16 -0
  4. maxcompute_semantic-0.16.1/CHANGELOG.md +5549 -0
  5. maxcompute_semantic-0.16.1/CONTEXT.md +64 -0
  6. maxcompute_semantic-0.16.1/LICENSE +190 -0
  7. maxcompute_semantic-0.16.1/NOTICE +14 -0
  8. maxcompute_semantic-0.16.1/PKG-INFO +215 -0
  9. maxcompute_semantic-0.16.1/README.md +181 -0
  10. maxcompute_semantic-0.16.1/docs/adr/0001-measure-metric-rename.md +74 -0
  11. maxcompute_semantic-0.16.1/docs/adr/0002-metric-profile-global-namespace.md +68 -0
  12. maxcompute_semantic-0.16.1/pyproject.toml +104 -0
  13. maxcompute_semantic-0.16.1/src/maxcompute_semantic/__init__.py +17 -0
  14. maxcompute_semantic-0.16.1/src/maxcompute_semantic/_internal/__init__.py +4 -0
  15. maxcompute_semantic-0.16.1/src/maxcompute_semantic/_internal/logging_setup.py +87 -0
  16. maxcompute_semantic-0.16.1/src/maxcompute_semantic/_internal/output.py +135 -0
  17. maxcompute_semantic-0.16.1/src/maxcompute_semantic/_internal/paths.py +244 -0
  18. maxcompute_semantic-0.16.1/src/maxcompute_semantic/_internal/update_check.py +1022 -0
  19. maxcompute_semantic-0.16.1/src/maxcompute_semantic/_internal/yaml_io.py +75 -0
  20. maxcompute_semantic-0.16.1/src/maxcompute_semantic/_lib/__init__.py +4 -0
  21. maxcompute_semantic-0.16.1/src/maxcompute_semantic/_lib/acl_filter.py +56 -0
  22. maxcompute_semantic-0.16.1/src/maxcompute_semantic/_lib/schema_hash.py +26 -0
  23. maxcompute_semantic-0.16.1/src/maxcompute_semantic/_lib/status.py +47 -0
  24. maxcompute_semantic-0.16.1/src/maxcompute_semantic/_lib/yaml.py +237 -0
  25. maxcompute_semantic-0.16.1/src/maxcompute_semantic/_skill/SKILL.md +41 -0
  26. maxcompute_semantic-0.16.1/src/maxcompute_semantic/_skill_data/enrich/SKILL.md +63 -0
  27. maxcompute_semantic-0.16.1/src/maxcompute_semantic/_skill_data/enrich/references/enrich.md +106 -0
  28. maxcompute_semantic-0.16.1/src/maxcompute_semantic/_skill_data/memory/SKILL.md +27 -0
  29. maxcompute_semantic-0.16.1/src/maxcompute_semantic/_skill_data/memory/references/memory.md +111 -0
  30. maxcompute_semantic-0.16.1/src/maxcompute_semantic/_skill_data/onboarding/SKILL.md +34 -0
  31. maxcompute_semantic-0.16.1/src/maxcompute_semantic/_skill_data/onboarding/references/profile-editor.md +208 -0
  32. maxcompute_semantic-0.16.1/src/maxcompute_semantic/_skill_data/onboarding/references/profile-history.md +86 -0
  33. maxcompute_semantic-0.16.1/src/maxcompute_semantic/_skill_data/query/SKILL.md +161 -0
  34. maxcompute_semantic-0.16.1/src/maxcompute_semantic/_skill_data/query/references/cold-start.md +96 -0
  35. maxcompute_semantic-0.16.1/src/maxcompute_semantic/_skill_data/query/references/from-table.md +64 -0
  36. maxcompute_semantic-0.16.1/src/maxcompute_semantic/_skill_data/query/references/metrics.md +107 -0
  37. maxcompute_semantic-0.16.1/src/maxcompute_semantic/_skill_data/query/references/projection.md +114 -0
  38. maxcompute_semantic-0.16.1/src/maxcompute_semantic/_skill_data/query/references/query.md +307 -0
  39. maxcompute_semantic-0.16.1/src/maxcompute_semantic/_skill_data/query/references/rules.md +89 -0
  40. maxcompute_semantic-0.16.1/src/maxcompute_semantic/_skill_data/query/references/sql.md +160 -0
  41. maxcompute_semantic-0.16.1/src/maxcompute_semantic/_skill_data/query/references/value-discovery.md +89 -0
  42. maxcompute_semantic-0.16.1/src/maxcompute_semantic/_skill_data/udf/SKILL.md +31 -0
  43. maxcompute_semantic-0.16.1/src/maxcompute_semantic/_skill_data/udf/references/udf.md +60 -0
  44. maxcompute_semantic-0.16.1/src/maxcompute_semantic/auth/__init__.py +4 -0
  45. maxcompute_semantic-0.16.1/src/maxcompute_semantic/auth/context.py +269 -0
  46. maxcompute_semantic-0.16.1/src/maxcompute_semantic/auth/credential.py +194 -0
  47. maxcompute_semantic-0.16.1/src/maxcompute_semantic/auth/env_expand.py +31 -0
  48. maxcompute_semantic-0.16.1/src/maxcompute_semantic/auth/errors.py +29 -0
  49. maxcompute_semantic-0.16.1/src/maxcompute_semantic/auth/link_store.py +106 -0
  50. maxcompute_semantic-0.16.1/src/maxcompute_semantic/auth/profile_store.py +393 -0
  51. maxcompute_semantic-0.16.1/src/maxcompute_semantic/auth/resolver.py +178 -0
  52. maxcompute_semantic-0.16.1/src/maxcompute_semantic/auth/schema.py +758 -0
  53. maxcompute_semantic-0.16.1/src/maxcompute_semantic/cli.py +357 -0
  54. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/__init__.py +4 -0
  55. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/_auth_probe.py +171 -0
  56. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/_identity.py +215 -0
  57. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/_import_creds.py +423 -0
  58. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/_profile_command.py +161 -0
  59. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/_profile_editor.py +997 -0
  60. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/_schema_resolve.py +125 -0
  61. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/_source_picker.py +1013 -0
  62. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/_sql_name.py +30 -0
  63. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/_table_resolve.py +139 -0
  64. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/build.py +372 -0
  65. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/doctor.py +1176 -0
  66. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/link.py +148 -0
  67. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/memory.py +557 -0
  68. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/meta.py +477 -0
  69. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/metric.py +257 -0
  70. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/package.py +301 -0
  71. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/profile.py +2825 -0
  72. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/profile_export.py +589 -0
  73. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/profile_fork.py +751 -0
  74. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/profile_history.py +759 -0
  75. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/show.py +555 -0
  76. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/skill.py +897 -0
  77. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/skill_catalog.py +103 -0
  78. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/sql.py +796 -0
  79. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/sql_review/__init__.py +141 -0
  80. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/sql_review/coverage.py +204 -0
  81. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/sql_review/hints/__init__.py +38 -0
  82. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/sql_review/hints/aggregation.py +134 -0
  83. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/sql_review/hints/join_hints.py +346 -0
  84. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/sql_review/hints/pattern.py +99 -0
  85. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/sql_review/next_step.py +54 -0
  86. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/sql_review/rules/__init__.py +54 -0
  87. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/sql_review/rules/_common.py +207 -0
  88. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/sql_review/rules/dialect.py +146 -0
  89. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/sql_review/rules/projection.py +135 -0
  90. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/sql_review/rules/schema.py +262 -0
  91. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/sql_review/rules/tier.py +60 -0
  92. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/sql_review/rules/type_check.py +122 -0
  93. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/sql_review/types.py +108 -0
  94. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/status.py +272 -0
  95. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/udf.py +488 -0
  96. maxcompute_semantic-0.16.1/src/maxcompute_semantic/commands/update.py +619 -0
  97. maxcompute_semantic-0.16.1/src/maxcompute_semantic/errors/__init__.py +135 -0
  98. maxcompute_semantic-0.16.1/src/maxcompute_semantic/errors/annotate.py +58 -0
  99. maxcompute_semantic-0.16.1/src/maxcompute_semantic/errors/auth.py +144 -0
  100. maxcompute_semantic-0.16.1/src/maxcompute_semantic/errors/base.py +250 -0
  101. maxcompute_semantic-0.16.1/src/maxcompute_semantic/errors/build.py +95 -0
  102. maxcompute_semantic-0.16.1/src/maxcompute_semantic/errors/mc.py +333 -0
  103. maxcompute_semantic-0.16.1/src/maxcompute_semantic/errors/memory.py +22 -0
  104. maxcompute_semantic-0.16.1/src/maxcompute_semantic/errors/versioning.py +84 -0
  105. maxcompute_semantic-0.16.1/src/maxcompute_semantic/mc_client/__init__.py +4 -0
  106. maxcompute_semantic-0.16.1/src/maxcompute_semantic/mc_client/catalog.py +157 -0
  107. maxcompute_semantic-0.16.1/src/maxcompute_semantic/mc_client/client.py +1616 -0
  108. maxcompute_semantic-0.16.1/src/maxcompute_semantic/mc_client/cost_gate.py +218 -0
  109. maxcompute_semantic-0.16.1/src/maxcompute_semantic/mc_client/envelope.py +58 -0
  110. maxcompute_semantic-0.16.1/src/maxcompute_semantic/mc_client/errors.py +43 -0
  111. maxcompute_semantic-0.16.1/src/maxcompute_semantic/mc_client/hints.py +45 -0
  112. maxcompute_semantic-0.16.1/src/maxcompute_semantic/mc_client/sql_guard.py +120 -0
  113. maxcompute_semantic-0.16.1/src/maxcompute_semantic/mc_client/tier.py +260 -0
  114. maxcompute_semantic-0.16.1/src/maxcompute_semantic/memory/__init__.py +12 -0
  115. maxcompute_semantic-0.16.1/src/maxcompute_semantic/memory/embedding.py +125 -0
  116. maxcompute_semantic-0.16.1/src/maxcompute_semantic/memory/errors.py +14 -0
  117. maxcompute_semantic-0.16.1/src/maxcompute_semantic/memory/hybrid.py +112 -0
  118. maxcompute_semantic-0.16.1/src/maxcompute_semantic/memory/package_doc.py +101 -0
  119. maxcompute_semantic-0.16.1/src/maxcompute_semantic/memory/sample_sql.py +108 -0
  120. maxcompute_semantic-0.16.1/src/maxcompute_semantic/memory/search.py +72 -0
  121. maxcompute_semantic-0.16.1/src/maxcompute_semantic/memory/sql_pattern.py +299 -0
  122. maxcompute_semantic-0.16.1/src/maxcompute_semantic/memory/tokenizer.py +77 -0
  123. maxcompute_semantic-0.16.1/src/maxcompute_semantic/memory/vec_ext.py +149 -0
  124. maxcompute_semantic-0.16.1/src/maxcompute_semantic/metric_validator.py +170 -0
  125. maxcompute_semantic-0.16.1/src/maxcompute_semantic/osi/__init__.py +19 -0
  126. maxcompute_semantic-0.16.1/src/maxcompute_semantic/osi/export.py +226 -0
  127. maxcompute_semantic-0.16.1/src/maxcompute_semantic/osi/import_.py +19 -0
  128. maxcompute_semantic-0.16.1/src/maxcompute_semantic/osi/vocabulary.py +57 -0
  129. maxcompute_semantic-0.16.1/src/maxcompute_semantic/versioning/__init__.py +96 -0
  130. maxcompute_semantic-0.16.1/src/maxcompute_semantic/versioning/env.py +85 -0
  131. maxcompute_semantic-0.16.1/src/maxcompute_semantic/versioning/errors.py +20 -0
  132. maxcompute_semantic-0.16.1/src/maxcompute_semantic/versioning/forks.py +183 -0
  133. maxcompute_semantic-0.16.1/src/maxcompute_semantic/versioning/git_repo.py +494 -0
  134. maxcompute_semantic-0.16.1/src/maxcompute_semantic/versioning/gitignore_default.py +38 -0
  135. maxcompute_semantic-0.16.1/src/maxcompute_semantic/versioning/hook.py +450 -0
  136. maxcompute_semantic-0.16.1/src/maxcompute_semantic/versioning/lock.py +318 -0
  137. maxcompute_semantic-0.16.1/src/maxcompute_semantic/versioning/sql_dump.py +241 -0
  138. maxcompute_semantic-0.16.1/tests/__init__.py +4 -0
  139. maxcompute_semantic-0.16.1/tests/conftest.py +274 -0
  140. maxcompute_semantic-0.16.1/tests/fixtures/osi/SOURCE.md +19 -0
  141. maxcompute_semantic-0.16.1/tests/fixtures/osi/expected_export_small.yaml +61 -0
  142. maxcompute_semantic-0.16.1/tests/fixtures/osi/expected_export_with_metrics.yaml +29 -0
  143. maxcompute_semantic-0.16.1/tests/fixtures/osi/osi-schema.json +344 -0
  144. maxcompute_semantic-0.16.1/tests/fixtures/process_outputs/credential_missing_fields.json +1 -0
  145. maxcompute_semantic-0.16.1/tests/fixtures/process_outputs/credential_success.json +6 -0
  146. maxcompute_semantic-0.16.1/tests/fixtures/process_outputs/list_authorizations_multi.txt +4 -0
  147. maxcompute_semantic-0.16.1/tests/fixtures/process_outputs/not_json.txt +1 -0
  148. maxcompute_semantic-0.16.1/tests/fixtures/process_outputs/whoami_success.txt +14 -0
  149. maxcompute_semantic-0.16.1/tests/fixtures/pyodps_errors/auth_failed_access_key_id_not_found.json +5 -0
  150. maxcompute_semantic-0.16.1/tests/fixtures/pyodps_errors/auth_failed_expired_sts.json +5 -0
  151. maxcompute_semantic-0.16.1/tests/fixtures/pyodps_errors/auth_failed_invalid_ak.json +5 -0
  152. maxcompute_semantic-0.16.1/tests/fixtures/pyodps_errors/endpoint_unreachable.json +5 -0
  153. maxcompute_semantic-0.16.1/tests/fixtures/pyodps_errors/identity_not_authorized.json +5 -0
  154. maxcompute_semantic-0.16.1/tests/fixtures/pyodps_errors/no_permission_select_table.json +5 -0
  155. maxcompute_semantic-0.16.1/tests/fixtures/pyodps_errors/project_not_found.json +5 -0
  156. maxcompute_semantic-0.16.1/tests/fixtures/pyodps_errors/project_not_found_nosuchobject.json +5 -0
  157. maxcompute_semantic-0.16.1/tests/fixtures/pyodps_errors/rate_limit.json +5 -0
  158. maxcompute_semantic-0.16.1/tests/fixtures/pyodps_errors/schema_not_found.json +5 -0
  159. maxcompute_semantic-0.16.1/tests/fixtures/pyodps_errors/syntax_error.json +5 -0
  160. maxcompute_semantic-0.16.1/tests/fixtures/pyodps_errors/table_not_found.json +5 -0
  161. maxcompute_semantic-0.16.1/tests/integration/__init__.py +3 -0
  162. maxcompute_semantic-0.16.1/tests/integration/conftest.py +147 -0
  163. maxcompute_semantic-0.16.1/tests/integration/test_build_lifecycle.py +332 -0
  164. maxcompute_semantic-0.16.1/tests/integration/test_build_permission.py +329 -0
  165. maxcompute_semantic-0.16.1/tests/integration/test_cross_project.py +98 -0
  166. maxcompute_semantic-0.16.1/tests/integration/test_memory_lifecycle.py +168 -0
  167. maxcompute_semantic-0.16.1/tests/integration/test_resolve_chain.py +138 -0
  168. maxcompute_semantic-0.16.1/tests/integration/test_versioning_lifecycle.py +497 -0
  169. maxcompute_semantic-0.16.1/tests/test_metric_validator.py +111 -0
  170. maxcompute_semantic-0.16.1/tests/test_metrics_storage.py +424 -0
  171. maxcompute_semantic-0.16.1/tests/unit/__init__.py +3 -0
  172. maxcompute_semantic-0.16.1/tests/unit/_internal/__init__.py +3 -0
  173. maxcompute_semantic-0.16.1/tests/unit/_internal/test_logging_setup.py +122 -0
  174. maxcompute_semantic-0.16.1/tests/unit/_internal/test_output.py +147 -0
  175. maxcompute_semantic-0.16.1/tests/unit/_internal/test_paths.py +202 -0
  176. maxcompute_semantic-0.16.1/tests/unit/_internal/test_paths_versioning.py +122 -0
  177. maxcompute_semantic-0.16.1/tests/unit/_internal/test_update_check.py +1114 -0
  178. maxcompute_semantic-0.16.1/tests/unit/_internal/test_yaml_io.py +116 -0
  179. maxcompute_semantic-0.16.1/tests/unit/_lib/test_acl_filter.py +106 -0
  180. maxcompute_semantic-0.16.1/tests/unit/_skill/__init__.py +3 -0
  181. maxcompute_semantic-0.16.1/tests/unit/_skill/test_skill_bundle.py +181 -0
  182. maxcompute_semantic-0.16.1/tests/unit/_skill/test_skill_md_metrics.py +46 -0
  183. maxcompute_semantic-0.16.1/tests/unit/auth/__init__.py +3 -0
  184. maxcompute_semantic-0.16.1/tests/unit/auth/test_context.py +206 -0
  185. maxcompute_semantic-0.16.1/tests/unit/auth/test_credential.py +366 -0
  186. maxcompute_semantic-0.16.1/tests/unit/auth/test_env_expand.py +40 -0
  187. maxcompute_semantic-0.16.1/tests/unit/auth/test_errors.py +44 -0
  188. maxcompute_semantic-0.16.1/tests/unit/auth/test_link_store.py +139 -0
  189. maxcompute_semantic-0.16.1/tests/unit/auth/test_profile_store.py +590 -0
  190. maxcompute_semantic-0.16.1/tests/unit/auth/test_resolver.py +221 -0
  191. maxcompute_semantic-0.16.1/tests/unit/auth/test_schema.py +723 -0
  192. maxcompute_semantic-0.16.1/tests/unit/auth/test_schema_fork_fields.py +320 -0
  193. maxcompute_semantic-0.16.1/tests/unit/commands/__init__.py +3 -0
  194. maxcompute_semantic-0.16.1/tests/unit/commands/conftest.py +180 -0
  195. maxcompute_semantic-0.16.1/tests/unit/commands/sql_review/__init__.py +3 -0
  196. maxcompute_semantic-0.16.1/tests/unit/commands/sql_review/conftest.py +212 -0
  197. maxcompute_semantic-0.16.1/tests/unit/commands/sql_review/test_aggregation_hint.py +387 -0
  198. maxcompute_semantic-0.16.1/tests/unit/commands/sql_review/test_coverage.py +386 -0
  199. maxcompute_semantic-0.16.1/tests/unit/commands/sql_review/test_dialect_rules.py +127 -0
  200. maxcompute_semantic-0.16.1/tests/unit/commands/sql_review/test_dispatcher.py +196 -0
  201. maxcompute_semantic-0.16.1/tests/unit/commands/sql_review/test_join_hints.py +718 -0
  202. maxcompute_semantic-0.16.1/tests/unit/commands/sql_review/test_next_step.py +70 -0
  203. maxcompute_semantic-0.16.1/tests/unit/commands/sql_review/test_pattern_hint.py +214 -0
  204. maxcompute_semantic-0.16.1/tests/unit/commands/sql_review/test_review_cmd.py +357 -0
  205. maxcompute_semantic-0.16.1/tests/unit/commands/sql_review/test_rule_registry.py +27 -0
  206. maxcompute_semantic-0.16.1/tests/unit/commands/sql_review/test_schema_rules.py +777 -0
  207. maxcompute_semantic-0.16.1/tests/unit/commands/sql_review/test_tier_rule.py +125 -0
  208. maxcompute_semantic-0.16.1/tests/unit/commands/sql_review/test_type_rule.py +307 -0
  209. maxcompute_semantic-0.16.1/tests/unit/commands/sql_review/test_types.py +36 -0
  210. maxcompute_semantic-0.16.1/tests/unit/commands/test_auth_probe.py +111 -0
  211. maxcompute_semantic-0.16.1/tests/unit/commands/test_build_cmd.py +817 -0
  212. maxcompute_semantic-0.16.1/tests/unit/commands/test_build_versioning.py +145 -0
  213. maxcompute_semantic-0.16.1/tests/unit/commands/test_cli_root.py +512 -0
  214. maxcompute_semantic-0.16.1/tests/unit/commands/test_doctor_cmd.py +650 -0
  215. maxcompute_semantic-0.16.1/tests/unit/commands/test_doctor_versioning_checks.py +456 -0
  216. maxcompute_semantic-0.16.1/tests/unit/commands/test_fork_read_only.py +363 -0
  217. maxcompute_semantic-0.16.1/tests/unit/commands/test_import_creds.py +852 -0
  218. maxcompute_semantic-0.16.1/tests/unit/commands/test_link_cmd.py +143 -0
  219. maxcompute_semantic-0.16.1/tests/unit/commands/test_mcs_update.py +710 -0
  220. maxcompute_semantic-0.16.1/tests/unit/commands/test_memory_cmd.py +767 -0
  221. maxcompute_semantic-0.16.1/tests/unit/commands/test_memory_versioning.py +268 -0
  222. maxcompute_semantic-0.16.1/tests/unit/commands/test_metric_cli.py +413 -0
  223. maxcompute_semantic-0.16.1/tests/unit/commands/test_no_hook_on_yaml_only_commands.py +137 -0
  224. maxcompute_semantic-0.16.1/tests/unit/commands/test_package_cmd.py +1118 -0
  225. maxcompute_semantic-0.16.1/tests/unit/commands/test_profile_cmd.py +1118 -0
  226. maxcompute_semantic-0.16.1/tests/unit/commands/test_profile_command.py +243 -0
  227. maxcompute_semantic-0.16.1/tests/unit/commands/test_profile_create.py +1645 -0
  228. maxcompute_semantic-0.16.1/tests/unit/commands/test_profile_create_versioning.py +598 -0
  229. maxcompute_semantic-0.16.1/tests/unit/commands/test_profile_diff_versioning.py +216 -0
  230. maxcompute_semantic-0.16.1/tests/unit/commands/test_profile_editor.py +874 -0
  231. maxcompute_semantic-0.16.1/tests/unit/commands/test_profile_enable_versioning.py +1015 -0
  232. maxcompute_semantic-0.16.1/tests/unit/commands/test_profile_export_import.py +372 -0
  233. maxcompute_semantic-0.16.1/tests/unit/commands/test_profile_fork.py +415 -0
  234. maxcompute_semantic-0.16.1/tests/unit/commands/test_profile_fork_list.py +371 -0
  235. maxcompute_semantic-0.16.1/tests/unit/commands/test_profile_fork_remove.py +289 -0
  236. maxcompute_semantic-0.16.1/tests/unit/commands/test_profile_helper_boundaries.py +27 -0
  237. maxcompute_semantic-0.16.1/tests/unit/commands/test_profile_import_versioning.py +138 -0
  238. maxcompute_semantic-0.16.1/tests/unit/commands/test_profile_log_show_versioning.py +236 -0
  239. maxcompute_semantic-0.16.1/tests/unit/commands/test_profile_log_versioning.py +257 -0
  240. maxcompute_semantic-0.16.1/tests/unit/commands/test_profile_reset_versioning.py +569 -0
  241. maxcompute_semantic-0.16.1/tests/unit/commands/test_profile_show_versioning.py +255 -0
  242. maxcompute_semantic-0.16.1/tests/unit/commands/test_schema_resolve.py +139 -0
  243. maxcompute_semantic-0.16.1/tests/unit/commands/test_show_cmd.py +739 -0
  244. maxcompute_semantic-0.16.1/tests/unit/commands/test_skill_catalog.py +78 -0
  245. maxcompute_semantic-0.16.1/tests/unit/commands/test_skill_cmd.py +971 -0
  246. maxcompute_semantic-0.16.1/tests/unit/commands/test_source_picker.py +1077 -0
  247. maxcompute_semantic-0.16.1/tests/unit/commands/test_sql_cmd.py +2966 -0
  248. maxcompute_semantic-0.16.1/tests/unit/commands/test_sql_name.py +63 -0
  249. maxcompute_semantic-0.16.1/tests/unit/commands/test_status_cmd.py +438 -0
  250. maxcompute_semantic-0.16.1/tests/unit/commands/test_status_metrics.py +133 -0
  251. maxcompute_semantic-0.16.1/tests/unit/commands/test_table_resolve.py +169 -0
  252. maxcompute_semantic-0.16.1/tests/unit/commands/test_udf_cmd.py +815 -0
  253. maxcompute_semantic-0.16.1/tests/unit/commands/test_udf_versioning.py +203 -0
  254. maxcompute_semantic-0.16.1/tests/unit/commands/test_update_cmd.py +631 -0
  255. maxcompute_semantic-0.16.1/tests/unit/errors/__init__.py +3 -0
  256. maxcompute_semantic-0.16.1/tests/unit/errors/test_consolidation.py +193 -0
  257. maxcompute_semantic-0.16.1/tests/unit/mc_client/__init__.py +3 -0
  258. maxcompute_semantic-0.16.1/tests/unit/mc_client/test_client.py +2284 -0
  259. maxcompute_semantic-0.16.1/tests/unit/mc_client/test_cost_gate.py +265 -0
  260. maxcompute_semantic-0.16.1/tests/unit/mc_client/test_envelope.py +38 -0
  261. maxcompute_semantic-0.16.1/tests/unit/mc_client/test_error_mapping.py +402 -0
  262. maxcompute_semantic-0.16.1/tests/unit/mc_client/test_errors.py +116 -0
  263. maxcompute_semantic-0.16.1/tests/unit/mc_client/test_execute_sql.py +749 -0
  264. maxcompute_semantic-0.16.1/tests/unit/mc_client/test_hints.py +62 -0
  265. maxcompute_semantic-0.16.1/tests/unit/mc_client/test_search_meta.py +564 -0
  266. maxcompute_semantic-0.16.1/tests/unit/mc_client/test_tier.py +238 -0
  267. maxcompute_semantic-0.16.1/tests/unit/memory/__init__.py +3 -0
  268. maxcompute_semantic-0.16.1/tests/unit/memory/test_errors.py +23 -0
  269. maxcompute_semantic-0.16.1/tests/unit/memory/test_package_doc.py +271 -0
  270. maxcompute_semantic-0.16.1/tests/unit/memory/test_sample_sql.py +263 -0
  271. maxcompute_semantic-0.16.1/tests/unit/memory/test_search.py +121 -0
  272. maxcompute_semantic-0.16.1/tests/unit/memory/test_sql_pattern.py +281 -0
  273. maxcompute_semantic-0.16.1/tests/unit/memory/test_tokenizer.py +82 -0
  274. maxcompute_semantic-0.16.1/tests/unit/memory/test_vec.py +361 -0
  275. maxcompute_semantic-0.16.1/tests/unit/osi/__init__.py +3 -0
  276. maxcompute_semantic-0.16.1/tests/unit/osi/_osi_validators.py +168 -0
  277. maxcompute_semantic-0.16.1/tests/unit/osi/conftest.py +113 -0
  278. maxcompute_semantic-0.16.1/tests/unit/osi/test_conftest_sanity.py +31 -0
  279. maxcompute_semantic-0.16.1/tests/unit/osi/test_export_cli.py +187 -0
  280. maxcompute_semantic-0.16.1/tests/unit/osi/test_export_mapping.py +86 -0
  281. maxcompute_semantic-0.16.1/tests/unit/osi/test_export_metrics.py +168 -0
  282. maxcompute_semantic-0.16.1/tests/unit/osi/test_export_multi_source.py +118 -0
  283. maxcompute_semantic-0.16.1/tests/unit/osi/test_export_relationships.py +63 -0
  284. maxcompute_semantic-0.16.1/tests/unit/osi/test_export_schema.py +45 -0
  285. maxcompute_semantic-0.16.1/tests/unit/osi/test_export_yaml.py +48 -0
  286. maxcompute_semantic-0.16.1/tests/unit/osi/test_osi_validators.py +81 -0
  287. maxcompute_semantic-0.16.1/tests/unit/osi/test_skeleton.py +22 -0
  288. maxcompute_semantic-0.16.1/tests/unit/osi/test_vocabulary.py +35 -0
  289. maxcompute_semantic-0.16.1/tests/unit/test_lib.py +137 -0
  290. maxcompute_semantic-0.16.1/tests/unit/test_release_consistency.py +185 -0
  291. maxcompute_semantic-0.16.1/tests/unit/versioning/__init__.py +3 -0
  292. maxcompute_semantic-0.16.1/tests/unit/versioning/test_env.py +80 -0
  293. maxcompute_semantic-0.16.1/tests/unit/versioning/test_env_cross_references.py +80 -0
  294. maxcompute_semantic-0.16.1/tests/unit/versioning/test_forks.py +187 -0
  295. maxcompute_semantic-0.16.1/tests/unit/versioning/test_git_repo.py +731 -0
  296. maxcompute_semantic-0.16.1/tests/unit/versioning/test_gitignore_default.py +37 -0
  297. maxcompute_semantic-0.16.1/tests/unit/versioning/test_hook.py +910 -0
  298. maxcompute_semantic-0.16.1/tests/unit/versioning/test_lock.py +371 -0
  299. maxcompute_semantic-0.16.1/tests/unit/versioning/test_sql_dump.py +568 -0
  300. maxcompute_semantic-0.16.1/uv.lock +2592 -0
@@ -0,0 +1,39 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main, master]
6
+ pull_request:
7
+ branches: [main, master]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+ strategy:
13
+ matrix:
14
+ python-version: ["3.10", "3.11", "3.12"]
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+
18
+ - name: Install uv
19
+ uses: astral-sh/setup-uv@v4
20
+
21
+ - name: Set up Python
22
+ run: uv python install ${{ matrix.python-version }}
23
+
24
+ - name: Install dependencies
25
+ run: uv sync
26
+
27
+ - name: Check license headers
28
+ run: |
29
+ missing=$(find src tests -name '*.py' -not -path '*__pycache__*' ! -exec grep -l 'SPDX-License-Identifier' {} +)
30
+ if [ -n "$missing" ]; then echo "Missing SPDX header in:"; echo "$missing"; exit 1; fi
31
+
32
+ - name: Lint
33
+ run: uv run ruff check src/ tests/
34
+
35
+ - name: Type check
36
+ run: uv run mypy src/
37
+
38
+ - name: Test
39
+ run: uv run pytest tests/ -m 'not live' -x -q
@@ -0,0 +1,23 @@
1
+ name: Publish to PyPI
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*"
7
+
8
+ jobs:
9
+ publish:
10
+ runs-on: ubuntu-latest
11
+ permissions:
12
+ id-token: write
13
+ steps:
14
+ - uses: actions/checkout@v4
15
+
16
+ - name: Install uv
17
+ uses: astral-sh/setup-uv@v4
18
+
19
+ - name: Build wheel
20
+ run: uv build
21
+
22
+ - name: Publish to PyPI
23
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,16 @@
1
+ __pycache__/
2
+ *.py[cod]
3
+ *$py.class
4
+ *.so
5
+ dist/
6
+ build/
7
+ *.egg-info/
8
+ *.egg
9
+ .venv/
10
+ .env
11
+ .ruff_cache/
12
+ .mypy_cache/
13
+ .coverage
14
+ htmlcov/
15
+ .pytest_cache/
16
+ *.whl