ultracart-rest-sdk 4.0.142__py3-none-any.whl → 4.0.144__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.
ultracart/__init__.py CHANGED
@@ -11,7 +11,7 @@
11
11
  """
12
12
 
13
13
 
14
- __version__ = "4.0.142"
14
+ __version__ = "4.0.144"
15
15
 
16
16
  # import ApiClient
17
17
  from ultracart.api_client import ApiClient
ultracart/api_client.py CHANGED
@@ -77,7 +77,7 @@ class ApiClient(object):
77
77
  self.default_headers[header_name] = header_value
78
78
  self.cookie = cookie
79
79
  # Set default User-Agent.
80
- self.user_agent = 'OpenAPI-Generator/4.0.142/python'
80
+ self.user_agent = 'OpenAPI-Generator/4.0.144/python'
81
81
 
82
82
  def __enter__(self):
83
83
  return self
@@ -422,7 +422,7 @@ conf = ultracart.Configuration(
422
422
  "OS: {env}\n"\
423
423
  "Python Version: {pyversion}\n"\
424
424
  "Version of the API: 2.0.0\n"\
425
- "SDK Package Version: 4.0.142".\
425
+ "SDK Package Version: 4.0.144".\
426
426
  format(env=sys.platform, pyversion=sys.version)
427
427
 
428
428
  def get_host_settings(self):
@@ -60,6 +60,11 @@ class Experiment(ModelNormal):
60
60
  """
61
61
 
