graphscope-flex 0.27.0__py2.py3-none-any.whl → 0.29.0a20250115__py2.py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (96) hide show
  1. graphscope/flex/rest/__init__.py +59 -44
  2. graphscope/flex/rest/api/__init__.py +2 -4
  3. graphscope/flex/rest/api/alert_api.py +721 -394
  4. graphscope/flex/rest/api/{legacy_api.py → data_source_api.py} +260 -189
  5. graphscope/flex/rest/api/deployment_api.py +388 -138
  6. graphscope/flex/rest/api/graph_api.py +858 -260
  7. graphscope/flex/rest/api/job_api.py +286 -203
  8. graphscope/flex/rest/api/service_api.py +320 -39
  9. graphscope/flex/rest/api/{procedure_api.py → stored_procedure_api.py} +296 -237
  10. graphscope/flex/rest/api/utils_api.py +18 -13
  11. graphscope/flex/rest/api_client.py +60 -30
  12. graphscope/flex/rest/configuration.py +19 -5
  13. graphscope/flex/rest/exceptions.py +2 -2
  14. graphscope/flex/rest/models/__init__.py +57 -40
  15. graphscope/flex/rest/models/{vertex_type.py → base_edge_type.py} +25 -25
  16. graphscope/flex/rest/models/{edge_type_vertex_type_pair_relations_inner.py → base_edge_type_vertex_type_pair_relations_inner.py} +17 -17
  17. graphscope/flex/rest/models/{edge_type_vertex_type_pair_relations_inner_x_csr_params.py → base_edge_type_vertex_type_pair_relations_inner_x_csr_params.py} +11 -11
  18. graphscope/flex/rest/models/{model_property.py → base_property_meta.py} +28 -19
  19. graphscope/flex/rest/models/base_vertex_type.py +96 -0
  20. graphscope/flex/rest/models/{procedure_params_inner.py → base_vertex_type_x_csr_params.py} +15 -17
  21. graphscope/flex/rest/models/column_mapping.py +13 -13
  22. graphscope/flex/rest/models/{edge_mapping_source_vertex_mappings_inner_column.py → column_mapping_column.py} +12 -12
  23. graphscope/flex/rest/models/{schema_mapping_loading_config_data_source.py → create_alert_receiver_request.py} +29 -24
  24. graphscope/flex/rest/models/{alert_rule.py → create_alert_rule_request.py} +19 -25
  25. graphscope/flex/rest/models/create_dataloading_job_response.py +88 -0
  26. graphscope/flex/rest/models/create_edge_type.py +114 -0
  27. graphscope/flex/rest/models/{graph.py → create_graph_request.py} +27 -33
  28. graphscope/flex/rest/models/create_graph_response.py +88 -0
  29. graphscope/flex/rest/models/{model_schema.py → create_graph_schema_request.py} +25 -25
  30. graphscope/flex/rest/models/{groot_vertex_type.py → create_property_meta.py} +32 -25
  31. graphscope/flex/rest/models/{graph_stored_procedures.py → create_stored_proc_request.py} +26 -23
  32. graphscope/flex/rest/models/create_stored_proc_response.py +88 -0
  33. graphscope/flex/rest/models/create_vertex_type.py +108 -0
  34. graphscope/flex/rest/models/{groot_dataloading_job_config.py → dataloading_job_config.py} +45 -21
  35. graphscope/flex/rest/models/{groot_dataloading_job_config_edges_inner.py → dataloading_job_config_edges_inner.py} +12 -12
  36. graphscope/flex/rest/models/{schema_mapping_loading_config.py → dataloading_job_config_loading_config.py} +16 -22
  37. graphscope/flex/rest/models/{schema_mapping_loading_config_format.py → dataloading_job_config_loading_config_format.py} +12 -12
  38. graphscope/flex/rest/models/{groot_edge_type_relations_inner.py → dataloading_job_config_vertices_inner.py} +15 -17
  39. graphscope/flex/rest/models/dataloading_mr_job_config.py +88 -0
  40. graphscope/flex/rest/models/date_type.py +88 -0
  41. graphscope/flex/rest/models/edge_mapping.py +23 -25
  42. graphscope/flex/rest/models/edge_mapping_type_triplet.py +12 -12
  43. graphscope/flex/rest/models/error.py +90 -0
  44. graphscope/flex/rest/models/{alert_message.py → get_alert_message_response.py} +23 -32
  45. graphscope/flex/rest/models/{alert_receiver.py → get_alert_receiver_response.py} +22 -25
  46. graphscope/flex/rest/models/{connection_status.py → get_alert_rule_response.py} +37 -33
  47. graphscope/flex/rest/models/{edge_type.py → get_edge_type.py} +33 -27
  48. graphscope/flex/rest/models/get_graph_response.py +139 -0
  49. graphscope/flex/rest/models/{groot_schema.py → get_graph_schema_response.py} +32 -32
  50. graphscope/flex/rest/models/get_pod_log_response.py +88 -0
  51. graphscope/flex/rest/models/{edge_mapping_destination_vertex_mappings_inner.py → get_property_meta.py} +34 -19
  52. graphscope/flex/rest/models/get_resource_usage_response.py +105 -0
  53. graphscope/flex/rest/models/get_storage_usage_response.py +88 -0
  54. graphscope/flex/rest/models/{procedure.py → get_stored_proc_response.py} +37 -36
  55. graphscope/flex/rest/models/{groot_edge_type.py → get_vertex_type.py} +33 -31
  56. graphscope/flex/rest/models/gs_data_type.py +152 -0
  57. graphscope/flex/rest/models/job_status.py +14 -17
  58. graphscope/flex/rest/models/{connection.py → long_text.py} +20 -15
  59. graphscope/flex/rest/models/node_status.py +15 -15
  60. graphscope/flex/rest/models/parameter.py +96 -0
  61. graphscope/flex/rest/models/{deployment_info_graphs_info_value.py → pod_status.py} +34 -20
  62. graphscope/flex/rest/models/{property_property_type.py → primitive_type.py} +16 -19
  63. graphscope/flex/rest/models/resource_usage.py +92 -0
  64. graphscope/flex/rest/models/{deployment_info.py → running_deployment_info.py} +42 -45
  65. graphscope/flex/rest/models/running_deployment_status.py +124 -0
  66. graphscope/flex/rest/models/schema_mapping.py +18 -26
  67. graphscope/flex/rest/models/service_status.py +29 -13
  68. graphscope/flex/rest/models/service_status_sdk_endpoints.py +8 -8
  69. graphscope/flex/rest/models/start_service_request.py +11 -11
  70. graphscope/flex/rest/models/{groot_graph.py → stored_procedure_meta.py} +46 -36
  71. graphscope/flex/rest/models/string_type.py +92 -0
  72. graphscope/flex/rest/models/string_type_string.py +124 -0
  73. graphscope/flex/rest/models/temporal_type.py +92 -0
  74. graphscope/flex/rest/models/temporal_type_temporal.py +138 -0
  75. graphscope/flex/rest/models/time_stamp_type.py +88 -0
  76. graphscope/flex/rest/models/update_alert_message_status_request.py +97 -0
  77. graphscope/flex/rest/models/update_stored_proc_request.py +88 -0
  78. graphscope/flex/rest/models/upload_file_response.py +90 -0
  79. graphscope/flex/rest/models/vertex_mapping.py +13 -13
  80. graphscope/flex/rest/rest.py +4 -2
  81. graphscope_flex-0.29.0a20250115.dist-info/METADATA +19 -0
  82. graphscope_flex-0.29.0a20250115.dist-info/RECORD +86 -0
  83. {graphscope_flex-0.27.0.dist-info → graphscope_flex-0.29.0a20250115.dist-info}/WHEEL +1 -1
  84. graphscope/flex/rest/api/connection_api.py +0 -550
  85. graphscope/flex/rest/api/datasource_api.py +0 -2308
  86. graphscope/flex/rest/models/data_source.py +0 -106
  87. graphscope/flex/rest/models/deployment_status.py +0 -108
  88. graphscope/flex/rest/models/edge_data_source.py +0 -112
  89. graphscope/flex/rest/models/edge_mapping_source_vertex_mappings_inner.py +0 -92
  90. graphscope/flex/rest/models/groot_graph_gremlin_interface.py +0 -94
  91. graphscope/flex/rest/models/groot_property.py +0 -104
  92. graphscope/flex/rest/models/update_alert_messages_request.py +0 -110
  93. graphscope/flex/rest/models/vertex_data_source.py +0 -104
  94. graphscope_flex-0.27.0.dist-info/METADATA +0 -17
  95. graphscope_flex-0.27.0.dist-info/RECORD +0 -71
  96. {graphscope_flex-0.27.0.dist-info → graphscope_flex-0.29.0a20250115.dist-info}/top_level.txt +0 -0
