lusid-sdk 2.1.502__py3-none-any.whl → 2.1.515__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.
- lusid/__init__.py +8 -0
- lusid/api/group_reconciliations_api.py +184 -0
- lusid/configuration.py +1 -1
- lusid/models/__init__.py +8 -0
- lusid/models/applicable_instrument_event.py +7 -2
- lusid/models/batch_update_user_review_for_comparison_result_request.py +81 -0
- lusid/models/batch_update_user_review_for_comparison_result_response.py +146 -0
- lusid/models/equity_option.py +7 -2
- lusid/models/exchange_traded_option_contract_details.py +1 -1
- lusid/models/group_reconciliation_user_review_add.py +88 -0
- lusid/models/group_reconciliation_user_review_remove.py +88 -0
- lusid/models/target_tax_lot.py +23 -2
- lusid/models/target_tax_lot_request.py +23 -2
- {lusid_sdk-2.1.502.dist-info → lusid_sdk-2.1.515.dist-info}/METADATA +6 -1
- {lusid_sdk-2.1.502.dist-info → lusid_sdk-2.1.515.dist-info}/RECORD +16 -12
- {lusid_sdk-2.1.502.dist-info → lusid_sdk-2.1.515.dist-info}/WHEEL +0 -0
lusid/__init__.py
CHANGED
@@ -159,6 +159,8 @@ from lusid.models.barrier import Barrier
|
|
159
159
|
from lusid.models.basket import Basket
|
160
160
|
from lusid.models.basket_identifier import BasketIdentifier
|
161
161
|
from lusid.models.batch_adjust_holdings_response import BatchAdjustHoldingsResponse
|
162
|
+
from lusid.models.batch_update_user_review_for_comparison_result_request import BatchUpdateUserReviewForComparisonResultRequest
|
163
|
+
from lusid.models.batch_update_user_review_for_comparison_result_response import BatchUpdateUserReviewForComparisonResultResponse
|
162
164
|
from lusid.models.batch_upsert_dates_for_calendar_response import BatchUpsertDatesForCalendarResponse
|
163
165
|
from lusid.models.batch_upsert_instrument_properties_response import BatchUpsertInstrumentPropertiesResponse
|
164
166
|
from lusid.models.batch_upsert_portfolio_access_metadata_request import BatchUpsertPortfolioAccessMetadataRequest
|
@@ -536,9 +538,11 @@ from lusid.models.group_reconciliation_run_request import GroupReconciliationRun
|
|
536
538
|
from lusid.models.group_reconciliation_run_response import GroupReconciliationRunResponse
|
537
539
|
from lusid.models.group_reconciliation_summary import GroupReconciliationSummary
|
538
540
|
from lusid.models.group_reconciliation_user_review import GroupReconciliationUserReview
|
541
|
+
from lusid.models.group_reconciliation_user_review_add import GroupReconciliationUserReviewAdd
|
539
542
|
from lusid.models.group_reconciliation_user_review_break_code import GroupReconciliationUserReviewBreakCode
|
540
543
|
from lusid.models.group_reconciliation_user_review_comment import GroupReconciliationUserReviewComment
|
541
544
|
from lusid.models.group_reconciliation_user_review_match_key import GroupReconciliationUserReviewMatchKey
|
545
|
+
from lusid.models.group_reconciliation_user_review_remove import GroupReconciliationUserReviewRemove
|
542
546
|
from lusid.models.grouped_result_of_address_key import GroupedResultOfAddressKey
|
543
547
|
from lusid.models.holding_adjustment import HoldingAdjustment
|
544
548
|
from lusid.models.holding_adjustment_with_date import HoldingAdjustmentWithDate
|
@@ -1370,6 +1374,8 @@ __all__ = [
|
|
1370
1374
|
"Basket",
|
1371
1375
|
"BasketIdentifier",
|
1372
1376
|
"BatchAdjustHoldingsResponse",
|
1377
|
+
"BatchUpdateUserReviewForComparisonResultRequest",
|
1378
|
+
"BatchUpdateUserReviewForComparisonResultResponse",
|
1373
1379
|
"BatchUpsertDatesForCalendarResponse",
|
1374
1380
|
"BatchUpsertInstrumentPropertiesResponse",
|
1375
1381
|
"BatchUpsertPortfolioAccessMetadataRequest",
|
@@ -1747,9 +1753,11 @@ __all__ = [
|
|
1747
1753
|
"GroupReconciliationRunResponse",
|
1748
1754
|
"GroupReconciliationSummary",
|
1749
1755
|
"GroupReconciliationUserReview",
|
1756
|
+
"GroupReconciliationUserReviewAdd",
|
1750
1757
|
"GroupReconciliationUserReviewBreakCode",
|
1751
1758
|
"GroupReconciliationUserReviewComment",
|
1752
1759
|
"GroupReconciliationUserReviewMatchKey",
|
1760
|
+
"GroupReconciliationUserReviewRemove",
|
1753
1761
|
"GroupedResultOfAddressKey",
|
1754
1762
|
"HoldingAdjustment",
|
1755
1763
|
"HoldingAdjustmentWithDate",
|
@@ -26,6 +26,8 @@ from pydantic.v1 import Field, StrictStr, conint, conlist, constr, validator
|
|
26
26
|
|
27
27
|
from typing import Optional
|
28
28
|
|
29
|
+
from lusid.models.batch_update_user_review_for_comparison_result_request import BatchUpdateUserReviewForComparisonResultRequest
|
30
|
+
from lusid.models.batch_update_user_review_for_comparison_result_response import BatchUpdateUserReviewForComparisonResultResponse
|
29
31
|
from lusid.models.create_group_reconciliation_comparison_ruleset_request import CreateGroupReconciliationComparisonRulesetRequest
|
30
32
|
from lusid.models.create_group_reconciliation_definition_request import CreateGroupReconciliationDefinitionRequest
|
31
33
|
from lusid.models.deleted_entity_response import DeletedEntityResponse
|
@@ -61,6 +63,188 @@ class GroupReconciliationsApi:
|
|
61
63
|
api_client = ApiClient.get_default()
|
62
64
|
self.api_client = api_client
|
63
65
|
|
66
|
+
@overload
|
67
|
+
async def batch_update_comparison_results(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Shared Scope of the GroupReconciliationDefinition and GroupReconciliationComparisonResults.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="GroupReconciliationDefinitionId code.")], batch_update_user_review_for_comparison_result_request : Annotated[conlist(BatchUpdateUserReviewForComparisonResultRequest), Field(..., description="A collection of the comparison result Ids and their user review entries to be added or removed. Single request contains resultId, break code/match key/comment to add and break code/match key/comment to remove by added timestamp.")], success_mode : Annotated[Optional[constr(strict=True, max_length=64, min_length=1)], Field(description="Defines whether the request should fail if at least one of the entries is failed to update or process all the entries regardless and return collections of successful and failed updates. \"Partial\" (default) | \"Atomic\".")] = None, **kwargs) -> BatchUpdateUserReviewForComparisonResultResponse: # noqa: E501
|
68
|
+
...
|
69
|
+
|
70
|
+
@overload
|
71
|
+
def batch_update_comparison_results(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Shared Scope of the GroupReconciliationDefinition and GroupReconciliationComparisonResults.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="GroupReconciliationDefinitionId code.")], batch_update_user_review_for_comparison_result_request : Annotated[conlist(BatchUpdateUserReviewForComparisonResultRequest), Field(..., description="A collection of the comparison result Ids and their user review entries to be added or removed. Single request contains resultId, break code/match key/comment to add and break code/match key/comment to remove by added timestamp.")], success_mode : Annotated[Optional[constr(strict=True, max_length=64, min_length=1)], Field(description="Defines whether the request should fail if at least one of the entries is failed to update or process all the entries regardless and return collections of successful and failed updates. \"Partial\" (default) | \"Atomic\".")] = None, async_req: Optional[bool]=True, **kwargs) -> BatchUpdateUserReviewForComparisonResultResponse: # noqa: E501
|
72
|
+
...
|
73
|
+
|
74
|
+
@validate_arguments
|
75
|
+
def batch_update_comparison_results(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Shared Scope of the GroupReconciliationDefinition and GroupReconciliationComparisonResults.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="GroupReconciliationDefinitionId code.")], batch_update_user_review_for_comparison_result_request : Annotated[conlist(BatchUpdateUserReviewForComparisonResultRequest), Field(..., description="A collection of the comparison result Ids and their user review entries to be added or removed. Single request contains resultId, break code/match key/comment to add and break code/match key/comment to remove by added timestamp.")], success_mode : Annotated[Optional[constr(strict=True, max_length=64, min_length=1)], Field(description="Defines whether the request should fail if at least one of the entries is failed to update or process all the entries regardless and return collections of successful and failed updates. \"Partial\" (default) | \"Atomic\".")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[BatchUpdateUserReviewForComparisonResultResponse, Awaitable[BatchUpdateUserReviewForComparisonResultResponse]]: # noqa: E501
|
76
|
+
"""[EXPERIMENTAL] BatchUpdateComparisonResults: Add User Review entries for a range of comparison results related to a specific GroupReconciliationDefinition. # noqa: E501
|
77
|
+
|
78
|
+
Allows to update multiple Group Reconciliation Comparison Results related to the same definition specified by the Finbourne.Identifiers.Abstractions.Scope and Finbourne.Identifiers.Abstractions.Code. Updates User Review with new entries and sets the relevant Review Status. Supports partial success when all the entries that haven't passed validation or are not related to the definition will be returned with respectful error details. # noqa: E501
|
79
|
+
This method makes a synchronous HTTP request by default. To make an
|
80
|
+
asynchronous HTTP request, please pass async_req=True
|
81
|
+
|
82
|
+
>>> thread = api.batch_update_comparison_results(scope, code, batch_update_user_review_for_comparison_result_request, success_mode, async_req=True)
|
83
|
+
>>> result = thread.get()
|
84
|
+
|
85
|
+
:param scope: Shared Scope of the GroupReconciliationDefinition and GroupReconciliationComparisonResults. (required)
|
86
|
+
:type scope: str
|
87
|
+
:param code: GroupReconciliationDefinitionId code. (required)
|
88
|
+
:type code: str
|
89
|
+
:param batch_update_user_review_for_comparison_result_request: A collection of the comparison result Ids and their user review entries to be added or removed. Single request contains resultId, break code/match key/comment to add and break code/match key/comment to remove by added timestamp. (required)
|
90
|
+
:type batch_update_user_review_for_comparison_result_request: List[BatchUpdateUserReviewForComparisonResultRequest]
|
91
|
+
:param success_mode: Defines whether the request should fail if at least one of the entries is failed to update or process all the entries regardless and return collections of successful and failed updates. \"Partial\" (default) | \"Atomic\".
|
92
|
+
:type success_mode: str
|
93
|
+
:param async_req: Whether to execute the request asynchronously.
|
94
|
+
:type async_req: bool, optional
|
95
|
+
:param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
|
96
|
+
:param opts: Configuration options for this request
|
97
|
+
:type opts: ConfigurationOptions, optional
|
98
|
+
:return: Returns the result object.
|
99
|
+
If the method is called asynchronously,
|
100
|
+
returns the request thread.
|
101
|
+
:rtype: BatchUpdateUserReviewForComparisonResultResponse
|
102
|
+
"""
|
103
|
+
kwargs['_return_http_data_only'] = True
|
104
|
+
if '_preload_content' in kwargs:
|
105
|
+
message = "Error! Please call the batch_update_comparison_results_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
|
106
|
+
raise ValueError(message)
|
107
|
+
if async_req is not None:
|
108
|
+
kwargs['async_req'] = async_req
|
109
|
+
return self.batch_update_comparison_results_with_http_info(scope, code, batch_update_user_review_for_comparison_result_request, success_mode, **kwargs) # noqa: E501
|
110
|
+
|
111
|
+
@validate_arguments
|
112
|
+
def batch_update_comparison_results_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Shared Scope of the GroupReconciliationDefinition and GroupReconciliationComparisonResults.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="GroupReconciliationDefinitionId code.")], batch_update_user_review_for_comparison_result_request : Annotated[conlist(BatchUpdateUserReviewForComparisonResultRequest), Field(..., description="A collection of the comparison result Ids and their user review entries to be added or removed. Single request contains resultId, break code/match key/comment to add and break code/match key/comment to remove by added timestamp.")], success_mode : Annotated[Optional[constr(strict=True, max_length=64, min_length=1)], Field(description="Defines whether the request should fail if at least one of the entries is failed to update or process all the entries regardless and return collections of successful and failed updates. \"Partial\" (default) | \"Atomic\".")] = None, **kwargs) -> ApiResponse: # noqa: E501
|
113
|
+
"""[EXPERIMENTAL] BatchUpdateComparisonResults: Add User Review entries for a range of comparison results related to a specific GroupReconciliationDefinition. # noqa: E501
|
114
|
+
|
115
|
+
Allows to update multiple Group Reconciliation Comparison Results related to the same definition specified by the Finbourne.Identifiers.Abstractions.Scope and Finbourne.Identifiers.Abstractions.Code. Updates User Review with new entries and sets the relevant Review Status. Supports partial success when all the entries that haven't passed validation or are not related to the definition will be returned with respectful error details. # noqa: E501
|
116
|
+
This method makes a synchronous HTTP request by default. To make an
|
117
|
+
asynchronous HTTP request, please pass async_req=True
|
118
|
+
|
119
|
+
>>> thread = api.batch_update_comparison_results_with_http_info(scope, code, batch_update_user_review_for_comparison_result_request, success_mode, async_req=True)
|
120
|
+
>>> result = thread.get()
|
121
|
+
|
122
|
+
:param scope: Shared Scope of the GroupReconciliationDefinition and GroupReconciliationComparisonResults. (required)
|
123
|
+
:type scope: str
|
124
|
+
:param code: GroupReconciliationDefinitionId code. (required)
|
125
|
+
:type code: str
|
126
|
+
:param batch_update_user_review_for_comparison_result_request: A collection of the comparison result Ids and their user review entries to be added or removed. Single request contains resultId, break code/match key/comment to add and break code/match key/comment to remove by added timestamp. (required)
|
127
|
+
:type batch_update_user_review_for_comparison_result_request: List[BatchUpdateUserReviewForComparisonResultRequest]
|
128
|
+
:param success_mode: Defines whether the request should fail if at least one of the entries is failed to update or process all the entries regardless and return collections of successful and failed updates. \"Partial\" (default) | \"Atomic\".
|
129
|
+
:type success_mode: str
|
130
|
+
:param async_req: Whether to execute the request asynchronously.
|
131
|
+
:type async_req: bool, optional
|
132
|
+
:param _preload_content: if False, the ApiResponse.data will
|
133
|
+
be set to none and raw_data will store the
|
134
|
+
HTTP response body without reading/decoding.
|
135
|
+
Default is True.
|
136
|
+
:type _preload_content: bool, optional
|
137
|
+
:param _return_http_data_only: response data instead of ApiResponse
|
138
|
+
object with status code, headers, etc
|
139
|
+
:type _return_http_data_only: bool, optional
|
140
|
+
:param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
|
141
|
+
:param opts: Configuration options for this request
|
142
|
+
:type opts: ConfigurationOptions, optional
|
143
|
+
:param _request_auth: set to override the auth_settings for an a single
|
144
|
+
request; this effectively ignores the authentication
|
145
|
+
in the spec for a single request.
|
146
|
+
:type _request_auth: dict, optional
|
147
|
+
:type _content_type: string, optional: force content-type for the request
|
148
|
+
:return: Returns the result object.
|
149
|
+
If the method is called asynchronously,
|
150
|
+
returns the request thread.
|
151
|
+
:rtype: tuple(BatchUpdateUserReviewForComparisonResultResponse, status_code(int), headers(HTTPHeaderDict))
|
152
|
+
"""
|
153
|
+
|
154
|
+
_params = locals()
|
155
|
+
|
156
|
+
_all_params = [
|
157
|
+
'scope',
|
158
|
+
'code',
|
159
|
+
'batch_update_user_review_for_comparison_result_request',
|
160
|
+
'success_mode'
|
161
|
+
]
|
162
|
+
_all_params.extend(
|
163
|
+
[
|
164
|
+
'async_req',
|
165
|
+
'_return_http_data_only',
|
166
|
+
'_preload_content',
|
167
|
+
'_request_timeout',
|
168
|
+
'_request_auth',
|
169
|
+
'_content_type',
|
170
|
+
'_headers',
|
171
|
+
'opts'
|
172
|
+
]
|
173
|
+
)
|
174
|
+
|
175
|
+
# validate the arguments
|
176
|
+
for _key, _val in _params['kwargs'].items():
|
177
|
+
if _key not in _all_params:
|
178
|
+
raise ApiTypeError(
|
179
|
+
"Got an unexpected keyword argument '%s'"
|
180
|
+
" to method batch_update_comparison_results" % _key
|
181
|
+
)
|
182
|
+
_params[_key] = _val
|
183
|
+
del _params['kwargs']
|
184
|
+
|
185
|
+
_collection_formats = {}
|
186
|
+
|
187
|
+
# process the path parameters
|
188
|
+
_path_params = {}
|
189
|
+
if _params['scope']:
|
190
|
+
_path_params['scope'] = _params['scope']
|
191
|
+
|
192
|
+
if _params['code']:
|
193
|
+
_path_params['code'] = _params['code']
|
194
|
+
|
195
|
+
|
196
|
+
# process the query parameters
|
197
|
+
_query_params = []
|
198
|
+
if _params.get('success_mode') is not None: # noqa: E501
|
199
|
+
_query_params.append(('successMode', _params['success_mode']))
|
200
|
+
|
201
|
+
# process the header parameters
|
202
|
+
_header_params = dict(_params.get('_headers', {}))
|
203
|
+
# process the form parameters
|
204
|
+
_form_params = []
|
205
|
+
_files = {}
|
206
|
+
# process the body parameter
|
207
|
+
_body_params = None
|
208
|
+
if _params['batch_update_user_review_for_comparison_result_request'] is not None:
|
209
|
+
_body_params = _params['batch_update_user_review_for_comparison_result_request']
|
210
|
+
|
211
|
+
# set the HTTP header `Accept`
|
212
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
213
|
+
['text/plain', 'application/json', 'text/json']) # noqa: E501
|
214
|
+
|
215
|
+
# set the HTTP header `Content-Type`
|
216
|
+
_content_types_list = _params.get('_content_type',
|
217
|
+
self.api_client.select_header_content_type(
|
218
|
+
['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
|
219
|
+
if _content_types_list:
|
220
|
+
_header_params['Content-Type'] = _content_types_list
|
221
|
+
|
222
|
+
# authentication setting
|
223
|
+
_auth_settings = ['oauth2'] # noqa: E501
|
224
|
+
|
225
|
+
_response_types_map = {
|
226
|
+
'200': "BatchUpdateUserReviewForComparisonResultResponse",
|
227
|
+
'400': "LusidValidationProblemDetails",
|
228
|
+
}
|
229
|
+
|
230
|
+
return self.api_client.call_api(
|
231
|
+
'/api/reconciliations/groupreconciliationdefinitions/{scope}/{code}/comparisonresults/$batchReview', 'POST',
|
232
|
+
_path_params,
|
233
|
+
_query_params,
|
234
|
+
_header_params,
|
235
|
+
body=_body_params,
|
236
|
+
post_params=_form_params,
|
237
|
+
files=_files,
|
238
|
+
response_types_map=_response_types_map,
|
239
|
+
auth_settings=_auth_settings,
|
240
|
+
async_req=_params.get('async_req'),
|
241
|
+
_return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
|
242
|
+
_preload_content=_params.get('_preload_content', True),
|
243
|
+
_request_timeout=_params.get('_request_timeout'),
|
244
|
+
opts=_params.get('opts'),
|
245
|
+
collection_formats=_collection_formats,
|
246
|
+
_request_auth=_params.get('_request_auth'))
|
247
|
+
|
64
248
|
@overload
|
65
249
|
async def create_comparison_ruleset(self, create_group_reconciliation_comparison_ruleset_request : Annotated[Optional[CreateGroupReconciliationComparisonRulesetRequest], Field(description="The request containing the details of the ruleset")] = None, **kwargs) -> GroupReconciliationComparisonRuleset: # noqa: E501
|
66
250
|
...
|
lusid/configuration.py
CHANGED
@@ -445,7 +445,7 @@ class Configuration:
|
|
445
445
|
return "Python SDK Debug Report:\n"\
|
446
446
|
"OS: {env}\n"\
|
447
447
|
"Python Version: {pyversion}\n"\
|
448
|
-
"Version of the API: 0.11.
|
448
|
+
"Version of the API: 0.11.6944\n"\
|
449
449
|
"SDK Package Version: {package_version}".\
|
450
450
|
format(env=sys.platform, pyversion=sys.version, package_version=package_version)
|
451
451
|
|
lusid/models/__init__.py
CHANGED
@@ -78,6 +78,8 @@ from lusid.models.barrier import Barrier
|
|
78
78
|
from lusid.models.basket import Basket
|
79
79
|
from lusid.models.basket_identifier import BasketIdentifier
|
80
80
|
from lusid.models.batch_adjust_holdings_response import BatchAdjustHoldingsResponse
|
81
|
+
from lusid.models.batch_update_user_review_for_comparison_result_request import BatchUpdateUserReviewForComparisonResultRequest
|
82
|
+
from lusid.models.batch_update_user_review_for_comparison_result_response import BatchUpdateUserReviewForComparisonResultResponse
|
81
83
|
from lusid.models.batch_upsert_dates_for_calendar_response import BatchUpsertDatesForCalendarResponse
|
82
84
|
from lusid.models.batch_upsert_instrument_properties_response import BatchUpsertInstrumentPropertiesResponse
|
83
85
|
from lusid.models.batch_upsert_portfolio_access_metadata_request import BatchUpsertPortfolioAccessMetadataRequest
|
@@ -455,9 +457,11 @@ from lusid.models.group_reconciliation_run_request import GroupReconciliationRun
|
|
455
457
|
from lusid.models.group_reconciliation_run_response import GroupReconciliationRunResponse
|
456
458
|
from lusid.models.group_reconciliation_summary import GroupReconciliationSummary
|
457
459
|
from lusid.models.group_reconciliation_user_review import GroupReconciliationUserReview
|
460
|
+
from lusid.models.group_reconciliation_user_review_add import GroupReconciliationUserReviewAdd
|
458
461
|
from lusid.models.group_reconciliation_user_review_break_code import GroupReconciliationUserReviewBreakCode
|
459
462
|
from lusid.models.group_reconciliation_user_review_comment import GroupReconciliationUserReviewComment
|
460
463
|
from lusid.models.group_reconciliation_user_review_match_key import GroupReconciliationUserReviewMatchKey
|
464
|
+
from lusid.models.group_reconciliation_user_review_remove import GroupReconciliationUserReviewRemove
|
461
465
|
from lusid.models.grouped_result_of_address_key import GroupedResultOfAddressKey
|
462
466
|
from lusid.models.holding_adjustment import HoldingAdjustment
|
463
467
|
from lusid.models.holding_adjustment_with_date import HoldingAdjustmentWithDate
|
@@ -1209,6 +1213,8 @@ __all__ = [
|
|
1209
1213
|
"Basket",
|
1210
1214
|
"BasketIdentifier",
|
1211
1215
|
"BatchAdjustHoldingsResponse",
|
1216
|
+
"BatchUpdateUserReviewForComparisonResultRequest",
|
1217
|
+
"BatchUpdateUserReviewForComparisonResultResponse",
|
1212
1218
|
"BatchUpsertDatesForCalendarResponse",
|
1213
1219
|
"BatchUpsertInstrumentPropertiesResponse",
|
1214
1220
|
"BatchUpsertPortfolioAccessMetadataRequest",
|
@@ -1586,9 +1592,11 @@ __all__ = [
|
|
1586
1592
|
"GroupReconciliationRunResponse",
|
1587
1593
|
"GroupReconciliationSummary",
|
1588
1594
|
"GroupReconciliationUserReview",
|
1595
|
+
"GroupReconciliationUserReviewAdd",
|
1589
1596
|
"GroupReconciliationUserReviewBreakCode",
|
1590
1597
|
"GroupReconciliationUserReviewComment",
|
1591
1598
|
"GroupReconciliationUserReviewMatchKey",
|
1599
|
+
"GroupReconciliationUserReviewRemove",
|
1592
1600
|
"GroupedResultOfAddressKey",
|
1593
1601
|
"HoldingAdjustment",
|
1594
1602
|
"HoldingAdjustmentWithDate",
|
@@ -19,7 +19,7 @@ import json
|
|
19
19
|
|
20
20
|
|
21
21
|
from typing import Any, Dict, List, Optional
|
22
|
-
from pydantic.v1 import BaseModel, Field, StrictInt, conlist, constr
|
22
|
+
from pydantic.v1 import BaseModel, Field, StrictInt, StrictStr, conlist, constr
|
23
23
|
from lusid.models.generated_event_diagnostics import GeneratedEventDiagnostics
|
24
24
|
from lusid.models.instrument_event_holder import InstrumentEventHolder
|
25
25
|
from lusid.models.resource_id import ResourceId
|
@@ -40,7 +40,7 @@ class ApplicableInstrumentEvent(BaseModel):
|
|
40
40
|
generated_event: Optional[InstrumentEventHolder] = Field(None, alias="generatedEvent")
|
41
41
|
generated_event_diagnostics: Optional[GeneratedEventDiagnostics] = Field(None, alias="generatedEventDiagnostics")
|
42
42
|
loaded_event: Optional[InstrumentEventHolder] = Field(None, alias="loadedEvent")
|
43
|
-
applied_instrument_event_instruction_id:
|
43
|
+
applied_instrument_event_instruction_id: Optional[StrictStr] = Field(None, alias="appliedInstrumentEventInstructionId")
|
44
44
|
transactions: Optional[conlist(Transaction)] = None
|
45
45
|
transaction_diagnostics: Optional[TransactionDiagnostics] = Field(None, alias="transactionDiagnostics")
|
46
46
|
__properties = ["portfolioId", "holdingId", "lusidInstrumentId", "instrumentScope", "instrumentType", "instrumentEventType", "instrumentEventId", "generatedEvent", "generatedEventDiagnostics", "loadedEvent", "appliedInstrumentEventInstructionId", "transactions", "transactionDiagnostics"]
|
@@ -91,6 +91,11 @@ class ApplicableInstrumentEvent(BaseModel):
|
|
91
91
|
# override the default output from pydantic by calling `to_dict()` of transaction_diagnostics
|
92
92
|
if self.transaction_diagnostics:
|
93
93
|
_dict['transactionDiagnostics'] = self.transaction_diagnostics.to_dict()
|
94
|
+
# set to None if applied_instrument_event_instruction_id (nullable) is None
|
95
|
+
# and __fields_set__ contains the field
|
96
|
+
if self.applied_instrument_event_instruction_id is None and "applied_instrument_event_instruction_id" in self.__fields_set__:
|
97
|
+
_dict['appliedInstrumentEventInstructionId'] = None
|
98
|
+
|
94
99
|
# set to None if transactions (nullable) is None
|
95
100
|
# and __fields_set__ contains the field
|
96
101
|
if self.transactions is None and "transactions" in self.__fields_set__:
|
@@ -0,0 +1,81 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
"""
|
4
|
+
LUSID API
|
5
|
+
|
6
|
+
FINBOURNE Technology # noqa: E501
|
7
|
+
|
8
|
+
Contact: info@finbourne.com
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
10
|
+
|
11
|
+
Do not edit the class manually.
|
12
|
+
"""
|
13
|
+
|
14
|
+
|
15
|
+
from __future__ import annotations
|
16
|
+
import pprint
|
17
|
+
import re # noqa: F401
|
18
|
+
import json
|
19
|
+
|
20
|
+
|
21
|
+
from typing import Any, Dict, Optional
|
22
|
+
from pydantic.v1 import BaseModel, Field, constr
|
23
|
+
from lusid.models.group_reconciliation_user_review_add import GroupReconciliationUserReviewAdd
|
24
|
+
from lusid.models.group_reconciliation_user_review_remove import GroupReconciliationUserReviewRemove
|
25
|
+
|
26
|
+
class BatchUpdateUserReviewForComparisonResultRequest(BaseModel):
|
27
|
+
"""
|
28
|
+
BatchUpdateUserReviewForComparisonResultRequest
|
29
|
+
"""
|
30
|
+
comparison_result_id: constr(strict=True, min_length=1) = Field(..., alias="comparisonResultId", description="Comparison result identifier, encoded value for core attribute results, aggregate attribute results, reconciliation type and run instanceId.")
|
31
|
+
user_review_add: Optional[GroupReconciliationUserReviewAdd] = Field(None, alias="userReviewAdd")
|
32
|
+
user_review_remove: Optional[GroupReconciliationUserReviewRemove] = Field(None, alias="userReviewRemove")
|
33
|
+
__properties = ["comparisonResultId", "userReviewAdd", "userReviewRemove"]
|
34
|
+
|
35
|
+
class Config:
|
36
|
+
"""Pydantic configuration"""
|
37
|
+
allow_population_by_field_name = True
|
38
|
+
validate_assignment = True
|
39
|
+
|
40
|
+
def to_str(self) -> str:
|
41
|
+
"""Returns the string representation of the model using alias"""
|
42
|
+
return pprint.pformat(self.dict(by_alias=True))
|
43
|
+
|
44
|
+
def to_json(self) -> str:
|
45
|
+
"""Returns the JSON representation of the model using alias"""
|
46
|
+
return json.dumps(self.to_dict())
|
47
|
+
|
48
|
+
@classmethod
|
49
|
+
def from_json(cls, json_str: str) -> BatchUpdateUserReviewForComparisonResultRequest:
|
50
|
+
"""Create an instance of BatchUpdateUserReviewForComparisonResultRequest from a JSON string"""
|
51
|
+
return cls.from_dict(json.loads(json_str))
|
52
|
+
|
53
|
+
def to_dict(self):
|
54
|
+
"""Returns the dictionary representation of the model using alias"""
|
55
|
+
_dict = self.dict(by_alias=True,
|
56
|
+
exclude={
|
57
|
+
},
|
58
|
+
exclude_none=True)
|
59
|
+
# override the default output from pydantic by calling `to_dict()` of user_review_add
|
60
|
+
if self.user_review_add:
|
61
|
+
_dict['userReviewAdd'] = self.user_review_add.to_dict()
|
62
|
+
# override the default output from pydantic by calling `to_dict()` of user_review_remove
|
63
|
+
if self.user_review_remove:
|
64
|
+
_dict['userReviewRemove'] = self.user_review_remove.to_dict()
|
65
|
+
return _dict
|
66
|
+
|
67
|
+
@classmethod
|
68
|
+
def from_dict(cls, obj: dict) -> BatchUpdateUserReviewForComparisonResultRequest:
|
69
|
+
"""Create an instance of BatchUpdateUserReviewForComparisonResultRequest from a dict"""
|
70
|
+
if obj is None:
|
71
|
+
return None
|
72
|
+
|
73
|
+
if not isinstance(obj, dict):
|
74
|
+
return BatchUpdateUserReviewForComparisonResultRequest.parse_obj(obj)
|
75
|
+
|
76
|
+
_obj = BatchUpdateUserReviewForComparisonResultRequest.parse_obj({
|
77
|
+
"comparison_result_id": obj.get("comparisonResultId"),
|
78
|
+
"user_review_add": GroupReconciliationUserReviewAdd.from_dict(obj.get("userReviewAdd")) if obj.get("userReviewAdd") is not None else None,
|
79
|
+
"user_review_remove": GroupReconciliationUserReviewRemove.from_dict(obj.get("userReviewRemove")) if obj.get("userReviewRemove") is not None else None
|
80
|
+
})
|
81
|
+
return _obj
|
@@ -0,0 +1,146 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
"""
|
4
|
+
LUSID API
|
5
|
+
|
6
|
+
FINBOURNE Technology # noqa: E501
|
7
|
+
|
8
|
+
Contact: info@finbourne.com
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
10
|
+
|
11
|
+
Do not edit the class manually.
|
12
|
+
"""
|
13
|
+
|
14
|
+
|
15
|
+
from __future__ import annotations
|
16
|
+
import pprint
|
17
|
+
import re # noqa: F401
|
18
|
+
import json
|
19
|
+
|
20
|
+
|
21
|
+
from typing import Any, Dict, List, Optional
|
22
|
+
from pydantic.v1 import BaseModel, Field, conlist
|
23
|
+
from lusid.models.error_detail import ErrorDetail
|
24
|
+
from lusid.models.group_reconciliation_comparison_result import GroupReconciliationComparisonResult
|
25
|
+
from lusid.models.link import Link
|
26
|
+
from lusid.models.response_meta_data import ResponseMetaData
|
27
|
+
|
28
|
+
class BatchUpdateUserReviewForComparisonResultResponse(BaseModel):
|
29
|
+
"""
|
30
|
+
BatchUpdateUserReviewForComparisonResultResponse
|
31
|
+
"""
|
32
|
+
values: Optional[Dict[str, GroupReconciliationComparisonResult]] = Field(None, description="The collection of comparison results that have been successfully updated.")
|
33
|
+
failed: Optional[Dict[str, ErrorDetail]] = Field(None, description="The collection of comparison results that could not be updated with the provided user input along with a reason for their failure.")
|
34
|
+
metadata: Optional[Dict[str, conlist(ResponseMetaData)]] = Field(None, description="Contains warnings related to the updated comparison result user input")
|
35
|
+
links: Optional[conlist(Link)] = None
|
36
|
+
__properties = ["values", "failed", "metadata", "links"]
|
37
|
+
|
38
|
+
class Config:
|
39
|
+
"""Pydantic configuration"""
|
40
|
+
allow_population_by_field_name = True
|
41
|
+
validate_assignment = True
|
42
|
+
|
43
|
+
def to_str(self) -> str:
|
44
|
+
"""Returns the string representation of the model using alias"""
|
45
|
+
return pprint.pformat(self.dict(by_alias=True))
|
46
|
+
|
47
|
+
def to_json(self) -> str:
|
48
|
+
"""Returns the JSON representation of the model using alias"""
|
49
|
+
return json.dumps(self.to_dict())
|
50
|
+
|
51
|
+
@classmethod
|
52
|
+
def from_json(cls, json_str: str) -> BatchUpdateUserReviewForComparisonResultResponse:
|
53
|
+
"""Create an instance of BatchUpdateUserReviewForComparisonResultResponse from a JSON string"""
|
54
|
+
return cls.from_dict(json.loads(json_str))
|
55
|
+
|
56
|
+
def to_dict(self):
|
57
|
+
"""Returns the dictionary representation of the model using alias"""
|
58
|
+
_dict = self.dict(by_alias=True,
|
59
|
+
exclude={
|
60
|
+
},
|
61
|
+
exclude_none=True)
|
62
|
+
# override the default output from pydantic by calling `to_dict()` of each value in values (dict)
|
63
|
+
_field_dict = {}
|
64
|
+
if self.values:
|
65
|
+
for _key in self.values:
|
66
|
+
if self.values[_key]:
|
67
|
+
_field_dict[_key] = self.values[_key].to_dict()
|
68
|
+
_dict['values'] = _field_dict
|
69
|
+
# override the default output from pydantic by calling `to_dict()` of each value in failed (dict)
|
70
|
+
_field_dict = {}
|
71
|
+
if self.failed:
|
72
|
+
for _key in self.failed:
|
73
|
+
if self.failed[_key]:
|
74
|
+
_field_dict[_key] = self.failed[_key].to_dict()
|
75
|
+
_dict['failed'] = _field_dict
|
76
|
+
# override the default output from pydantic by calling `to_dict()` of each value in metadata (dict of array)
|
77
|
+
_field_dict_of_array = {}
|
78
|
+
if self.metadata:
|
79
|
+
for _key in self.metadata:
|
80
|
+
if self.metadata[_key]:
|
81
|
+
_field_dict_of_array[_key] = [
|
82
|
+
_item.to_dict() for _item in self.metadata[_key]
|
83
|
+
]
|
84
|
+
_dict['metadata'] = _field_dict_of_array
|
85
|
+
# override the default output from pydantic by calling `to_dict()` of each item in links (list)
|
86
|
+
_items = []
|
87
|
+
if self.links:
|
88
|
+
for _item in self.links:
|
89
|
+
if _item:
|
90
|
+
_items.append(_item.to_dict())
|
91
|
+
_dict['links'] = _items
|
92
|
+
# set to None if values (nullable) is None
|
93
|
+
# and __fields_set__ contains the field
|
94
|
+
if self.values is None and "values" in self.__fields_set__:
|
95
|
+
_dict['values'] = None
|
96
|
+
|
97
|
+
# set to None if failed (nullable) is None
|
98
|
+
# and __fields_set__ contains the field
|
99
|
+
if self.failed is None and "failed" in self.__fields_set__:
|
100
|
+
_dict['failed'] = None
|
101
|
+
|
102
|
+
# set to None if metadata (nullable) is None
|
103
|
+
# and __fields_set__ contains the field
|
104
|
+
if self.metadata is None and "metadata" in self.__fields_set__:
|
105
|
+
_dict['metadata'] = None
|
106
|
+
|
107
|
+
# set to None if links (nullable) is None
|
108
|
+
# and __fields_set__ contains the field
|
109
|
+
if self.links is None and "links" in self.__fields_set__:
|
110
|
+
_dict['links'] = None
|
111
|
+
|
112
|
+
return _dict
|
113
|
+
|
114
|
+
@classmethod
|
115
|
+
def from_dict(cls, obj: dict) -> BatchUpdateUserReviewForComparisonResultResponse:
|
116
|
+
"""Create an instance of BatchUpdateUserReviewForComparisonResultResponse from a dict"""
|
117
|
+
if obj is None:
|
118
|
+
return None
|
119
|
+
|
120
|
+
if not isinstance(obj, dict):
|
121
|
+
return BatchUpdateUserReviewForComparisonResultResponse.parse_obj(obj)
|
122
|
+
|
123
|
+
_obj = BatchUpdateUserReviewForComparisonResultResponse.parse_obj({
|
124
|
+
"values": dict(
|
125
|
+
(_k, GroupReconciliationComparisonResult.from_dict(_v))
|
126
|
+
for _k, _v in obj.get("values").items()
|
127
|
+
)
|
128
|
+
if obj.get("values") is not None
|
129
|
+
else None,
|
130
|
+
"failed": dict(
|
131
|
+
(_k, ErrorDetail.from_dict(_v))
|
132
|
+
for _k, _v in obj.get("failed").items()
|
133
|
+
)
|
134
|
+
if obj.get("failed") is not None
|
135
|
+
else None,
|
136
|
+
"metadata": dict(
|
137
|
+
(_k,
|
138
|
+
[ResponseMetaData.from_dict(_item) for _item in _v]
|
139
|
+
if _v is not None
|
140
|
+
else None
|
141
|
+
)
|
142
|
+
for _k, _v in obj.get("metadata").items()
|
143
|
+
),
|
144
|
+
"links": [Link.from_dict(_item) for _item in obj.get("links")] if obj.get("links") is not None else None
|
145
|
+
})
|
146
|
+
return _obj
|
lusid/models/equity_option.py
CHANGED
@@ -40,9 +40,10 @@ class EquityOption(LusidInstrument):
|
|
40
40
|
number_of_shares: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="numberOfShares", description="The amount of shares to exchange if the option is exercised.")
|
41
41
|
premium: Optional[Premium] = None
|
42
42
|
exercise_type: Optional[StrictStr] = Field(None, alias="exerciseType", description="Type of optionality that is present; European, American. Supported string (enumeration) values are: [European, American].")
|
43
|
+
underlying: Optional[LusidInstrument] = None
|
43
44
|
instrument_type: StrictStr = Field(..., alias="instrumentType", description="The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash, Cash, MasteredInstrument, LoanFacility")
|
44
45
|
additional_properties: Dict[str, Any] = {}
|
45
|
-
__properties = ["instrumentType", "startDate", "optionMaturityDate", "optionSettlementDate", "deliveryType", "optionType", "strike", "domCcy", "underlyingIdentifier", "code", "equityOptionType", "numberOfShares", "premium", "exerciseType"]
|
46
|
+
__properties = ["instrumentType", "startDate", "optionMaturityDate", "optionSettlementDate", "deliveryType", "optionType", "strike", "domCcy", "underlyingIdentifier", "code", "equityOptionType", "numberOfShares", "premium", "exerciseType", "underlying"]
|
46
47
|
|
47
48
|
@validator('instrument_type')
|
48
49
|
def instrument_type_validate_enum(cls, value):
|
@@ -79,6 +80,9 @@ class EquityOption(LusidInstrument):
|
|
79
80
|
# override the default output from pydantic by calling `to_dict()` of premium
|
80
81
|
if self.premium:
|
81
82
|
_dict['premium'] = self.premium.to_dict()
|
83
|
+
# override the default output from pydantic by calling `to_dict()` of underlying
|
84
|
+
if self.underlying:
|
85
|
+
_dict['underlying'] = self.underlying.to_dict()
|
82
86
|
# puts key-value pairs in additional_properties in the top level
|
83
87
|
if self.additional_properties is not None:
|
84
88
|
for _key, _value in self.additional_properties.items():
|
@@ -124,7 +128,8 @@ class EquityOption(LusidInstrument):
|
|
124
128
|
"equity_option_type": obj.get("equityOptionType"),
|
125
129
|
"number_of_shares": obj.get("numberOfShares"),
|
126
130
|
"premium": Premium.from_dict(obj.get("premium")) if obj.get("premium") is not None else None,
|
127
|
-
"exercise_type": obj.get("exerciseType")
|
131
|
+
"exercise_type": obj.get("exerciseType"),
|
132
|
+
"underlying": LusidInstrument.from_dict(obj.get("underlying")) if obj.get("underlying") is not None else None
|
128
133
|
})
|
129
134
|
# store additional fields in additional_properties
|
130
135
|
for _key in obj.keys():
|
@@ -33,7 +33,7 @@ class ExchangeTradedOptionContractDetails(BaseModel):
|
|
33
33
|
delivery_type: constr(strict=True, min_length=1) = Field(..., alias="deliveryType", description="The delivery type, cash or physical. An option on a future is physically settled if upon exercising the holder receives a future. Supported string (enumeration) values are: [Cash, Physical].")
|
34
34
|
description: constr(strict=True, min_length=1) = Field(..., description="Description of contract")
|
35
35
|
exchange_code: constr(strict=True, min_length=1) = Field(..., alias="exchangeCode", description="Exchange code for contract. This can be any string to uniquely identify the exchange (e.g. Exchange Name, MIC, BBG code).")
|
36
|
-
exercise_date: datetime = Field(..., alias="exerciseDate", description="
|
36
|
+
exercise_date: datetime = Field(..., alias="exerciseDate", description="The last exercise date of the option.")
|
37
37
|
exercise_type: constr(strict=True, min_length=1) = Field(..., alias="exerciseType", description="The exercise type, European, American or Bermudan. Supported string (enumeration) values are: [European, Bermudan, American].")
|
38
38
|
option_code: constr(strict=True, min_length=1) = Field(..., alias="optionCode", description="Option Contract Code, typically one or two letters, e.g. OG => Option on Gold.")
|
39
39
|
option_type: constr(strict=True, min_length=1) = Field(..., alias="optionType", description="The option type, Call or Put. Supported string (enumeration) values are: [Call, Put].")
|
@@ -0,0 +1,88 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
"""
|
4
|
+
LUSID API
|
5
|
+
|
6
|
+
FINBOURNE Technology # noqa: E501
|
7
|
+
|
8
|
+
Contact: info@finbourne.com
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
10
|
+
|
11
|
+
Do not edit the class manually.
|
12
|
+
"""
|
13
|
+
|
14
|
+
|
15
|
+
from __future__ import annotations
|
16
|
+
import pprint
|
17
|
+
import re # noqa: F401
|
18
|
+
import json
|
19
|
+
|
20
|
+
|
21
|
+
from typing import Any, Dict, Optional
|
22
|
+
from pydantic.v1 import BaseModel, Field, StrictStr
|
23
|
+
|
24
|
+
class GroupReconciliationUserReviewAdd(BaseModel):
|
25
|
+
"""
|
26
|
+
GroupReconciliationUserReviewAdd
|
27
|
+
"""
|
28
|
+
break_code: Optional[StrictStr] = Field(None, alias="breakCode", description="The break code of the reconciliation result.")
|
29
|
+
match_key: Optional[StrictStr] = Field(None, alias="matchKey", description="The match key of the reconciliation result.")
|
30
|
+
comment_text: Optional[StrictStr] = Field(None, alias="commentText", description="User's comment regarding the reconciliation result.")
|
31
|
+
__properties = ["breakCode", "matchKey", "commentText"]
|
32
|
+
|
33
|
+
class Config:
|
34
|
+
"""Pydantic configuration"""
|
35
|
+
allow_population_by_field_name = True
|
36
|
+
validate_assignment = True
|
37
|
+
|
38
|
+
def to_str(self) -> str:
|
39
|
+
"""Returns the string representation of the model using alias"""
|
40
|
+
return pprint.pformat(self.dict(by_alias=True))
|
41
|
+
|
42
|
+
def to_json(self) -> str:
|
43
|
+
"""Returns the JSON representation of the model using alias"""
|
44
|
+
return json.dumps(self.to_dict())
|
45
|
+
|
46
|
+
@classmethod
|
47
|
+
def from_json(cls, json_str: str) -> GroupReconciliationUserReviewAdd:
|
48
|
+
"""Create an instance of GroupReconciliationUserReviewAdd from a JSON string"""
|
49
|
+
return cls.from_dict(json.loads(json_str))
|
50
|
+
|
51
|
+
def to_dict(self):
|
52
|
+
"""Returns the dictionary representation of the model using alias"""
|
53
|
+
_dict = self.dict(by_alias=True,
|
54
|
+
exclude={
|
55
|
+
},
|
56
|
+
exclude_none=True)
|
57
|
+
# set to None if break_code (nullable) is None
|
58
|
+
# and __fields_set__ contains the field
|
59
|
+
if self.break_code is None and "break_code" in self.__fields_set__:
|
60
|
+
_dict['breakCode'] = None
|
61
|
+
|
62
|
+
# set to None if match_key (nullable) is None
|
63
|
+
# and __fields_set__ contains the field
|
64
|
+
if self.match_key is None and "match_key" in self.__fields_set__:
|
65
|
+
_dict['matchKey'] = None
|
66
|
+
|
67
|
+
# set to None if comment_text (nullable) is None
|
68
|
+
# and __fields_set__ contains the field
|
69
|
+
if self.comment_text is None and "comment_text" in self.__fields_set__:
|
70
|
+
_dict['commentText'] = None
|
71
|
+
|
72
|
+
return _dict
|
73
|
+
|
74
|
+
@classmethod
|
75
|
+
def from_dict(cls, obj: dict) -> GroupReconciliationUserReviewAdd:
|
76
|
+
"""Create an instance of GroupReconciliationUserReviewAdd from a dict"""
|
77
|
+
if obj is None:
|
78
|
+
return None
|
79
|
+
|
80
|
+
if not isinstance(obj, dict):
|
81
|
+
return GroupReconciliationUserReviewAdd.parse_obj(obj)
|
82
|
+
|
83
|
+
_obj = GroupReconciliationUserReviewAdd.parse_obj({
|
84
|
+
"break_code": obj.get("breakCode"),
|
85
|
+
"match_key": obj.get("matchKey"),
|
86
|
+
"comment_text": obj.get("commentText")
|
87
|
+
})
|
88
|
+
return _obj
|
@@ -0,0 +1,88 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
"""
|
4
|
+
LUSID API
|
5
|
+
|
6
|
+
FINBOURNE Technology # noqa: E501
|
7
|
+
|
8
|
+
Contact: info@finbourne.com
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
10
|
+
|
11
|
+
Do not edit the class manually.
|
12
|
+
"""
|
13
|
+
|
14
|
+
|
15
|
+
from __future__ import annotations
|
16
|
+
import pprint
|
17
|
+
import re # noqa: F401
|
18
|
+
import json
|
19
|
+
|
20
|
+
from datetime import datetime
|
21
|
+
from typing import Any, Dict, Optional
|
22
|
+
from pydantic.v1 import BaseModel, Field
|
23
|
+
|
24
|
+
class GroupReconciliationUserReviewRemove(BaseModel):
|
25
|
+
"""
|
26
|
+
GroupReconciliationUserReviewRemove
|
27
|
+
"""
|
28
|
+
break_code_as_at_added: Optional[datetime] = Field(None, alias="breakCodeAsAtAdded", description="The timestamp of the added User Review input.")
|
29
|
+
match_key_as_at_added: Optional[datetime] = Field(None, alias="matchKeyAsAtAdded", description="The timestamp of the added User Review input.")
|
30
|
+
comment_text_as_at_added: Optional[datetime] = Field(None, alias="commentTextAsAtAdded", description="The timestamp of the added User Review input.")
|
31
|
+
__properties = ["breakCodeAsAtAdded", "matchKeyAsAtAdded", "commentTextAsAtAdded"]
|
32
|
+
|
33
|
+
class Config:
|
34
|
+
"""Pydantic configuration"""
|
35
|
+
allow_population_by_field_name = True
|
36
|
+
validate_assignment = True
|
37
|
+
|
38
|
+
def to_str(self) -> str:
|
39
|
+
"""Returns the string representation of the model using alias"""
|
40
|
+
return pprint.pformat(self.dict(by_alias=True))
|
41
|
+
|
42
|
+
def to_json(self) -> str:
|
43
|
+
"""Returns the JSON representation of the model using alias"""
|
44
|
+
return json.dumps(self.to_dict())
|
45
|
+
|
46
|
+
@classmethod
|
47
|
+
def from_json(cls, json_str: str) -> GroupReconciliationUserReviewRemove:
|
48
|
+
"""Create an instance of GroupReconciliationUserReviewRemove from a JSON string"""
|
49
|
+
return cls.from_dict(json.loads(json_str))
|
50
|
+
|
51
|
+
def to_dict(self):
|
52
|
+
"""Returns the dictionary representation of the model using alias"""
|
53
|
+
_dict = self.dict(by_alias=True,
|
54
|
+
exclude={
|
55
|
+
},
|
56
|
+
exclude_none=True)
|
57
|
+
# set to None if break_code_as_at_added (nullable) is None
|
58
|
+
# and __fields_set__ contains the field
|
59
|
+
if self.break_code_as_at_added is None and "break_code_as_at_added" in self.__fields_set__:
|
60
|
+
_dict['breakCodeAsAtAdded'] = None
|
61
|
+
|
62
|
+
# set to None if match_key_as_at_added (nullable) is None
|
63
|
+
# and __fields_set__ contains the field
|
64
|
+
if self.match_key_as_at_added is None and "match_key_as_at_added" in self.__fields_set__:
|
65
|
+
_dict['matchKeyAsAtAdded'] = None
|
66
|
+
|
67
|
+
# set to None if comment_text_as_at_added (nullable) is None
|
68
|
+
# and __fields_set__ contains the field
|
69
|
+
if self.comment_text_as_at_added is None and "comment_text_as_at_added" in self.__fields_set__:
|
70
|
+
_dict['commentTextAsAtAdded'] = None
|
71
|
+
|
72
|
+
return _dict
|
73
|
+
|
74
|
+
@classmethod
|
75
|
+
def from_dict(cls, obj: dict) -> GroupReconciliationUserReviewRemove:
|
76
|
+
"""Create an instance of GroupReconciliationUserReviewRemove from a dict"""
|
77
|
+
if obj is None:
|
78
|
+
return None
|
79
|
+
|
80
|
+
if not isinstance(obj, dict):
|
81
|
+
return GroupReconciliationUserReviewRemove.parse_obj(obj)
|
82
|
+
|
83
|
+
_obj = GroupReconciliationUserReviewRemove.parse_obj({
|
84
|
+
"break_code_as_at_added": obj.get("breakCodeAsAtAdded"),
|
85
|
+
"match_key_as_at_added": obj.get("matchKeyAsAtAdded"),
|
86
|
+
"comment_text_as_at_added": obj.get("commentTextAsAtAdded")
|
87
|
+
})
|
88
|
+
return _obj
|
lusid/models/target_tax_lot.py
CHANGED
@@ -32,7 +32,10 @@ class TargetTaxLot(BaseModel):
|
|
32
32
|
price: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="The purchase price of each unit of the instrument held in this tax-lot. This forms part of the unique key required for multiple tax-lots.")
|
33
33
|
purchase_date: Optional[datetime] = Field(None, alias="purchaseDate", description="The purchase date of this tax-lot. This forms part of the unique key required for multiple tax-lots.")
|
34
34
|
settlement_date: Optional[datetime] = Field(None, alias="settlementDate", description="The settlement date of the tax-lot's opening transaction.")
|
35
|
-
|
35
|
+
notional_cost: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="notionalCost", description="The notional cost of the tax-lot's opening transaction.")
|
36
|
+
variation_margin: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="variationMargin", description="The variation margin of the tax-lot's opening transaction.")
|
37
|
+
variation_margin_portfolio_ccy: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="variationMarginPortfolioCcy", description="The variation margin in portfolio currency of the tax-lot's opening transaction.")
|
38
|
+
__properties = ["units", "cost", "portfolioCost", "price", "purchaseDate", "settlementDate", "notionalCost", "variationMargin", "variationMarginPortfolioCcy"]
|
36
39
|
|
37
40
|
class Config:
|
38
41
|
"""Pydantic configuration"""
|
@@ -81,6 +84,21 @@ class TargetTaxLot(BaseModel):
|
|
81
84
|
if self.settlement_date is None and "settlement_date" in self.__fields_set__:
|
82
85
|
_dict['settlementDate'] = None
|
83
86
|
|
87
|
+
# set to None if notional_cost (nullable) is None
|
88
|
+
# and __fields_set__ contains the field
|
89
|
+
if self.notional_cost is None and "notional_cost" in self.__fields_set__:
|
90
|
+
_dict['notionalCost'] = None
|
91
|
+
|
92
|
+
# set to None if variation_margin (nullable) is None
|
93
|
+
# and __fields_set__ contains the field
|
94
|
+
if self.variation_margin is None and "variation_margin" in self.__fields_set__:
|
95
|
+
_dict['variationMargin'] = None
|
96
|
+
|
97
|
+
# set to None if variation_margin_portfolio_ccy (nullable) is None
|
98
|
+
# and __fields_set__ contains the field
|
99
|
+
if self.variation_margin_portfolio_ccy is None and "variation_margin_portfolio_ccy" in self.__fields_set__:
|
100
|
+
_dict['variationMarginPortfolioCcy'] = None
|
101
|
+
|
84
102
|
return _dict
|
85
103
|
|
86
104
|
@classmethod
|
@@ -98,6 +116,9 @@ class TargetTaxLot(BaseModel):
|
|
98
116
|
"portfolio_cost": obj.get("portfolioCost"),
|
99
117
|
"price": obj.get("price"),
|
100
118
|
"purchase_date": obj.get("purchaseDate"),
|
101
|
-
"settlement_date": obj.get("settlementDate")
|
119
|
+
"settlement_date": obj.get("settlementDate"),
|
120
|
+
"notional_cost": obj.get("notionalCost"),
|
121
|
+
"variation_margin": obj.get("variationMargin"),
|
122
|
+
"variation_margin_portfolio_ccy": obj.get("variationMarginPortfolioCcy")
|
102
123
|
})
|
103
124
|
return _obj
|
@@ -32,7 +32,10 @@ class TargetTaxLotRequest(BaseModel):
|
|
32
32
|
price: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="The purchase price of each unit of the instrument held in this tax-lot. This forms part of the unique key required for multiple tax-lots.")
|
33
33
|
purchase_date: Optional[datetime] = Field(None, alias="purchaseDate", description="The purchase date of this tax-lot. This forms part of the unique key required for multiple tax-lots.")
|
34
34
|
settlement_date: Optional[datetime] = Field(None, alias="settlementDate", description="The settlement date of the tax-lot's opening transaction.")
|
35
|
-
|
35
|
+
notional_cost: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="notionalCost", description="The notional cost of the tax-lot's opening transaction.")
|
36
|
+
variation_margin: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="variationMargin", description="The variation margin of the tax-lot's opening transaction.")
|
37
|
+
variation_margin_portfolio_ccy: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="variationMarginPortfolioCcy", description="The variation margin in portfolio currency of the tax-lot's opening transaction.")
|
38
|
+
__properties = ["units", "cost", "portfolioCost", "price", "purchaseDate", "settlementDate", "notionalCost", "variationMargin", "variationMarginPortfolioCcy"]
|
36
39
|
|
37
40
|
class Config:
|
38
41
|
"""Pydantic configuration"""
|
@@ -81,6 +84,21 @@ class TargetTaxLotRequest(BaseModel):
|
|
81
84
|
if self.settlement_date is None and "settlement_date" in self.__fields_set__:
|
82
85
|
_dict['settlementDate'] = None
|
83
86
|
|
87
|
+
# set to None if notional_cost (nullable) is None
|
88
|
+
# and __fields_set__ contains the field
|
89
|
+
if self.notional_cost is None and "notional_cost" in self.__fields_set__:
|
90
|
+
_dict['notionalCost'] = None
|
91
|
+
|
92
|
+
# set to None if variation_margin (nullable) is None
|
93
|
+
# and __fields_set__ contains the field
|
94
|
+
if self.variation_margin is None and "variation_margin" in self.__fields_set__:
|
95
|
+
_dict['variationMargin'] = None
|
96
|
+
|
97
|
+
# set to None if variation_margin_portfolio_ccy (nullable) is None
|
98
|
+
# and __fields_set__ contains the field
|
99
|
+
if self.variation_margin_portfolio_ccy is None and "variation_margin_portfolio_ccy" in self.__fields_set__:
|
100
|
+
_dict['variationMarginPortfolioCcy'] = None
|
101
|
+
|
84
102
|
return _dict
|
85
103
|
|
86
104
|
@classmethod
|
@@ -98,6 +116,9 @@ class TargetTaxLotRequest(BaseModel):
|
|
98
116
|
"portfolio_cost": obj.get("portfolioCost"),
|
99
117
|
"price": obj.get("price"),
|
100
118
|
"purchase_date": obj.get("purchaseDate"),
|
101
|
-
"settlement_date": obj.get("settlementDate")
|
119
|
+
"settlement_date": obj.get("settlementDate"),
|
120
|
+
"notional_cost": obj.get("notionalCost"),
|
121
|
+
"variation_margin": obj.get("variationMargin"),
|
122
|
+
"variation_margin_portfolio_ccy": obj.get("variationMarginPortfolioCcy")
|
102
123
|
})
|
103
124
|
return _obj
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: lusid-sdk
|
3
|
-
Version: 2.1.
|
3
|
+
Version: 2.1.515
|
4
4
|
Summary: LUSID API
|
5
5
|
Home-page: https://github.com/finbourne/lusid-sdk-python
|
6
6
|
License: MIT
|
@@ -255,6 +255,7 @@ Class | Method | HTTP request | Description
|
|
255
255
|
*FundsApi* | [**upsert_diary_entry_type_valuation_point**](docs/FundsApi.md#upsert_diary_entry_type_valuation_point) | **POST** /api/funds/{scope}/{code}/valuationpoints | [EXPERIMENTAL] UpsertDiaryEntryTypeValuationPoint: Upsert Valuation Point.
|
256
256
|
*FundsApi* | [**upsert_fee_properties**](docs/FundsApi.md#upsert_fee_properties) | **POST** /api/funds/{scope}/{code}/fees/{feeCode}/properties/$upsert | [EXPERIMENTAL] UpsertFeeProperties: Upsert Fee properties.
|
257
257
|
*FundsApi* | [**upsert_fund_properties**](docs/FundsApi.md#upsert_fund_properties) | **POST** /api/funds/{scope}/{code}/properties/$upsert | [EXPERIMENTAL] UpsertFundProperties: Upsert Fund properties.
|
258
|
+
*GroupReconciliationsApi* | [**batch_update_comparison_results**](docs/GroupReconciliationsApi.md#batch_update_comparison_results) | **POST** /api/reconciliations/groupreconciliationdefinitions/{scope}/{code}/comparisonresults/$batchReview | [EXPERIMENTAL] BatchUpdateComparisonResults: Add User Review entries for a range of comparison results related to a specific GroupReconciliationDefinition.
|
258
259
|
*GroupReconciliationsApi* | [**create_comparison_ruleset**](docs/GroupReconciliationsApi.md#create_comparison_ruleset) | **POST** /api/reconciliations/comparisonrulesets | [EXPERIMENTAL] CreateComparisonRuleset: Create a Group Reconciliation Comparison Ruleset
|
259
260
|
*GroupReconciliationsApi* | [**create_group_reconciliation_definition**](docs/GroupReconciliationsApi.md#create_group_reconciliation_definition) | **POST** /api/reconciliations/groupreconciliationdefinitions | [EXPERIMENTAL] CreateGroupReconciliationDefinition: Create Group Reconciliation Definition
|
260
261
|
*GroupReconciliationsApi* | [**delete_comparison_ruleset**](docs/GroupReconciliationsApi.md#delete_comparison_ruleset) | **DELETE** /api/reconciliations/comparisonrulesets/{scope}/{code} | [EXPERIMENTAL] DeleteComparisonRuleset: Deletes a particular Group Reconciliation Comparison Ruleset
|
@@ -690,6 +691,8 @@ Class | Method | HTTP request | Description
|
|
690
691
|
- [Basket](docs/Basket.md)
|
691
692
|
- [BasketIdentifier](docs/BasketIdentifier.md)
|
692
693
|
- [BatchAdjustHoldingsResponse](docs/BatchAdjustHoldingsResponse.md)
|
694
|
+
- [BatchUpdateUserReviewForComparisonResultRequest](docs/BatchUpdateUserReviewForComparisonResultRequest.md)
|
695
|
+
- [BatchUpdateUserReviewForComparisonResultResponse](docs/BatchUpdateUserReviewForComparisonResultResponse.md)
|
693
696
|
- [BatchUpsertDatesForCalendarResponse](docs/BatchUpsertDatesForCalendarResponse.md)
|
694
697
|
- [BatchUpsertInstrumentPropertiesResponse](docs/BatchUpsertInstrumentPropertiesResponse.md)
|
695
698
|
- [BatchUpsertPortfolioAccessMetadataRequest](docs/BatchUpsertPortfolioAccessMetadataRequest.md)
|
@@ -1067,9 +1070,11 @@ Class | Method | HTTP request | Description
|
|
1067
1070
|
- [GroupReconciliationRunResponse](docs/GroupReconciliationRunResponse.md)
|
1068
1071
|
- [GroupReconciliationSummary](docs/GroupReconciliationSummary.md)
|
1069
1072
|
- [GroupReconciliationUserReview](docs/GroupReconciliationUserReview.md)
|
1073
|
+
- [GroupReconciliationUserReviewAdd](docs/GroupReconciliationUserReviewAdd.md)
|
1070
1074
|
- [GroupReconciliationUserReviewBreakCode](docs/GroupReconciliationUserReviewBreakCode.md)
|
1071
1075
|
- [GroupReconciliationUserReviewComment](docs/GroupReconciliationUserReviewComment.md)
|
1072
1076
|
- [GroupReconciliationUserReviewMatchKey](docs/GroupReconciliationUserReviewMatchKey.md)
|
1077
|
+
- [GroupReconciliationUserReviewRemove](docs/GroupReconciliationUserReviewRemove.md)
|
1073
1078
|
- [GroupedResultOfAddressKey](docs/GroupedResultOfAddressKey.md)
|
1074
1079
|
- [HoldingAdjustment](docs/HoldingAdjustment.md)
|
1075
1080
|
- [HoldingAdjustmentWithDate](docs/HoldingAdjustmentWithDate.md)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
lusid/__init__.py,sha256=
|
1
|
+
lusid/__init__.py,sha256=exwougLvof23B3q2U4izCZMyUUUsPCSV1GGoD8jd3IE,127573
|
2
2
|
lusid/api/__init__.py,sha256=6h2et93uMZgjdpV3C3_ITp_VbSBlwYu5BtqZ2puZPoI,5821
|
3
3
|
lusid/api/abor_api.py,sha256=CC0f6Aqqiqkgmpguvoqe8teU0bRRuc771AdUSyI4rJw,158222
|
4
4
|
lusid/api/abor_configuration_api.py,sha256=TmssMn5ni0mZV1q7LyPXYhBqqUGJqLYZapo8By8DFuI,63875
|
@@ -27,7 +27,7 @@ lusid/api/executions_api.py,sha256=QW6_mT0rsZTiW1R5tG-_fa-UT6khiMYfHsnapbzlVmo,4
|
|
27
27
|
lusid/api/fee_types_api.py,sha256=vcDM_7QOAX0LjNz5Wr7lTV_LVYtrmhZ8-59-ZRjL2Sg,55933
|
28
28
|
lusid/api/fund_configuration_api.py,sha256=sItl8nbm7PsJYVZYMLWKtGQG80y_y6LP7D_r6NjxbOc,74272
|
29
29
|
lusid/api/funds_api.py,sha256=cfiP9aomuX9SNepJfrF8FpEy1_2rSg0ROPZDGVKU-aU,224540
|
30
|
-
lusid/api/group_reconciliations_api.py,sha256=
|
30
|
+
lusid/api/group_reconciliations_api.py,sha256=0zuSvNM9c61ZhzdxSCVen_y3-y9gPeykflxgNzv9-8U,167598
|
31
31
|
lusid/api/instrument_event_types_api.py,sha256=G4gpfM6eWl77dtF3DC7b0lUOby_EREyLmXTxSyo9-ew,81296
|
32
32
|
lusid/api/instrument_events_api.py,sha256=HJoC-pHztF2jKfX5xhXItEn3svBya8RNzd_hMDbmZKI,58350
|
33
33
|
lusid/api/instruments_api.py,sha256=bsFgBfz5dPAd4uNxrWn5m0m8B7ne85z10jvVagL3FWs,293269
|
@@ -70,7 +70,7 @@ lusid/api/translation_api.py,sha256=nIyuLncCvVC5k2d7Nm32zR8AQ1dkrVm1OThkmELY_OM,
|
|
70
70
|
lusid/api/workspace_api.py,sha256=mYQPqFUVf1VKYeWQUV5VkcdSqwejSmPDGd66Az86-_E,191319
|
71
71
|
lusid/api_client.py,sha256=ewMTmf9SRurY8pYnUx9jy24RdldPCOa4US38pnrVxjA,31140
|
72
72
|
lusid/api_response.py,sha256=6-gnhty6lu8MMAERt3_kTVD7UxQgWFfcjgpcq6iN5IU,855
|
73
|
-
lusid/configuration.py,sha256=
|
73
|
+
lusid/configuration.py,sha256=xXddz9f5JHcM52RpAzqke9XZn5IXjejiJAgQ3uUPM0U,17972
|
74
74
|
lusid/exceptions.py,sha256=HIQwgmQrszLlcVCLaqex8dO0laVuejUyOMz7U2ZWJ6s,5326
|
75
75
|
lusid/extensions/__init__.py,sha256=dzDHEzpn-9smd2-_UMWQzeyX6Ha4jGf6fnqx7qxKxNI,630
|
76
76
|
lusid/extensions/api_client.py,sha256=GzygWg_h603QK1QS2HvAijuE2R1TnvoF6-Yg0CeM3ug,30943
|
@@ -85,7 +85,7 @@ lusid/extensions/rest.py,sha256=dp-bD_LMR2zAL1tmC3-urhWKLomXx7r5iGN1VteMBVQ,1601
|
|
85
85
|
lusid/extensions/retry.py,sha256=EhW9OKJmGHipxN3H7eROH5DiMlAnfBVl95NQrttcsdg,14834
|
86
86
|
lusid/extensions/socket_keep_alive.py,sha256=NGlqsv-E25IjJOLGZhXZY6kUdx51nEF8qCQyVdzayRk,1653
|
87
87
|
lusid/extensions/tcp_keep_alive_connector.py,sha256=zaGtUsygRsxB1_4B3x39K3ILwztdhMLDv5bFZV7zmGE,3877
|
88
|
-
lusid/models/__init__.py,sha256=
|
88
|
+
lusid/models/__init__.py,sha256=73WiAF0zZb91-aFsIRdCeZRnJlJKKGeASHsOKfwYGSk,120720
|
89
89
|
lusid/models/a2_b_breakdown.py,sha256=Txi12EIQw3mH6NM-25QkOnHSQc3BVAWrP7yl9bZswSY,2947
|
90
90
|
lusid/models/a2_b_category.py,sha256=k6NPAACi0CUjKyhdQac4obQSrPmp2PXD6lkAtCnyEFM,2725
|
91
91
|
lusid/models/a2_b_data_record.py,sha256=zKGS2P4fzNpzdcGJiSIpkY4P3d_jAcawYfyuPCDeQgk,9737
|
@@ -143,13 +143,15 @@ lusid/models/amount.py,sha256=2Yg4t7pUw1LBK2OFzXY-fesXvIGejXMO2dvriNHABZg,1793
|
|
143
143
|
lusid/models/annul_quotes_response.py,sha256=mYZSWeQx2veyirZnrWl2HWLB1nLYxqfLC-kAD87L2Qo,4347
|
144
144
|
lusid/models/annul_single_structured_data_response.py,sha256=8PLdLJ-9anIqCr8JYhYQnfwVvfEEMjY8euqfdvHTNKM,3328
|
145
145
|
lusid/models/annul_structured_data_response.py,sha256=m_PPmlTTJmHWbjwlFVOY4fRS8O1eL2K5ZZYLWyjcXJM,4499
|
146
|
-
lusid/models/applicable_instrument_event.py,sha256=
|
146
|
+
lusid/models/applicable_instrument_event.py,sha256=E2rfA-mlBf0knNeWTFRvjIAfTaKLoYzSDBCf1YpPbL0,6946
|
147
147
|
lusid/models/asset_class.py,sha256=yurc1IbYS3HCMRBncPFfIl8pBiYnt64MP4tiBYJ8usU,793
|
148
148
|
lusid/models/asset_leg.py,sha256=8wh1kb3gWB0FF1VTD-nkx58zOfRV3R-CJNXquBLIvEo,2625
|
149
149
|
lusid/models/barrier.py,sha256=NP7eTStjcFn5wV3KkKPnwCOjQpmbIp5aMm8rJmpwjmU,2745
|
150
150
|
lusid/models/basket.py,sha256=Yh6emkzaAELuu7KrkHQF7yU0Cf09U2YzV4NNc0XJwCo,6067
|
151
151
|
lusid/models/basket_identifier.py,sha256=Fn2M8buKDbj7h9_1TSEpwsqICFdkPtF6_YI_Wc6KDJw,2562
|
152
152
|
lusid/models/batch_adjust_holdings_response.py,sha256=G7YVmb6acbhitvRw_Vs7oAXTcxS5zt844jybc4lXOCY,5687
|
153
|
+
lusid/models/batch_update_user_review_for_comparison_result_request.py,sha256=Q7jwihDXRNjCWA6c3QIM5E0GCeQjmibUob4FdyNwOII,3505
|
154
|
+
lusid/models/batch_update_user_review_for_comparison_result_response.py,sha256=DGlIi-d1rLpR2N0sG51Tg4NYxqfcOgTn63dc1dfmFK4,5992
|
153
155
|
lusid/models/batch_upsert_dates_for_calendar_response.py,sha256=ps4wkj03c4gvQv4-E9iec-t25b2CVxBXR8xcBct9P_A,5692
|
154
156
|
lusid/models/batch_upsert_instrument_properties_response.py,sha256=5ZYvAlLZDj9iZ6NytbqzFN11K46Jeum8bLQIw7qx1o4,4543
|
155
157
|
lusid/models/batch_upsert_portfolio_access_metadata_request.py,sha256=fT9WgSY2l_L54ptjkUe9lP6DinS9j7Ax_J8T5SlMmTs,3278
|
@@ -396,7 +398,7 @@ lusid/models/equity_all_of_identifiers.py,sha256=WrnLJAqy2KOa84viXXZ5tyVDjAlQZ7Z
|
|
396
398
|
lusid/models/equity_curve_by_prices_data.py,sha256=bfvm9uAlWWiI_jhLacOXk-v_IvdyTF-pqkopNR0ZFss,5621
|
397
399
|
lusid/models/equity_curve_dependency.py,sha256=bXyEO_TzvZtxmi16cFQYZwL9W6qApALe5pIHC4M8jRc,5028
|
398
400
|
lusid/models/equity_model_options.py,sha256=taOqGGZiLmchhJRrv8wjvrKPKCh32njkp0DgfwAb7AE,3698
|
399
|
-
lusid/models/equity_option.py,sha256=
|
401
|
+
lusid/models/equity_option.py,sha256=P7HA9TwaR2_FB53AjU2__OF5p_vXW1CYlquBvyufsIo,9253
|
400
402
|
lusid/models/equity_swap.py,sha256=7Cx4rwmc_EkIAuF8YODYDBATM17BuCRhL1TeeD2Mgog,9522
|
401
403
|
lusid/models/equity_vol_dependency.py,sha256=GcZrPW9sJS5nKXBjVNjcUKIp4UDeovABErfg6uZXGH0,4909
|
402
404
|
lusid/models/equity_vol_surface_data.py,sha256=INLwejaCYkya6fjf_rrG33B_z2FFcgFaIEwWUokfh2Y,5865
|
@@ -404,7 +406,7 @@ lusid/models/error_detail.py,sha256=XkNJc5yCGsIri9wDciaONqobIbADaU90i5UrI71WM4c,
|
|
404
406
|
lusid/models/event_date_range.py,sha256=5JHxchKA0cjiv_dgYzDUrnj08Za90WDasnXpP9pM85s,2252
|
405
407
|
lusid/models/ex_dividend_configuration.py,sha256=TFJwnRyy5TBp3jTYUkV9zc2Av5Zc3TVWl8ukfQOU2Kc,3511
|
406
408
|
lusid/models/exchange_traded_option.py,sha256=b01E6S7CUPsFfm4Yh9LHxJj59CBKNOjr_iO8tIDro2U,6181
|
407
|
-
lusid/models/exchange_traded_option_contract_details.py,sha256=
|
409
|
+
lusid/models/exchange_traded_option_contract_details.py,sha256=deXRIMrBJkkIdUHM3gsk2-ff1rFkBUZrDNtfe8yoe3E,5601
|
408
410
|
lusid/models/execution.py,sha256=xgTGRwDwyKoIs2Pr1bO2gyqCZse_xbUX-FawwhMDgS8,8094
|
409
411
|
lusid/models/execution_request.py,sha256=QIRsZXIKhl_YftXWBWjaT1IZuvIzSi766FWAx7I6Qlc,6720
|
410
412
|
lusid/models/execution_set_request.py,sha256=CXGgbdH8abVfPqnUs4J1xR_mHI3byH4ES_T7IGDm0nM,2672
|
@@ -527,9 +529,11 @@ lusid/models/group_reconciliation_run_request.py,sha256=_VCLVJIPxQPzq1PwRKY5yiPY
|
|
527
529
|
lusid/models/group_reconciliation_run_response.py,sha256=E63Hnj7WyvJ81xD0EMbdj2aYvnCoi2-eU_ocwCWatLg,2769
|
528
530
|
lusid/models/group_reconciliation_summary.py,sha256=iYBU-D6AqP7hELgDzurHKu56gHHfP3GUc1XUHekPn7k,7056
|
529
531
|
lusid/models/group_reconciliation_user_review.py,sha256=RmmfuG7AY5CTGZ-V1zizIp2DHnnAaeaMjT3WQ6ytNFs,4954
|
532
|
+
lusid/models/group_reconciliation_user_review_add.py,sha256=tJzFtb62BlXLtcRw6NQ6zSVqGDI4eDVvZ78619SRzIY,3121
|
530
533
|
lusid/models/group_reconciliation_user_review_break_code.py,sha256=z9FDs7OiD2HM_3mjXRw9oRsHUnyTfAZ7syKjycCaYRw,3049
|
531
534
|
lusid/models/group_reconciliation_user_review_comment.py,sha256=OyFRv1tKph4NG9JDgRT6ihTQJt98z4hxoGOBq40d5k4,3050
|
532
535
|
lusid/models/group_reconciliation_user_review_match_key.py,sha256=Zr5OygFLv-4HpceAQcFAbNuUnkC5olsK684G6KOpRuM,3035
|
536
|
+
lusid/models/group_reconciliation_user_review_remove.py,sha256=dgbh3QcLx-to4gvS2G9QAhZd8FKfPavYqG9Ab9xzsqk,3445
|
533
537
|
lusid/models/grouped_result_of_address_key.py,sha256=0QJiqtjI9E1HAVTk7z-djloCLgmBzmPo4F89lPnDGRM,3114
|
534
538
|
lusid/models/holding_adjustment.py,sha256=r1aezT3lh-Gk0DED9Oost7ZDjYUHPd8kNzIayfTU3EM,6451
|
535
539
|
lusid/models/holding_adjustment_with_date.py,sha256=NYeZyehQe5lE7G0Yh0nukm236WUHgrTjcCI-wpIwCMo,6726
|
@@ -1041,8 +1045,8 @@ lusid/models/structured_result_data_id.py,sha256=R15RxvxzgMy9R4zW0Ya1fSaYpMsXSij
|
|
1041
1045
|
lusid/models/sub_holding_key_value_equals.py,sha256=2puONsExwFEYItLhbzwdwo-C2B5VVRYfJwbcDviclDg,3498
|
1042
1046
|
lusid/models/swap_cash_flow_event.py,sha256=rVON6lFAKJkD10fJj8A9m1-4eRknlvvu487dR3V-ofA,6687
|
1043
1047
|
lusid/models/swap_principal_event.py,sha256=OjL02OqOJdJdAOI4FuW7TePE2UP7Jvqhud3KPwl7bYA,6691
|
1044
|
-
lusid/models/target_tax_lot.py,sha256=
|
1045
|
-
lusid/models/target_tax_lot_request.py,sha256=
|
1048
|
+
lusid/models/target_tax_lot.py,sha256=86FGFBYlSmW2dcqCwMDpSlU-17FchhVP_V6EDZzs9fw,5894
|
1049
|
+
lusid/models/target_tax_lot_request.py,sha256=Q9U5dEZviQQjeH6xXVVHhYzFZi281sZQrJ-UYmh8eNM,5888
|
1046
1050
|
lusid/models/tax_rule.py,sha256=Mwc712YrMyeqXxJB6aUgNjCxy872or0_dtoNUZFNOBw,3530
|
1047
1051
|
lusid/models/tax_rule_set.py,sha256=aBWdkCHrurQHB4ZdyVUxOj0CJaZ6muaCcCenCtpJlqc,5007
|
1048
1052
|
lusid/models/template_field.py,sha256=uwh7AKQ-BnT54KvMZrVmyi3o0NUUzmtLvxwoXHwNs9A,2473
|
@@ -1216,6 +1220,6 @@ lusid/models/workspace_update_request.py,sha256=uUXEpX-dJ5UiL9w1wMxIFeovSBiTJ-vi
|
|
1216
1220
|
lusid/models/yield_curve_data.py,sha256=SbxvdJ4-GWK9kpMdw4Fnxc7_kvIMwgsRsd_31UJn7nw,6330
|
1217
1221
|
lusid/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1218
1222
|
lusid/rest.py,sha256=HQT__5LQEMu6_1sLKvYj-DI4FH1DJXBIPYfZCTTyrY4,13431
|
1219
|
-
lusid_sdk-2.1.
|
1220
|
-
lusid_sdk-2.1.
|
1221
|
-
lusid_sdk-2.1.
|
1223
|
+
lusid_sdk-2.1.515.dist-info/METADATA,sha256=AoQLx_qwxZqLc60ZAOyhVsSteV5JGGd6YscbKc2ytZ4,208509
|
1224
|
+
lusid_sdk-2.1.515.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
1225
|
+
lusid_sdk-2.1.515.dist-info/RECORD,,
|
File without changes
|