62
62
  allowed_values = {
63
+ ('openai_element_type',): {
64
+ 'HEADLINE': "headline",
65
+ 'TEXT': "text",
66
+ 'TEXTBLOCK': "textblock",
67
+ },
63
68
  ('status',): {
64
69
  'RUNNING': "Running",
65
70
  'ENDED': "Ended",
@@ -103,7 +108,12 @@ class Experiment(ModelNormal):
103
108
  'notes': (str,), # noqa: E501
104
109
  'objective': (str,), # noqa: E501
105
110
  'objective_parameter': (str,), # noqa: E501
111
+ 'openai_current_iteration': (int,), # noqa: E501
112
+ 'openai_element_type': (str,), # noqa: E501
113
+ 'openai_model': (str,), # noqa: E501
114
+ 'openai_total_iterations': (int,), # noqa: E501
106
115
  'optimization_type': (str,), # noqa: E501
116
+ 'p_value': (float,), # noqa: E501
107
117
  'session_count': (int,), # noqa: E501
108
118
  'start_dts': (str,), # noqa: E501
109
119
  'status': (str,), # noqa: E501
@@ -129,7 +139,12 @@ class Experiment(ModelNormal):
129
139
  'notes': 'notes', # noqa: E501
130
140
  'objective': 'objective', # noqa: E501
131
141
  'objective_parameter': 'objective_parameter', # noqa: E501
142
+ 'openai_current_iteration': 'openai_current_iteration', # noqa: E501
143
+ 'openai_element_type': 'openai_element_type', # noqa: E501
144
+ 'openai_model': 'openai_model', # noqa: E501
145
+ 'openai_total_iterations': 'openai_total_iterations', # noqa: E501
132
146
  'optimization_type': 'optimization_type', # noqa: E501
147
+ 'p_value': 'p_value', # noqa: E501
133
148
  'session_count': 'session_count', # noqa: E501
134
149
  'start_dts': 'start_dts', # noqa: E501
135
150
  'status': 'status', # noqa: E501
@@ -190,7 +205,12 @@ class Experiment(ModelNormal):
190
205
  notes (str): Notes about the experiment. [optional] # noqa: E501
191
206
  objective (str): Objective that is being optimized. [optional] # noqa: E501
192
207
  objective_parameter (str): Objective parameter (such as event name) that is being optimized. [optional] # noqa: E501
208
+ openai_current_iteration (int): The current iteration of the OpenAI related experiment. [optional] # noqa: E501
209
+ openai_element_type (str): The type of OpenAI element being experimented on. [optional] # noqa: E501
210
+ openai_model (str): The type of OpenAI model used. [optional] # noqa: E501
211
+ openai_total_iterations (int): The total number of iterations to perform on the experiment. [optional] # noqa: E501
193
212
  optimization_type (str): Type of optimization. [optional] # noqa: E501
213
+ p_value (float): Statistics p-value for the experiment. [optional] # noqa: E501
194
214
  session_count (int): Total number of sessions in the experiment. [optional] # noqa: E501
195
215
  start_dts (str): Start date/time. [optional] # noqa: E501
196
216
  status (str): Status of the experiment. [optional] # noqa: E501
@@ -293,7 +313,12 @@ class Experiment(ModelNormal):
293
313
  notes (str): Notes about the experiment. [optional] # noqa: E501
294
314
  objective (str): Objective that is being optimized. [optional] # noqa: E501
295
315
  objective_parameter (str): Objective parameter (such as event name) that is being optimized. [optional] # noqa: E501
316
+ openai_current_iteration (int): The current iteration of the OpenAI related experiment. [optional] # noqa: E501
317
+ openai_element_type (str): The type of OpenAI element being experimented on. [optional] # noqa: E501
318
+ openai_model (str): The type of OpenAI model used. [optional] # noqa: E501
319
+ openai_total_iterations (int): The total number of iterations to perform on the experiment. [optional] # noqa: E501
296
320
  optimization_type (str): Type of optimization. [optional] # noqa: E501
321
+ p_value (float): Statistics p-value for the experiment. [optional] # noqa: E501
297
322
  session_count (int): Total number of sessions in the experiment. [optional] # noqa: E501
298
323
  start_dts (str): Start date/time. [optional] # noqa: E501
299
324
  status (str): Status of the experiment. [optional] # noqa: E501
@@ -0,0 +1,278 @@
1
+ """
2
+ UltraCart Rest API V2
3
+
4
+ UltraCart REST API Version 2 # noqa: E501
5
+
6
+ The version of the OpenAPI document: 2.0.0
7
+ Contact: support@ultracart.com
8
+ Generated by: https://openapi-generator.tech
9
+ """
10
+
11
+
12
+ import re # noqa: F401
13
+ import sys # noqa: F401
14
+
15
+ from ultracart.model_utils import ( # noqa: F401
16
+ ApiTypeError,
17
+ ModelComposed,
18
+ ModelNormal,
19
+ ModelSimple,
20
+ cached_property,
21
+ change_keys_js_to_python,
22
+ convert_js_args_to_python_args,
23
+ date,
24
+ datetime,
25
+ file_type,
26
+ none_type,
27
+ validate_get_composed_info,
28
+ OpenApiModel
29
+ )
30
+ from ultracart.exceptions import ApiAttributeError
31
+
32
+
33
+ def lazy_import():
34
+ from ultracart.model.report_data_set import ReportDataSet
35
+ globals()['ReportDataSet'] = ReportDataSet
36
+
37
+
38
+ class ReportWebsocketEvent(ModelNormal):
39
+ """NOTE: This class is auto generated by OpenAPI Generator.
40
+ Ref: https://openapi-generator.tech
41
+
42
+ Do not edit the class manually.
43
+
44
+ Attributes:
45
+ allowed_values (dict): The key is the tuple path to the attribute
46
+ and the for var_name this is (var_name,). The value is a dict
47
+ with a capitalized key describing the allowed value and an allowed
48
+ value. These dicts store the allowed enum values.
49
+ attribute_map (dict): The key is attribute name
50
+ and the value is json key in definition.
51
+ discriminator_value_class_map (dict): A dict to go from the discriminator
52
+ variable value to the discriminator class name.
53
+ validations (dict): The key is the tuple path to the attribute
54
+ and the for var_name this is (var_name,). The value is a dict
55
+ that stores validations for max_length, min_length, max_items,
56
+ min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
57
+ inclusive_minimum, and regex.
58
+ additional_properties_type (tuple): A tuple of classes accepted
59
+ as additional properties values.
60
+ """
61
+
62
+ allowed_values = {
63
+ ('event_type',): {
64
+ 'PING': "ping",
65
+ 'QUERY_COMPLETION': "query completion",
66
+ },
67
+ }
68
+
69
+ validations = {
70
+ }
71
+
72
+ @cached_property
73
+ def additional_properties_type():
74
+ """
75
+ This must be a method because a model may have properties that are
76
+ of type self, this must run after the class is loaded
77
+ """
78
+ lazy_import()
79
+ return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
80
+
81
+ _nullable = False
82
+
83
+ @cached_property
84
+ def openapi_types():
85
+ """
86
+ This must be a method because a model may have properties that are
87
+ of type self, this must run after the class is loaded
88
+
89
+ Returns
90
+ openapi_types (dict): The key is attribute name
91
+ and the value is attribute type.
92
+ """
93
+ lazy_import()
94
+ return {
95
+ 'event_type': (str,), # noqa: E501
96
+ 'query_completion': (ReportDataSet,), # noqa: E501
97
+ }
98
+
99
+ @cached_property
100
+ def discriminator():
101
+ return None
102
+
103
+
104
+ attribute_map = {
105
+ 'event_type': 'event_type', # noqa: E501
106
+ 'query_completion': 'query_completion', # noqa: E501
107
+ }
108
+
109
+ read_only_vars = {
110
+ }
111
+
112
+ _composed_schemas = {}
113
+
114
+ @classmethod
115
+ @convert_js_args_to_python_args
116
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
117
+ """ReportWebsocketEvent - a model defined in OpenAPI
118
+
119
+ Keyword Args:
120
+ _check_type (bool): if True, values for parameters in openapi_types
121
+ will be type checked and a TypeError will be
122
+ raised if the wrong type is input.
123
+ Defaults to True
124
+ _path_to_item (tuple/list): This is a list of keys or values to
125
+ drill down to the model in received_data
126
+ when deserializing a response
127
+ _spec_property_naming (bool): True if the variable names in the input data
128
+ are serialized names, as specified in the OpenAPI document.
129
+ False if the variable names in the input data
130
+ are pythonic names, e.g. snake case (default)
131
+ _configuration (Configuration): the instance to use when
132
+ deserializing a file_type parameter.
133
+ If passed, type conversion is attempted
134
+ If omitted no type conversion is done.
135
+ _visited_composed_classes (tuple): This stores a tuple of
136
+ classes that we have traveled through so that
137
+ if we see that class again we will not use its
138
+ discriminator again.
139
+ When traveling through a discriminator, the
140
+ composed schema that is
141
+ is traveled through is added to this set.
142
+ For example if Animal has a discriminator
143
+ petType and we pass in "Dog", and the class Dog
144
+ allOf includes Animal, we move through Animal
145
+ once using the discriminator, and pick Dog.
146
+ Then in Dog, we will make an instance of the
147
+ Animal class but this time we won't travel
148
+ through its discriminator because we passed in
149
+ _visited_composed_classes = (Animal,)
150
+ event_type (str): Event type. [optional] # noqa: E501
151
+ query_completion (ReportDataSet): [optional] # noqa: E501
152
+ """
153
+
154
+ _check_type = kwargs.pop('_check_type', True)
155
+ _spec_property_naming = kwargs.pop('_spec_property_naming', True)
156
+ _path_to_item = kwargs.pop('_path_to_item', ())
157
+ _configuration = kwargs.pop('_configuration', None)
158
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
159
+
160
+ self = super(OpenApiModel, cls).__new__(cls)
161
+
162
+ if args:
163
+ for arg in args:
164
+ if isinstance(arg, dict):
165
+ kwargs.update(arg)
166
+ else:
167
+ raise ApiTypeError(
168
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
169
+ args,
170
+ self.__class__.__name__,
171
+ ),
172
+ path_to_item=_path_to_item,
173
+ valid_classes=(self.__class__,),
174
+ )
175
+
176
+ self._data_store = {}
177
+ self._check_type = _check_type
178
+ self._spec_property_naming = _spec_property_naming
179
+ self._path_to_item = _path_to_item
180
+ self._configuration = _configuration
181
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
182
+
183
+ for var_name, var_value in kwargs.items():
184
+ if var_name not in self.attribute_map and \
185
+ self._configuration is not None and \
186
+ self._configuration.discard_unknown_keys and \
187
+ self.additional_properties_type is None:
188
+ # discard variable.
189
+ continue
190
+ setattr(self, var_name, var_value)
191
+ return self
192
+
193
+ required_properties = set([
194
+ '_data_store',
195
+ '_check_type',
196
+ '_spec_property_naming',
197
+ '_path_to_item',
198
+ '_configuration',
199
+ '_visited_composed_classes',
200
+ ])
201
+
202
+ @convert_js_args_to_python_args
203
+ def __init__(self, *args, **kwargs): # noqa: E501
204
+ """ReportWebsocketEvent - a model defined in OpenAPI
205
+
206
+ Keyword Args:
207
+ _check_type (bool): if True, values for parameters in openapi_types
208
+ will be type checked and a TypeError will be
209
+ raised if the wrong type is input.
210
+ Defaults to True
211
+ _path_to_item (tuple/list): This is a list of keys or values to
212
+ drill down to the model in received_data
213
+ when deserializing a response
214
+ _spec_property_naming (bool): True if the variable names in the input data
215
+ are serialized names, as specified in the OpenAPI document.
216
+ False if the variable names in the input data
217
+ are pythonic names, e.g. snake case (default)
218
+ _configuration (Configuration): the instance to use when
219
+ deserializing a file_type parameter.
220
+ If passed, type conversion is attempted
221
+ If omitted no type conversion is done.
222
+ _visited_composed_classes (tuple): This stores a tuple of
223
+ classes that we have traveled through so that
224
+ if we see that class again we will not use its
225
+ discriminator again.
226
+ When traveling through a discriminator, the
227
+ composed schema that is
228
+ is traveled through is added to this set.
229
+ For example if Animal has a discriminator
230
+ petType and we pass in "Dog", and the class Dog
231
+ allOf includes Animal, we move through Animal
232
+ once using the discriminator, and pick Dog.
233
+ Then in Dog, we will make an instance of the
234
+ Animal class but this time we won't travel
235
+ through its discriminator because we passed in
236
+ _visited_composed_classes = (Animal,)
237
+ event_type (str): Event type. [optional] # noqa: E501
238
+ query_completion (ReportDataSet): [optional] # noqa: E501
239
+ """
240
+
241
+ _check_type = kwargs.pop('_check_type', True)
242
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
243
+ _path_to_item = kwargs.pop('_path_to_item', ())
244
+ _configuration = kwargs.pop('_configuration', None)
245
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
246
+
247
+ if args:
248
+ for arg in args:
249
+ if isinstance(arg, dict):
250
+ kwargs.update(arg)
251
+ else:
252
+ raise ApiTypeError(
253
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
254
+ args,
255
+ self.__class__.__name__,
256
+ ),
257
+ path_to_item=_path_to_item,
258
+ valid_classes=(self.__class__,),
259
+ )
260
+
261
+ self._data_store = {}
262
+ self._check_type = _check_type
263
+ self._spec_property_naming = _spec_property_naming
264
+ self._path_to_item = _path_to_item
265
+ self._configuration = _configuration
266
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
267
+
268
+ for var_name, var_value in kwargs.items():
269
+ if var_name not in self.attribute_map and \
270
+ self._configuration is not None and \
271
+ self._configuration.discard_unknown_keys and \
272
+ self.additional_properties_type is None:
273
+ # discard variable.
274
+ continue
275
+ setattr(self, var_name, var_value)
276
+ if var_name in self.read_only_vars:
277
+ raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
278
+ f"class with read only attributes.")
@@ -653,6 +653,7 @@ from ultracart.model.report_page_visualization import ReportPageVisualization
653
653
  from ultracart.model.report_page_visualization_dimension import ReportPageVisualizationDimension
