about summary refs log tree commit diff
path: root/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/_data
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/_data')
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/_data/__init__.py5
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/_data/mltable_metadata_path_schemas.py30
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/_data/mltable_metadata_schema.py40
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)