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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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/{groot_edge_type_relations_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/dataloading_job_config_vertices_inner.py +88 -0
  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/{procedure_params_inner.py → parameter.py} +20 -16
  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 +22 -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.0a20241008.dist-info/METADATA +19 -0
  82. graphscope_flex-0.29.0a20241008.dist-info/RECORD +86 -0
  83. {graphscope_flex-0.27.0.dist-info → graphscope_flex-0.29.0a20241008.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.0a20241008.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
+