654
654
  from ultracart.model.report_page_visualization_metric import ReportPageVisualizationMetric
655
655
  from ultracart.model.report_response import ReportResponse
656
+ from ultracart.model.report_websocket_event import ReportWebsocketEvent
656
657
  from ultracart.model.reports_response import ReportsResponse
657
658
  from ultracart.model.response_metadata import ResponseMetadata
658
659
  from ultracart.model.result_set import ResultSet
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ultracart-rest-sdk
3
- Version: 4.0.142
3
+ Version: 4.0.144
4
4
  Summary: UltraCart Rest API V2
5
5
  Home-page: UNKNOWN
6
6
  Author: UltraCart Support
@@ -1,6 +1,6 @@
1
- ultracart/__init__.py,sha256=gsZe1reAe3aCz21D23ipQrBz7XSO6uThbhDbrcnsFrY,699
2
- ultracart/api_client.py,sha256=OKuX_WzBS8ipYdWUW0X-zArpO6-l5VskpvGsHVcKqPg,39072
3
- ultracart/configuration.py,sha256=XW0W0-xNsSboM3kOJ0-lNCW-m8c_MCVKy5wD2D1HXX0,17842
1
+ ultracart/__init__.py,sha256=CWmPtJTKVHxpSppBVkkTNyy6vMONG_lX8ZkRLPPciJo,699
2
+ ultracart/api_client.py,sha256=EHB4XaCXHLCvz7YmSoxhkc9pWIpPbyN6zkCH3wft1As,39072
3
+ ultracart/configuration.py,sha256=wXJa426g1pjw07iaZQYF2cq_V_mo7cq1ETL9iMQ0yh0,17842
4
4
  ultracart/exceptions.py,sha256=dwRtrWJsW4H_jKk3B1w2chykcQ7E2FSlhftUByD9e9E,5069
