diff options
Diffstat (limited to '.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/_data')
3 files changed, 75 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/_data/__init__.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/_data/__init__.py new file mode 100644 index 00000000..29a4fcd3 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/_data/__init__.py @@ -0,0 +1,5 @@ +# --------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# --------------------------------------------------------- + +__path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/_data/mltable_metadata_path_schemas.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/_data/mltable_metadata_path_schemas.py new file mode 100644 index 00000000..0156743e --- /dev/null +++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/_data/mltable_metadata_path_schemas.py @@ -0,0 +1,30 @@ +# --------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# --------------------------------------------------------- + +from marshmallow import fields + +from azure.ai.ml._schema.core.schema import PatchedSchemaMeta + + +class MLTableMetadataPathFileSchema(metaclass=PatchedSchemaMeta): + file = fields.Str( + metadata={"description": "This specifies path of file containing data."}, + required=True, + ) + + +class MLTableMetadataPathFolderSchema(metaclass=PatchedSchemaMeta): + folder = fields.Str( + metadata={"description": "This specifies path of folder containing data."}, + required=True, + ) + + +class MLTableMetadataPathPatternSchema(metaclass=PatchedSchemaMeta): + pattern = fields.Str( + metadata={ + "description": "This specifies a search pattern to allow globbing of files and folders containing data." + }, + required=True, + ) diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/_data/mltable_metadata_schema.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/_data/mltable_metadata_schema.py new file mode 100644 index 00000000..99861bc3 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/_data/mltable_metadata_schema.py @@ -0,0 +1,40 @@ +# --------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# --------------------------------------------------------- + +# pylint: disable=unused-argument + +from typing import Dict + +from marshmallow import fields, post_load + +from azure.ai.ml._schema.core.fields import NestedField, UnionField +from azure.ai.ml._schema.core.schema import YamlFileSchema +from azure.ai.ml.constants._common import BASE_PATH_CONTEXT_KEY + +from .mltable_metadata_path_schemas import ( + MLTableMetadataPathFileSchema, + MLTableMetadataPathFolderSchema, + MLTableMetadataPathPatternSchema, +) + + +class MLTableMetadataSchema(YamlFileSchema): + paths = fields.List( + UnionField( + [ + NestedField(MLTableMetadataPathFileSchema()), + NestedField(MLTableMetadataPathFolderSchema()), + NestedField(MLTableMetadataPathPatternSchema()), + ] + ), + required=True, + ) + transformations = fields.List(fields.Raw(), required=False) + + @post_load + def make(self, data: Dict, **kwargs): + from azure.ai.ml.entities._data.mltable_metadata import MLTableMetadata, MLTableMetadataPath + + paths = [MLTableMetadataPath(pathDict=pathDict) for pathDict in data.pop("paths")] + return MLTableMetadata(base_path=self.context[BASE_PATH_CONTEXT_KEY], **data, paths=paths) |