@@ -3,9 +3,9 @@
3
3
  """
4
4
  GraphScope FLEX HTTP SERVICE API
5
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/). Some useful links: - [GraphScope Repository](https://github.com/alibaba/GraphScope) - [The Source API definition for GraphScope Interactive](https://github.com/GraphScope/portal/tree/main/httpservice)
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
7
 
8
- The version of the OpenAPI document: 0.9.1
8
+ The version of the OpenAPI document: 1.0.0
9
9
  Contact: graphscope@alibaba-inc.com
10
10
  Generated by OpenAPI Generator (https://openapi-generator.tech)
11
11
 
@@ -18,7 +18,7 @@ import pprint
18
18
  import re # noqa: F401
19
19
  import json
20
20
 
21
- from pydantic import BaseModel, StrictStr
21
+ from pydantic import BaseModel, ConfigDict, StrictStr
22
22
  from typing import Any, ClassVar, Dict, List, Optional
23
23
  from typing import Optional, Set
24
24
  from typing_extensions import Self
@@ -27,14 +27,14 @@ class StartServiceRequest(BaseModel):
27
27
  """
28
28
  StartServiceRequest
29
29
  """ # noqa: E501
30
- graph_name: Optional[StrictStr] = None
31
- __properties: ClassVar[List[str]] = ["graph_name"]
30
+ graph_id: Optional[StrictStr] = None
31
+ __properties: ClassVar[List[str]] = ["graph_id"]
32
32
 
33
- model_config = {
34
- "populate_by_name": True,
35
- "validate_assignment": True,
36
- "protected_namespaces": (),
37
- }
33
+ model_config = ConfigDict(
34
+ populate_by_name=True,
35
+ validate_assignment=True,
36
+ protected_namespaces=(),
37
+ )
38
38
 
39
39
 
40
40
  def to_str(self) -> str:
@@ -81,7 +81,7 @@ class StartServiceRequest(BaseModel):
81
81
  return cls.model_validate(obj)
82
82
 
83
83
  _obj = cls.model_validate({
84
- "graph_name": obj.get("graph_name")
84
+ "graph_id": obj.get("graph_id")
85
85
  })
86
86
  return _obj
87
87
 
@@ -3,9 +3,9 @@
3
3
  """
