fds.sdk.ProposalGenerationEngine 0.1.0__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 (141) hide show
  1. fds/__init__.py +0 -0
  2. fds/sdk/ProposalGenerationEngine/__init__.py +28 -0
  3. fds/sdk/ProposalGenerationEngine/api/__init__.py +3 -0
  4. fds/sdk/ProposalGenerationEngine/api/ex_post_api.py +1451 -0
  5. fds/sdk/ProposalGenerationEngine/api/lookup_api.py +333 -0
  6. fds/sdk/ProposalGenerationEngine/api_client.py +939 -0
  7. fds/sdk/ProposalGenerationEngine/apis/__init__.py +18 -0
  8. fds/sdk/ProposalGenerationEngine/configuration.py +500 -0
  9. fds/sdk/ProposalGenerationEngine/exceptions.py +160 -0
  10. fds/sdk/ProposalGenerationEngine/model/__init__.py +5 -0
  11. fds/sdk/ProposalGenerationEngine/model/array.py +279 -0
  12. fds/sdk/ProposalGenerationEngine/model/backfill_data.py +264 -0
  13. fds/sdk/ProposalGenerationEngine/model/base_settings.py +264 -0
  14. fds/sdk/ProposalGenerationEngine/model/boxplot.py +266 -0
  15. fds/sdk/ProposalGenerationEngine/model/boxplot_boxplot_summary.py +284 -0
  16. fds/sdk/ProposalGenerationEngine/model/cl_pair.py +252 -0
  17. fds/sdk/ProposalGenerationEngine/model/correlation_matrix.py +260 -0
  18. fds/sdk/ProposalGenerationEngine/model/correlation_stats.py +268 -0
  19. fds/sdk/ProposalGenerationEngine/model/dated_correlation_stats.py +268 -0
  20. fds/sdk/ProposalGenerationEngine/model/dated_correlation_stats_per_time_window.py +262 -0
  21. fds/sdk/ProposalGenerationEngine/model/dated_node_stats.py +262 -0
  22. fds/sdk/ProposalGenerationEngine/model/drawdown.py +268 -0
  23. fds/sdk/ProposalGenerationEngine/model/drawdown_stats.py +290 -0
  24. fds/sdk/ProposalGenerationEngine/model/entity.py +256 -0
  25. fds/sdk/ProposalGenerationEngine/model/entity_stats.py +292 -0
  26. fds/sdk/ProposalGenerationEngine/model/error.py +274 -0
  27. fds/sdk/ProposalGenerationEngine/model/errors.py +262 -0
  28. fds/sdk/ProposalGenerationEngine/model/ex_post_period_stats.py +333 -0
  29. fds/sdk/ProposalGenerationEngine/model/ex_post_period_stats_all_of.py +262 -0
  30. fds/sdk/ProposalGenerationEngine/model/ex_post_portfolio.py +343 -0
  31. fds/sdk/ProposalGenerationEngine/model/ex_post_portfolio_all_of.py +268 -0
  32. fds/sdk/ProposalGenerationEngine/model/ex_post_portfolio_investment.py +329 -0
  33. fds/sdk/ProposalGenerationEngine/model/ex_post_portfolio_investment_all_of.py +266 -0
  34. fds/sdk/ProposalGenerationEngine/model/ex_post_portfolio_investment_response.py +357 -0
  35. fds/sdk/ProposalGenerationEngine/model/ex_post_portfolio_investment_response_all_of.py +284 -0
  36. fds/sdk/ProposalGenerationEngine/model/ex_post_portfolio_investment_series_response.py +353 -0
  37. fds/sdk/ProposalGenerationEngine/model/ex_post_portfolio_investment_series_response_all_of.py +280 -0
  38. fds/sdk/ProposalGenerationEngine/model/ex_post_rolling_settings.py +338 -0
  39. fds/sdk/ProposalGenerationEngine/model/ex_post_rolling_settings_all_of.py +280 -0
  40. fds/sdk/ProposalGenerationEngine/model/ex_post_series.py +268 -0
  41. fds/sdk/ProposalGenerationEngine/model/ex_post_series_data.py +280 -0
  42. fds/sdk/ProposalGenerationEngine/model/ex_post_series_response.py +268 -0
  43. fds/sdk/ProposalGenerationEngine/model/ex_post_series_response_data.py +272 -0
  44. fds/sdk/ProposalGenerationEngine/model/ex_post_series_response_meta.py +262 -0
  45. fds/sdk/ProposalGenerationEngine/model/ex_post_series_rolling.py +268 -0
  46. fds/sdk/ProposalGenerationEngine/model/ex_post_series_rolling_data.py +278 -0
  47. fds/sdk/ProposalGenerationEngine/model/ex_post_series_rolling_response.py +274 -0
  48. fds/sdk/ProposalGenerationEngine/model/ex_post_series_rolling_response_data.py +262 -0
  49. fds/sdk/ProposalGenerationEngine/model/ex_post_series_rolling_response_meta.py +262 -0
  50. fds/sdk/ProposalGenerationEngine/model/ex_post_series_rolling_settings.py +341 -0
  51. fds/sdk/ProposalGenerationEngine/model/ex_post_series_settings.py +353 -0
  52. fds/sdk/ProposalGenerationEngine/model/ex_post_series_settings_all_of.py +267 -0
  53. fds/sdk/ProposalGenerationEngine/model/ex_post_settings.py +355 -0
  54. fds/sdk/ProposalGenerationEngine/model/ex_post_settings_all_of.py +262 -0
  55. fds/sdk/ProposalGenerationEngine/model/ex_post_stats.py +268 -0
  56. fds/sdk/ProposalGenerationEngine/model/ex_post_stats_correlations.py +268 -0
  57. fds/sdk/ProposalGenerationEngine/model/ex_post_stats_correlations_data.py +280 -0
  58. fds/sdk/ProposalGenerationEngine/model/ex_post_stats_correlations_response.py +274 -0
  59. fds/sdk/ProposalGenerationEngine/model/ex_post_stats_correlations_response_meta.py +262 -0
  60. fds/sdk/ProposalGenerationEngine/model/ex_post_stats_correlations_settings.py +346 -0
  61. fds/sdk/ProposalGenerationEngine/model/ex_post_stats_correlations_settings_all_of.py +275 -0
  62. fds/sdk/ProposalGenerationEngine/model/ex_post_stats_data.py +280 -0
  63. fds/sdk/ProposalGenerationEngine/model/ex_post_stats_factor_exposure.py +268 -0
  64. fds/sdk/ProposalGenerationEngine/model/ex_post_stats_factor_exposure_data.py +280 -0
  65. fds/sdk/ProposalGenerationEngine/model/ex_post_stats_factor_exposure_response.py +274 -0
  66. fds/sdk/ProposalGenerationEngine/model/ex_post_stats_factor_exposure_response_meta.py +262 -0
  67. fds/sdk/ProposalGenerationEngine/model/ex_post_stats_factor_exposure_settings.py +338 -0
  68. fds/sdk/ProposalGenerationEngine/model/ex_post_stats_factor_exposure_settings_all_of.py +267 -0
  69. fds/sdk/ProposalGenerationEngine/model/ex_post_stats_response.py +268 -0
  70. fds/sdk/ProposalGenerationEngine/model/ex_post_stats_response_data.py +272 -0
  71. fds/sdk/ProposalGenerationEngine/model/ex_post_stats_response_meta.py +262 -0
  72. fds/sdk/ProposalGenerationEngine/model/ex_post_stats_rolling.py +268 -0
  73. fds/sdk/ProposalGenerationEngine/model/ex_post_stats_rolling_data.py +280 -0
  74. fds/sdk/ProposalGenerationEngine/model/ex_post_stats_rolling_response.py +274 -0
  75. fds/sdk/ProposalGenerationEngine/model/ex_post_stats_rolling_response_data.py +262 -0
  76. fds/sdk/ProposalGenerationEngine/model/ex_post_stats_rolling_response_meta.py +262 -0
  77. fds/sdk/ProposalGenerationEngine/model/ex_post_stats_rolling_settings.py +339 -0
  78. fds/sdk/ProposalGenerationEngine/model/ex_post_stats_rolling_settings_all_of.py +262 -0
  79. fds/sdk/ProposalGenerationEngine/model/ex_post_stats_settings.py +360 -0
  80. fds/sdk/ProposalGenerationEngine/model/ex_post_stats_settings_all_of.py +256 -0
  81. fds/sdk/ProposalGenerationEngine/model/exposure.py +282 -0
  82. fds/sdk/ProposalGenerationEngine/model/investment.py +343 -0
  83. fds/sdk/ProposalGenerationEngine/model/investment_all_of.py +280 -0
  84. fds/sdk/ProposalGenerationEngine/model/key_value_pair.py +260 -0
  85. fds/sdk/ProposalGenerationEngine/model/level.py +256 -0
  86. fds/sdk/ProposalGenerationEngine/model/paged_securities.py +276 -0
  87. fds/sdk/ProposalGenerationEngine/model/paged_securities_meta.py +262 -0
  88. fds/sdk/ProposalGenerationEngine/model/paged_securities_meta_pagination.py +260 -0
  89. fds/sdk/ProposalGenerationEngine/model/performance_stats.py +264 -0
  90. fds/sdk/ProposalGenerationEngine/model/period.py +260 -0
  91. fds/sdk/ProposalGenerationEngine/model/period_correlation_stats.py +333 -0
  92. fds/sdk/ProposalGenerationEngine/model/period_correlation_stats_all_of.py +262 -0
  93. fds/sdk/ProposalGenerationEngine/model/period_info.py +268 -0
  94. fds/sdk/ProposalGenerationEngine/model/period_series.py +333 -0
  95. fds/sdk/ProposalGenerationEngine/model/period_series_all_of.py +262 -0
  96. fds/sdk/ProposalGenerationEngine/model/periods.py +262 -0
  97. fds/sdk/ProposalGenerationEngine/model/portfolio.py +331 -0
  98. fds/sdk/ProposalGenerationEngine/model/portfolio_all_of.py +266 -0
  99. fds/sdk/ProposalGenerationEngine/model/portfolio_correlation_matrix.py +260 -0
  100. fds/sdk/ProposalGenerationEngine/model/portfolio_entity.py +266 -0
  101. fds/sdk/ProposalGenerationEngine/model/portfolio_entity_details.py +256 -0
  102. fds/sdk/ProposalGenerationEngine/model/portfolio_investment.py +268 -0
  103. fds/sdk/ProposalGenerationEngine/model/portfolio_with_ex_post_series.py +333 -0
  104. fds/sdk/ProposalGenerationEngine/model/portfolio_with_ex_post_series_all_of.py +268 -0
  105. fds/sdk/ProposalGenerationEngine/model/portfolio_with_ex_post_stats.py +337 -0
  106. fds/sdk/ProposalGenerationEngine/model/portfolio_with_ex_post_stats_all_of.py +272 -0
  107. fds/sdk/ProposalGenerationEngine/model/portfolio_with_rolling_series.py +327 -0
  108. fds/sdk/ProposalGenerationEngine/model/portfolio_with_rolling_series_all_of.py +262 -0
  109. fds/sdk/ProposalGenerationEngine/model/portfolio_with_rolling_stats.py +327 -0
  110. fds/sdk/ProposalGenerationEngine/model/portfolio_with_rolling_stats_all_of.py +262 -0
  111. fds/sdk/ProposalGenerationEngine/model/rebalancing.py +270 -0
  112. fds/sdk/ProposalGenerationEngine/model/relative_risk_stats.py +280 -0
  113. fds/sdk/ProposalGenerationEngine/model/return_stats.py +264 -0
  114. fds/sdk/ProposalGenerationEngine/model/risk_node_stats.py +304 -0
  115. fds/sdk/ProposalGenerationEngine/model/risk_stats.py +290 -0
  116. fds/sdk/ProposalGenerationEngine/model/rolling_series.py +262 -0
  117. fds/sdk/ProposalGenerationEngine/model/rolling_series_per_time_window.py +266 -0
  118. fds/sdk/ProposalGenerationEngine/model/rolling_series_per_time_window_returns.py +266 -0
  119. fds/sdk/ProposalGenerationEngine/model/rolling_stats.py +262 -0
  120. fds/sdk/ProposalGenerationEngine/model/rolling_stats_per_time_window.py +262 -0
  121. fds/sdk/ProposalGenerationEngine/model/rolling_stats_per_time_window_rolling.py +256 -0
  122. fds/sdk/ProposalGenerationEngine/model/serie_stats.py +282 -0
  123. fds/sdk/ProposalGenerationEngine/model/series_stats.py +266 -0
  124. fds/sdk/ProposalGenerationEngine/model/settings.py +338 -0
  125. fds/sdk/ProposalGenerationEngine/model/settings_all_of.py +269 -0
  126. fds/sdk/ProposalGenerationEngine/model/stats.py +311 -0
  127. fds/sdk/ProposalGenerationEngine/model/time_window.py +256 -0
  128. fds/sdk/ProposalGenerationEngine/model/time_window_series.py +262 -0
  129. fds/sdk/ProposalGenerationEngine/model/time_window_stats.py +268 -0
  130. fds/sdk/ProposalGenerationEngine/model/time_window_stats_generic.py +256 -0
  131. fds/sdk/ProposalGenerationEngine/model/transaction_rule.py +334 -0
  132. fds/sdk/ProposalGenerationEngine/model/ui_value_object.py +264 -0
  133. fds/sdk/ProposalGenerationEngine/model_utils.py +2062 -0
  134. fds/sdk/ProposalGenerationEngine/models/__init__.py +133 -0
  135. fds/sdk/ProposalGenerationEngine/rest.py +347 -0
  136. fds/sdk/__init__.py +0 -0
  137. fds_sdk_proposalgenerationengine-0.1.0.dist-info/METADATA +456 -0
  138. fds_sdk_proposalgenerationengine-0.1.0.dist-info/RECORD +141 -0
  139. fds_sdk_proposalgenerationengine-0.1.0.dist-info/WHEEL +5 -0
  140. fds_sdk_proposalgenerationengine-0.1.0.dist-info/licenses/LICENSE +202 -0
  141. fds_sdk_proposalgenerationengine-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,355 @@
