gsctl 0.29.0a20250114__py2.py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (117) hide show
  1. graphscope/flex/rest/__init__.py +106 -0
  2. graphscope/flex/rest/api/__init__.py +12 -0
  3. graphscope/flex/rest/api/alert_api.py +2790 -0
  4. graphscope/flex/rest/api/data_source_api.py +1177 -0
  5. graphscope/flex/rest/api/deployment_api.py +1323 -0
  6. graphscope/flex/rest/api/graph_api.py +2813 -0
  7. graphscope/flex/rest/api/job_api.py +1408 -0
  8. graphscope/flex/rest/api/service_api.py +1316 -0
  9. graphscope/flex/rest/api/stored_procedure_api.py +1454 -0
  10. graphscope/flex/rest/api/utils_api.py +310 -0
  11. graphscope/flex/rest/api_client.py +789 -0
  12. graphscope/flex/rest/api_response.py +21 -0
  13. graphscope/flex/rest/configuration.py +451 -0
  14. graphscope/flex/rest/exceptions.py +200 -0
  15. graphscope/flex/rest/models/__init__.py +82 -0
  16. graphscope/flex/rest/models/base_edge_type.py +102 -0
  17. graphscope/flex/rest/models/base_edge_type_vertex_type_pair_relations_inner.py +108 -0
  18. graphscope/flex/rest/models/base_edge_type_vertex_type_pair_relations_inner_x_csr_params.py +98 -0
  19. graphscope/flex/rest/models/base_property_meta.py +105 -0
  20. graphscope/flex/rest/models/base_vertex_type.py +96 -0
  21. graphscope/flex/rest/models/base_vertex_type_x_csr_params.py +88 -0
  22. graphscope/flex/rest/models/column_mapping.py +94 -0
  23. graphscope/flex/rest/models/column_mapping_column.py +90 -0
  24. graphscope/flex/rest/models/create_alert_receiver_request.py +103 -0
  25. graphscope/flex/rest/models/create_alert_rule_request.py +112 -0
  26. graphscope/flex/rest/models/create_dataloading_job_response.py +88 -0
  27. graphscope/flex/rest/models/create_edge_type.py +114 -0
  28. graphscope/flex/rest/models/create_graph_request.py +106 -0
  29. graphscope/flex/rest/models/create_graph_response.py +88 -0
  30. graphscope/flex/rest/models/create_graph_schema_request.py +106 -0
  31. graphscope/flex/rest/models/create_property_meta.py +105 -0
  32. graphscope/flex/rest/models/create_stored_proc_request.py +101 -0
  33. graphscope/flex/rest/models/create_stored_proc_response.py +88 -0
  34. graphscope/flex/rest/models/create_vertex_type.py +108 -0
  35. graphscope/flex/rest/models/dataloading_job_config.py +136 -0
  36. graphscope/flex/rest/models/dataloading_job_config_edges_inner.py +92 -0
  37. graphscope/flex/rest/models/dataloading_job_config_loading_config.py +104 -0
  38. graphscope/flex/rest/models/dataloading_job_config_loading_config_format.py +90 -0
  39. graphscope/flex/rest/models/dataloading_job_config_vertices_inner.py +88 -0
  40. graphscope/flex/rest/models/dataloading_mr_job_config.py +88 -0
  41. graphscope/flex/rest/models/date_type.py +88 -0
  42. graphscope/flex/rest/models/edge_mapping.py +122 -0
  43. graphscope/flex/rest/models/edge_mapping_type_triplet.py +92 -0
  44. graphscope/flex/rest/models/error.py +90 -0
  45. graphscope/flex/rest/models/get_alert_message_response.py +123 -0
  46. graphscope/flex/rest/models/get_alert_receiver_response.py +107 -0
  47. graphscope/flex/rest/models/get_alert_rule_response.py +114 -0
  48. graphscope/flex/rest/models/get_edge_type.py +116 -0
  49. graphscope/flex/rest/models/get_graph_response.py +139 -0
  50. graphscope/flex/rest/models/get_graph_schema_response.py +106 -0
  51. graphscope/flex/rest/models/get_pod_log_response.py +88 -0
  52. graphscope/flex/rest/models/get_property_meta.py +107 -0
  53. graphscope/flex/rest/models/get_resource_usage_response.py +105 -0
  54. graphscope/flex/rest/models/get_storage_usage_response.py +88 -0
  55. graphscope/flex/rest/models/get_stored_proc_response.py +130 -0
  56. graphscope/flex/rest/models/get_vertex_type.py +110 -0
  57. graphscope/flex/rest/models/gs_data_type.py +152 -0
  58. graphscope/flex/rest/models/job_status.py +107 -0
  59. graphscope/flex/rest/models/long_text.py +93 -0
  60. graphscope/flex/rest/models/node_status.py +94 -0
  61. graphscope/flex/rest/models/parameter.py +96 -0
  62. graphscope/flex/rest/models/pod_status.py +108 -0
  63. graphscope/flex/rest/models/primitive_type.py +95 -0
  64. graphscope/flex/rest/models/resource_usage.py +92 -0
  65. graphscope/flex/rest/models/running_deployment_info.py +128 -0
  66. graphscope/flex/rest/models/running_deployment_status.py +124 -0
  67. graphscope/flex/rest/models/schema_mapping.py +106 -0
  68. graphscope/flex/rest/models/service_status.py +112 -0
  69. graphscope/flex/rest/models/service_status_sdk_endpoints.py +94 -0
  70. graphscope/flex/rest/models/start_service_request.py +88 -0
  71. graphscope/flex/rest/models/stored_procedure_meta.py +126 -0
  72. graphscope/flex/rest/models/string_type.py +92 -0
  73. graphscope/flex/rest/models/string_type_string.py +124 -0
  74. graphscope/flex/rest/models/temporal_type.py +92 -0
  75. graphscope/flex/rest/models/temporal_type_temporal.py +138 -0
  76. graphscope/flex/rest/models/time_stamp_type.py +88 -0
  77. graphscope/flex/rest/models/update_alert_message_status_request.py +97 -0
  78. graphscope/flex/rest/models/update_stored_proc_request.py +88 -0
  79. graphscope/flex/rest/models/upload_file_response.py +90 -0
  80. graphscope/flex/rest/models/vertex_mapping.py +100 -0
  81. graphscope/flex/rest/py.typed +0 -0
  82. graphscope/flex/rest/rest.py +258 -0
  83. graphscope/gsctl/V6D_VERSION +1 -0
  84. graphscope/gsctl/VERSION +1 -0
  85. graphscope/gsctl/__init__.py +22 -0
  86. graphscope/gsctl/commands/__init__.py +148 -0
  87. graphscope/gsctl/commands/common.py +200 -0
  88. graphscope/gsctl/commands/dev.py +448 -0
  89. graphscope/gsctl/commands/insight/__init__.py +17 -0
  90. graphscope/gsctl/commands/insight/glob.py +234 -0
  91. graphscope/gsctl/commands/insight/graph.py +205 -0
  92. graphscope/gsctl/commands/interactive/__init__.py +17 -0
  93. graphscope/gsctl/commands/interactive/glob.py +280 -0
  94. graphscope/gsctl/commands/interactive/graph.py +259 -0
  95. graphscope/gsctl/config.py +221 -0
  96. graphscope/gsctl/gsctl.py +51 -0
  97. graphscope/gsctl/impl/__init__.py +64 -0
  98. graphscope/gsctl/impl/alert.py +135 -0
  99. graphscope/gsctl/impl/common.py +53 -0
  100. graphscope/gsctl/impl/datasource.py +80 -0
  101. graphscope/gsctl/impl/deployment.py +62 -0
  102. graphscope/gsctl/impl/graph.py +150 -0
  103. graphscope/gsctl/impl/job.py +63 -0
  104. graphscope/gsctl/impl/service.py +62 -0
  105. graphscope/gsctl/impl/stored_procedure.py +92 -0
  106. graphscope/gsctl/impl/utils.py +38 -0
  107. graphscope/gsctl/scripts/install_deps.sh +969 -0
  108. graphscope/gsctl/tests/__init__.py +17 -0
  109. graphscope/gsctl/tests/test_graphscope_insight.py +401 -0
  110. graphscope/gsctl/tests/test_interactive.py +516 -0
  111. graphscope/gsctl/utils.py +337 -0
  112. graphscope/gsctl/version.py +31 -0
  113. gsctl-0.29.0a20250114.dist-info/METADATA +20 -0
  114. gsctl-0.29.0a20250114.dist-info/RECORD +117 -0
  115. gsctl-0.29.0a20250114.dist-info/WHEEL +6 -0
  116. gsctl-0.29.0a20250114.dist-info/entry_points.txt +3 -0
  117. gsctl-0.29.0a20250114.dist-info/top_level.txt +1 -0