5
5
  ultracart/model_utils.py,sha256=X_RAfA-TlvDKBICnIve7PPVDM34Nl58aV1bqCrVmoTo,82574
6
6
  ultracart/rest.py,sha256=2lM6zwrjGp_SjkddamoKdpk3jFuc8Ow7fKIXRdKNp24,14268
@@ -432,7 +432,7 @@ ultracart/model/email_verify_token_validate_response.py,sha256=0zAGF_ktn7uf2UnyT
432
432
  ultracart/model/email_webhook_editor_values_response.py,sha256=cJxLlTI3t0svVGfBj0khqeDa5q1TQLY1x7fquXSyjmk,13258
433
433
  ultracart/model/error.py,sha256=JvZe3JKS65yFtuqeXf1mQDQfj6q74ZdH8m9Dob3ueS4,12757
434
434
  ultracart/model/error_response.py,sha256=XCD7htmB2tgc5Oc_YlJfeUPJQKoxNryHNjJXRxrk5iI,12455
435
- ultracart/model/experiment.py,sha256=pB0d95ol9uWexkRu55Hyx3rdTwj5jQnz8wSkToR7RBM,16598
435
+ ultracart/model/experiment.py,sha256=AIPQHp6Z8B5IAhtwEW9A9_Z25JvBWsoGRUah2z85ryo,18442
436
436
  ultracart/model/experiment_response.py,sha256=JIIlKKOZrudqE4AqmQwtgpfkd84HipBuqGPDDZsmKVE,12794
