lusid-sdk 2.1.394__py3-none-any.whl → 2.1.400__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/portfolios_api.py +179 -0
- lusid/configuration.py +1 -1
- lusid/models/__init__.py +8 -0
- lusid/models/batch_upsert_portfolio_access_metadata_request.py +82 -0
- lusid/models/batch_upsert_portfolio_access_metadata_response.py +82 -0
- lusid/models/metadata_key_value.py +86 -0
- lusid/models/metadata_key_value_response.py +86 -0
- lusid/models/staged_modification.py +8 -1
- {lusid_sdk-2.1.394.dist-info → lusid_sdk-2.1.400.dist-info}/METADATA +6 -1
- {lusid_sdk-2.1.394.dist-info → lusid_sdk-2.1.400.dist-info}/RECORD +12 -8
- {lusid_sdk-2.1.394.dist-info → lusid_sdk-2.1.400.dist-info}/WHEEL +0 -0
lusid/__init__.py
CHANGED
@@ -159,6 +159,8 @@ from lusid.models.basket import Basket
|
|
159
159
|
from lusid.models.basket_identifier import BasketIdentifier
|
160
160
|
from lusid.models.batch_adjust_holdings_response import BatchAdjustHoldingsResponse
|
161
161
|
from lusid.models.batch_upsert_instrument_properties_response import BatchUpsertInstrumentPropertiesResponse
|
162
|
+
from lusid.models.batch_upsert_portfolio_access_metadata_request import BatchUpsertPortfolioAccessMetadataRequest
|
163
|
+
from lusid.models.batch_upsert_portfolio_access_metadata_response import BatchUpsertPortfolioAccessMetadataResponse
|
162
164
|
from lusid.models.batch_upsert_portfolio_transactions_response import BatchUpsertPortfolioTransactionsResponse
|
163
165
|
from lusid.models.batch_upsert_property_definition_properties_response import BatchUpsertPropertyDefinitionPropertiesResponse
|
164
166
|
from lusid.models.block import Block
|
@@ -597,6 +599,8 @@ from lusid.models.market_quote import MarketQuote
|
|
597
599
|
from lusid.models.match_criterion import MatchCriterion
|
598
600
|
from lusid.models.maturity_event import MaturityEvent
|
599
601
|
from lusid.models.merger_event import MergerEvent
|
602
|
+
from lusid.models.metadata_key_value import MetadataKeyValue
|
603
|
+
from lusid.models.metadata_key_value_response import MetadataKeyValueResponse
|
600
604
|
from lusid.models.metric_value import MetricValue
|
601
605
|
from lusid.models.model_options import ModelOptions
|
602
606
|
from lusid.models.model_options_type import ModelOptionsType
|
@@ -1303,6 +1307,8 @@ __all__ = [
|
|
1303
1307
|
"BasketIdentifier",
|
1304
1308
|
"BatchAdjustHoldingsResponse",
|
1305
1309
|
"BatchUpsertInstrumentPropertiesResponse",
|
1310
|
+
"BatchUpsertPortfolioAccessMetadataRequest",
|
1311
|
+
"BatchUpsertPortfolioAccessMetadataResponse",
|
1306
1312
|
"BatchUpsertPortfolioTransactionsResponse",
|
1307
1313
|
"BatchUpsertPropertyDefinitionPropertiesResponse",
|
1308
1314
|
"Block",
|
@@ -1741,6 +1747,8 @@ __all__ = [
|
|
1741
1747
|
"MatchCriterion",
|
1742
1748
|
"MaturityEvent",
|
1743
1749
|
"MergerEvent",
|
1750
|
+
"MetadataKeyValue",
|
1751
|
+
"MetadataKeyValueResponse",
|
1744
1752
|
"MetricValue",
|
1745
1753
|
"ModelOptions",
|
1746
1754
|
"ModelOptionsType",
|
lusid/api/portfolios_api.py
CHANGED
@@ -31,6 +31,8 @@ from lusid.models.access_metadata_value import AccessMetadataValue
|
|
31
31
|
from lusid.models.aggregated_returns_dispersion_request import AggregatedReturnsDispersionRequest
|
32
32
|
from lusid.models.aggregated_returns_request import AggregatedReturnsRequest
|
33
33
|
from lusid.models.aggregated_returns_response import AggregatedReturnsResponse
|
34
|
+
from lusid.models.batch_upsert_portfolio_access_metadata_request import BatchUpsertPortfolioAccessMetadataRequest
|
35
|
+
from lusid.models.batch_upsert_portfolio_access_metadata_response import BatchUpsertPortfolioAccessMetadataResponse
|
34
36
|
from lusid.models.composite_breakdown_request import CompositeBreakdownRequest
|
35
37
|
from lusid.models.composite_breakdown_response import CompositeBreakdownResponse
|
36
38
|
from lusid.models.composite_dispersion_response import CompositeDispersionResponse
|
@@ -77,6 +79,183 @@ class PortfoliosApi:
|
|
77
79
|
api_client = ApiClient.get_default()
|
78
80
|
self.api_client = api_client
|
79
81
|
|
82
|
+
@overload
|
83
|
+
async def batch_upsert_portfolio_access_metadata(self, batch_upsert_portfolio_access_metadata_request : Annotated[BatchUpsertPortfolioAccessMetadataRequest, Field(..., description="The Portfolio Access Metadata Rule to update or insert")], effective_at : Annotated[Optional[StrictStr], Field(description="The date this rule will effective from")] = None, effective_until : Annotated[Optional[datetime], Field(description="The effective date until which the Access Metadata is valid. If not supplied this will be valid indefinitely, or until the next 'effectiveAt' date of the Access Metadata")] = None, **kwargs) -> BatchUpsertPortfolioAccessMetadataResponse: # noqa: E501
|
84
|
+
...
|
85
|
+
|
86
|
+
@overload
|
87
|
+
def batch_upsert_portfolio_access_metadata(self, batch_upsert_portfolio_access_metadata_request : Annotated[BatchUpsertPortfolioAccessMetadataRequest, Field(..., description="The Portfolio Access Metadata Rule to update or insert")], effective_at : Annotated[Optional[StrictStr], Field(description="The date this rule will effective from")] = None, effective_until : Annotated[Optional[datetime], Field(description="The effective date until which the Access Metadata is valid. If not supplied this will be valid indefinitely, or until the next 'effectiveAt' date of the Access Metadata")] = None, async_req: Optional[bool]=True, **kwargs) -> BatchUpsertPortfolioAccessMetadataResponse: # noqa: E501
|
88
|
+
...
|
89
|
+
|
90
|
+
@validate_arguments
|
91
|
+
def batch_upsert_portfolio_access_metadata(self, batch_upsert_portfolio_access_metadata_request : Annotated[BatchUpsertPortfolioAccessMetadataRequest, Field(..., description="The Portfolio Access Metadata Rule to update or insert")], effective_at : Annotated[Optional[StrictStr], Field(description="The date this rule will effective from")] = None, effective_until : Annotated[Optional[datetime], Field(description="The effective date until which the Access Metadata is valid. If not supplied this will be valid indefinitely, or until the next 'effectiveAt' date of the Access Metadata")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[BatchUpsertPortfolioAccessMetadataResponse, Awaitable[BatchUpsertPortfolioAccessMetadataResponse]]: # noqa: E501
|
92
|
+
"""[EXPERIMENTAL] BatchUpsertPortfolioAccessMetadata: Upsert multiple portfolio access metadata with different keys to multiple portfolios # noqa: E501
|
93
|
+
|
94
|
+
Update or insert multiple Portfolios Access Metadata Rule in multiple scopes. Items will be updated if it already exists and inserted if it does not. No other items will be affected The response will return the successfully updated or inserted Portfolio Access Metadata Rules or failure message if unsuccessful It is important to always check to verify success (or failure). Multiple rules for a metadataKey can exist with different effective at dates, when resources are accessed the rule that is active for the current time will be fetched # noqa: E501
|
95
|
+
This method makes a synchronous HTTP request by default. To make an
|
96
|
+
asynchronous HTTP request, please pass async_req=True
|
97
|
+
|
98
|
+
>>> thread = api.batch_upsert_portfolio_access_metadata(batch_upsert_portfolio_access_metadata_request, effective_at, effective_until, async_req=True)
|
99
|
+
>>> result = thread.get()
|
100
|
+
|
101
|
+
:param batch_upsert_portfolio_access_metadata_request: The Portfolio Access Metadata Rule to update or insert (required)
|
102
|
+
:type batch_upsert_portfolio_access_metadata_request: BatchUpsertPortfolioAccessMetadataRequest
|
103
|
+
:param effective_at: The date this rule will effective from
|
104
|
+
:type effective_at: str
|
105
|
+
:param effective_until: The effective date until which the Access Metadata is valid. If not supplied this will be valid indefinitely, or until the next 'effectiveAt' date of the Access Metadata
|
106
|
+
:type effective_until: datetime
|
107
|
+
:param async_req: Whether to execute the request asynchronously.
|
108
|
+
:type async_req: bool, optional
|
109
|
+
:param _request_timeout: timeout setting for this request.
|
110
|
+
If one number provided, it will be total request
|
111
|
+
timeout. It can also be a pair (tuple) of
|
112
|
+
(connection, read) timeouts.
|
113
|
+
:return: Returns the result object.
|
114
|
+
If the method is called asynchronously,
|
115
|
+
returns the request thread.
|
116
|
+
:rtype: BatchUpsertPortfolioAccessMetadataResponse
|
117
|
+
"""
|
118
|
+
kwargs['_return_http_data_only'] = True
|
119
|
+
if '_preload_content' in kwargs:
|
120
|
+
message = "Error! Please call the batch_upsert_portfolio_access_metadata_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
|
121
|
+
raise ValueError(message)
|
122
|
+
if async_req is not None:
|
123
|
+
kwargs['async_req'] = async_req
|
124
|
+
return self.batch_upsert_portfolio_access_metadata_with_http_info(batch_upsert_portfolio_access_metadata_request, effective_at, effective_until, **kwargs) # noqa: E501
|
125
|
+
|
126
|
+
@validate_arguments
|
127
|
+
def batch_upsert_portfolio_access_metadata_with_http_info(self, batch_upsert_portfolio_access_metadata_request : Annotated[BatchUpsertPortfolioAccessMetadataRequest, Field(..., description="The Portfolio Access Metadata Rule to update or insert")], effective_at : Annotated[Optional[StrictStr], Field(description="The date this rule will effective from")] = None, effective_until : Annotated[Optional[datetime], Field(description="The effective date until which the Access Metadata is valid. If not supplied this will be valid indefinitely, or until the next 'effectiveAt' date of the Access Metadata")] = None, **kwargs) -> ApiResponse: # noqa: E501
|
128
|
+
"""[EXPERIMENTAL] BatchUpsertPortfolioAccessMetadata: Upsert multiple portfolio access metadata with different keys to multiple portfolios # noqa: E501
|
129
|
+
|
130
|
+
Update or insert multiple Portfolios Access Metadata Rule in multiple scopes. Items will be updated if it already exists and inserted if it does not. No other items will be affected The response will return the successfully updated or inserted Portfolio Access Metadata Rules or failure message if unsuccessful It is important to always check to verify success (or failure). Multiple rules for a metadataKey can exist with different effective at dates, when resources are accessed the rule that is active for the current time will be fetched # noqa: E501
|
131
|
+
This method makes a synchronous HTTP request by default. To make an
|
132
|
+
asynchronous HTTP request, please pass async_req=True
|
133
|
+
|
134
|
+
>>> thread = api.batch_upsert_portfolio_access_metadata_with_http_info(batch_upsert_portfolio_access_metadata_request, effective_at, effective_until, async_req=True)
|
135
|
+
>>> result = thread.get()
|
136
|
+
|
137
|
+
:param batch_upsert_portfolio_access_metadata_request: The Portfolio Access Metadata Rule to update or insert (required)
|
138
|
+
:type batch_upsert_portfolio_access_metadata_request: BatchUpsertPortfolioAccessMetadataRequest
|
139
|
+
:param effective_at: The date this rule will effective from
|
140
|
+
:type effective_at: str
|
141
|
+
:param effective_until: The effective date until which the Access Metadata is valid. If not supplied this will be valid indefinitely, or until the next 'effectiveAt' date of the Access Metadata
|
142
|
+
:type effective_until: datetime
|
143
|
+
:param async_req: Whether to execute the request asynchronously.
|
144
|
+
:type async_req: bool, optional
|
145
|
+
:param _preload_content: if False, the ApiResponse.data will
|
146
|
+
be set to none and raw_data will store the
|
147
|
+
HTTP response body without reading/decoding.
|
148
|
+
Default is True.
|
149
|
+
:type _preload_content: bool, optional
|
150
|
+
:param _return_http_data_only: response data instead of ApiResponse
|
151
|
+
object with status code, headers, etc
|
152
|
+
:type _return_http_data_only: bool, optional
|
153
|
+
:param _request_timeout: timeout setting for this request. If one
|
154
|
+
number provided, it will be total request
|
155
|
+
timeout. It can also be a pair (tuple) of
|
156
|
+
(connection, read) timeouts.
|
157
|
+
:param _request_auth: set to override the auth_settings for an a single
|
158
|
+
request; this effectively ignores the authentication
|
159
|
+
in the spec for a single request.
|
160
|
+
:type _request_auth: dict, optional
|
161
|
+
:type _content_type: string, optional: force content-type for the request
|
162
|
+
:return: Returns the result object.
|
163
|
+
If the method is called asynchronously,
|
164
|
+
returns the request thread.
|
165
|
+
:rtype: tuple(BatchUpsertPortfolioAccessMetadataResponse, status_code(int), headers(HTTPHeaderDict))
|
166
|
+
"""
|
167
|
+
|
168
|
+
_params = locals()
|
169
|
+
|
170
|
+
_all_params = [
|
171
|
+
'batch_upsert_portfolio_access_metadata_request',
|
172
|
+
'effective_at',
|
173
|
+
'effective_until'
|
174
|
+
]
|
175
|
+
_all_params.extend(
|
176
|
+
[
|
177
|
+
'async_req',
|
178
|
+
'_return_http_data_only',
|
179
|
+
'_preload_content',
|
180
|
+
'_request_timeout',
|
181
|
+
'_request_auth',
|
182
|
+
'_content_type',
|
183
|
+
'_headers'
|
184
|
+
]
|
185
|
+
)
|
186
|
+
|
187
|
+
# validate the arguments
|
188
|
+
for _key, _val in _params['kwargs'].items():
|
189
|
+
if _key not in _all_params:
|
190
|
+
raise ApiTypeError(
|
191
|
+
"Got an unexpected keyword argument '%s'"
|
192
|
+
" to method batch_upsert_portfolio_access_metadata" % _key
|
193
|
+
)
|
194
|
+
_params[_key] = _val
|
195
|
+
del _params['kwargs']
|
196
|
+
|
197
|
+
_collection_formats = {}
|
198
|
+
|
199
|
+
# process the path parameters
|
200
|
+
_path_params = {}
|
201
|
+
|
202
|
+
# process the query parameters
|
203
|
+
_query_params = []
|
204
|
+
if _params.get('effective_at') is not None: # noqa: E501
|
205
|
+
_query_params.append(('effectiveAt', _params['effective_at']))
|
206
|
+
|
207
|
+
if _params.get('effective_until') is not None: # noqa: E501
|
208
|
+
if isinstance(_params['effective_until'], datetime):
|
209
|
+
_query_params.append(('effectiveUntil', _params['effective_until'].strftime(self.api_client.configuration.datetime_format)))
|
210
|
+
else:
|
211
|
+
_query_params.append(('effectiveUntil', _params['effective_until']))
|
212
|
+
|
213
|
+
# process the header parameters
|
214
|
+
_header_params = dict(_params.get('_headers', {}))
|
215
|
+
# process the form parameters
|
216
|
+
_form_params = []
|
217
|
+
_files = {}
|
218
|
+
# process the body parameter
|
219
|
+
_body_params = None
|
220
|
+
if _params['batch_upsert_portfolio_access_metadata_request'] is not None:
|
221
|
+
_body_params = _params['batch_upsert_portfolio_access_metadata_request']
|
222
|
+
|
223
|
+
# set the HTTP header `Accept`
|
224
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
225
|
+
['text/plain', 'application/json', 'text/json']) # noqa: E501
|
226
|
+
|
227
|
+
# set the HTTP header `Content-Type`
|
228
|
+
_content_types_list = _params.get('_content_type',
|
229
|
+
self.api_client.select_header_content_type(
|
230
|
+
['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
|
231
|
+
if _content_types_list:
|
232
|
+
_header_params['Content-Type'] = _content_types_list
|
233
|
+
|
234
|
+
# authentication setting
|
235
|
+
_auth_settings = ['oauth2'] # noqa: E501
|
236
|
+
|
237
|
+
_response_types_map = {
|
238
|
+
'200': "BatchUpsertPortfolioAccessMetadataResponse",
|
239
|
+
'400': "LusidValidationProblemDetails",
|
240
|
+
}
|
241
|
+
|
242
|
+
return self.api_client.call_api(
|
243
|
+
'/api/portfolios/metadata', 'PUT',
|
244
|
+
_path_params,
|
245
|
+
_query_params,
|
246
|
+
_header_params,
|
247
|
+
body=_body_params,
|
248
|
+
post_params=_form_params,
|
249
|
+
files=_files,
|
250
|
+
response_types_map=_response_types_map,
|
251
|
+
auth_settings=_auth_settings,
|
252
|
+
async_req=_params.get('async_req'),
|
253
|
+
_return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
|
254
|
+
_preload_content=_params.get('_preload_content', True),
|
255
|
+
_request_timeout=_params.get('_request_timeout'),
|
256
|
+
collection_formats=_collection_formats,
|
257
|
+
_request_auth=_params.get('_request_auth'))
|
258
|
+
|
80
259
|
@overload
|
81
260
|
async def delete_instrument_event_instruction(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the portfolio. Together with the scope this uniquely identifies the portfolio.")], instrument_event_instruction_id : Annotated[StrictStr, Field(..., description="The id of the instruction to be deleted.")], portfolio_effective_at : Annotated[Optional[constr(strict=True, max_length=6000, min_length=0)], Field(description="The effective date at which the portfolio will be resolved. Defaults to current time if not specified.")] = None, **kwargs) -> DeletedEntityResponse: # noqa: E501
|
82
261
|
...
|
lusid/configuration.py
CHANGED
@@ -382,7 +382,7 @@ class Configuration:
|
|
382
382
|
return "Python SDK Debug Report:\n"\
|
383
383
|
"OS: {env}\n"\
|
384
384
|
"Python Version: {pyversion}\n"\
|
385
|
-
"Version of the API: 0.11.
|
385
|
+
"Version of the API: 0.11.6830\n"\
|
386
386
|
"SDK Package Version: {package_version}".\
|
387
387
|
format(env=sys.platform, pyversion=sys.version, package_version=package_version)
|
388
388
|
|
lusid/models/__init__.py
CHANGED
@@ -78,6 +78,8 @@ from lusid.models.basket import Basket
|
|
78
78
|
from lusid.models.basket_identifier import BasketIdentifier
|
79
79
|
from lusid.models.batch_adjust_holdings_response import BatchAdjustHoldingsResponse
|
80
80
|
from lusid.models.batch_upsert_instrument_properties_response import BatchUpsertInstrumentPropertiesResponse
|
81
|
+
from lusid.models.batch_upsert_portfolio_access_metadata_request import BatchUpsertPortfolioAccessMetadataRequest
|
82
|
+
from lusid.models.batch_upsert_portfolio_access_metadata_response import BatchUpsertPortfolioAccessMetadataResponse
|
81
83
|
from lusid.models.batch_upsert_portfolio_transactions_response import BatchUpsertPortfolioTransactionsResponse
|
82
84
|
from lusid.models.batch_upsert_property_definition_properties_response import BatchUpsertPropertyDefinitionPropertiesResponse
|
83
85
|
from lusid.models.block import Block
|
@@ -516,6 +518,8 @@ from lusid.models.market_quote import MarketQuote
|
|
516
518
|
from lusid.models.match_criterion import MatchCriterion
|
517
519
|
from lusid.models.maturity_event import MaturityEvent
|
518
520
|
from lusid.models.merger_event import MergerEvent
|
521
|
+
from lusid.models.metadata_key_value import MetadataKeyValue
|
522
|
+
from lusid.models.metadata_key_value_response import MetadataKeyValueResponse
|
519
523
|
from lusid.models.metric_value import MetricValue
|
520
524
|
from lusid.models.model_options import ModelOptions
|
521
525
|
from lusid.models.model_options_type import ModelOptionsType
|
@@ -1142,6 +1146,8 @@ __all__ = [
|
|
1142
1146
|
"BasketIdentifier",
|
1143
1147
|
"BatchAdjustHoldingsResponse",
|
1144
1148
|
"BatchUpsertInstrumentPropertiesResponse",
|
1149
|
+
"BatchUpsertPortfolioAccessMetadataRequest",
|
1150
|
+
"BatchUpsertPortfolioAccessMetadataResponse",
|
1145
1151
|
"BatchUpsertPortfolioTransactionsResponse",
|
1146
1152
|
"BatchUpsertPropertyDefinitionPropertiesResponse",
|
1147
1153
|
"Block",
|
@@ -1580,6 +1586,8 @@ __all__ = [
|
|
1580
1586
|
"MatchCriterion",
|
1581
1587
|
"MaturityEvent",
|
1582
1588
|
"MergerEvent",
|
1589
|
+
"MetadataKeyValue",
|
1590
|
+
"MetadataKeyValueResponse",
|
1583
1591
|
"MetricValue",
|
1584
1592
|
"ModelOptions",
|
1585
1593
|
"ModelOptionsType",
|
@@ -0,0 +1,82 @@
|
|
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
|
22
|
+
from pydantic.v1 import BaseModel, Field
|
23
|
+
from lusid.models.metadata_key_value import MetadataKeyValue
|
24
|
+
|
25
|
+
class BatchUpsertPortfolioAccessMetadataRequest(BaseModel):
|
26
|
+
"""
|
27
|
+
BatchUpsertPortfolioAccessMetadataRequest
|
28
|
+
"""
|
29
|
+
portfolios_with_metadata: Dict[str, MetadataKeyValue] = Field(..., alias="portfoliosWithMetadata", description="The set of portfolios with the access control metadata")
|
30
|
+
__properties = ["portfoliosWithMetadata"]
|
31
|
+
|
32
|
+
class Config:
|
33
|
+
"""Pydantic configuration"""
|
34
|
+
allow_population_by_field_name = True
|
35
|
+
validate_assignment = True
|
36
|
+
|
37
|
+
def to_str(self) -> str:
|
38
|
+
"""Returns the string representation of the model using alias"""
|
39
|
+
return pprint.pformat(self.dict(by_alias=True))
|
40
|
+
|
41
|
+
def to_json(self) -> str:
|
42
|
+
"""Returns the JSON representation of the model using alias"""
|
43
|
+
return json.dumps(self.to_dict())
|
44
|
+
|
45
|
+
@classmethod
|
46
|
+
def from_json(cls, json_str: str) -> BatchUpsertPortfolioAccessMetadataRequest:
|
47
|
+
"""Create an instance of BatchUpsertPortfolioAccessMetadataRequest from a JSON string"""
|
48
|
+
return cls.from_dict(json.loads(json_str))
|
49
|
+
|
50
|
+
def to_dict(self):
|
51
|
+
"""Returns the dictionary representation of the model using alias"""
|
52
|
+
_dict = self.dict(by_alias=True,
|
53
|
+
exclude={
|
54
|
+
},
|
55
|
+
exclude_none=True)
|
56
|
+
# override the default output from pydantic by calling `to_dict()` of each value in portfolios_with_metadata (dict)
|
57
|
+
_field_dict = {}
|
58
|
+
if self.portfolios_with_metadata:
|
59
|
+
for _key in self.portfolios_with_metadata:
|
60
|
+
if self.portfolios_with_metadata[_key]:
|
61
|
+
_field_dict[_key] = self.portfolios_with_metadata[_key].to_dict()
|
62
|
+
_dict['portfoliosWithMetadata'] = _field_dict
|
63
|
+
return _dict
|
64
|
+
|
65
|
+
@classmethod
|
66
|
+
def from_dict(cls, obj: dict) -> BatchUpsertPortfolioAccessMetadataRequest:
|
67
|
+
"""Create an instance of BatchUpsertPortfolioAccessMetadataRequest from a dict"""
|
68
|
+
if obj is None:
|
69
|
+
return None
|
70
|
+
|
71
|
+
if not isinstance(obj, dict):
|
72
|
+
return BatchUpsertPortfolioAccessMetadataRequest.parse_obj(obj)
|
73
|
+
|
74
|
+
_obj = BatchUpsertPortfolioAccessMetadataRequest.parse_obj({
|
75
|
+
"portfolios_with_metadata": dict(
|
76
|
+
(_k, MetadataKeyValue.from_dict(_v))
|
77
|
+
for _k, _v in obj.get("portfoliosWithMetadata").items()
|
78
|
+
)
|
79
|
+
if obj.get("portfoliosWithMetadata") is not None
|
80
|
+
else None
|
81
|
+
})
|
82
|
+
return _obj
|
@@ -0,0 +1,82 @@
|
|
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
|
22
|
+
from pydantic.v1 import BaseModel, Field
|
23
|
+
from lusid.models.metadata_key_value_response import MetadataKeyValueResponse
|
24
|
+
|
25
|
+
class BatchUpsertPortfolioAccessMetadataResponse(BaseModel):
|
26
|
+
"""
|
27
|
+
BatchUpsertPortfolioAccessMetadataResponse
|
28
|
+
"""
|
29
|
+
portfolios_with_metadata: Dict[str, MetadataKeyValueResponse] = Field(..., alias="portfoliosWithMetadata", description="The set of portfolios with the access control metadata")
|
30
|
+
__properties = ["portfoliosWithMetadata"]
|
31
|
+
|
32
|
+
class Config:
|
33
|
+
"""Pydantic configuration"""
|
34
|
+
allow_population_by_field_name = True
|
35
|
+
validate_assignment = True
|
36
|
+
|
37
|
+
def to_str(self) -> str:
|
38
|
+
"""Returns the string representation of the model using alias"""
|
39
|
+
return pprint.pformat(self.dict(by_alias=True))
|
40
|
+
|
41
|
+
def to_json(self) -> str:
|
42
|
+
"""Returns the JSON representation of the model using alias"""
|
43
|
+
return json.dumps(self.to_dict())
|
44
|
+
|
45
|
+
@classmethod
|
46
|
+
def from_json(cls, json_str: str) -> BatchUpsertPortfolioAccessMetadataResponse:
|
47
|
+
"""Create an instance of BatchUpsertPortfolioAccessMetadataResponse from a JSON string"""
|
48
|
+
return cls.from_dict(json.loads(json_str))
|
49
|
+
|
50
|
+
def to_dict(self):
|
51
|
+
"""Returns the dictionary representation of the model using alias"""
|
52
|
+
_dict = self.dict(by_alias=True,
|
53
|
+
exclude={
|
54
|
+
},
|
55
|
+
exclude_none=True)
|
56
|
+
# override the default output from pydantic by calling `to_dict()` of each value in portfolios_with_metadata (dict)
|
57
|
+
_field_dict = {}
|
58
|
+
if self.portfolios_with_metadata:
|
59
|
+
for _key in self.portfolios_with_metadata:
|
60
|
+
if self.portfolios_with_metadata[_key]:
|
61
|
+
_field_dict[_key] = self.portfolios_with_metadata[_key].to_dict()
|
62
|
+
_dict['portfoliosWithMetadata'] = _field_dict
|
63
|
+
return _dict
|
64
|
+
|
65
|
+
@classmethod
|
66
|
+
def from_dict(cls, obj: dict) -> BatchUpsertPortfolioAccessMetadataResponse:
|
67
|
+
"""Create an instance of BatchUpsertPortfolioAccessMetadataResponse from a dict"""
|
68
|
+
if obj is None:
|
69
|
+
return None
|
70
|
+
|
71
|
+
if not isinstance(obj, dict):
|
72
|
+
return BatchUpsertPortfolioAccessMetadataResponse.parse_obj(obj)
|
73
|
+
|
74
|
+
_obj = BatchUpsertPortfolioAccessMetadataResponse.parse_obj({
|
75
|
+
"portfolios_with_metadata": dict(
|
76
|
+
(_k, MetadataKeyValueResponse.from_dict(_v))
|
77
|
+
for _k, _v in obj.get("portfoliosWithMetadata").items()
|
78
|
+
)
|
79
|
+
if obj.get("portfoliosWithMetadata") is not None
|
80
|
+
else None
|
81
|
+
})
|
82
|
+
return _obj
|
@@ -0,0 +1,86 @@
|
|
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
|
22
|
+
from pydantic.v1 import BaseModel, Field, conlist
|
23
|
+
from lusid.models.access_metadata_value import AccessMetadataValue
|
24
|
+
|
25
|
+
class MetadataKeyValue(BaseModel):
|
26
|
+
"""
|
27
|
+
MetadataKeyValue
|
28
|
+
"""
|
29
|
+
metadata: Dict[str, conlist(AccessMetadataValue)] = Field(...)
|
30
|
+
__properties = ["metadata"]
|
31
|
+
|
32
|
+
class Config:
|
33
|
+
"""Pydantic configuration"""
|
34
|
+
allow_population_by_field_name = True
|
35
|
+
validate_assignment = True
|
36
|
+
|
37
|
+
def to_str(self) -> str:
|
38
|
+
"""Returns the string representation of the model using alias"""
|
39
|
+
return pprint.pformat(self.dict(by_alias=True))
|
40
|
+
|
41
|
+
def to_json(self) -> str:
|
42
|
+
"""Returns the JSON representation of the model using alias"""
|
43
|
+
return json.dumps(self.to_dict())
|
44
|
+
|
45
|
+
@classmethod
|
46
|
+
def from_json(cls, json_str: str) -> MetadataKeyValue:
|
47
|
+
"""Create an instance of MetadataKeyValue from a JSON string"""
|
48
|
+
return cls.from_dict(json.loads(json_str))
|
49
|
+
|
50
|
+
def to_dict(self):
|
51
|
+
"""Returns the dictionary representation of the model using alias"""
|
52
|
+
_dict = self.dict(by_alias=True,
|
53
|
+
exclude={
|
54
|
+
},
|
55
|
+
exclude_none=True)
|
56
|
+
# override the default output from pydantic by calling `to_dict()` of each value in metadata (dict of array)
|
57
|
+
_field_dict_of_array = {}
|
58
|
+
if self.metadata:
|
59
|
+
for _key in self.metadata:
|
60
|
+
if self.metadata[_key]:
|
61
|
+
_field_dict_of_array[_key] = [
|
62
|
+
_item.to_dict() for _item in self.metadata[_key]
|
63
|
+
]
|
64
|
+
_dict['metadata'] = _field_dict_of_array
|
65
|
+
return _dict
|
66
|
+
|
67
|
+
@classmethod
|
68
|
+
def from_dict(cls, obj: dict) -> MetadataKeyValue:
|
69
|
+
"""Create an instance of MetadataKeyValue from a dict"""
|
70
|
+
if obj is None:
|
71
|
+
return None
|
72
|
+
|
73
|
+
if not isinstance(obj, dict):
|
74
|
+
return MetadataKeyValue.parse_obj(obj)
|
75
|
+
|
76
|
+
_obj = MetadataKeyValue.parse_obj({
|
77
|
+
"metadata": dict(
|
78
|
+
(_k,
|
79
|
+
[AccessMetadataValue.from_dict(_item) for _item in _v]
|
80
|
+
if _v is not None
|
81
|
+
else None
|
82
|
+
)
|
83
|
+
for _k, _v in obj.get("metadata").items()
|
84
|
+
)
|
85
|
+
})
|
86
|
+
return _obj
|
@@ -0,0 +1,86 @@
|
|
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
|
22
|
+
from pydantic.v1 import BaseModel, Field, conlist
|
23
|
+
from lusid.models.access_metadata_value import AccessMetadataValue
|
24
|
+
|
25
|
+
class MetadataKeyValueResponse(BaseModel):
|
26
|
+
"""
|
27
|
+
MetadataKeyValueResponse
|
28
|
+
"""
|
29
|
+
metadata: Dict[str, conlist(AccessMetadataValue)] = Field(...)
|
30
|
+
__properties = ["metadata"]
|
31
|
+
|
32
|
+
class Config:
|
33
|
+
"""Pydantic configuration"""
|
34
|
+
allow_population_by_field_name = True
|
35
|
+
validate_assignment = True
|
36
|
+
|
37
|
+
def to_str(self) -> str:
|
38
|
+
"""Returns the string representation of the model using alias"""
|
39
|
+
return pprint.pformat(self.dict(by_alias=True))
|
40
|
+
|
41
|
+
def to_json(self) -> str:
|
42
|
+
"""Returns the JSON representation of the model using alias"""
|
43
|
+
return json.dumps(self.to_dict())
|
44
|
+
|
45
|
+
@classmethod
|
46
|
+
def from_json(cls, json_str: str) -> MetadataKeyValueResponse:
|
47
|
+
"""Create an instance of MetadataKeyValueResponse from a JSON string"""
|
48
|
+
return cls.from_dict(json.loads(json_str))
|
49
|
+
|
50
|
+
def to_dict(self):
|
51
|
+
"""Returns the dictionary representation of the model using alias"""
|
52
|
+
_dict = self.dict(by_alias=True,
|
53
|
+
exclude={
|
54
|
+
},
|
55
|
+
exclude_none=True)
|
56
|
+
# override the default output from pydantic by calling `to_dict()` of each value in metadata (dict of array)
|
57
|
+
_field_dict_of_array = {}
|
58
|
+
if self.metadata:
|
59
|
+
for _key in self.metadata:
|
60
|
+
if self.metadata[_key]:
|
61
|
+
_field_dict_of_array[_key] = [
|
62
|
+
_item.to_dict() for _item in self.metadata[_key]
|
63
|
+
]
|
64
|
+
_dict['metadata'] = _field_dict_of_array
|
65
|
+
return _dict
|
66
|
+
|
67
|
+
@classmethod
|
68
|
+
def from_dict(cls, obj: dict) -> MetadataKeyValueResponse:
|
69
|
+
"""Create an instance of MetadataKeyValueResponse from a dict"""
|
70
|
+
if obj is None:
|
71
|
+
return None
|
72
|
+
|
73
|
+
if not isinstance(obj, dict):
|
74
|
+
return MetadataKeyValueResponse.parse_obj(obj)
|
75
|
+
|
76
|
+
_obj = MetadataKeyValueResponse.parse_obj({
|
77
|
+
"metadata": dict(
|
78
|
+
(_k,
|
79
|
+
[AccessMetadataValue.from_dict(_item) for _item in _v]
|
80
|
+
if _v is not None
|
81
|
+
else None
|
82
|
+
)
|
83
|
+
for _k, _v in obj.get("metadata").items()
|
84
|
+
)
|
85
|
+
})
|
86
|
+
return _obj
|
@@ -39,6 +39,7 @@ class StagedModification(BaseModel):
|
|
39
39
|
decisions: Optional[conlist(StagedModificationDecision)] = Field(None, description="Object containing information relating to the decision on the staged modification.")
|
40
40
|
decisions_count: Optional[StrictInt] = Field(None, alias="decisionsCount", description="Number of decisions made.")
|
41
41
|
status: Optional[StrictStr] = Field(None, description="The status of the staged modification.")
|
42
|
+
as_at_closed: Optional[datetime] = Field(None, alias="asAtClosed", description="Time at which the modification was closed by either rejection or approval.")
|
42
43
|
entity_type: Optional[StrictStr] = Field(None, alias="entityType", description="The type of the entity that the staged modification applies to.")
|
43
44
|
scope: Optional[StrictStr] = Field(None, description="The scope of the entity that this staged modification applies to.")
|
44
45
|
entity_unique_id: Optional[StrictStr] = Field(None, alias="entityUniqueId", description="The unique Id of the entity the staged modification applies to.")
|
@@ -46,7 +47,7 @@ class StagedModification(BaseModel):
|
|
46
47
|
entity_hrefs: Optional[StagedModificationsEntityHrefs] = Field(None, alias="entityHrefs")
|
47
48
|
display_name: Optional[StrictStr] = Field(None, alias="displayName", description="The display name of the entity the staged modification applies to.")
|
48
49
|
links: Optional[conlist(Link)] = None
|
49
|
-
__properties = ["id", "asAtStaged", "userIdStaged", "requestedIdStaged", "action", "stagingRule", "decisions", "decisionsCount", "status", "entityType", "scope", "entityUniqueId", "requestedChanges", "entityHrefs", "displayName", "links"]
|
50
|
+
__properties = ["id", "asAtStaged", "userIdStaged", "requestedIdStaged", "action", "stagingRule", "decisions", "decisionsCount", "status", "asAtClosed", "entityType", "scope", "entityUniqueId", "requestedChanges", "entityHrefs", "displayName", "links"]
|
50
51
|
|
51
52
|
class Config:
|
52
53
|
"""Pydantic configuration"""
|
@@ -125,6 +126,11 @@ class StagedModification(BaseModel):
|
|
125
126
|
if self.status is None and "status" in self.__fields_set__:
|
126
127
|
_dict['status'] = None
|
127
128
|
|
129
|
+
# set to None if as_at_closed (nullable) is None
|
130
|
+
# and __fields_set__ contains the field
|
131
|
+
if self.as_at_closed is None and "as_at_closed" in self.__fields_set__:
|
132
|
+
_dict['asAtClosed'] = None
|
133
|
+
|
128
134
|
# set to None if entity_type (nullable) is None
|
129
135
|
# and __fields_set__ contains the field
|
130
136
|
if self.entity_type is None and "entity_type" in self.__fields_set__:
|
@@ -171,6 +177,7 @@ class StagedModification(BaseModel):
|
|
171
177
|
"decisions": [StagedModificationDecision.from_dict(_item) for _item in obj.get("decisions")] if obj.get("decisions") is not None else None,
|
172
178
|
"decisions_count": obj.get("decisionsCount"),
|
173
179
|
"status": obj.get("status"),
|
180
|
+
"as_at_closed": obj.get("asAtClosed"),
|
174
181
|
"entity_type": obj.get("entityType"),
|
175
182
|
"scope": obj.get("scope"),
|
176
183
|
"entity_unique_id": obj.get("entityUniqueId"),
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: lusid-sdk
|
3
|
-
Version: 2.1.
|
3
|
+
Version: 2.1.400
|
4
4
|
Summary: LUSID API
|
5
5
|
Home-page: https://github.com/finbourne/lusid-sdk-python
|
6
6
|
License: MIT
|
@@ -384,6 +384,7 @@ Class | Method | HTTP request | Description
|
|
384
384
|
*PortfolioGroupsApi* | [**update_portfolio_group**](docs/PortfolioGroupsApi.md#update_portfolio_group) | **PUT** /api/portfoliogroups/{scope}/{code} | [EARLY ACCESS] UpdatePortfolioGroup: Update portfolio group
|
385
385
|
*PortfolioGroupsApi* | [**upsert_group_properties**](docs/PortfolioGroupsApi.md#upsert_group_properties) | **POST** /api/portfoliogroups/{scope}/{code}/properties/$upsert | [EARLY ACCESS] UpsertGroupProperties: Upsert group properties
|
386
386
|
*PortfolioGroupsApi* | [**upsert_portfolio_group_access_metadata**](docs/PortfolioGroupsApi.md#upsert_portfolio_group_access_metadata) | **PUT** /api/portfoliogroups/{scope}/{code}/metadata/{metadataKey} | UpsertPortfolioGroupAccessMetadata: Upsert a Portfolio Group Access Metadata entry associated with a specific metadataKey. This creates or updates the data in LUSID.
|
387
|
+
*PortfoliosApi* | [**batch_upsert_portfolio_access_metadata**](docs/PortfoliosApi.md#batch_upsert_portfolio_access_metadata) | **PUT** /api/portfolios/metadata | [EXPERIMENTAL] BatchUpsertPortfolioAccessMetadata: Upsert multiple portfolio access metadata with different keys to multiple portfolios
|
387
388
|
*PortfoliosApi* | [**delete_instrument_event_instruction**](docs/PortfoliosApi.md#delete_instrument_event_instruction) | **DELETE** /api/portfolios/{scope}/{code}/instrumenteventinstructions/{instrumentEventInstructionId} | [EARLY ACCESS] DeleteInstrumentEventInstruction: Delete Instrument Event Instruction
|
388
389
|
*PortfoliosApi* | [**delete_key_from_portfolio_access_metadata**](docs/PortfoliosApi.md#delete_key_from_portfolio_access_metadata) | **DELETE** /api/portfolios/{scope}/{code}/metadata/{metadataKey} | DeleteKeyFromPortfolioAccessMetadata: Delete a Portfolio Access Metadata Rule
|
389
390
|
*PortfoliosApi* | [**delete_portfolio**](docs/PortfoliosApi.md#delete_portfolio) | **DELETE** /api/portfolios/{scope}/{code} | DeletePortfolio: Delete portfolio
|
@@ -665,6 +666,8 @@ Class | Method | HTTP request | Description
|
|
665
666
|
- [BasketIdentifier](docs/BasketIdentifier.md)
|
666
667
|
- [BatchAdjustHoldingsResponse](docs/BatchAdjustHoldingsResponse.md)
|
667
668
|
- [BatchUpsertInstrumentPropertiesResponse](docs/BatchUpsertInstrumentPropertiesResponse.md)
|
669
|
+
- [BatchUpsertPortfolioAccessMetadataRequest](docs/BatchUpsertPortfolioAccessMetadataRequest.md)
|
670
|
+
- [BatchUpsertPortfolioAccessMetadataResponse](docs/BatchUpsertPortfolioAccessMetadataResponse.md)
|
668
671
|
- [BatchUpsertPortfolioTransactionsResponse](docs/BatchUpsertPortfolioTransactionsResponse.md)
|
669
672
|
- [BatchUpsertPropertyDefinitionPropertiesResponse](docs/BatchUpsertPropertyDefinitionPropertiesResponse.md)
|
670
673
|
- [Block](docs/Block.md)
|
@@ -1103,6 +1106,8 @@ Class | Method | HTTP request | Description
|
|
1103
1106
|
- [MatchCriterion](docs/MatchCriterion.md)
|
1104
1107
|
- [MaturityEvent](docs/MaturityEvent.md)
|
1105
1108
|
- [MergerEvent](docs/MergerEvent.md)
|
1109
|
+
- [MetadataKeyValue](docs/MetadataKeyValue.md)
|
1110
|
+
- [MetadataKeyValueResponse](docs/MetadataKeyValueResponse.md)
|
1106
1111
|
- [MetricValue](docs/MetricValue.md)
|
1107
1112
|
- [ModelOptions](docs/ModelOptions.md)
|
1108
1113
|
- [ModelOptionsType](docs/ModelOptionsType.md)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
lusid/__init__.py,sha256=
|
1
|
+
lusid/__init__.py,sha256=aAn-r6xm3PnHcGlbs6Y5Ya04Rp32iiwTxUq5RYMgXKs,118638
|
2
2
|
lusid/api/__init__.py,sha256=PcSZQXr1WZ0bijnKFOIf_xpuAuCF6zMxQQZvMecw2U4,5824
|
3
3
|
lusid/api/abor_api.py,sha256=AvgsHuWE7qRSYJhKveBE2htSjHpqqS0VNJrysAfwME0,159655
|
4
4
|
lusid/api/abor_configuration_api.py,sha256=G2bKPtMYOZ2GhUrg-nPJtCa9XIZdZYK7oafcbJWDMP8,64033
|
@@ -42,7 +42,7 @@ lusid/api/participations_api.py,sha256=nlVzeyfE33X9Ue9HC9rqCW3WACEPKBvcrEjFEmT8w
|
|
42
42
|
lusid/api/persons_api.py,sha256=wYB_EaDB9LXTXuSIQr8SIR4h-0NrTgisfwd5uShz8JQ,256317
|
43
43
|
lusid/api/placements_api.py,sha256=bsX7VHZlvnxJiZ3ZPtlJ8md_exerU-Qa_BkHGVRphH8,45797
|
44
44
|
lusid/api/portfolio_groups_api.py,sha256=IueIpi-krYvm5w-I0gkvkYAgxHXfiWejRYcW6DW8400,380452
|
45
|
-
lusid/api/portfolios_api.py,sha256=
|
45
|
+
lusid/api/portfolios_api.py,sha256=K8PpMVwZ4Q-O8TlafI8pdY1NHE4eY_X1R-RtiOGRPzs,433889
|
46
46
|
lusid/api/property_definitions_api.py,sha256=I3aISrQ3USeB-Vkx8OVyakx345aEhPATghGmEtL6ApU,140367
|
47
47
|
lusid/api/queryable_keys_api.py,sha256=1HafmN22bU1bV5H5nua8EZ5oL0pe0LZ5xkVDQTDSezg,10281
|
48
48
|
lusid/api/quotes_api.py,sha256=QPSJ6rFAI-hsvei1QA-PoCzpHRJlcvF_SiCxyGyG678,115595
|
@@ -70,7 +70,7 @@ lusid/api/translation_api.py,sha256=xTAaKEW96JTDIZBXCjxSguCa7Gz4oVd5jdObUE2egwo,
|
|
70
70
|
lusid/api/workspace_api.py,sha256=GtjOpr7UDgtXa3KmlwmFX4LJEa5dg53qzTyfy-FY0d4,192167
|
71
71
|
lusid/api_client.py,sha256=dF6l9RAsdxdQjf6Qn4ny6LB-QXlJmsscWiozCvyyBFA,30709
|
72
72
|
lusid/api_response.py,sha256=6-gnhty6lu8MMAERt3_kTVD7UxQgWFfcjgpcq6iN5IU,855
|
73
|
-
lusid/configuration.py,sha256=
|
73
|
+
lusid/configuration.py,sha256=ALkV4ACrE_qhz2YgIH7Sn_C6rcSj3pVdi8NZerz3siU,14733
|
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=Ob06urm4Em3MLzgP_geyeeGsPCkU225msW_1kpIeABM,30567
|
@@ -84,7 +84,7 @@ lusid/extensions/rest.py,sha256=tjVCu-cRrYcjp-ttB975vebPKtBNyBWaeoAdO3QXG2I,1269
|
|
84
84
|
lusid/extensions/retry.py,sha256=orBJ1uF1iT1IncjWX1iGHVqsCgTh0SBe9rtiV_sPnwk,11564
|
85
85
|
lusid/extensions/socket_keep_alive.py,sha256=NGlqsv-E25IjJOLGZhXZY6kUdx51nEF8qCQyVdzayRk,1653
|
86
86
|
lusid/extensions/tcp_keep_alive_connector.py,sha256=zaGtUsygRsxB1_4B3x39K3ILwztdhMLDv5bFZV7zmGE,3877
|
87
|
-
lusid/models/__init__.py,sha256=
|
87
|
+
lusid/models/__init__.py,sha256=V57h_NBkz3LXGGhL1dTQGvvVyfeVWRqZ7imt5oSyO8I,111782
|
88
88
|
lusid/models/a2_b_breakdown.py,sha256=Txi12EIQw3mH6NM-25QkOnHSQc3BVAWrP7yl9bZswSY,2947
|
89
89
|
lusid/models/a2_b_category.py,sha256=k6NPAACi0CUjKyhdQac4obQSrPmp2PXD6lkAtCnyEFM,2725
|
90
90
|
lusid/models/a2_b_data_record.py,sha256=zKGS2P4fzNpzdcGJiSIpkY4P3d_jAcawYfyuPCDeQgk,9737
|
@@ -149,6 +149,8 @@ lusid/models/basket.py,sha256=Xu390DRo-j2mkzM7KBE1SIY4wgQ9xbP-shuHfMJotlo,5957
|
|
149
149
|
lusid/models/basket_identifier.py,sha256=Fn2M8buKDbj7h9_1TSEpwsqICFdkPtF6_YI_Wc6KDJw,2562
|
150
150
|
lusid/models/batch_adjust_holdings_response.py,sha256=G7YVmb6acbhitvRw_Vs7oAXTcxS5zt844jybc4lXOCY,5687
|
151
151
|
lusid/models/batch_upsert_instrument_properties_response.py,sha256=5ZYvAlLZDj9iZ6NytbqzFN11K46Jeum8bLQIw7qx1o4,4543
|
152
|
+
lusid/models/batch_upsert_portfolio_access_metadata_request.py,sha256=q1L5sg_og3qRSEwk7W5j-XtLff8VYU6A8RUX3ktsXk0,2908
|
153
|
+
lusid/models/batch_upsert_portfolio_access_metadata_response.py,sha256=cuDgQKCHix3IMxqH3TWnQ2NmvGEpgyKAUOQ2S_AA1RQ,2949
|
152
154
|
lusid/models/batch_upsert_portfolio_transactions_response.py,sha256=Mp6_7vGBkzqRNlpjOhn0ZokSKukKWyANAVBDxJIj9qs,5803
|
153
155
|
lusid/models/batch_upsert_property_definition_properties_response.py,sha256=usZ-NS6zUvgma-xjye6VcpwkAyvAYV2C6oo6l_vDbxk,4424
|
154
156
|
lusid/models/block.py,sha256=JPc2-U_zDYuVoqo8g6-NZzPMieUXEWolpquih6BEY8E,7158
|
@@ -587,6 +589,8 @@ lusid/models/market_quote.py,sha256=Ra6tOiimR6Rdf7pAESEWW2IMZG669jU8eNje8NepYZg,
|
|
587
589
|
lusid/models/match_criterion.py,sha256=cnLfFgO9k05dH7ooGS7s3d8BvyJNuVMDUh3Yt-SPuec,3568
|
588
590
|
lusid/models/maturity_event.py,sha256=pIqFyDQYrmcWQSNL5TI292ePWrgVaqQCyCJnvELTZtU,5093
|
589
591
|
lusid/models/merger_event.py,sha256=81kyNE4Mxq2FB5J-88MFi7mM1ypQLyj7NVzAHvHuv2s,11174
|
592
|
+
lusid/models/metadata_key_value.py,sha256=3zTNnm-mAn9GblTfhQVEqcjd5CCNa407ATEQqkF7jXw,2646
|
593
|
+
lusid/models/metadata_key_value_response.py,sha256=zvlscsIOrmW5MBAdOQJVH55KhRkvPVNnIbhWBPNISbE,2710
|
590
594
|
lusid/models/metric_value.py,sha256=QycljuRptuyuEisuUKhJ9kSSlDPJrAykErN9wPZ-x7o,2187
|
591
595
|
lusid/models/model_options.py,sha256=MaLJVMOfpgwL_ZLIIrLbLwpC1lhZKNkzMOGlFlVFgSM,4202
|
592
596
|
lusid/models/model_options_type.py,sha256=9vvfKHqvTqomRGVbnhsjA9hhCouD-acEgOeMK4OZ8AE,931
|
@@ -955,7 +959,7 @@ lusid/models/simple_cash_flow_loan.py,sha256=9iHHvivjXERGxq5TlRj48zHzDmpjka83V11
|
|
955
959
|
lusid/models/simple_instrument.py,sha256=Cerk4RI9xGwP59xF19u0ar6JVMqHcEqC9mAysPCIlps,6849
|
956
960
|
lusid/models/sort_order.py,sha256=tx9hNHkrcdw2gQkSLTGQ-JED7cqZoFJ60abVdqkD-GM,644
|
957
961
|
lusid/models/spin_off_event.py,sha256=nnm2nQ-Zvgvtqdu1VRCFC5YrqDPJ5YDxFCZ4bOCaWl0,8851
|
958
|
-
lusid/models/staged_modification.py,sha256=
|
962
|
+
lusid/models/staged_modification.py,sha256=LGM7EU5w7C7W7fuW9bYEDySqevWEV6edaW206n9LxS4,9630
|
959
963
|
lusid/models/staged_modification_decision.py,sha256=IUIpOwYjk41vLP_nMWDzZgI354cCtM9L6Yrf-K_DP4s,3544
|
960
964
|
lusid/models/staged_modification_decision_request.py,sha256=6PlH7coUQUIJe1-2GcwpatO3tpcqHIBelpgrd_BZ8qQ,2257
|
961
965
|
lusid/models/staged_modification_effective_range.py,sha256=G9oChBwQ_358d41tVDab-j1dGqOwiaRj_wDSDJYcsIU,2256
|
@@ -1148,6 +1152,6 @@ lusid/models/workspace_update_request.py,sha256=uUXEpX-dJ5UiL9w1wMxIFeovSBiTJ-vi
|
|
1148
1152
|
lusid/models/yield_curve_data.py,sha256=SbxvdJ4-GWK9kpMdw4Fnxc7_kvIMwgsRsd_31UJn7nw,6330
|
1149
1153
|
lusid/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1150
1154
|
lusid/rest.py,sha256=TNUzQ3yLNT2L053EdR7R0vNzQh2J3TlYD1T56Dye0W0,10138
|
1151
|
-
lusid_sdk-2.1.
|
1152
|
-
lusid_sdk-2.1.
|
1153
|
-
lusid_sdk-2.1.
|
1155
|
+
lusid_sdk-2.1.400.dist-info/METADATA,sha256=yywPJ627svpQqUhPbdUZ2frzzBzXPbR_YtcbK9QXba0,196607
|
1156
|
+
lusid_sdk-2.1.400.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
1157
|
+
lusid_sdk-2.1.400.dist-info/RECORD,,
|
File without changes
|