4
4
  GraphScope FLEX HTTP SERVICE API
5
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/). Some useful links: - [GraphScope Repository](https://github.com/alibaba/GraphScope) - [The Source API definition for GraphScope Interactive](https://github.com/GraphScope/portal/tree/main/httpservice)
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
7
 
8
- The version of the OpenAPI document: 0.9.1
8
+ The version of the OpenAPI document: 1.0.0
9
9
  Contact: graphscope@alibaba-inc.com
10
10
  Generated by OpenAPI Generator (https://openapi-generator.tech)
11
11
 
@@ -18,40 +18,39 @@ import pprint
18
18
  import re # noqa: F401
19
19
  import json
20
20
 
21
- from pydantic import BaseModel, Field, StrictBool, StrictStr, field_validator
21
+ from pydantic import BaseModel, ConfigDict, StrictStr, field_validator
22
22
  from typing import Any, ClassVar, Dict, List, Optional
23
- from graphscope.flex.rest.models.groot_graph_gremlin_interface import GrootGraphGremlinInterface
24
- from graphscope.flex.rest.models.groot_schema import GrootSchema
23
+ from graphscope.flex.rest.models.parameter import Parameter
25
24
  from typing import Optional, Set
26
25
  from typing_extensions import Self
27
26
 
28
- class GrootGraph(BaseModel):
27
+ class StoredProcedureMeta(BaseModel):
29
28
  """
30
- GrootGraph
29
+ StoredProcedureMeta
31
30
  """ # noqa: E501
32
- name: Optional[StrictStr] = None
33
- type: Optional[StrictStr] = None
34
- directed: Optional[StrictBool] = None
35
- creation_time: Optional[StrictStr] = None
36
- var_schema: Optional[GrootSchema] = Field(default=None, alias="schema")
37
- gremlin_interface: Optional[GrootGraphGremlinInterface] = None
38
- __properties: ClassVar[List[str]] = ["name", "type", "directed", "creation_time", "schema", "gremlin_interface"]
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"]
39
41
 
40
42
  @field_validator('type')
41
43
  def type_validate_enum(cls, value):
42
44
  """Validates the enum"""
43
- if value is None:
44
- return value
45
-
46
- if value not in set(['GrootGraph']):
47
- raise ValueError("must be one of enum values ('GrootGraph')")
45
+ if value not in set(['cpp', 'cypher']):
46
+ raise ValueError("must be one of enum values ('cpp', 'cypher')")
48
47
  return value
49
48
 
50
- model_config = {
51
- "populate_by_name": True,
52
- "validate_assignment": True,
53
- "protected_namespaces": (),
54
- }
49
+ model_config = ConfigDict(
50
+ populate_by_name=True,
51
+ validate_assignment=True,
52
+ protected_namespaces=(),
53
+ )
55
54
 
56
55
 
57
56
  def to_str(self) -> str:
@@ -65,7 +64,7 @@ class GrootGraph(BaseModel):
65
64
 
66
65
  @classmethod
67
66
  def from_json(cls, json_str: str) -> Optional[Self]:
68
- """Create an instance of GrootGraph from a JSON string"""
67
+ """Create an instance of StoredProcedureMeta from a JSON string"""
69
68
  return cls.from_dict(json.loads(json_str))
70
69
 
71
70
  def to_dict(self) -> Dict[str, Any]:
@@ -86,17 +85,25 @@ class GrootGraph(BaseModel):
86
85
  exclude=excluded_fields,
87
86
  exclude_none=True,
88
87
  )
89
- # override the default output from pydantic by calling `to_dict()` of var_schema
90
- if self.var_schema:
91
- _dict['schema'] = self.var_schema.to_dict()
92
- # override the default output from pydantic by calling `to_dict()` of gremlin_interface
93
- if self.gremlin_interface:
94
- _dict['gremlin_interface'] = self.gremlin_interface.to_dict()
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
95
102
  return _dict
96
103
 
97
104
  @classmethod
98
105
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
99
- """Create an instance of GrootGraph from a dict"""
106
+ """Create an instance of StoredProcedureMeta from a dict"""
100
107
  if obj is None:
101
108
  return None
102
109
 
@@ -105,11 +112,14 @@ class GrootGraph(BaseModel):
105
112
 
106
113
  _obj = cls.model_validate({
107
114
  "name": obj.get("name"),
115
+ "description": obj.get("description"),
108
116
  "type": obj.get("type"),
109
- "directed": obj.get("directed"),
110
- "creation_time": obj.get("creation_time"),
111
- "schema": GrootSchema.from_dict(obj["schema"]) if obj.get("schema") is not None else None,
112
- "gremlin_interface": GrootGraphGremlinInterface.from_dict(obj["gremlin_interface"]) if obj.get("gremlin_interface") is not None else None
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")
113
123
  })
114
124
  return _obj
115
125
 
@@ -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
+