1
+ """
2
+ Proposal Generation Engine API
3
+
4
+ Documentation on all available end points in the Proposal Generation API # noqa: E501
5
+
6
+ The version of the OpenAPI document: 0.0.1
7
+ Contact: api@factset.com
8
+ Generated by: https://openapi-generator.tech
9
+ """
10
+
11
+
12
+ import re # noqa: F401
13
+ import sys # noqa: F401
14
+
15
+ from fds.sdk.ProposalGenerationEngine.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 fds.sdk.ProposalGenerationEngine.exceptions import ApiAttributeError
31
+
32
+
33
+ def lazy_import():
34
+ from fds.sdk.ProposalGenerationEngine.model.ex_post_settings_all_of import ExPostSettingsAllOf
35
+ from fds.sdk.ProposalGenerationEngine.model.period import Period
36
+ from fds.sdk.ProposalGenerationEngine.model.periods import Periods
37
+ from fds.sdk.ProposalGenerationEngine.model.settings import Settings
38
+ from fds.sdk.ProposalGenerationEngine.model.time_window import TimeWindow
39
+ globals()['ExPostSettingsAllOf'] = ExPostSettingsAllOf
40
+ globals()['Period'] = Period
41
+ globals()['Periods'] = Periods
42
+ globals()['Settings'] = Settings
43
+ globals()['TimeWindow'] = TimeWindow
44
+
45
+
46
+ class ExPostSettings(ModelComposed):
47
+ """NOTE: This class is auto generated by OpenAPI Generator.
48
+ Ref: https://openapi-generator.tech
49
+
50
+ Do not edit the class manually.
51
+
52
+ Attributes:
53
+ allowed_values (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
+ with a capitalized key describing the allowed value and an allowed
56
+ value. These dicts store the allowed enum values.
57
+ attribute_map (dict): The key is attribute name
58
+ and the value is json key in definition.
59
+ discriminator_value_class_map (dict): A dict to go from the discriminator
60
+ variable value to the discriminator class name.
61
+ validations (dict): The key is the tuple path to the attribute
62
+ and the for var_name this is (var_name,). The value is a dict
63
+ that stores validations for max_length, min_length, max_items,
64
+ min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
65
+ inclusive_minimum, and regex.
66
+ additional_properties_type (tuple): A tuple of classes accepted
67
+ as additional properties values.
68
+ """
69
+
70
+ allowed_values = {
71
+ }
72
+
73
+ validations = {
74
+ }
75
+
76
+ @cached_property
77
+ def additional_properties_type():
78
+ """
79
+ This must be a method because a model may have properties that are
80
+ of type self, this must run after the class is loaded
81
+ """
82
+ lazy_import()
83
+ return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
84
+
85
+ _nullable = False
86
+
87
+ @cached_property
88
+ def openapi_types():
89
+ """
90
+ This must be a method because a model may have properties that are
91
+ of type self, this must run after the class is loaded
92
+
93
+ Returns
94
+ openapi_types (dict): The key is attribute name
95
+ and the value is attribute type.
96
+ """
97
+ lazy_import()
98
+ return {
99
+ 'as_of_date': (str,), # noqa: E501
100
+ 'returns_preferences': (str,), # noqa: E501
101
+ 'validate_portfolio': (bool,), # noqa: E501
102
+ 'levels': ([str],), # noqa: E501
103
+ 'confidence_levels': ([float],), # noqa: E501
104
+ 'reporting_frequency': (float,), # noqa: E501
105
+ 'time_windows': ([str],), # noqa: E501
106
+ 'periods': ([Period],), # noqa: E501
107
+ 'reporting_frequency_alignment': (str,), # noqa: E501
108
+ }
109
+
110
+ @cached_property
111
+ def discriminator():
112
+ return None
113
+
114
+
115
+ attribute_map = {
116
+ 'as_of_date': 'asOfDate', # noqa: E501
117
+ 'returns_preferences': 'returnsPreferences', # noqa: E501
118
+ 'validate_portfolio': 'validatePortfolio', # noqa: E501
119
+ 'levels': 'levels', # noqa: E501
120
+ 'confidence_levels': 'confidenceLevels', # noqa: E501
121
+ 'reporting_frequency': 'reportingFrequency', # noqa: E501
122
+ 'time_windows': 'timeWindows', # noqa: E501
123
+ 'periods': 'periods', # noqa: E501
124
+ 'reporting_frequency_alignment': 'reportingFrequencyAlignment', # noqa: E501
125
+ }
126
+
127
+ read_only_vars = {
128
+ }
129
+
130
+ @classmethod
131
+ @convert_js_args_to_python_args
132
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
133
+ """ExPostSettings - a model defined in OpenAPI
134
+
135
+ Keyword Args:
136
+ _check_type (bool): if True, values for parameters in openapi_types
137
+ will be type checked and a TypeError will be
138
+ raised if the wrong type is input.
139
+ Defaults to True
140
+ _path_to_item (tuple/list): This is a list of keys or values to
141
+ drill down to the model in received_data
142
+ when deserializing a response
143
+ _spec_property_naming (bool): True if the variable names in the input data
144
+ are serialized names, as specified in the OpenAPI document.
145
+ False if the variable names in the input data
146
+ are pythonic names, e.g. snake case (default)
147
+ _configuration (Configuration): the instance to use when
148
+ deserializing a file_type parameter.
149
+ If passed, type conversion is attempted
150
+ If omitted no type conversion is done.
151
+ _visited_composed_classes (tuple): This stores a tuple of
152
+ classes that we have traveled through so that
153
+ if we see that class again we will not use its
154
+ discriminator again.
155
+ When traveling through a discriminator, the
156
+ composed schema that is
157
+ is traveled through is added to this set.
158
+ For example if Animal has a discriminator
159
+ petType and we pass in "Dog", and the class Dog
160
+ allOf includes Animal, we move through Animal
161
+ once using the discriminator, and pick Dog.
162
+ Then in Dog, we will make an instance of the
163
+ Animal class but this time we won't travel
164
+ through its discriminator because we passed in
165
+ _visited_composed_classes = (Animal,)
166
+ as_of_date (str): The as-of date for the analysis. The value should be in YYYY-MM-DD format. A special wildcard value 'latestMonthEnd' is supported as well. The as-of date should be among the set of preconfigured as-of dates for the user/client. [optional] # noqa: E501
167
+ returns_preferences (str): code of preconfigured analysis settings<br> Note: the setup of these settings is done by PGE administrator. [optional] # noqa: E501
168
+ validate_portfolio (bool): a flag controlling whether to perform validations on the portfolio and its holdings (e.g. whether they have valid historical data). If set to false it is possible that call might not return user-friendly error message, however the call will be faster. [optional] if omitted the server will use the default value of False # noqa: E501
169
+ levels ([str]): [optional] # noqa: E501
170
+ confidence_levels ([float]): [optional] # noqa: E501
171
+ reporting_frequency (float): [optional] # noqa: E501
172
+ time_windows ([str]): [optional] # noqa: E501
173
+ periods ([Period]): [optional] # noqa: E501
174
+ reporting_frequency_alignment (str): [optional] # noqa: E501
175
+ """
176
+
177
+ _check_type = kwargs.pop('_check_type', True)
178
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
179
+ _path_to_item = kwargs.pop('_path_to_item', ())
180
+ _configuration = kwargs.pop('_configuration', None)
181
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
182
+
183
+ self = super(OpenApiModel, cls).__new__(cls)
184
+
185
+ if args:
186
+ raise ApiTypeError(
187
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
188
+ args,
189
+ self.__class__.__name__,
190
+ ),
191
+ path_to_item=_path_to_item,
192
+ valid_classes=(self.__class__,),
193
+ )
194
+
195
+ self._data_store = {}
196
+ self._check_type = _check_type
197
+ self._spec_property_naming = _spec_property_naming
198
+ self._path_to_item = _path_to_item
199
+ self._configuration = _configuration
200
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
201
+
202
+ constant_args = {
203
+ '_check_type': _check_type,
204
+ '_path_to_item': _path_to_item,
205
+ '_spec_property_naming': _spec_property_naming,
206
+ '_configuration': _configuration,
207
+ '_visited_composed_classes': self._visited_composed_classes,
208
+ }
209
+ composed_info = validate_get_composed_info(
210
+ constant_args, kwargs, self)
211
+ self._composed_instances = composed_info[0]
212
+ self._var_name_to_model_instances = composed_info[1]
213
+ self._additional_properties_model_instances = composed_info[2]
214
+ discarded_args = composed_info[3]
215
+
216
+ for var_name, var_value in kwargs.items():
217
+ if var_name in discarded_args and \
218
+ self._configuration is not None and \
219
+ self._configuration.discard_unknown_keys and \
220
+ self._additional_properties_model_instances:
221
+ # discard variable.
222
+ continue
223
+ setattr(self, var_name, var_value)
224
+
225
+ return self
226
+
227
+ required_properties = set([
228
+ '_data_store',
229
+ '_check_type',
230
+ '_spec_property_naming',
231
+ '_path_to_item',
232
+ '_configuration',
233
+ '_visited_composed_classes',
234
+ '_composed_instances',
235
+ '_var_name_to_model_instances',
236
+ '_additional_properties_model_instances',
237
+ ])
238
+
239
+ @convert_js_args_to_python_args
240
+ def __init__(self, *args, **kwargs): # noqa: E501
241
+ """ExPostSettings - a model defined in OpenAPI
242
+
243
+ Keyword Args:
244
+ _check_type (bool): if True, values for parameters in openapi_types
245
+ will be type checked and a TypeError will be
246
+ raised if the wrong type is input.
247
+ Defaults to True
248
+ _path_to_item (tuple/list): This is a list of keys or values to
249
+ drill down to the model in received_data
250
+ when deserializing a response
251
+ _spec_property_naming (bool): True if the variable names in the input data
252
+ are serialized names, as specified in the OpenAPI document.
253
+ False if the variable names in the input data
254
+ are pythonic names, e.g. snake case (default)
255
+ _configuration (Configuration): the instance to use when
256
+ deserializing a file_type parameter.
257
+ If passed, type conversion is attempted
258
+ If omitted no type conversion is done.
259
+ _visited_composed_classes (tuple): This stores a tuple of
260
+ classes that we have traveled through so that
261
+ if we see that class again we will not use its
262
+ discriminator again.
263
+ When traveling through a discriminator, the
264
+ composed schema that is
265
+ is traveled through is added to this set.
266
+ For example if Animal has a discriminator
267
+ petType and we pass in "Dog", and the class Dog
268
+ allOf includes Animal, we move through Animal
269
+ once using the discriminator, and pick Dog.
270
+ Then in Dog, we will make an instance of the
271
+ Animal class but this time we won't travel
272
+ through its discriminator because we passed in
273
+ _visited_composed_classes = (Animal,)
274
+ as_of_date (str): The as-of date for the analysis. The value should be in YYYY-MM-DD format. A special wildcard value 'latestMonthEnd' is supported as well. The as-of date should be among the set of preconfigured as-of dates for the user/client. [optional] # noqa: E501
275
+ returns_preferences (str): code of preconfigured analysis settings<br> Note: the setup of these settings is done by PGE administrator. [optional] # noqa: E501
276
+ validate_portfolio (bool): a flag controlling whether to perform validations on the portfolio and its holdings (e.g. whether they have valid historical data). If set to false it is possible that call might not return user-friendly error message, however the call will be faster. [optional] if omitted the server will use the default value of False # noqa: E501
277
+ levels ([str]): [optional] # noqa: E501
278
+ confidence_levels ([float]): [optional] # noqa: E501
279
+ reporting_frequency (float): [optional] # noqa: E501
280
+ time_windows ([str]): [optional] # noqa: E501
281
+ periods ([Period]): [optional] # noqa: E501
282
+ reporting_frequency_alignment (str): [optional] # noqa: E501
283
+ """
284
+
285
+ _check_type = kwargs.pop('_check_type', True)
286
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
287
+ _path_to_item = kwargs.pop('_path_to_item', ())
288
+ _configuration = kwargs.pop('_configuration', None)
289
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
290
+
291
+ if args:
292
+ raise ApiTypeError(
293
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
294
+ args,
295
+ self.__class__.__name__,
296
+ ),
297
+ path_to_item=_path_to_item,
298
+ valid_classes=(self.__class__,),
299
+ )
300
+
301
+ self._data_store = {}
302
+ self._check_type = _check_type
303
+ self._spec_property_naming = _spec_property_naming
304
+ self._path_to_item = _path_to_item
305
+ self._configuration = _configuration
306
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
307
+
308
+ constant_args = {
309
+ '_check_type': _check_type,
310
+ '_path_to_item': _path_to_item,
311
+ '_spec_property_naming': _spec_property_naming,
312
+ '_configuration': _configuration,
313
+ '_visited_composed_classes': self._visited_composed_classes,
314
+ }
315
+ composed_info = validate_get_composed_info(
316
+ constant_args, kwargs, self)
317
+ self._composed_instances = composed_info[0]
318
+ self._var_name_to_model_instances = composed_info[1]
319
+ self._additional_properties_model_instances = composed_info[2]
320
+ discarded_args = composed_info[3]
321
+
322
+ for var_name, var_value in kwargs.items():
323
+ if var_name in discarded_args and \
324
+ self._configuration is not None and \
325
+ self._configuration.discard_unknown_keys and \
326
+ self._additional_properties_model_instances:
327
+ # discard variable.
328
+ continue
329
+ setattr(self, var_name, var_value)
330
+ if var_name in self.read_only_vars:
331
+ raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
332
+ f"class with read only attributes.")
333
+
334
+ @cached_property
335
+ def _composed_schemas():
336
+ # we need this here to make our import statements work
337
+ # we must store _composed_schemas in here so the code is only run
338
+ # when we invoke this method. If we kept this at the class
339
+ # level we would get an error because the class level
340
+ # code would be run when this module is imported, and these composed
341
+ # classes don't exist yet because their module has not finished
342
+ # loading
343
+ lazy_import()
344
+ return {
345
+ 'anyOf': [
346
+ ],
347
+ 'allOf': [
348
+ ExPostSettingsAllOf,
349
+ Periods,
350
+ Settings,
351
+ TimeWindow,
352
+ ],
353
+ 'oneOf': [
354
+ ],
355
+ }
@@ -0,0 +1,262 @@
1
+ """
2
+ Proposal Generation Engine API
3
+
4
+ Documentation on all available end points in the Proposal Generation API # noqa: E501
5
+
6
+ The version of the OpenAPI document: 0.0.1
7
+ Contact: api@factset.com
8
+ Generated by: https://openapi-generator.tech
9
+ """
10
+
11
+
12
+ import re # noqa: F401
13
+ import sys # noqa: F401
14
+
15
+ from fds.sdk.ProposalGenerationEngine.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 fds.sdk.ProposalGenerationEngine.exceptions import ApiAttributeError
31
+
32
+
33
+
34
+ class ExPostSettingsAllOf(ModelNormal):
35
+ """NOTE: This class is auto generated by OpenAPI Generator.
36
+ Ref: https://openapi-generator.tech
37
+
38
+ Do not edit the class manually.
39
+
40
+ Attributes:
41
+ allowed_values (dict): The key is the tuple path to the attribute
42
+ and the for var_name this is (var_name,). The value is a dict
43
+ with a capitalized key describing the allowed value and an allowed
44
+ value. These dicts store the allowed enum values.
45
+ attribute_map (dict): The key is attribute name
46
+ and the value is json key in definition.
47
+ discriminator_value_class_map (dict): A dict to go from the discriminator
48
+ variable value to the discriminator class name.
49
+ validations (dict): The key is the tuple path to the attribute
50
+ and the for var_name this is (var_name,). The value is a dict
51
+ that stores validations for max_length, min_length, max_items,
52
+ min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
53
+ inclusive_minimum, and regex.
54
+ additional_properties_type (tuple): A tuple of classes accepted
55
+ as additional properties values.
56
+ """
57
+
58
+ allowed_values = {
59
+ ('reporting_frequency_alignment',): {
60
+ 'START': "start",
61
+ 'CALENDAR': "calendar",
62
+
63
+
64
+ },
65
+ }
66
+
67
+ validations = {
68
+ }
69
+
70
+ @cached_property
71
+ def additional_properties_type():
72
+ """
73
+ This must be a method because a model may have properties that are
74
+ of type self, this must run after the class is loaded
75
+ """
76
+ return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
77
+
78
+ _nullable = False
79
+
80
+ @cached_property
81
+ def openapi_types():
82
+ """
83
+ This must be a method because a model may have properties that are
84
+ of type self, this must run after the class is loaded
85
+
86
+ Returns
87
+ openapi_types (dict): The key is attribute name
88
+ and the value is attribute type.
89
+ """
90
+ return {
91
+ 'reporting_frequency_alignment': (str,), # noqa: E501
92
+ }
93
+
94
+ @cached_property
95
+ def discriminator():
96
+ return None
97
+
98
+
99
+ attribute_map = {
100
+ 'reporting_frequency_alignment': 'reportingFrequencyAlignment', # noqa: E501
101
+ }
102
+
103
+ read_only_vars = {
104
+ }
105
+
106
+ _composed_schemas = {}
107
+
108
+ @classmethod
109
+ @convert_js_args_to_python_args
110
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
111
+ """ExPostSettingsAllOf - a model defined in OpenAPI
112
+
113
+ Keyword Args:
114
+ _check_type (bool): if True, values for parameters in openapi_types
115
+ will be type checked and a TypeError will be
116
+ raised if the wrong type is input.
117
+ Defaults to True
118
+ _path_to_item (tuple/list): This is a list of keys or values to
119
+ drill down to the model in received_data
120
+ when deserializing a response
121
+ _spec_property_naming (bool): True if the variable names in the input data
122
+ are serialized names, as specified in the OpenAPI document.
123
+ False if the variable names in the input data
124
+ are pythonic names, e.g. snake case (default)
125
+ _configuration (Configuration): the instance to use when
126
+ deserializing a file_type parameter.
127
+ If passed, type conversion is attempted
128
+ If omitted no type conversion is done.
129
+ _visited_composed_classes (tuple): This stores a tuple of
130
+ classes that we have traveled through so that
131
+ if we see that class again we will not use its
132
+ discriminator again.
133
+ When traveling through a discriminator, the
134
+ composed schema that is
135
+ is traveled through is added to this set.
136
+ For example if Animal has a discriminator
137
+ petType and we pass in "Dog", and the class Dog
138
+ allOf includes Animal, we move through Animal
139
+ once using the discriminator, and pick Dog.
140
+ Then in Dog, we will make an instance of the
141
+ Animal class but this time we won't travel
142
+ through its discriminator because we passed in
143
+ _visited_composed_classes = (Animal,)
144
+ reporting_frequency_alignment (str): [optional] # noqa: E501
145
+ """
146
+
147
+ _check_type = kwargs.pop('_check_type', True)
148
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
149
+ _path_to_item = kwargs.pop('_path_to_item', ())
150
+ _configuration = kwargs.pop('_configuration', None)
151
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
152
+
153
+ self = super(OpenApiModel, cls).__new__(cls)
154
+
155
+ if args:
156
+ raise ApiTypeError(
157
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
158
+ args,
159
+ self.__class__.__name__,
160
+ ),
161
+ path_to_item=_path_to_item,
162
+ valid_classes=(self.__class__,),
163
+ )
164
+
165
+ self._data_store = {}
166
+ self._check_type = _check_type
167
+ self._spec_property_naming = _spec_property_naming
168
+ self._path_to_item = _path_to_item
169
+ self._configuration = _configuration
170
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
171
+
172
+ for var_name, var_value in kwargs.items():
173
+ if var_name not in self.attribute_map and \
174
+ self._configuration is not None and \
175
+ self._configuration.discard_unknown_keys and \
176
+ self.additional_properties_type is None:
177
+ # discard variable.
178
+ continue
179
+ setattr(self, var_name, var_value)
180
+ return self
181
+
182
+ required_properties = set([
183
+ '_data_store',
184
+ '_check_type',
185
+ '_spec_property_naming',
186
+ '_path_to_item',
187
+ '_configuration',
188
+ '_visited_composed_classes',
189
+ ])
190
+
191
+ @convert_js_args_to_python_args
192
+ def __init__(self, *args, **kwargs): # noqa: E501
193
+ """ExPostSettingsAllOf - a model defined in OpenAPI
194
+
195
+ Keyword Args:
196
+ _check_type (bool): if True, values for parameters in openapi_types
197
+ will be type checked and a TypeError will be
198
+ raised if the wrong type is input.
199
+ Defaults to True
200
+ _path_to_item (tuple/list): This is a list of keys or values to
201
+ drill down to the model in received_data
202
+ when deserializing a response
203
+ _spec_property_naming (bool): True if the variable names in the input data
204
+ are serialized names, as specified in the OpenAPI document.
205
+ False if the variable names in the input data
206
+ are pythonic names, e.g. snake case (default)
207
+ _configuration (Configuration): the instance to use when
208
+ deserializing a file_type parameter.
209
+ If passed, type conversion is attempted
210
+ If omitted no type conversion is done.
211
+ _visited_composed_classes (tuple): This stores a tuple of
212
+ classes that we have traveled through so that
213
+ if we see that class again we will not use its
214
+ discriminator again.
215
+ When traveling through a discriminator, the
216
+ composed schema that is
217
+ is traveled through is added to this set.
218
+ For example if Animal has a discriminator
219
+ petType and we pass in "Dog", and the class Dog
220
+ allOf includes Animal, we move through Animal
221
+ once using the discriminator, and pick Dog.
222
+ Then in Dog, we will make an instance of the
223
+ Animal class but this time we won't travel
224
+ through its discriminator because we passed in
225
+ _visited_composed_classes = (Animal,)
226
+ reporting_frequency_alignment (str): [optional] # noqa: E501
227
+ """
228
+
229
+ _check_type = kwargs.pop('_check_type', True)
230
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
231
+ _path_to_item = kwargs.pop('_path_to_item', ())
232
+ _configuration = kwargs.pop('_configuration', None)
233
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
234
+
235
+ if args:
236
+ raise ApiTypeError(
237
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
238
+ args,
239
+ self.__class__.__name__,
240
+ ),
241
+ path_to_item=_path_to_item,
242
+ valid_classes=(self.__class__,),
243
+ )
244
+
245
+ self._data_store = {}
246
+ self._check_type = _check_type
247
+ self._spec_property_naming = _spec_property_naming
248
+ self._path_to_item = _path_to_item
249
+ self._configuration = _configuration
250
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
251
+
252
+ for var_name, var_value in kwargs.items():
253
+ if var_name not in self.attribute_map and \
254
+ self._configuration is not None and \
255
+ self._configuration.discard_unknown_keys and \
256
+ self.additional_properties_type is None:
257
+ # discard variable.
258
+ continue
259
+ setattr(self, var_name, var_value)
260
+ if var_name in self.read_only_vars:
261
+ raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
262
+ f"class with read only attributes.")