azureml-registry-tools 0.1.0a33__py3-none-any.whl → 0.1.0a34__py3-none-any.whl

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.
@@ -20,14 +20,6 @@ ALLOWED_ASSET_TYPES = {
20
20
  'environments', 'models', 'deployment-templates', 'components', 'datasets'
21
21
  }
22
22
 
23
- ASSET_TYPE_MAP = {
24
- 'models': 'Models',
25
- 'environments': 'Environments',
26
- 'deployment-templates': 'DeploymentTemplates',
27
- 'components': 'Components',
28
- 'datasets': 'Datasets',
29
- }
30
-
31
23
 
32
24
  def validate_manifest_data(data: dict, file_path: str) -> None:
33
25
  """Validate required root-level fields and allowed values for nested fields under 'assets'.
@@ -7,6 +7,18 @@ from dataclasses import dataclass, field
7
7
  from typing import List
8
8
  from uuid import UUID
9
9
 
10
+ # Asset type mapping from YAML keys to JSON/API keys
11
+ ASSET_TYPE_MAP = {
12
+ 'models': 'Models',
13
+ 'environments': 'Environments',
14
+ 'deployment-templates': 'DeploymentTemplates',
15
+ 'components': 'Components',
16
+ 'datasets': 'Datasets',
17
+ }
18
+
19
+ # Reverse mapping for deserializing API responses back to YAML keys
20
+ ASSET_TYPE_REVERSE_MAP = {v: k for k, v in ASSET_TYPE_MAP.items()}
21
+
10
22
 
11
23
  def _norm_key(k):
12
24
  return k.replace('_', '').lower()
@@ -70,7 +82,13 @@ class SourceRegistry:
70
82
  asset_dict = {}
71
83
  for asset_type, asset_list in self.assets.items():
72
84
  if asset_list:
73
- asset_dict[asset_type] = [
85
+ # Convert YAML asset type keys for API
86
+ if asset_type not in ASSET_TYPE_MAP:
87
+ raise ValueError(
88
+ f"Invalid asset type '{asset_type}'. Allowed types: {', '.join(ASSET_TYPE_MAP.keys())}"
89
+ )
90
+ api_asset_type = ASSET_TYPE_MAP[asset_type]
91
+ asset_dict[api_asset_type] = [
74
92
  {"Name": a.name} if a.name == ".*" else {"Name": a.name, "Version": a.version}
75
93
  for a in asset_list
76
94
  ]
@@ -86,7 +104,9 @@ class SourceRegistry:
86
104
  assets = {}
87
105
  assets_dict = _get_key(d, "Assets", "assets", normalize_keys=normalize_keys)
88
106
  for asset_type, asset_list in assets_dict.items():
89
- assets[asset_type] = [Asset.from_dict(a, normalize_keys=normalize_keys) for a in asset_list]
107
+ # Normalize API keys back to YAML keys
108
+ normalized_asset_type = ASSET_TYPE_REVERSE_MAP.get(asset_type, asset_type)
109
+ assets[normalized_asset_type] = [Asset.from_dict(a, normalize_keys=normalize_keys) for a in asset_list]
90
110
  return SourceRegistry(
91
111
  registry_name=_get_key(d, "RegistryName", "registry_name", normalize_keys=normalize_keys),
92
112
  tenant_id=UUID(str(_get_key(d, "TenantId", "tenant_id", normalize_keys=normalize_keys))),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: azureml-registry-tools
3
- Version: 0.1.0a33
3
+ Version: 0.1.0a34
4
4
  Summary: AzureML Registry tools and CLI
5
5
  Author: Microsoft Corp
6
6
  License: https://aka.ms/azureml-sdk-license
@@ -21,19 +21,19 @@ azureml/registry/data/validate_model_variant_schema.py,sha256=0nC1zWzvtYAwowY1MG
21
21
  azureml/registry/mgmt/__init__.py,sha256=LMhqcEC8ItmmpKZljElGXH-6olHlT3SLl0dJU01OvuM,226
22
22
  azureml/registry/mgmt/asset_management.py,sha256=zMAgrwMEQTDh8YjL5B1_p7_Wi0bR-vKx2qyuc3FudsE,15269
23
23
  azureml/registry/mgmt/create_asset_template.py,sha256=ejwLuIsmzJOoUePoxbM-eGMg2E3QHfdX-nPMBzYUVMQ,3525
24
- azureml/registry/mgmt/create_manifest.py,sha256=N9wRmjAKO09A3utN_lCUsM_Ufpj7PL0SJz-XHPHWuyM,9528
24
+ azureml/registry/mgmt/create_manifest.py,sha256=WuL1UNCi-vLOgI71FHNSIP3CAIYJ-jwPvTbEtJPCuTw,9335
25
25
  azureml/registry/mgmt/create_model_spec.py,sha256=1PdAcUf-LomvljoT8wKQihXMTLd7DoTgN0qDX4Lol1A,10473
26
26
  azureml/registry/mgmt/model_management.py,sha256=STTr_uvdPKV2NaJ5UvS5aMi3yejVF6Hkj9DjofJLQik,7453
27
- azureml/registry/mgmt/syndication_manifest.py,sha256=8Sfd49QuCA5en5_mIOLE21kZVpnReUXowx_g0TVRgWg,9025
27
+ azureml/registry/mgmt/syndication_manifest.py,sha256=kSL6SbbpsraIBoo2XdCv6lbg1XxHs3YqPc0ozLX1v54,9900
28
28
  azureml/registry/mgmt/util.py,sha256=1q90sLr70w8FrXYqyHUwszjXa7OdT2MRSI_gJf-aVdY,2403
29
29
  azureml/registry/tools/__init__.py,sha256=IAuWWpGfZm__pAkBIxmpJz84QskpkxBr0yDk1TUSnkE,223
30
30
  azureml/registry/tools/config.py,sha256=eZ8F6vKvKX-rHkZrnLmjX-h_1ccqSSTkUK0s3ADoD9o,3662
31
31
  azureml/registry/tools/create_or_update_assets.py,sha256=xKGmcc3GVQ0qoZav68NENL86dYN1jdTPXCHK1SfK_vM,16207
32
32
  azureml/registry/tools/registry_utils.py,sha256=zgYlCiOONtQJ4yZ9wg8tKVoE8dh6rrjB8hYBGhpV9-0,1403
33
33
  azureml/registry/tools/repo2registry_config.py,sha256=YxSpLl16m-Cs9RkrXjpWgg6la2zukl-y1i12pV4UIco,4891
34
- azureml_registry_tools-0.1.0a33.dist-info/licenses/LICENSE.txt,sha256=n20rxwp7_NGrrShv9Qvcs90sjI1l3Pkt3m-5OPCWzgs,845
35
- azureml_registry_tools-0.1.0a33.dist-info/METADATA,sha256=VMyIOmOZ2b9UEjk65EpWJLuEaPETExKfCsKkmxxj-GI,541
36
- azureml_registry_tools-0.1.0a33.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
37
- azureml_registry_tools-0.1.0a33.dist-info/entry_points.txt,sha256=iRUkAeQidMnO6RQzpLqMUBTcyYtNzAfSin9WnSdVGLw,147
38
- azureml_registry_tools-0.1.0a33.dist-info/top_level.txt,sha256=ZOeEa0TAXo6i5wOjwBoqfIGEuxOcKuscGgNSpizqREY,8
39
- azureml_registry_tools-0.1.0a33.dist-info/RECORD,,
34
+ azureml_registry_tools-0.1.0a34.dist-info/licenses/LICENSE.txt,sha256=n20rxwp7_NGrrShv9Qvcs90sjI1l3Pkt3m-5OPCWzgs,845
35
+ azureml_registry_tools-0.1.0a34.dist-info/METADATA,sha256=PfpeXbIue5E66DwBnydtrt9LbWYm8qr3Q3b87IZLPks,541
36
+ azureml_registry_tools-0.1.0a34.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
37
+ azureml_registry_tools-0.1.0a34.dist-info/entry_points.txt,sha256=iRUkAeQidMnO6RQzpLqMUBTcyYtNzAfSin9WnSdVGLw,147
38
+ azureml_registry_tools-0.1.0a34.dist-info/top_level.txt,sha256=ZOeEa0TAXo6i5wOjwBoqfIGEuxOcKuscGgNSpizqREY,8
39
+ azureml_registry_tools-0.1.0a34.dist-info/RECORD,,