437
437
  ultracart/model/experiment_variation.py,sha256=DoXLuHC9hSWid3ww30wyiWSjW0Tl-Pz1CZsdpsNZSdc,18996
438
438
  ultracart/model/experiment_variation_stat.py,sha256=r-mbFTwTNgc2EFxqL6zU_4-qAkt6IJs5Tp6-N_ETATQ,15007
@@ -671,6 +671,7 @@ ultracart/model/report_page_visualization.py,sha256=enrmsGx2SW-BVJ8J3IQGfI1DFV29
671
671
  ultracart/model/report_page_visualization_dimension.py,sha256=GzhG4aZki_nvJerNWhxaTJQhprRELRLxOnUHPSkTkrc,13307
672
672
  ultracart/model/report_page_visualization_metric.py,sha256=nmULuHOVSmLzVHiam5ygONsnvowC2SYBcncxZxpunUk,12445
673
673
  ultracart/model/report_response.py,sha256=d36SynDnxPH02yWtDlOIgZYM4RFKAmWl-8RdagpIbuM,12734
674
+ ultracart/model/report_websocket_event.py,sha256=CLbIDLGtFZkETxhMhCvhJmkwmeRGWuvRnuDFeKenukQ,12022
674
675
  ultracart/model/reports_response.py,sha256=XQ54OPiUh2d7PVCoQCibW-8rgyJoGYlKJbWKu_zBW8M,12748
