lusid-sdk 2.1.243__py3-none-any.whl → 2.1.246__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.

Potentially problematic release.


This version of lusid-sdk might be problematic. Click here for more details.

lusid/__init__.py CHANGED
@@ -495,6 +495,7 @@ from lusid.models.instrument_cash_flow import InstrumentCashFlow
495
495
  from lusid.models.instrument_definition import InstrumentDefinition
496
496
  from lusid.models.instrument_definition_format import InstrumentDefinitionFormat
497
497
  from lusid.models.instrument_delete_modes import InstrumentDeleteModes
498
+ from lusid.models.instrument_entity import InstrumentEntity
498
499
  from lusid.models.instrument_event import InstrumentEvent
499
500
  from lusid.models.instrument_event_configuration import InstrumentEventConfiguration
500
501
  from lusid.models.instrument_event_holder import InstrumentEventHolder
@@ -1574,6 +1575,7 @@ __all__ = [
1574
1575
  "InstrumentDefinition",
1575
1576
  "InstrumentDefinitionFormat",
1576
1577
  "InstrumentDeleteModes",
1578
+ "InstrumentEntity",
1577
1579
  "InstrumentEvent",
1578
1580
  "InstrumentEventConfiguration",
1579
1581
  "InstrumentEventHolder",
lusid/api/entities_api.py CHANGED
@@ -26,6 +26,7 @@ from pydantic.v1 import Field, StrictStr, conlist, constr, validator
26
26
 
27
27
  from typing import Optional
28
28
 
29
+ from lusid.models.instrument_entity import InstrumentEntity
29
30
  from lusid.models.portfolio_entity import PortfolioEntity
30
31
  from lusid.models.property_definition_entity import PropertyDefinitionEntity
31
32
  from lusid.models.resource_list_of_change import ResourceListOfChange
@@ -50,6 +51,185 @@ class EntitiesApi:
50
51
  api_client = ApiClient.get_default()
51
52
  self.api_client = api_client
52
53
 
54
+ @overload
55
+ async def get_instrument_by_entity_unique_id(self, entity_unique_id : Annotated[constr(strict=True, max_length=40, min_length=30), Field(..., description="The universally unique identifier of the instrument definition.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Instrument definition. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the instrument definition. Defaults to returning the latest version of the instrument definition if not specified.")] = None, previews : Annotated[Optional[conlist(StrictStr)], Field(description="The ids of the staged modifications to be previewed in the response.")] = None, **kwargs) -> InstrumentEntity: # noqa: E501
56
+ ...
57
+
58
+ @overload
59
+ def get_instrument_by_entity_unique_id(self, entity_unique_id : Annotated[constr(strict=True, max_length=40, min_length=30), Field(..., description="The universally unique identifier of the instrument definition.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Instrument definition. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the instrument definition. Defaults to returning the latest version of the instrument definition if not specified.")] = None, previews : Annotated[Optional[conlist(StrictStr)], Field(description="The ids of the staged modifications to be previewed in the response.")] = None, async_req: Optional[bool]=True, **kwargs) -> InstrumentEntity: # noqa: E501
60
+ ...
61
+
62
+ @validate_arguments
63
+ def get_instrument_by_entity_unique_id(self, entity_unique_id : Annotated[constr(strict=True, max_length=40, min_length=30), Field(..., description="The universally unique identifier of the instrument definition.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Instrument definition. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the instrument definition. Defaults to returning the latest version of the instrument definition if not specified.")] = None, previews : Annotated[Optional[conlist(StrictStr)], Field(description="The ids of the staged modifications to be previewed in the response.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[InstrumentEntity, Awaitable[InstrumentEntity]]: # noqa: E501
64
+ """[EXPERIMENTAL] GetInstrumentByEntityUniqueId: Get instrument by EntityUniqueId # noqa: E501
65
+
66
+ Retrieve the definition of a particular instrument. If the instrument is deleted, this will return the state of the instrument immediately prior to deletion. # noqa: E501
67
+ This method makes a synchronous HTTP request by default. To make an
68
+ asynchronous HTTP request, please pass async_req=True
69
+
70
+ >>> thread = api.get_instrument_by_entity_unique_id(entity_unique_id, effective_at, as_at, previews, async_req=True)
71
+ >>> result = thread.get()
72
+
73
+ :param entity_unique_id: The universally unique identifier of the instrument definition. (required)
74
+ :type entity_unique_id: str
75
+ :param effective_at: The effective datetime or cut label at which to retrieve the Instrument definition. Defaults to the current LUSID system datetime if not specified.
76
+ :type effective_at: str
77
+ :param as_at: The asAt datetime at which to retrieve the instrument definition. Defaults to returning the latest version of the instrument definition if not specified.
78
+ :type as_at: datetime
79
+ :param previews: The ids of the staged modifications to be previewed in the response.
80
+ :type previews: List[str]
81
+ :param async_req: Whether to execute the request asynchronously.
82
+ :type async_req: bool, optional
83
+ :param _request_timeout: timeout setting for this request.
84
+ If one number provided, it will be total request
85
+ timeout. It can also be a pair (tuple) of
86
+ (connection, read) timeouts.
87
+ :return: Returns the result object.
88
+ If the method is called asynchronously,
89
+ returns the request thread.
90
+ :rtype: InstrumentEntity
91
+ """
92
+ kwargs['_return_http_data_only'] = True
93
+ if '_preload_content' in kwargs:
94
+ message = "Error! Please call the get_instrument_by_entity_unique_id_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
95
+ raise ValueError(message)
96
+ if async_req is not None:
97
+ kwargs['async_req'] = async_req
98
+ return self.get_instrument_by_entity_unique_id_with_http_info(entity_unique_id, effective_at, as_at, previews, **kwargs) # noqa: E501
99
+
100
+ @validate_arguments
101
+ def get_instrument_by_entity_unique_id_with_http_info(self, entity_unique_id : Annotated[constr(strict=True, max_length=40, min_length=30), Field(..., description="The universally unique identifier of the instrument definition.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Instrument definition. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the instrument definition. Defaults to returning the latest version of the instrument definition if not specified.")] = None, previews : Annotated[Optional[conlist(StrictStr)], Field(description="The ids of the staged modifications to be previewed in the response.")] = None, **kwargs) -> ApiResponse: # noqa: E501
102
+ """[EXPERIMENTAL] GetInstrumentByEntityUniqueId: Get instrument by EntityUniqueId # noqa: E501
103
+
104
+ Retrieve the definition of a particular instrument. If the instrument is deleted, this will return the state of the instrument immediately prior to deletion. # noqa: E501
105
+ This method makes a synchronous HTTP request by default. To make an
106
+ asynchronous HTTP request, please pass async_req=True
107
+
108
+ >>> thread = api.get_instrument_by_entity_unique_id_with_http_info(entity_unique_id, effective_at, as_at, previews, async_req=True)
109
+ >>> result = thread.get()
110
+
111
+ :param entity_unique_id: The universally unique identifier of the instrument definition. (required)
112
+ :type entity_unique_id: str
113
+ :param effective_at: The effective datetime or cut label at which to retrieve the Instrument definition. Defaults to the current LUSID system datetime if not specified.
114
+ :type effective_at: str
115
+ :param as_at: The asAt datetime at which to retrieve the instrument definition. Defaults to returning the latest version of the instrument definition if not specified.
116
+ :type as_at: datetime
117
+ :param previews: The ids of the staged modifications to be previewed in the response.
118
+ :type previews: List[str]
119
+ :param async_req: Whether to execute the request asynchronously.
120
+ :type async_req: bool, optional
121
+ :param _preload_content: if False, the ApiResponse.data will
122
+ be set to none and raw_data will store the
123
+ HTTP response body without reading/decoding.
124
+ Default is True.
125
+ :type _preload_content: bool, optional
126
+ :param _return_http_data_only: response data instead of ApiResponse
127
+ object with status code, headers, etc
128
+ :type _return_http_data_only: bool, optional
129
+ :param _request_timeout: timeout setting for this request. If one
130
+ number provided, it will be total request
131
+ timeout. It can also be a pair (tuple) of
132
+ (connection, read) timeouts.
133
+ :param _request_auth: set to override the auth_settings for an a single
134
+ request; this effectively ignores the authentication
135
+ in the spec for a single request.
136
+ :type _request_auth: dict, optional
137
+ :type _content_type: string, optional: force content-type for the request
138
+ :return: Returns the result object.
139
+ If the method is called asynchronously,
140
+ returns the request thread.
141
+ :rtype: tuple(InstrumentEntity, status_code(int), headers(HTTPHeaderDict))
142
+ """
143
+
144
+ _params = locals()
145
+
146
+ _all_params = [
147
+ 'entity_unique_id',
148
+ 'effective_at',
149
+ 'as_at',
150
+ 'previews'
151
+ ]
152
+ _all_params.extend(
153
+ [
154
+ 'async_req',
155
+ '_return_http_data_only',
156
+ '_preload_content',
157
+ '_request_timeout',
158
+ '_request_auth',
159
+ '_content_type',
160
+ '_headers'
161
+ ]
162
+ )
163
+
164
+ # validate the arguments
165
+ for _key, _val in _params['kwargs'].items():
166
+ if _key not in _all_params:
167
+ raise ApiTypeError(
168
+ "Got an unexpected keyword argument '%s'"
169
+ " to method get_instrument_by_entity_unique_id" % _key
170
+ )
171
+ _params[_key] = _val
172
+ del _params['kwargs']
173
+
174
+ _collection_formats = {}
175
+
176
+ # process the path parameters
177
+ _path_params = {}
178
+ if _params['entity_unique_id']:
179
+ _path_params['entityUniqueId'] = _params['entity_unique_id']
180
+
181
+
182
+ # process the query parameters
183
+ _query_params = []
184
+ if _params.get('effective_at') is not None: # noqa: E501
185
+ _query_params.append(('effectiveAt', _params['effective_at']))
186
+
187
+ if _params.get('as_at') is not None: # noqa: E501
188
+ if isinstance(_params['as_at'], datetime):
189
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
190
+ else:
191
+ _query_params.append(('asAt', _params['as_at']))
192
+
193
+ if _params.get('previews') is not None: # noqa: E501
194
+ _query_params.append(('previews', _params['previews']))
195
+ _collection_formats['previews'] = 'multi'
196
+
197
+ # process the header parameters
198
+ _header_params = dict(_params.get('_headers', {}))
199
+ # process the form parameters
200
+ _form_params = []
201
+ _files = {}
202
+ # process the body parameter
203
+ _body_params = None
204
+ # set the HTTP header `Accept`
205
+ _header_params['Accept'] = self.api_client.select_header_accept(
206
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
207
+
208
+ # authentication setting
209
+ _auth_settings = ['oauth2'] # noqa: E501
210
+
211
+ _response_types_map = {
212
+ '200': "InstrumentEntity",
213
+ '400': "LusidValidationProblemDetails",
214
+ }
215
+
216
+ return self.api_client.call_api(
217
+ '/api/entities/instruments/{entityUniqueId}', 'GET',
218
+ _path_params,
219
+ _query_params,
220
+ _header_params,
221
+ body=_body_params,
222
+ post_params=_form_params,
223
+ files=_files,
224
+ response_types_map=_response_types_map,
225
+ auth_settings=_auth_settings,
226
+ async_req=_params.get('async_req'),
227
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
228
+ _preload_content=_params.get('_preload_content', True),
229
+ _request_timeout=_params.get('_request_timeout'),
230
+ collection_formats=_collection_formats,
231
+ _request_auth=_params.get('_request_auth'))
232
+
53
233
  @overload
54
234
  async def get_portfolio_by_entity_unique_id(self, entity_unique_id : Annotated[constr(strict=True, max_length=40, min_length=30), Field(..., description="The universally unique identifier of the portfolio definition.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the portfolio definition. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the portfolio definition. Defaults to returning the latest version of the portfolio definition if not specified.")] = None, previews : Annotated[Optional[conlist(StrictStr)], Field(description="The ids of the staged modifications to be previewed in the response.")] = None, **kwargs) -> PortfolioEntity: # noqa: E501
55
235
  ...
lusid/configuration.py CHANGED
@@ -373,7 +373,7 @@ class Configuration:
373
373
  return "Python SDK Debug Report:\n"\
374
374
  "OS: {env}\n"\
375
375
  "Python Version: {pyversion}\n"\
376
- "Version of the API: 0.11.6676\n"\
376
+ "Version of the API: 0.11.6679\n"\
377
377
  "SDK Package Version: {package_version}".\
378
378
  format(env=sys.platform, pyversion=sys.version, package_version=package_version)
379
379
 
lusid/models/__init__.py CHANGED
@@ -417,6 +417,7 @@ from lusid.models.instrument_cash_flow import InstrumentCashFlow
417
417
  from lusid.models.instrument_definition import InstrumentDefinition
418
418
  from lusid.models.instrument_definition_format import InstrumentDefinitionFormat
419
419
  from lusid.models.instrument_delete_modes import InstrumentDeleteModes
420
+ from lusid.models.instrument_entity import InstrumentEntity
420
421
  from lusid.models.instrument_event import InstrumentEvent
421
422
  from lusid.models.instrument_event_configuration import InstrumentEventConfiguration
422
423
  from lusid.models.instrument_event_holder import InstrumentEventHolder
@@ -1419,6 +1420,7 @@ __all__ = [
1419
1420
  "InstrumentDefinition",
1420
1421
  "InstrumentDefinitionFormat",
1421
1422
  "InstrumentDeleteModes",
1423
+ "InstrumentEntity",
1422
1424
  "InstrumentEvent",
1423
1425
  "InstrumentEventConfiguration",
1424
1426
  "InstrumentEventHolder",
@@ -28,7 +28,8 @@ class DependencySourceFilter(BaseModel):
28
28
  instrument_type: Optional[constr(strict=True, max_length=32, min_length=0)] = Field(None, alias="instrumentType", description="Specify that a rule should only apply if the market data is requested by an instrument of a given instrument type. If null, then no filtering on instrument type is applied.")
29
29
  asset_class: Optional[constr(strict=True, max_length=32, min_length=0)] = Field(None, alias="assetClass", description="Specify that a rule should only apply if the market data is requested by an instrument of a given asset class. If null, then no filtering on asset class is applied.")
30
30
  dom_ccy: Optional[StrictStr] = Field(None, alias="domCcy", description="Specify that a rule should only apply if the market data is requested by an instrument with a given domestic currency. If null, then no filtering on currency is applied.")
31
- __properties = ["instrumentType", "assetClass", "domCcy"]
31
+ long_or_short_indicator: Optional[StrictStr] = Field(None, alias="longOrShortIndicator", description="Specify that a rule should apply if the market data is requested by a model with a given long or short indicator. If none, then no filtering on LongOrShortIndicator is applied.")
32
+ __properties = ["instrumentType", "assetClass", "domCcy", "longOrShortIndicator"]
32
33
 
33
34
  class Config:
34
35
  """Pydantic configuration"""
@@ -69,6 +70,11 @@ class DependencySourceFilter(BaseModel):
69
70
  if self.dom_ccy is None and "dom_ccy" in self.__fields_set__:
70
71
  _dict['domCcy'] = None
71
72
 
73
+ # set to None if long_or_short_indicator (nullable) is None
74
+ # and __fields_set__ contains the field
75
+ if self.long_or_short_indicator is None and "long_or_short_indicator" in self.__fields_set__:
76
+ _dict['longOrShortIndicator'] = None
77
+
72
78
  return _dict
73
79
 
74
80
  @classmethod
@@ -83,6 +89,7 @@ class DependencySourceFilter(BaseModel):
83
89
  _obj = DependencySourceFilter.parse_obj({
84
90
  "instrument_type": obj.get("instrumentType"),
85
91
  "asset_class": obj.get("assetClass"),
86
- "dom_ccy": obj.get("domCcy")
92
+ "dom_ccy": obj.get("domCcy"),
93
+ "long_or_short_indicator": obj.get("longOrShortIndicator")
87
94
  })
88
95
  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
+ from datetime import datetime
21
+ from typing import Any, Dict, List, Optional
22
+ from pydantic.v1 import BaseModel, Field, StrictInt, StrictStr, conlist, constr
23
+ from lusid.models.instrument import Instrument
24
+ from lusid.models.link import Link
25
+
26
+ class InstrumentEntity(BaseModel):
27
+ """
28
+ A list of instruments. # noqa: E501
29
+ """
30
+ href: StrictStr = Field(..., description="The specific Uniform Resource Identifier (URI) for this resource at the requested effective and asAt datetime.")
31
+ entity_unique_id: constr(strict=True, min_length=1) = Field(..., alias="entityUniqueId", description="The unique id of the entity.")
32
+ as_at_version_number: Optional[StrictInt] = Field(None, alias="asAtVersionNumber", description="The integer version number for the entity (the entity was created at version 1)")
33
+ status: constr(strict=True, min_length=1) = Field(..., description="The status of the entity at the current time.")
34
+ as_at_deleted: Optional[datetime] = Field(None, alias="asAtDeleted", description="The asAt datetime at which the entity was deleted.")
35
+ user_id_deleted: Optional[StrictStr] = Field(None, alias="userIdDeleted", description="The unique id of the user who deleted the entity.")
36
+ request_id_deleted: Optional[StrictStr] = Field(None, alias="requestIdDeleted", description="The unique request id of the command that deleted the entity.")
37
+ effective_at_created: Optional[datetime] = Field(None, alias="effectiveAtCreated", description="The EffectiveAt this Entity is created, if entity does not currently exist in EffectiveAt.")
38
+ prevailing_instrument: Optional[Instrument] = Field(None, alias="prevailingInstrument")
39
+ deleted_instrument: Optional[Instrument] = Field(None, alias="deletedInstrument")
40
+ previewed_status: Optional[StrictStr] = Field(None, alias="previewedStatus", description="The status of the previewed entity.")
41
+ previewed_instrument: Optional[Instrument] = Field(None, alias="previewedInstrument")
42
+ links: Optional[conlist(Link)] = None
43
+ __properties = ["href", "entityUniqueId", "asAtVersionNumber", "status", "asAtDeleted", "userIdDeleted", "requestIdDeleted", "effectiveAtCreated", "prevailingInstrument", "deletedInstrument", "previewedStatus", "previewedInstrument", "links"]
44
+
45
+ class Config:
46
+ """Pydantic configuration"""
47
+ allow_population_by_field_name = True
48
+ validate_assignment = True
49
+
50
+ def to_str(self) -> str:
51
+ """Returns the string representation of the model using alias"""
52
+ return pprint.pformat(self.dict(by_alias=True))
53
+
54
+ def to_json(self) -> str:
55
+ """Returns the JSON representation of the model using alias"""
56
+ return json.dumps(self.to_dict())
57
+
58
+ @classmethod
59
+ def from_json(cls, json_str: str) -> InstrumentEntity:
60
+ """Create an instance of InstrumentEntity from a JSON string"""
61
+ return cls.from_dict(json.loads(json_str))
62
+
63
+ def to_dict(self):
64
+ """Returns the dictionary representation of the model using alias"""
65
+ _dict = self.dict(by_alias=True,
66
+ exclude={
67
+ },
68
+ exclude_none=True)
69
+ # override the default output from pydantic by calling `to_dict()` of prevailing_instrument
70
+ if self.prevailing_instrument:
71
+ _dict['prevailingInstrument'] = self.prevailing_instrument.to_dict()
72
+ # override the default output from pydantic by calling `to_dict()` of deleted_instrument
73
+ if self.deleted_instrument:
74
+ _dict['deletedInstrument'] = self.deleted_instrument.to_dict()
75
+ # override the default output from pydantic by calling `to_dict()` of previewed_instrument
76
+ if self.previewed_instrument:
77
+ _dict['previewedInstrument'] = self.previewed_instrument.to_dict()
78
+ # override the default output from pydantic by calling `to_dict()` of each item in links (list)
79
+ _items = []
80
+ if self.links:
81
+ for _item in self.links:
82
+ if _item:
83
+ _items.append(_item.to_dict())
84
+ _dict['links'] = _items
85
+ # set to None if as_at_version_number (nullable) is None
86
+ # and __fields_set__ contains the field
87
+ if self.as_at_version_number is None and "as_at_version_number" in self.__fields_set__:
88
+ _dict['asAtVersionNumber'] = None
89
+
90
+ # set to None if as_at_deleted (nullable) is None
91
+ # and __fields_set__ contains the field
92
+ if self.as_at_deleted is None and "as_at_deleted" in self.__fields_set__:
93
+ _dict['asAtDeleted'] = None
94
+
95
+ # set to None if user_id_deleted (nullable) is None
96
+ # and __fields_set__ contains the field
97
+ if self.user_id_deleted is None and "user_id_deleted" in self.__fields_set__:
98
+ _dict['userIdDeleted'] = None
99
+
100
+ # set to None if request_id_deleted (nullable) is None
101
+ # and __fields_set__ contains the field
102
+ if self.request_id_deleted is None and "request_id_deleted" in self.__fields_set__:
103
+ _dict['requestIdDeleted'] = None
104
+
105
+ # set to None if effective_at_created (nullable) is None
106
+ # and __fields_set__ contains the field
107
+ if self.effective_at_created is None and "effective_at_created" in self.__fields_set__:
108
+ _dict['effectiveAtCreated'] = None
109
+
110
+ # set to None if previewed_status (nullable) is None
111
+ # and __fields_set__ contains the field
112
+ if self.previewed_status is None and "previewed_status" in self.__fields_set__:
113
+ _dict['previewedStatus'] = None
114
+
115
+ # set to None if links (nullable) is None
116
+ # and __fields_set__ contains the field
117
+ if self.links is None and "links" in self.__fields_set__:
118
+ _dict['links'] = None
119
+
120
+ return _dict
121
+
122
+ @classmethod
123
+ def from_dict(cls, obj: dict) -> InstrumentEntity:
124
+ """Create an instance of InstrumentEntity from a dict"""
125
+ if obj is None:
126
+ return None
127
+
128
+ if not isinstance(obj, dict):
129
+ return InstrumentEntity.parse_obj(obj)
130
+
131
+ _obj = InstrumentEntity.parse_obj({
132
+ "href": obj.get("href"),
133
+ "entity_unique_id": obj.get("entityUniqueId"),
134
+ "as_at_version_number": obj.get("asAtVersionNumber"),
135
+ "status": obj.get("status"),
136
+ "as_at_deleted": obj.get("asAtDeleted"),
137
+ "user_id_deleted": obj.get("userIdDeleted"),
138
+ "request_id_deleted": obj.get("requestIdDeleted"),
139
+ "effective_at_created": obj.get("effectiveAtCreated"),
140
+ "prevailing_instrument": Instrument.from_dict(obj.get("prevailingInstrument")) if obj.get("prevailingInstrument") is not None else None,
141
+ "deleted_instrument": Instrument.from_dict(obj.get("deletedInstrument")) if obj.get("deletedInstrument") is not None else None,
142
+ "previewed_status": obj.get("previewedStatus"),
143
+ "previewed_instrument": Instrument.from_dict(obj.get("previewedInstrument")) if obj.get("previewedInstrument") is not None else None,
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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lusid-sdk
3
- Version: 2.1.243
3
+ Version: 2.1.246
4
4
  Summary: LUSID API
5
5
  Home-page: https://github.com/finbourne/lusid-sdk-python
6
6
  License: MIT
@@ -29,8 +29,8 @@ FINBOURNE Technology
29
29
 
30
30
  This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
31
31
 
32
- - API version: 0.11.6676
33
- - Package version: 2.1.243
32
+ - API version: 0.11.6679
33
+ - Package version: 2.1.246
34
34
  - Build package: org.openapitools.codegen.languages.PythonClientCodegen
35
35
  For more information, please visit [https://www.finbourne.com](https://www.finbourne.com)
36
36
 
@@ -394,6 +394,7 @@ Class | Method | HTTP request | Description
394
394
  *DataTypesApi* | [**update_reference_values**](docs/DataTypesApi.md#update_reference_values) | **PUT** /api/datatypes/{scope}/{code}/referencedatavalues | [EARLY ACCESS] UpdateReferenceValues: Update reference data on a data type
395
395
  *DerivedTransactionPortfoliosApi* | [**create_derived_portfolio**](docs/DerivedTransactionPortfoliosApi.md#create_derived_portfolio) | **POST** /api/derivedtransactionportfolios/{scope} | CreateDerivedPortfolio: Create derived portfolio
396
396
  *DerivedTransactionPortfoliosApi* | [**delete_derived_portfolio_details**](docs/DerivedTransactionPortfoliosApi.md#delete_derived_portfolio_details) | **DELETE** /api/derivedtransactionportfolios/{scope}/{code}/details | [EARLY ACCESS] DeleteDerivedPortfolioDetails: Delete derived portfolio details
397
+ *EntitiesApi* | [**get_instrument_by_entity_unique_id**](docs/EntitiesApi.md#get_instrument_by_entity_unique_id) | **GET** /api/entities/instruments/{entityUniqueId} | [EXPERIMENTAL] GetInstrumentByEntityUniqueId: Get instrument by EntityUniqueId
397
398
  *EntitiesApi* | [**get_portfolio_by_entity_unique_id**](docs/EntitiesApi.md#get_portfolio_by_entity_unique_id) | **GET** /api/entities/portfolios/{entityUniqueId} | [EXPERIMENTAL] GetPortfolioByEntityUniqueId: Get portfolio by EntityUniqueId
398
399
  *EntitiesApi* | [**get_portfolio_changes**](docs/EntitiesApi.md#get_portfolio_changes) | **GET** /api/entities/changes/portfolios | GetPortfolioChanges: Get the next change to each portfolio in a scope.
399
400
  *EntitiesApi* | [**get_property_definition_by_entity_unique_id**](docs/EntitiesApi.md#get_property_definition_by_entity_unique_id) | **GET** /api/entities/propertydefinitions/{entityUniqueId} | [EXPERIMENTAL] GetPropertyDefinitionByEntityUniqueId: Get property definition by EntityUniqueId
@@ -1153,6 +1154,7 @@ Class | Method | HTTP request | Description
1153
1154
  - [InstrumentDefinition](docs/InstrumentDefinition.md)
1154
1155
  - [InstrumentDefinitionFormat](docs/InstrumentDefinitionFormat.md)
1155
1156
  - [InstrumentDeleteModes](docs/InstrumentDeleteModes.md)
1157
+ - [InstrumentEntity](docs/InstrumentEntity.md)
1156
1158
  - [InstrumentEvent](docs/InstrumentEvent.md)
1157
1159
  - [InstrumentEventConfiguration](docs/InstrumentEventConfiguration.md)
1158
1160
  - [InstrumentEventHolder](docs/InstrumentEventHolder.md)
@@ -1,4 +1,4 @@
1
- lusid/__init__.py,sha256=pRqHYtk3-QYlT69pJwLXxIW8YyFG5C80AEH5JMk8_2g,111109
1
+ lusid/__init__.py,sha256=ZF388cLnt6sDXAhzcfUwvSLDmaDPdfd2fa9qYlQjoec,111193
2
2
  lusid/api/__init__.py,sha256=PFpT-ADthWd08-JqKOqQTbVW6cz9wdP_us6bg3aBFfs,5555
3
3
  lusid/api/abor_api.py,sha256=AvgsHuWE7qRSYJhKveBE2htSjHpqqS0VNJrysAfwME0,159655
4
4
  lusid/api/abor_configuration_api.py,sha256=G2bKPtMYOZ2GhUrg-nPJtCa9XIZdZYK7oafcbJWDMP8,64033
@@ -22,7 +22,7 @@ lusid/api/custom_entity_types_api.py,sha256=fLeAZaJ9Gdkfkr_UVDuqueiIxuN_5ri80dvq
22
22
  lusid/api/cut_label_definitions_api.py,sha256=7sroMqRhrOXdJlHQJ6f4NbqDRwOh7ewfY2yHGopZ7KM,47049
23
23
  lusid/api/data_types_api.py,sha256=OiQL4CRxwWd06DovdcLZbOqPx4AfbwYQ9yXYtaRqWWc,77801
24
24
  lusid/api/derived_transaction_portfolios_api.py,sha256=cKv5mKNmTiuHzWGwupwcSBibj3Ncwv88GiEJSqmAbCY,20227
25
- lusid/api/entities_api.py,sha256=wdPiI_ixCNIpkm7LL-fNlJUQhoRX0t5JToRnA4sEVEo,34600
25
+ lusid/api/entities_api.py,sha256=kV00-PgBlWfwLV4T9qhaaOntVoo-NJwzkSACLQu80Xw,46666
26
26
  lusid/api/executions_api.py,sha256=u92G5bsNwzMlKt9OyV7MQy6BTJc3TC9_7qgg8xXAuL0,44375
27
27
  lusid/api/fee_types_api.py,sha256=HZN9X5s6PZvK0UXFdFXeaQoanitxNj8dUEasK81Vz7g,49609
28
28
  lusid/api/funds_api.py,sha256=pv4gajsbbbkMi5Q07ixKzzcuhPTfZ-MoenSLsj9tpJ0,196396
@@ -67,7 +67,7 @@ lusid/api/transaction_portfolios_api.py,sha256=7G5m6iTQXTKCc6ASdxnlVJjvFascHxEgD
67
67
  lusid/api/translation_api.py,sha256=xTAaKEW96JTDIZBXCjxSguCa7Gz4oVd5jdObUE2egwo,20092
68
68
  lusid/api_client.py,sha256=dF6l9RAsdxdQjf6Qn4ny6LB-QXlJmsscWiozCvyyBFA,30709
69
69
  lusid/api_response.py,sha256=6-gnhty6lu8MMAERt3_kTVD7UxQgWFfcjgpcq6iN5IU,855
70
- lusid/configuration.py,sha256=e1Uh7rMw3YAzA-NWRuuVaCTZvMzEBf3yXV2hjA3WXVM,14404
70
+ lusid/configuration.py,sha256=aGa-sa8ixpxbGRWgpWz1sSHsYFIezqaKwVUQDtxI1Ps,14404
71
71
  lusid/exceptions.py,sha256=HIQwgmQrszLlcVCLaqex8dO0laVuejUyOMz7U2ZWJ6s,5326
72
72
  lusid/extensions/__init__.py,sha256=dzDHEzpn-9smd2-_UMWQzeyX6Ha4jGf6fnqx7qxKxNI,630
73
73
  lusid/extensions/api_client.py,sha256=Ob06urm4Em3MLzgP_geyeeGsPCkU225msW_1kpIeABM,30567
@@ -81,7 +81,7 @@ lusid/extensions/rest.py,sha256=tjVCu-cRrYcjp-ttB975vebPKtBNyBWaeoAdO3QXG2I,1269
81
81
  lusid/extensions/retry.py,sha256=orBJ1uF1iT1IncjWX1iGHVqsCgTh0SBe9rtiV_sPnwk,11564
82
82
  lusid/extensions/socket_keep_alive.py,sha256=NGlqsv-E25IjJOLGZhXZY6kUdx51nEF8qCQyVdzayRk,1653
83
83
  lusid/extensions/tcp_keep_alive_connector.py,sha256=zaGtUsygRsxB1_4B3x39K3ILwztdhMLDv5bFZV7zmGE,3877
84
- lusid/models/__init__.py,sha256=oZc5C2WgghH1QIAEjFbhvGepid0GWvQmZRNpUpCgrJA,104522
84
+ lusid/models/__init__.py,sha256=tCl-Z1eRoqZqlBO7sauZNA-mVuUR2TnG0MIEe13AKz4,104606
85
85
  lusid/models/a2_b_breakdown.py,sha256=Txi12EIQw3mH6NM-25QkOnHSQc3BVAWrP7yl9bZswSY,2947
86
86
  lusid/models/a2_b_category.py,sha256=k6NPAACi0CUjKyhdQac4obQSrPmp2PXD6lkAtCnyEFM,2725
87
87
  lusid/models/a2_b_data_record.py,sha256=zKGS2P4fzNpzdcGJiSIpkY4P3d_jAcawYfyuPCDeQgk,9737
@@ -337,7 +337,7 @@ lusid/models/delete_modes.py,sha256=AIBsUUhXwkC7yJcJGV5Ry8JpCKjfvCyNCBdg39_Ax7g,
337
337
  lusid/models/delete_relation_request.py,sha256=rHolE7EuW53sQtTF7DsC0N6seleIygpmZPPBxZlF2vo,2262
338
338
  lusid/models/delete_relationship_request.py,sha256=Wlp4B1VkM5N405gUyqWGf-P3nfsfaA7080AHQwihfOw,4134
339
339
  lusid/models/deleted_entity_response.py,sha256=7OW8sZrFkzwI95zgheQNrMki1sBKwmCDhfD5b237BQM,4555
340
- lusid/models/dependency_source_filter.py,sha256=aZMRPMeMl8Fa8KXSgdk8JxAvsV33yZqj3n6X3uwbHdc,3928
340
+ lusid/models/dependency_source_filter.py,sha256=Bn5qJh8ipsc1XjYrFG5rZvcN6m4EaP3Jn0RgYncXj_A,4578
341
341
  lusid/models/described_address_key.py,sha256=ebkUh71f2tPeNIKn5V57C3yhrCpBuUObb0ZCV3jmrYk,2677
342
342
  lusid/models/dialect.py,sha256=c6P0GecI_6hUUHuxDvbFA6ZGGZkpPbiP27r1-6QQ-1g,2995
343
343
  lusid/models/dialect_id.py,sha256=1xke2H6voQGq9WIOTAUG8PunJ-XT3j4rfQMs847QCgk,4334
@@ -485,6 +485,7 @@ lusid/models/instrument_cash_flow.py,sha256=OQsDlRhKceb7ok0zZKxtIbhz82V0Iz3KArtn
485
485
  lusid/models/instrument_definition.py,sha256=0WsRDxXH3Anop2IImyoQiEkMRxs8MktSfkjMLczYUpU,4782
486
486
  lusid/models/instrument_definition_format.py,sha256=yhFb5bjsk3u2aUYukxXfcN2m9BBGVI0Zw0z9vBmm5Rk,2854
487
487
  lusid/models/instrument_delete_modes.py,sha256=pRnKhwXly5wA6KEnvvphzEBS6ThT-iuuhS4JFVEal3s,682
488
+ lusid/models/instrument_entity.py,sha256=Rb9jT5z_oGK9fiKWjuU6Xi6HnYZVa6gbaFA35KCMgyc,7488
488
489
  lusid/models/instrument_event.py,sha256=vD1o6e_Ds70ZwUtXtT1Rr8HFqsUeIQ5RV2ANAgQaB28,7267
489
490
  lusid/models/instrument_event_configuration.py,sha256=igoNv4Dvea9arqNFQXuwV_NcDUD0ZmeJ5b8_YKOGWyY,2797
490
491
  lusid/models/instrument_event_holder.py,sha256=kbrQ_yd4X9THZo4oLdvB3HeUwJSmeVpOoIOBUy1o7fs,6994
@@ -1083,6 +1084,6 @@ lusid/models/weighted_instruments.py,sha256=1y_y_vw4-LPsbkQx4FOzWdZc5fJnzhVkf1D3
1083
1084
  lusid/models/yield_curve_data.py,sha256=SbxvdJ4-GWK9kpMdw4Fnxc7_kvIMwgsRsd_31UJn7nw,6330
1084
1085
  lusid/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1085
1086
  lusid/rest.py,sha256=TNUzQ3yLNT2L053EdR7R0vNzQh2J3TlYD1T56Dye0W0,10138
1086
- lusid_sdk-2.1.243.dist-info/METADATA,sha256=xfijzKWvBSSfGcDbY0ne2VXZGOO4HT_sv3ahrSRt0AU,189966
1087
- lusid_sdk-2.1.243.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
1088
- lusid_sdk-2.1.243.dist-info/RECORD,,
1087
+ lusid_sdk-2.1.246.dist-info/METADATA,sha256=UuITKZjy0hHbly3xfRl7c5sGtveqEImSGY3QMi4Ii-E,190261
1088
+ lusid_sdk-2.1.246.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
1089
+ lusid_sdk-2.1.246.dist-info/RECORD,,