|
2 | 2 | import datetime |
3 | 3 | import json |
4 | 4 | import logging |
5 | | -import tempfile |
6 | 5 | import os.path |
| 6 | +import tempfile |
7 | 7 | import threading |
8 | 8 | import time |
9 | 9 | import uuid |
|
12 | 12 | from dataclasses import dataclass, field |
13 | 13 | from os import PathLike |
14 | 14 | from pathlib import Path |
15 | | -from typing import Any, Dict, List, Optional, TYPE_CHECKING, Union, Set, ContextManager, Tuple, Literal, Callable |
16 | | - |
| 15 | +from typing import TYPE_CHECKING, Any, Callable, ContextManager, Dict, List, Literal, Optional, Set, Tuple, Union |
17 | 16 |
|
18 | 17 | import rich.progress |
19 | | -from dataclasses_json import config, LetterCase, DataClassJsonMixin |
| 18 | +from dataclasses_json import DataClassJsonMixin, LetterCase, config |
20 | 19 | from pathvalidate import sanitize_filepath |
21 | 20 |
|
22 | 21 | import dagshub.common.config |
23 | 22 | from dagshub.common import rich_console |
24 | 23 | from dagshub.common.analytics import send_analytics_event |
25 | 24 | from dagshub.common.environment import is_mlflow_installed |
26 | | -from dagshub.common.helpers import prompt_user, http_request, log_message |
| 25 | +from dagshub.common.helpers import http_request, log_message, prompt_user |
27 | 26 | from dagshub.common.rich_util import get_rich_progress |
28 | 27 | from dagshub.common.util import ( |
| 28 | + deprecated, |
| 29 | + exclude_if_none, |
29 | 30 | lazy_load, |
30 | 31 | multi_urljoin, |
31 | 32 | to_timestamp, |
32 | | - exclude_if_none, |
33 | | - deprecated, |
34 | 33 | ) |
35 | | -from dagshub.data_engine.annotation.importer import AnnotationImporter, AnnotationType, AnnotationLocation |
| 34 | +from dagshub.data_engine.annotation.importer import AnnotationImporter, AnnotationLocation, AnnotationType |
36 | 35 | from dagshub.data_engine.client.models import ( |
37 | | - PreprocessingStatus, |
| 36 | + DatasetResult, |
38 | 37 | MetadataFieldSchema, |
| 38 | + PreprocessingStatus, |
39 | 39 | ScanOption, |
40 | | - DatasetResult, |
41 | 40 | ) |
42 | 41 | from dagshub.data_engine.dtypes import MetadataFieldType |
43 | 42 | from dagshub.data_engine.model.datapoint import Datapoint |
| 43 | +from dagshub.data_engine.model.datasource_state import DatasourceState |
44 | 44 | from dagshub.data_engine.model.errors import ( |
45 | | - WrongOperatorError, |
46 | | - WrongOrderError, |
47 | 45 | DatasetFieldComparisonError, |
48 | | - FieldNotFoundError, |
49 | 46 | DatasetNotFoundError, |
| 47 | + FieldNotFoundError, |
| 48 | + WrongOperatorError, |
| 49 | + WrongOrderError, |
50 | 50 | ) |
51 | 51 | from dagshub.data_engine.model.metadata import ( |
52 | | - validate_uploading_metadata, |
53 | | - run_preupload_transforms, |
54 | 52 | precalculate_metadata_info, |
| 53 | + run_preupload_transforms, |
| 54 | + validate_uploading_metadata, |
55 | 55 | ) |
56 | | -from dagshub.data_engine.model.metadata.transforms import DatasourceFieldInfo, _add_metadata |
57 | 56 | from dagshub.data_engine.model.metadata.dtypes import DatapointMetadataUpdateEntry |
| 57 | +from dagshub.data_engine.model.metadata.transforms import DatasourceFieldInfo, _add_metadata |
58 | 58 | from dagshub.data_engine.model.metadata_field_builder import MetadataFieldBuilder |
59 | 59 | from dagshub.data_engine.model.query import QueryFilterTree |
60 | 60 | from dagshub.data_engine.model.schema_util import ( |
61 | 61 | default_metadata_type_value, |
62 | 62 | ) |
63 | | -from dagshub.data_engine.model.datasource_state import DatasourceState |
64 | 63 |
|
65 | 64 | if TYPE_CHECKING: |
66 | | - from dagshub.data_engine.model.query_result import QueryResult |
| 65 | + import cloudpickle |
67 | 66 | import fiftyone as fo |
68 | | - import pandas |
69 | 67 | import mlflow |
70 | 68 | import mlflow.entities |
71 | | - import cloudpickle |
72 | | - import ngrok |
73 | 69 | import mlflow.exceptions as mlflow_exceptions |
| 70 | + import ngrok |
| 71 | + import pandas |
| 72 | + |
| 73 | + from dagshub.data_engine.model.query_result import QueryResult |
74 | 74 | else: |
75 | 75 | plugin_server_module = lazy_load("dagshub.data_engine.voxel_plugin_server.server") |
76 | 76 | fo = lazy_load("fiftyone") |
@@ -663,7 +663,7 @@ def _df_to_metadata( |
663 | 663 | path_column = df.columns[path_column] |
664 | 664 |
|
665 | 665 | # objects are actually mixed and not guaranteed to be string, but this should cover most use cases |
666 | | - if df.dtypes[path_column] != "object": |
| 666 | + if not pandas.api.types.is_string_dtype(df.dtypes[path_column]): |
667 | 667 | raise ValueError(f"Path column {path_column} must contain strings") |
668 | 668 |
|
669 | 669 | field_info = self._generate_metadata_cache_info() |
|
0 commit comments