675
676
  ultracart/model/response_metadata.py,sha256=2bjaBqN1gQHEq-Gn19LCjDo3uNSmfeOlO5yJ69A8v-4,11847
676
677
  ultracart/model/result_set.py,sha256=TUbiU1FdLHe7lHeVMaZjzeqwgOiwb0NRSOLSMSqhwwI,13143
@@ -791,9 +792,9 @@ ultracart/model/webhook_sample_request.py,sha256=Qvt7FJPvECdYKv5MZztkSSmDxPDTSyt
791
792
  ultracart/model/webhook_sample_request_response.py,sha256=Ni-3WiNhVLt9a7yX_MNdD16NsRehVpJWiTdN_myLRk4,12956
792
793
  ultracart/model/webhooks_response.py,sha256=RVGQ76kc7X0XY5iJdLgnwVr5V50uCoYCGaRtc03FKc4,12763
793
794
  ultracart/model/weight.py,sha256=LTxs6KqiARegRkcShAviWKILAMAdw9KXwI-QgBtpoM0,11726
794
- ultracart/models/__init__.py,sha256=vHNL5tKhy8-2dmlum8XWYnItjraK2YfduYbPdr6rhKU,58113
795
- ultracart_rest_sdk-4.0.142.dist-info/LICENSE,sha256=4DukHX-rIHAHaf5BGLq1DYAMt0-ZA1OgXS9f_xwig2M,11558
796
- ultracart_rest_sdk-4.0.142.dist-info/METADATA,sha256=UqBDplXWjBcEqIB5i8k3XQrJZCm4SJWrIMlbLLxm6g8,403
797
- ultracart_rest_sdk-4.0.142.dist-info/WHEEL,sha256=OqRkF0eY5GHssMorFjlbTIq072vpHpF60fIQA6lS9xA,92
798
- ultracart_rest_sdk-4.0.142.dist-info/top_level.txt,sha256=90IoRqV6KX58jTyx9MwEBqh4j38_10hWrrvqsmXWZYo,10
799
- ultracart_rest_sdk-4.0.142.dist-info/RECORD,,
795
+ ultracart/models/__init__.py,sha256=pVJjSpmZMnbR4ei4Gdk6VQ1StQqDa7y0p9rZuH4KrlY,58185
796
+ ultracart_rest_sdk-4.0.144.dist-info/LICENSE,sha256=4DukHX-rIHAHaf5BGLq1DYAMt0-ZA1OgXS9f_xwig2M,11558
797
+ ultracart_rest_sdk-4.0.144.dist-info/METADATA,sha256=qXDz0_WniQht7yCakF4ezavcH0KjoLbn_Es2Kub8F7M,403
798
+ ultracart_rest_sdk-4.0.144.dist-info/WHEEL,sha256=OqRkF0eY5GHssMorFjlbTIq072vpHpF60fIQA6lS9xA,92
799
+ ultracart_rest_sdk-4.0.144.dist-info/top_level.txt,sha256=90IoRqV6KX58jTyx9MwEBqh4j38_10hWrrvqsmXWZYo,10
800
+ ultracart_rest_sdk-4.0.144.dist-info/RECORD,,