@@ -0,0 +1,126 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ GraphScope FLEX HTTP SERVICE API
5
+
6
+ This is a specification for GraphScope FLEX HTTP service based on the OpenAPI 3.0 specification. You can find out more details about specification at [doc](https://swagger.io/specification/v3/).
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Contact: graphscope@alibaba-inc.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, StrictStr, field_validator
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from graphscope.flex.rest.models.parameter import Parameter
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class StoredProcedureMeta(BaseModel):
28
+ """
29
+ StoredProcedureMeta
30
+ """ # noqa: E501
31
+ name: StrictStr
32
+ description: Optional[StrictStr] = None
33
+ type: StrictStr
34
+ query: StrictStr
35
+ id: StrictStr
36
+ library: StrictStr
37
+ params: List[Parameter]
38
+ returns: List[Parameter]
39
+ option: Optional[Dict[str, Any]] = None
40
+ __properties: ClassVar[List[str]] = ["name", "description", "type", "query", "id", "library", "params", "returns", "option"]
41
+
42
+ @field_validator('type')
43
+ def type_validate_enum(cls, value):
44
+ """Validates the enum"""
45
+ if value not in set(['cpp', 'cypher']):
46
+ raise ValueError("must be one of enum values ('cpp', 'cypher')")
47
+ return value
48
+
49
+ model_config = ConfigDict(
50
+ populate_by_name=True,
51
+ validate_assignment=True,
52
+ protected_namespaces=(),
53
+ )
54
+
55
+
56
+ def to_str(self) -> str:
57
+ """Returns the string representation of the model using alias"""
58
+ return pprint.pformat(self.model_dump(by_alias=True))
59
+
60
+ def to_json(self) -> str:
61
+ """Returns the JSON representation of the model using alias"""
62
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
63
+ return json.dumps(self.to_dict())
64
+
65
+ @classmethod
66
+ def from_json(cls, json_str: str) -> Optional[Self]:
67
+ """Create an instance of StoredProcedureMeta from a JSON string"""
68
+ return cls.from_dict(json.loads(json_str))
69
+
70
+ def to_dict(self) -> Dict[str, Any]:
71
+ """Return the dictionary representation of the model using alias.
72
+
73
+ This has the following differences from calling pydantic's
74
+ `self.model_dump(by_alias=True)`:
75
+
76
+ * `None` is only added to the output dict for nullable fields that
77
+ were set at model initialization. Other fields with value `None`
78
+ are ignored.
79
+ """
80
+ excluded_fields: Set[str] = set([
81
+ ])
82
+
83
+ _dict = self.model_dump(
84
+ by_alias=True,
85
+ exclude=excluded_fields,
86
+ exclude_none=True,
87
+ )
88
+ # override the default output from pydantic by calling `to_dict()` of each item in params (list)
89
+ _items = []
90
+ if self.params:
91
+ for _item_params in self.params:
92
+ if _item_params:
93
+ _items.append(_item_params.to_dict())
94
+ _dict['params'] = _items
95
+ # override the default output from pydantic by calling `to_dict()` of each item in returns (list)
96
+ _items = []
97
+ if self.returns:
98
+ for _item_returns in self.returns:
99
+ if _item_returns:
100
+ _items.append(_item_returns.to_dict())
101
+ _dict['returns'] = _items
102
+ return _dict
103
+
104
+ @classmethod
105
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
106
+ """Create an instance of StoredProcedureMeta from a dict"""
107
+ if obj is None:
108
+ return None
109
+
110
+ if not isinstance(obj, dict):
111
+ return cls.model_validate(obj)
112
+
113
+ _obj = cls.model_validate({
114
+ "name": obj.get("name"),
115
+ "description": obj.get("description"),
116
+ "type": obj.get("type"),
117
+ "query": obj.get("query"),
118
+ "id": obj.get("id"),
119
+ "library": obj.get("library"),
120
+ "params": [Parameter.from_dict(_item) for _item in obj["params"]] if obj.get("params") is not None else None,
121
+ "returns": [Parameter.from_dict(_item) for _item in obj["returns"]] if obj.get("returns") is not None else None,
122
+ "option": obj.get("option")
123
+ })
124
+ return _obj
125
+
126
+
@@ -0,0 +1,92 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ GraphScope FLEX HTTP SERVICE API
5
+
6
+ This is a specification for GraphScope FLEX HTTP service based on the OpenAPI 3.0 specification. You can find out more details about specification at [doc](https://swagger.io/specification/v3/).
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Contact: graphscope@alibaba-inc.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict
22
+ from typing import Any, ClassVar, Dict, List
23
+ from graphscope.flex.rest.models.string_type_string import StringTypeString
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class StringType(BaseModel):
28
+ """
29
+ StringType
30
+ """ # noqa: E501
31
+ string: StringTypeString
32
+ __properties: ClassVar[List[str]] = ["string"]
33
+
34
+ model_config = ConfigDict(
35
+ populate_by_name=True,
36
+ validate_assignment=True,
37
+ protected_namespaces=(),
38
+ )
39
+
40
+
41
+ def to_str(self) -> str:
42
+ """Returns the string representation of the model using alias"""
43
+ return pprint.pformat(self.model_dump(by_alias=True))
44
+
45
+ def to_json(self) -> str:
46
+ """Returns the JSON representation of the model using alias"""
47
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
48
+ return json.dumps(self.to_dict())
49
+
50
+ @classmethod
51
+ def from_json(cls, json_str: str) -> Optional[Self]:
52
+ """Create an instance of StringType from a JSON string"""
53
+ return cls.from_dict(json.loads(json_str))
54
+
55
+ def to_dict(self) -> Dict[str, Any]:
56
+ """Return the dictionary representation of the model using alias.
57
+
58
+ This has the following differences from calling pydantic's
59
+ `self.model_dump(by_alias=True)`:
60
+
61
+ * `None` is only added to the output dict for nullable fields that
62
+ were set at model initialization. Other fields with value `None`
63
+ are ignored.
64
+ """
65
+ excluded_fields: Set[str] = set([
66
+ ])
67
+
68
+ _dict = self.model_dump(
69
+ by_alias=True,
70
+ exclude=excluded_fields,
71
+ exclude_none=True,
72
+ )
73
+ # override the default output from pydantic by calling `to_dict()` of string
74
+ if self.string:
75
+ _dict['string'] = self.string.to_dict()
76
+ return _dict
77
+
78
+ @classmethod
79
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
80
+ """Create an instance of StringType from a dict"""
81
+ if obj is None:
82
+ return None
83
+
84
+ if not isinstance(obj, dict):
85
+ return cls.model_validate(obj)
86
+
87
+ _obj = cls.model_validate({
88
+ "string": StringTypeString.from_dict(obj["string"]) if obj.get("string") is not None else None
89
+ })
90
+ return _obj
91
+
92
+
@@ -0,0 +1,124 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ GraphScope FLEX HTTP SERVICE API
5
+
6
+ This is a specification for GraphScope FLEX HTTP service based on the OpenAPI 3.0 specification. You can find out more details about specification at [doc](https://swagger.io/specification/v3/).
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Contact: graphscope@alibaba-inc.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import json
18
+ import pprint
19
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
20
+ from typing import Any, List, Optional
21
+ from graphscope.flex.rest.models.long_text import LongText
22
+ from pydantic import StrictStr, Field
23
+ from typing import Union, List, Set, Optional, Dict
24
+ from typing_extensions import Literal, Self
25
+
26
+ STRINGTYPESTRING_ONE_OF_SCHEMAS = ["LongText"]
27
+
28
+ class StringTypeString(BaseModel):
29
+ """
30
+ StringTypeString
31
+ """
32
+ # data type: LongText
33
+ oneof_schema_1_validator: Optional[LongText] = None
34
+ actual_instance: Optional[Union[LongText]] = None
35
+ one_of_schemas: Set[str] = { "LongText" }
36
+
37
+ model_config = ConfigDict(
38
+ validate_assignment=True,
39
+ protected_namespaces=(),
40
+ )
41
+
42
+
43
+ def __init__(self, *args, **kwargs) -> None:
44
+ if args:
45
+ if len(args) > 1:
46
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
47
+ if kwargs:
48
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
49
+ super().__init__(actual_instance=args[0])
50
+ else:
51
+ super().__init__(**kwargs)
52
+
53
+ @field_validator('actual_instance')
54
+ def actual_instance_must_validate_oneof(cls, v):
55
+ instance = StringTypeString.model_construct()
56
+ error_messages = []
57
+ match = 0
58
+ # validate data type: LongText
59
+ if not isinstance(v, LongText):
60
+ error_messages.append(f"Error! Input type `{type(v)}` is not `LongText`")
61
+ else:
62
+ match += 1
63
+ if match > 1:
64
+ # more than 1 match
65
+ raise ValueError("Multiple matches found when setting `actual_instance` in StringTypeString with oneOf schemas: LongText. Details: " + ", ".join(error_messages))
66
+ elif match == 0:
67
+ # no match
68
+ raise ValueError("No match found when setting `actual_instance` in StringTypeString with oneOf schemas: LongText. Details: " + ", ".join(error_messages))
69
+ else:
70
+ return v
71
+
72
+ @classmethod
73
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
74
+ return cls.from_json(json.dumps(obj))
75
+
76
+ @classmethod
77
+ def from_json(cls, json_str: str) -> Self:
78
+ """Returns the object represented by the json string"""
79
+ instance = cls.model_construct()
80
+ error_messages = []
81
+ match = 0
82
+
83
+ # deserialize data into LongText
84
+ try:
85
+ instance.actual_instance = LongText.from_json(json_str)
86
+ match += 1
87
+ except (ValidationError, ValueError) as e:
88
+ error_messages.append(str(e))
89
+
90
+ if match > 1:
91
+ # more than 1 match
92
+ raise ValueError("Multiple matches found when deserializing the JSON string into StringTypeString with oneOf schemas: LongText. Details: " + ", ".join(error_messages))
93
+ elif match == 0:
94
+ # no match
95
+ raise ValueError("No match found when deserializing the JSON string into StringTypeString with oneOf schemas: LongText. Details: " + ", ".join(error_messages))
96
+ else:
97
+ return instance
98
+
99
+ def to_json(self) -> str:
100
+ """Returns the JSON representation of the actual instance"""
101
+ if self.actual_instance is None:
102
+ return "null"
103
+
104
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
105
+ return self.actual_instance.to_json()
106
+ else:
107
+ return json.dumps(self.actual_instance)
108
+
109
+ def to_dict(self) -> Optional[Union[Dict[str, Any], LongText]]:
110
+ """Returns the dict representation of the actual instance"""
111
+ if self.actual_instance is None:
112
+ return None
113
+
114
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
115
+ return self.actual_instance.to_dict()
116
+ else:
117
+ # primitive type
118
+ return self.actual_instance
119
+
120
+ def to_str(self) -> str:
121
+ """Returns the string representation of the actual instance"""
122
+ return pprint.pformat(self.model_dump())
123
+
124
+
@@ -0,0 +1,92 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ GraphScope FLEX HTTP SERVICE API
5
+
6
+ This is a specification for GraphScope FLEX HTTP service based on the OpenAPI 3.0 specification. You can find out more details about specification at [doc](https://swagger.io/specification/v3/).
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Contact: graphscope@alibaba-inc.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict
22
+ from typing import Any, ClassVar, Dict, List
23
+ from graphscope.flex.rest.models.temporal_type_temporal import TemporalTypeTemporal
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class TemporalType(BaseModel):
28
+ """
29
+ TemporalType
30
+ """ # noqa: E501
31
+ temporal: TemporalTypeTemporal
32
+ __properties: ClassVar[List[str]] = ["temporal"]
33
+
34
+ model_config = ConfigDict(
35
+ populate_by_name=True,
36
+ validate_assignment=True,
37
+ protected_namespaces=(),
38
+ )
39
+
40
+
41
+ def to_str(self) -> str:
42
+ """Returns the string representation of the model using alias"""
43
+ return pprint.pformat(self.model_dump(by_alias=True))
44
+
45
+ def to_json(self) -> str:
46
+ """Returns the JSON representation of the model using alias"""
47
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
48
+ return json.dumps(self.to_dict())
49
+
50
+ @classmethod
51
+ def from_json(cls, json_str: str) -> Optional[Self]:
52
+ """Create an instance of TemporalType from a JSON string"""
53
+ return cls.from_dict(json.loads(json_str))
54
+
55
+ def to_dict(self) -> Dict[str, Any]:
56
+ """Return the dictionary representation of the model using alias.
57
+
58
+ This has the following differences from calling pydantic's
59
+ `self.model_dump(by_alias=True)`:
60
+
61
+ * `None` is only added to the output dict for nullable fields that
62
+ were set at model initialization. Other fields with value `None`
63
+ are ignored.
64
+ """
65
+ excluded_fields: Set[str] = set([
66
+ ])
67
+
68
+ _dict = self.model_dump(
69
+ by_alias=True,
70
+ exclude=excluded_fields,
71
+ exclude_none=True,
72
+ )
73
+ # override the default output from pydantic by calling `to_dict()` of temporal
74
+ if self.temporal:
75
+ _dict['temporal'] = self.temporal.to_dict()
76
+ return _dict
77
+
78
+ @classmethod
79
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
80
+ """Create an instance of TemporalType from a dict"""
81
+ if obj is None:
82
+ return None
83
+
84
+ if not isinstance(obj, dict):
85
+ return cls.model_validate(obj)
86
+
87
+ _obj = cls.model_validate({
88
+ "temporal": TemporalTypeTemporal.from_dict(obj["temporal"]) if obj.get("temporal") is not None else None
89
+ })
90
+ return _obj
91
+
92
+
@@ -0,0 +1,138 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ GraphScope FLEX HTTP SERVICE API
5
+
6
+ This is a specification for GraphScope FLEX HTTP service based on the OpenAPI 3.0 specification. You can find out more details about specification at [doc](https://swagger.io/specification/v3/).
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Contact: graphscope@alibaba-inc.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import json
18
+ import pprint
19
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
20
+ from typing import Any, List, Optional
21
+ from graphscope.flex.rest.models.date_type import DateType
22
+ from graphscope.flex.rest.models.time_stamp_type import TimeStampType
23
+ from pydantic import StrictStr, Field
24
+ from typing import Union, List, Set, Optional, Dict
25
+ from typing_extensions import Literal, Self
26
+
27
+ TEMPORALTYPETEMPORAL_ONE_OF_SCHEMAS = ["DateType", "TimeStampType"]
28
+
29
+ class TemporalTypeTemporal(BaseModel):
30
+ """
31
+ TemporalTypeTemporal
32
+ """
33
+ # data type: TimeStampType
34
+ oneof_schema_1_validator: Optional[TimeStampType] = None
35
+ # data type: DateType
36
+ oneof_schema_2_validator: Optional[DateType] = None
37
+ actual_instance: Optional[Union[DateType, TimeStampType]] = None
38
+ one_of_schemas: Set[str] = { "DateType", "TimeStampType" }
39
+
40
+ model_config = ConfigDict(
41
+ validate_assignment=True,
42
+ protected_namespaces=(),
43
+ )
44
+
45
+
46
+ def __init__(self, *args, **kwargs) -> None:
47
+ if args:
48
+ if len(args) > 1:
49
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
50
+ if kwargs:
51
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
52
+ super().__init__(actual_instance=args[0])
53
+ else:
54
+ super().__init__(**kwargs)
55
+
56
+ @field_validator('actual_instance')
57
+ def actual_instance_must_validate_oneof(cls, v):
58
+ instance = TemporalTypeTemporal.model_construct()
59
+ error_messages = []
60
+ match = 0
61
+ # validate data type: TimeStampType
62
+ if not isinstance(v, TimeStampType):
63
+ error_messages.append(f"Error! Input type `{type(v)}` is not `TimeStampType`")
64
+ else:
65
+ match += 1
66
+ # validate data type: DateType
67
+ if not isinstance(v, DateType):
68
+ error_messages.append(f"Error! Input type `{type(v)}` is not `DateType`")
69
+ else:
70
+ match += 1
71
+ if match > 1:
72
+ # more than 1 match
73
+ raise ValueError("Multiple matches found when setting `actual_instance` in TemporalTypeTemporal with oneOf schemas: DateType, TimeStampType. Details: " + ", ".join(error_messages))
74
+ elif match == 0:
75
+ # no match
76
+ raise ValueError("No match found when setting `actual_instance` in TemporalTypeTemporal with oneOf schemas: DateType, TimeStampType. Details: " + ", ".join(error_messages))
77
+ else:
78
+ return v
79
+
80
+ @classmethod
81
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
82
+ return cls.from_json(json.dumps(obj))
83
+
84
+ @classmethod
85
+ def from_json(cls, json_str: str) -> Self:
86
+ """Returns the object represented by the json string"""
87
+ instance = cls.model_construct()
88
+ error_messages = []
89
+ match = 0
90
+
91
+ # deserialize data into TimeStampType
92
+ try:
93
+ instance.actual_instance = TimeStampType.from_json(json_str)
94
+ match += 1
95
+ except (ValidationError, ValueError) as e:
96
+ error_messages.append(str(e))
97
+ # deserialize data into DateType
98
+ try:
99
+ instance.actual_instance = DateType.from_json(json_str)
100
+ match += 1
101
+ except (ValidationError, ValueError) as e:
102
+ error_messages.append(str(e))
103
+
104
+ if match > 1:
105
+ # more than 1 match
106
+ raise ValueError("Multiple matches found when deserializing the JSON string into TemporalTypeTemporal with oneOf schemas: DateType, TimeStampType. Details: " + ", ".join(error_messages))
107
+ elif match == 0:
108
+ # no match
109
+ raise ValueError("No match found when deserializing the JSON string into TemporalTypeTemporal with oneOf schemas: DateType, TimeStampType. Details: " + ", ".join(error_messages))
110
+ else:
111
+ return instance
112
+
113
+ def to_json(self) -> str:
114
+ """Returns the JSON representation of the actual instance"""
115
+ if self.actual_instance is None:
116
+ return "null"
117
+
118
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
119
+ return self.actual_instance.to_json()
120
+ else:
121
+ return json.dumps(self.actual_instance)
122
+
123
+ def to_dict(self) -> Optional[Union[Dict[str, Any], DateType, TimeStampType]]:
124
+ """Returns the dict representation of the actual instance"""
125
+ if self.actual_instance is None:
126
+ return None
127
+
128
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
129
+ return self.actual_instance.to_dict()
130
+ else:
131
+ # primitive type
132
+ return self.actual_instance
133
+
134
+ def to_str(self) -> str:
135
+ """Returns the string representation of the actual instance"""
136
+ return pprint.pformat(self.model_dump())
137
+
138
+
@@ -0,0 +1,88 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ GraphScope FLEX HTTP SERVICE API
5
+
6
+ This is a specification for GraphScope FLEX HTTP service based on the OpenAPI 3.0 specification. You can find out more details about specification at [doc](https://swagger.io/specification/v3/).
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Contact: graphscope@alibaba-inc.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, StrictStr
22
+ from typing import Any, ClassVar, Dict, List
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class TimeStampType(BaseModel):
27
+ """
28
+ TimeStampType
29
+ """ # noqa: E501
30
+ timestamp: StrictStr
31
+ __properties: ClassVar[List[str]] = ["timestamp"]
32
+
33
+ model_config = ConfigDict(
34
+ populate_by_name=True,
35
+ validate_assignment=True,
36
+ protected_namespaces=(),
37
+ )
38
+
39
+
40
+ def to_str(self) -> str:
41
+ """Returns the string representation of the model using alias"""
42
+ return pprint.pformat(self.model_dump(by_alias=True))
43
+
44
+ def to_json(self) -> str:
45
+ """Returns the JSON representation of the model using alias"""
46
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
47
+ return json.dumps(self.to_dict())
48
+
49
+ @classmethod
50
+ def from_json(cls, json_str: str) -> Optional[Self]:
51
+ """Create an instance of TimeStampType from a JSON string"""
52
+ return cls.from_dict(json.loads(json_str))
53
+
54
+ def to_dict(self) -> Dict[str, Any]:
55
+ """Return the dictionary representation of the model using alias.
56
+
57
+ This has the following differences from calling pydantic's
58
+ `self.model_dump(by_alias=True)`:
59
+
60
+ * `None` is only added to the output dict for nullable fields that
61
+ were set at model initialization. Other fields with value `None`
62
+ are ignored.
63
+ """
64
+ excluded_fields: Set[str] = set([
65
+ ])
66
+
67
+ _dict = self.model_dump(
68
+ by_alias=True,
69
+ exclude=excluded_fields,
70
+ exclude_none=True,
71
+ )
72
+ return _dict
73
+
74
+ @classmethod
75
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
76
+ """Create an instance of TimeStampType from a dict"""
77
+ if obj is None:
78
+ return None
79
+
80
+ if not isinstance(obj, dict):
81
+ return cls.model_validate(obj)
82
+
83
+ _obj = cls.model_validate({
84
+ "timestamp": obj.get("timestamp")
85
+ })
86
+ return _obj
87
+
88
+