lusid-sdk 2.1.81__py3-none-any.whl → 2.1.88__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
@@ -863,6 +863,7 @@ from lusid.models.sides_definition_request import SidesDefinitionRequest
863
863
  from lusid.models.simple_cash_flow_loan import SimpleCashFlowLoan
864
864
  from lusid.models.simple_instrument import SimpleInstrument
865
865
  from lusid.models.sort_order import SortOrder
866
+ from lusid.models.staged_modifications_info import StagedModificationsInfo
866
867
  from lusid.models.staging_rule import StagingRule
867
868
  from lusid.models.staging_rule_approval_criteria import StagingRuleApprovalCriteria
868
869
  from lusid.models.staging_rule_match_criteria import StagingRuleMatchCriteria
@@ -1880,6 +1881,7 @@ __all__ = [
1880
1881
  "SimpleCashFlowLoan",
1881
1882
  "SimpleInstrument",
1882
1883
  "SortOrder",
1884
+ "StagedModificationsInfo",
1883
1885
  "StagingRule",
1884
1886
  "StagingRuleApprovalCriteria",
1885
1887
  "StagingRuleMatchCriteria",
lusid/api/entities_api.py CHANGED
@@ -50,15 +50,15 @@ class EntitiesApi:
50
50
  self.api_client = api_client
51
51
 
52
52
  @overload
53
- async def get_portfolio_by_entity_unique_id(self, entity_unique_id : Annotated[constr(strict=True, max_length=64, min_length=1), 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, **kwargs) -> PortfolioEntity: # noqa: E501
53
+ 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, **kwargs) -> PortfolioEntity: # noqa: E501
54
54
  ...
55
55
 
56
56
  @overload
57
- def get_portfolio_by_entity_unique_id(self, entity_unique_id : Annotated[constr(strict=True, max_length=64, min_length=1), 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, async_req: Optional[bool]=True, **kwargs) -> PortfolioEntity: # noqa: E501
57
+ 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, async_req: Optional[bool]=True, **kwargs) -> PortfolioEntity: # noqa: E501
58
58
  ...
59
59
 
60
60
  @validate_arguments
61
- def get_portfolio_by_entity_unique_id(self, entity_unique_id : Annotated[constr(strict=True, max_length=64, min_length=1), 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, async_req: Optional[bool]=None, **kwargs) -> Union[PortfolioEntity, Awaitable[PortfolioEntity]]: # noqa: E501
61
+ 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, async_req: Optional[bool]=None, **kwargs) -> Union[PortfolioEntity, Awaitable[PortfolioEntity]]: # noqa: E501
62
62
  """[EXPERIMENTAL] GetPortfolioByEntityUniqueId: Get portfolio by EntityUniqueId # noqa: E501
63
63
 
64
64
  Retrieve the definition of a particular portfolio. If the portfolio is deleted, this will return the state of the portfolio immediately prior to deletion. # noqa: E501
@@ -94,7 +94,7 @@ class EntitiesApi:
94
94
  return self.get_portfolio_by_entity_unique_id_with_http_info(entity_unique_id, effective_at, as_at, **kwargs) # noqa: E501
95
95
 
96
96
  @validate_arguments
97
- def get_portfolio_by_entity_unique_id_with_http_info(self, entity_unique_id : Annotated[constr(strict=True, max_length=64, min_length=1), 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, **kwargs) -> ApiResponse: # noqa: E501
97
+ def get_portfolio_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 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, **kwargs) -> ApiResponse: # noqa: E501
98
98
  """[EXPERIMENTAL] GetPortfolioByEntityUniqueId: Get portfolio by EntityUniqueId # noqa: E501
99
99
 
100
100
  Retrieve the definition of a particular portfolio. If the portfolio is deleted, this will return the state of the portfolio immediately prior to deletion. # noqa: E501
lusid/api_response.py CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
  from typing import Any, Dict, Optional
5
- from pydantic import Field, StrictInt, StrictStr
5
+ from pydantic.v1 import Field, StrictInt, StrictStr
6
6
 
7
7
  class ApiResponse:
8
8
  """
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.6515\n"\
376
+ "Version of the API: 0.11.6523\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
@@ -787,6 +787,7 @@ from lusid.models.sides_definition_request import SidesDefinitionRequest
787
787
  from lusid.models.simple_cash_flow_loan import SimpleCashFlowLoan
788
788
  from lusid.models.simple_instrument import SimpleInstrument
789
789
  from lusid.models.sort_order import SortOrder
790
+ from lusid.models.staged_modifications_info import StagedModificationsInfo
790
791
  from lusid.models.staging_rule import StagingRule
791
792
  from lusid.models.staging_rule_approval_criteria import StagingRuleApprovalCriteria
792
793
  from lusid.models.staging_rule_match_criteria import StagingRuleMatchCriteria
@@ -1730,6 +1731,7 @@ __all__ = [
1730
1731
  "SimpleCashFlowLoan",
1731
1732
  "SimpleInstrument",
1732
1733
  "SortOrder",
1734
+ "StagedModificationsInfo",
1733
1735
  "StagingRule",
1734
1736
  "StagingRuleApprovalCriteria",
1735
1737
  "StagingRuleMatchCriteria",
lusid/models/portfolio.py CHANGED
@@ -25,6 +25,7 @@ from lusid.models.link import Link
25
25
  from lusid.models.model_property import ModelProperty
26
26
  from lusid.models.relationship import Relationship
27
27
  from lusid.models.resource_id import ResourceId
28
+ from lusid.models.staged_modifications_info import StagedModificationsInfo
28
29
  from lusid.models.version import Version
29
30
 
30
31
  class Portfolio(BaseModel):
@@ -39,6 +40,7 @@ class Portfolio(BaseModel):
39
40
  created: datetime = Field(..., description="The effective datetime at which the portfolio was created. No transactions or constituents can be added to the portfolio before this date.")
40
41
  parent_portfolio_id: Optional[ResourceId] = Field(None, alias="parentPortfolioId")
41
42
  version: Optional[Version] = None
43
+ staged_modifications: Optional[StagedModificationsInfo] = Field(None, alias="stagedModifications")
42
44
  is_derived: Optional[StrictBool] = Field(None, alias="isDerived", description="Whether or not this is a derived portfolio.")
43
45
  base_currency: Optional[StrictStr] = Field(None, alias="baseCurrency", description="The base currency of the portfolio.")
44
46
  properties: Optional[Dict[str, ModelProperty]] = Field(None, description="The requested portfolio properties. These will be from the 'Portfolio' domain.")
@@ -51,7 +53,7 @@ class Portfolio(BaseModel):
51
53
  instrument_event_configuration: Optional[InstrumentEventConfiguration] = Field(None, alias="instrumentEventConfiguration")
52
54
  amortisation_rule_set_id: Optional[ResourceId] = Field(None, alias="amortisationRuleSetId")
53
55
  links: Optional[conlist(Link)] = None
54
- __properties = ["href", "id", "type", "displayName", "description", "created", "parentPortfolioId", "version", "isDerived", "baseCurrency", "properties", "relationships", "instrumentScopes", "accountingMethod", "amortisationMethod", "transactionTypeScope", "cashGainLossCalculationDate", "instrumentEventConfiguration", "amortisationRuleSetId", "links"]
56
+ __properties = ["href", "id", "type", "displayName", "description", "created", "parentPortfolioId", "version", "stagedModifications", "isDerived", "baseCurrency", "properties", "relationships", "instrumentScopes", "accountingMethod", "amortisationMethod", "transactionTypeScope", "cashGainLossCalculationDate", "instrumentEventConfiguration", "amortisationRuleSetId", "links"]
55
57
 
56
58
  @validator('type')
57
59
  def type_validate_enum(cls, value):
@@ -103,6 +105,9 @@ class Portfolio(BaseModel):
103
105
  # override the default output from pydantic by calling `to_dict()` of version
104
106
  if self.version:
105
107
  _dict['version'] = self.version.to_dict()
108
+ # override the default output from pydantic by calling `to_dict()` of staged_modifications
109
+ if self.staged_modifications:
110
+ _dict['stagedModifications'] = self.staged_modifications.to_dict()
106
111
  # override the default output from pydantic by calling `to_dict()` of each value in properties (dict)
107
112
  _field_dict = {}
108
113
  if self.properties:
@@ -200,6 +205,7 @@ class Portfolio(BaseModel):
200
205
  "created": obj.get("created"),
201
206
  "parent_portfolio_id": ResourceId.from_dict(obj.get("parentPortfolioId")) if obj.get("parentPortfolioId") is not None else None,
202
207
  "version": Version.from_dict(obj.get("version")) if obj.get("version") is not None else None,
208
+ "staged_modifications": StagedModificationsInfo.from_dict(obj.get("stagedModifications")) if obj.get("stagedModifications") is not None else None,
203
209
  "is_derived": obj.get("isDerived"),
204
210
  "base_currency": obj.get("baseCurrency"),
205
211
  "properties": dict(
@@ -19,7 +19,7 @@ import json
19
19
 
20
20
  from datetime import datetime
21
21
  from typing import Any, Dict, List, Optional
22
- from pydantic.v1 import BaseModel, Field, StrictStr, conlist, constr
22
+ from pydantic.v1 import BaseModel, Field, StrictInt, StrictStr, conlist, constr
23
23
  from lusid.models.link import Link
24
24
  from lusid.models.portfolio_without_href import PortfolioWithoutHref
25
25
 
@@ -28,13 +28,17 @@ class PortfolioEntity(BaseModel):
28
28
  A list of portfolios. # noqa: E501
29
29
  """
30
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
- status: constr(strict=True, min_length=1) = Field(..., description="The status of the entity at the current time")
33
- effective_at_created: Optional[datetime] = Field(None, alias="effectiveAtCreated", description="The EffectiveAt this Entity is created, if entity does not currently exist in EffectiveAt")
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.")
34
38
  prevailing_portfolio: Optional[PortfolioWithoutHref] = Field(None, alias="prevailingPortfolio")
35
39
  deleted_portfolio: Optional[PortfolioWithoutHref] = Field(None, alias="deletedPortfolio")
36
40
  links: Optional[conlist(Link)] = None
37
- __properties = ["href", "entityUniqueId", "status", "effectiveAtCreated", "prevailingPortfolio", "deletedPortfolio", "links"]
41
+ __properties = ["href", "entityUniqueId", "asAtVersionNumber", "status", "asAtDeleted", "userIdDeleted", "requestIdDeleted", "effectiveAtCreated", "prevailingPortfolio", "deletedPortfolio", "links"]
38
42
 
39
43
  class Config:
40
44
  """Pydantic configuration"""
@@ -73,6 +77,26 @@ class PortfolioEntity(BaseModel):
73
77
  if _item:
74
78
  _items.append(_item.to_dict())
75
79
  _dict['links'] = _items
80
+ # set to None if as_at_version_number (nullable) is None
81
+ # and __fields_set__ contains the field
82
+ if self.as_at_version_number is None and "as_at_version_number" in self.__fields_set__:
83
+ _dict['asAtVersionNumber'] = None
84
+
85
+ # set to None if as_at_deleted (nullable) is None
86
+ # and __fields_set__ contains the field
87
+ if self.as_at_deleted is None and "as_at_deleted" in self.__fields_set__:
88
+ _dict['asAtDeleted'] = None
89
+
90
+ # set to None if user_id_deleted (nullable) is None
91
+ # and __fields_set__ contains the field
92
+ if self.user_id_deleted is None and "user_id_deleted" in self.__fields_set__:
93
+ _dict['userIdDeleted'] = None
94
+
95
+ # set to None if request_id_deleted (nullable) is None
96
+ # and __fields_set__ contains the field
97
+ if self.request_id_deleted is None and "request_id_deleted" in self.__fields_set__:
98
+ _dict['requestIdDeleted'] = None
99
+
76
100
  # set to None if effective_at_created (nullable) is None
77
101
  # and __fields_set__ contains the field
78
102
  if self.effective_at_created is None and "effective_at_created" in self.__fields_set__:
@@ -97,7 +121,11 @@ class PortfolioEntity(BaseModel):
97
121
  _obj = PortfolioEntity.parse_obj({
98
122
  "href": obj.get("href"),
99
123
  "entity_unique_id": obj.get("entityUniqueId"),
124
+ "as_at_version_number": obj.get("asAtVersionNumber"),
100
125
  "status": obj.get("status"),
126
+ "as_at_deleted": obj.get("asAtDeleted"),
127
+ "user_id_deleted": obj.get("userIdDeleted"),
128
+ "request_id_deleted": obj.get("requestIdDeleted"),
101
129
  "effective_at_created": obj.get("effectiveAtCreated"),
102
130
  "prevailing_portfolio": PortfolioWithoutHref.from_dict(obj.get("prevailingPortfolio")) if obj.get("prevailingPortfolio") is not None else None,
103
131
  "deleted_portfolio": PortfolioWithoutHref.from_dict(obj.get("deletedPortfolio")) if obj.get("deletedPortfolio") is not None else None,
@@ -25,6 +25,7 @@ from lusid.models.link import Link
25
25
  from lusid.models.model_property import ModelProperty
26
26
  from lusid.models.relationship import Relationship
27
27
  from lusid.models.resource_id import ResourceId
28
+ from lusid.models.staged_modifications_info import StagedModificationsInfo
28
29
  from lusid.models.version import Version
29
30
 
30
31
  class PortfolioWithoutHref(BaseModel):
@@ -38,6 +39,7 @@ class PortfolioWithoutHref(BaseModel):
38
39
  created: datetime = Field(..., description="The effective datetime at which the portfolio was created. No transactions or constituents can be added to the portfolio before this date.")
39
40
  parent_portfolio_id: Optional[ResourceId] = Field(None, alias="parentPortfolioId")
40
41
  version: Optional[Version] = None
42
+ staged_modifications: Optional[StagedModificationsInfo] = Field(None, alias="stagedModifications")
41
43
  is_derived: Optional[StrictBool] = Field(None, alias="isDerived", description="Whether or not this is a derived portfolio.")
42
44
  base_currency: Optional[StrictStr] = Field(None, alias="baseCurrency", description="The base currency of the portfolio.")
43
45
  properties: Optional[Dict[str, ModelProperty]] = Field(None, description="The requested portfolio properties. These will be from the 'Portfolio' domain.")
@@ -50,7 +52,7 @@ class PortfolioWithoutHref(BaseModel):
50
52
  instrument_event_configuration: Optional[InstrumentEventConfiguration] = Field(None, alias="instrumentEventConfiguration")
51
53
  amortisation_rule_set_id: Optional[ResourceId] = Field(None, alias="amortisationRuleSetId")
52
54
  links: Optional[conlist(Link)] = None
53
- __properties = ["id", "type", "displayName", "description", "created", "parentPortfolioId", "version", "isDerived", "baseCurrency", "properties", "relationships", "instrumentScopes", "accountingMethod", "amortisationMethod", "transactionTypeScope", "cashGainLossCalculationDate", "instrumentEventConfiguration", "amortisationRuleSetId", "links"]
55
+ __properties = ["id", "type", "displayName", "description", "created", "parentPortfolioId", "version", "stagedModifications", "isDerived", "baseCurrency", "properties", "relationships", "instrumentScopes", "accountingMethod", "amortisationMethod", "transactionTypeScope", "cashGainLossCalculationDate", "instrumentEventConfiguration", "amortisationRuleSetId", "links"]
54
56
 
55
57
  @validator('type')
56
58
  def type_validate_enum(cls, value):
@@ -102,6 +104,9 @@ class PortfolioWithoutHref(BaseModel):
102
104
  # override the default output from pydantic by calling `to_dict()` of version
103
105
  if self.version:
104
106
  _dict['version'] = self.version.to_dict()
107
+ # override the default output from pydantic by calling `to_dict()` of staged_modifications
108
+ if self.staged_modifications:
109
+ _dict['stagedModifications'] = self.staged_modifications.to_dict()
105
110
  # override the default output from pydantic by calling `to_dict()` of each value in properties (dict)
106
111
  _field_dict = {}
107
112
  if self.properties:
@@ -193,6 +198,7 @@ class PortfolioWithoutHref(BaseModel):
193
198
  "created": obj.get("created"),
194
199
  "parent_portfolio_id": ResourceId.from_dict(obj.get("parentPortfolioId")) if obj.get("parentPortfolioId") is not None else None,
195
200
  "version": Version.from_dict(obj.get("version")) if obj.get("version") is not None else None,
201
+ "staged_modifications": StagedModificationsInfo.from_dict(obj.get("stagedModifications")) if obj.get("stagedModifications") is not None else None,
196
202
  "is_derived": obj.get("isDerived"),
197
203
  "base_currency": obj.get("baseCurrency"),
198
204
  "properties": dict(
@@ -0,0 +1,78 @@
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, StrictInt, StrictStr, conlist
23
+
24
+ class StagedModificationsInfo(BaseModel):
25
+ """
26
+ The staged modifications metadata. # noqa: E501
27
+ """
28
+ count_pending: StrictInt = Field(..., alias="countPending", description="The number of staged modifications for the entity with a status of Pending for the requested asAt.")
29
+ href_pending: StrictStr = Field(..., alias="hrefPending", description="Link to the list staged modifications endpoint, filtered by entityType, entityUniqueId and status (= Pending).")
30
+ ids_previewed: Optional[conlist(StrictStr)] = Field(None, alias="idsPreviewed", description="An array of the ids of any StagedModifications being previewed.")
31
+ __properties = ["countPending", "hrefPending", "idsPreviewed"]
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) -> StagedModificationsInfo:
48
+ """Create an instance of StagedModificationsInfo 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 ids_previewed (nullable) is None
58
+ # and __fields_set__ contains the field
59
+ if self.ids_previewed is None and "ids_previewed" in self.__fields_set__:
60
+ _dict['idsPreviewed'] = None
61
+
62
+ return _dict
63
+
64
+ @classmethod
65
+ def from_dict(cls, obj: dict) -> StagedModificationsInfo:
66
+ """Create an instance of StagedModificationsInfo from a dict"""
67
+ if obj is None:
68
+ return None
69
+
70
+ if not isinstance(obj, dict):
71
+ return StagedModificationsInfo.parse_obj(obj)
72
+
73
+ _obj = StagedModificationsInfo.parse_obj({
74
+ "count_pending": obj.get("countPending"),
75
+ "href_pending": obj.get("hrefPending"),
76
+ "ids_previewed": obj.get("idsPreviewed")
77
+ })
78
+ return _obj
lusid/models/version.py CHANGED
@@ -35,7 +35,8 @@ class Version(BaseModel):
35
35
  request_id_modified: Optional[StrictStr] = Field(None, alias="requestIdModified", description="The unique request id of the command that last updated the entity (including its properties) in LUSID.")
36
36
  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)")
37
37
  entity_unique_id: Optional[StrictStr] = Field(None, alias="entityUniqueId", description="The unique id of the entity")
38
- __properties = ["effectiveFrom", "asAtDate", "asAtCreated", "userIdCreated", "requestIdCreated", "asAtModified", "userIdModified", "requestIdModified", "asAtVersionNumber", "entityUniqueId"]
38
+ staged_modification_id_modified: Optional[StrictStr] = Field(None, alias="stagedModificationIdModified", description="The ID of the staged change that resulted in the most recent modification.")
39
+ __properties = ["effectiveFrom", "asAtDate", "asAtCreated", "userIdCreated", "requestIdCreated", "asAtModified", "userIdModified", "requestIdModified", "asAtVersionNumber", "entityUniqueId", "stagedModificationIdModified"]
39
40
 
40
41
  class Config:
41
42
  """Pydantic configuration"""
@@ -59,6 +60,7 @@ class Version(BaseModel):
59
60
  """Returns the dictionary representation of the model using alias"""
60
61
  _dict = self.dict(by_alias=True,
61
62
  exclude={
63
+ "staged_modification_id_modified",
62
64
  },
63
65
  exclude_none=True)
64
66
  # set to None if as_at_created (nullable) is None
@@ -101,6 +103,11 @@ class Version(BaseModel):
101
103
  if self.entity_unique_id is None and "entity_unique_id" in self.__fields_set__:
102
104
  _dict['entityUniqueId'] = None
103
105
 
106
+ # set to None if staged_modification_id_modified (nullable) is None
107
+ # and __fields_set__ contains the field
108
+ if self.staged_modification_id_modified is None and "staged_modification_id_modified" in self.__fields_set__:
109
+ _dict['stagedModificationIdModified'] = None
110
+
104
111
  return _dict
105
112
 
106
113
  @classmethod
@@ -122,6 +129,7 @@ class Version(BaseModel):
122
129
  "user_id_modified": obj.get("userIdModified"),
123
130
  "request_id_modified": obj.get("requestIdModified"),
124
131
  "as_at_version_number": obj.get("asAtVersionNumber"),
125
- "entity_unique_id": obj.get("entityUniqueId")
132
+ "entity_unique_id": obj.get("entityUniqueId"),
133
+ "staged_modification_id_modified": obj.get("stagedModificationIdModified")
126
134
  })
127
135
  return _obj
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lusid-sdk
3
- Version: 2.1.81
3
+ Version: 2.1.88
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.6515
33
- - Package version: 2.1.81
32
+ - API version: 0.11.6523
33
+ - Package version: 2.1.88
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
 
@@ -1494,6 +1494,7 @@ Class | Method | HTTP request | Description
1494
1494
  - [SimpleCashFlowLoan](docs/SimpleCashFlowLoan.md)
1495
1495
  - [SimpleInstrument](docs/SimpleInstrument.md)
1496
1496
  - [SortOrder](docs/SortOrder.md)
1497
+ - [StagedModificationsInfo](docs/StagedModificationsInfo.md)
1497
1498
  - [StagingRule](docs/StagingRule.md)
1498
1499
  - [StagingRuleApprovalCriteria](docs/StagingRuleApprovalCriteria.md)
1499
1500
  - [StagingRuleMatchCriteria](docs/StagingRuleMatchCriteria.md)
@@ -1,4 +1,4 @@
1
- lusid/__init__.py,sha256=3msvYKjDM372wPD0un3osWkbs7dqchF_oHbV9vtKRPU,104391
1
+ lusid/__init__.py,sha256=rhv6I8aqtmltWSY39uDZRcd5Q1e6wSWlZp16On999OI,104497
2
2
  lusid/api/__init__.py,sha256=jdU3SmYCzfXVHFVThKX_tCGad2-l4-5Qql1cN864mCs,5388
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=vifw_Rks1x7e2f0gKLfjVe2wQyuxQw8TAKZ3rEgyjRI,21368
25
+ lusid/api/entities_api.py,sha256=kPVPA2CR-mXWhSHLga-l3R4fyhx69S7vfU47te42wng,21372
26
26
  lusid/api/executions_api.py,sha256=84zjdPPCPB-aBjM5ntqTcEJa_kSqBSqdtqh47b0a_UY,44435
27
27
  lusid/api/funds_api.py,sha256=s2xo4yrQeNs06nvCeDCedD7T2aB-XW8nO-ftAPG4kEk,122388
28
28
  lusid/api/instrument_event_types_api.py,sha256=shwiW-AatQw-mEwD-TS1d8M2AtV62gqvfF3utyIqe0Y,81546
@@ -64,8 +64,8 @@ lusid/api/transaction_fees_api.py,sha256=xVH3EPyc0clDSNivBO57PsKxaVNT3evVvPdfYWo
64
64
  lusid/api/transaction_portfolios_api.py,sha256=q6AoYasxV3LQDossmM2BdJSo3arh526yUW34VPbxGmE,555070
65
65
  lusid/api/translation_api.py,sha256=xTAaKEW96JTDIZBXCjxSguCa7Gz4oVd5jdObUE2egwo,20092
66
66
  lusid/api_client.py,sha256=dF6l9RAsdxdQjf6Qn4ny6LB-QXlJmsscWiozCvyyBFA,30709
67
- lusid/api_response.py,sha256=uCehWdXXDnAO2HAHGKe0SgpQ_mJiGDbcu-BHDF3n_IM,852
68
- lusid/configuration.py,sha256=5UeSEhdFQaQ6GB2qK4rdWY4W7tN9dBeupwtMkGkT0Z4,14404
67
+ lusid/api_response.py,sha256=6-gnhty6lu8MMAERt3_kTVD7UxQgWFfcjgpcq6iN5IU,855
68
+ lusid/configuration.py,sha256=ca2wMRBIbLZ8SPvUCQ0Adstic_dsvw1HUlnlp-c54yc,14404
69
69
  lusid/exceptions.py,sha256=HIQwgmQrszLlcVCLaqex8dO0laVuejUyOMz7U2ZWJ6s,5326
70
70
  lusid/extensions/__init__.py,sha256=DeUuQP7yTcklJH7LT-bw9wQhKEggcs1KwQbPbFcOlhw,560
71
71
  lusid/extensions/api_client.py,sha256=Ob06urm4Em3MLzgP_geyeeGsPCkU225msW_1kpIeABM,30567
@@ -78,7 +78,7 @@ lusid/extensions/rest.py,sha256=tjVCu-cRrYcjp-ttB975vebPKtBNyBWaeoAdO3QXG2I,1269
78
78
  lusid/extensions/retry.py,sha256=orBJ1uF1iT1IncjWX1iGHVqsCgTh0SBe9rtiV_sPnwk,11564
79
79
  lusid/extensions/socket_keep_alive.py,sha256=NGlqsv-E25IjJOLGZhXZY6kUdx51nEF8qCQyVdzayRk,1653
80
80
  lusid/extensions/tcp_keep_alive_connector.py,sha256=zaGtUsygRsxB1_4B3x39K3ILwztdhMLDv5bFZV7zmGE,3877
81
- lusid/models/__init__.py,sha256=-aka6TFbJLjlDCaSerPsRDBWp1LayHcx2Hh55rh_QLU,98046
81
+ lusid/models/__init__.py,sha256=GILeYrs7C3WbPX-uzCXMgadnkJSdH1SwwOP-iJXELFI,98152
82
82
  lusid/models/a2_b_breakdown.py,sha256=Txi12EIQw3mH6NM-25QkOnHSQc3BVAWrP7yl9bZswSY,2947
83
83
  lusid/models/a2_b_category.py,sha256=k6NPAACi0CUjKyhdQac4obQSrPmp2PXD6lkAtCnyEFM,2725
84
84
  lusid/models/a2_b_data_record.py,sha256=zKGS2P4fzNpzdcGJiSIpkY4P3d_jAcawYfyuPCDeQgk,9737
@@ -641,11 +641,11 @@ lusid/models/place_blocks_request.py,sha256=RE2xCyRSQSV8wkzYvqF54fyMYi-FdoGqnqJn
641
641
  lusid/models/placement.py,sha256=5kJMz_9t07KT3NFF2Pdsq93cozl4yvNcxpyv9o5ZmRA,9106
642
642
  lusid/models/placement_request.py,sha256=qg7Yf6EQeqtC1l7lZ18_kFiGiNjBcrzMlScOWWaGkWM,7870
643
643
  lusid/models/placement_set_request.py,sha256=hkljmDDqllEbAjb7J0QAp_fyDKsizX8T9x4n1UBFCmU,2672
644
- lusid/models/portfolio.py,sha256=LqGIRKBYS8kQbmmhiz8gzwPLRuRfnQIZjFtuQ-CV-gY,12142
644
+ lusid/models/portfolio.py,sha256=vLgosL-OAM9RIFkS84augDeHUkDNuidFAsy4PrB0J4k,12718
645
645
  lusid/models/portfolio_cash_flow.py,sha256=Apnb2tfP3bJrBjhH69OLwiAOvn7lApH791owxr1wC8A,8997
646
646
  lusid/models/portfolio_cash_ladder.py,sha256=cZHdUI-PZuLYXlQDxcA9zCTRPX_cHZy0-qHng9bRggU,5462
647
647
  lusid/models/portfolio_details.py,sha256=NABbe06Xp0cl54_HwYeUsko51op7oFVlMqCENEaQVWs,9198
648
- lusid/models/portfolio_entity.py,sha256=td0M2aCU_1n9ba8tZ5IdFjow1LOG8gMtOXE-CytD4d8,4672
648
+ lusid/models/portfolio_entity.py,sha256=9MGRDnwA5yuEhUXgOqtIoES2QYACvaIwXJSWBk4VnfI,6594
649
649
  lusid/models/portfolio_entity_id.py,sha256=Q6Y2BocHtfoMiSWaJJqoidwPeQeaDtM_A2Qi9ufesXk,3941
650
650
  lusid/models/portfolio_group.py,sha256=pt4ZLAFaXINyx9d8BQ9zZAlj9lIWAzVVWsQpty2PgZA,7106
651
651
  lusid/models/portfolio_group_id_compliance_parameter.py,sha256=EKTEIf0siRNSh4j7CHdl_QOgsDPBMKff3KJ6DP8rX7I,5521
@@ -664,7 +664,7 @@ lusid/models/portfolio_return_breakdown.py,sha256=PGCCidYWkdSSzNJmZeZIEuYQBgozeF
664
664
  lusid/models/portfolio_search_result.py,sha256=xMxRykRsaUoDbwtk7oFYqJeGeTEpR1BaZ8sw-4zRQJY,6669
665
665
  lusid/models/portfolio_trade_ticket.py,sha256=29sx0JwS49GzDI65hh4YvLN1rgBGBPDOTxfJHIgtzPg,2780
666
666
  lusid/models/portfolio_type.py,sha256=FU88oStdLwCnAk2xAWMUtJiaLbwWJKBi-rE1ZkZTs8g,712
667
- lusid/models/portfolio_without_href.py,sha256=8rnY2y1oLQuTROF4ztdXg6eq3aUHnDpUSVOQtZp8cOM,11809
667
+ lusid/models/portfolio_without_href.py,sha256=CDQjm1QHYHi1yfG5J7xNq9JfyDd7SUWabEkLxmxuUx8,12385
668
668
  lusid/models/portfolios_reconciliation_request.py,sha256=NlI1pOGr08bwob0a4FZRRZiS6DylKDpZJA8cw7dgRsc,3001
669
669
  lusid/models/posting_module_details.py,sha256=YtjckonotvLC-UwLecW2G12FVxlww-VkyEU4q-urvsA,3310
670
670
  lusid/models/posting_module_request.py,sha256=x6aq23t1GtSpg60mAe3gXTRBjgIkOVqUp4qRb3tLFDs,4473
@@ -852,6 +852,7 @@ lusid/models/sides_definition_request.py,sha256=dIwC8QWSo13i2TUv4KrpyAbo_fq-GxT7
852
852
  lusid/models/simple_cash_flow_loan.py,sha256=NLVc19iiQEWnM-nUvT-hOz7vca8cG0mTXH9RIuK3iWo,6272
853
853
  lusid/models/simple_instrument.py,sha256=gquWeXQKknx7JwuqPQNVHidMggVVXkIDTL_QSaByDSw,6778
854
854
  lusid/models/sort_order.py,sha256=tx9hNHkrcdw2gQkSLTGQ-JED7cqZoFJ60abVdqkD-GM,644
855
+ lusid/models/staged_modifications_info.py,sha256=z2GkecAm0BLbrCmyBf5n_WzlWP-LPZW-s0io15Z5Spk,2827
855
856
  lusid/models/staging_rule.py,sha256=RxvQoGTR8tShrGw4MLFhaR5L4kxdjeXK8hCGp0kagsk,3560
856
857
  lusid/models/staging_rule_approval_criteria.py,sha256=qmAPg2CfdCQvgSiSLte1n9PAz0fYipc8oDVb2QaMIxk,2687
857
858
  lusid/models/staging_rule_match_criteria.py,sha256=_RxCyvulK3necsQz6LI7YacbSZAktEN5cITthxm9F-w,3561
@@ -999,7 +1000,7 @@ lusid/models/value_type.py,sha256=jHK4tNBGG6VZsoUobxgcuY59JiMYF7YVSqu_tyYyL8U,12
999
1000
  lusid/models/vendor_dependency.py,sha256=aoSaZxqR2Sa-oE9DAggXJMoXqnPsej_v1lcmOuwqmsM,4307
1000
1001
  lusid/models/vendor_library.py,sha256=Fx8zktN5UuefXUGb27Pgw-N3grsyVMvjOs_3Lw_S4Ow,812
1001
1002
  lusid/models/vendor_model_rule.py,sha256=lsuNCUYeK86M2S2iJdkTkFzqFBqFOpIutIuV40X9Nlo,6263
1002
- lusid/models/version.py,sha256=H6dLycqxv4pkzuPAEhmtFCWwAZqmhIUXvcl32ryU2HA,6109
1003
+ lusid/models/version.py,sha256=_IlO_C6dsWF0rU4duap_dszj2wqPYGm5QvAWP_ZBw5o,6791
1003
1004
  lusid/models/version_summary_dto.py,sha256=EjzyYugLxgsO8_myJU-egpQhRKdYD8AIljKRE2hZh14,3584
1004
1005
  lusid/models/versioned_resource_list_of_a2_b_data_record.py,sha256=3X4yY5NWFUONWvWDFU4y6xne9BTmYIzI4Mh31_Cb0QY,4522
1005
1006
  lusid/models/versioned_resource_list_of_a2_b_movement_record.py,sha256=rTddKkdkTeYGLNi00LwFiyva2i_ayLiNQ3-flIhdj8I,4570
@@ -1021,6 +1022,6 @@ lusid/models/weighted_instruments.py,sha256=1y_y_vw4-LPsbkQx4FOzWdZc5fJnzhVkf1D3
1021
1022
  lusid/models/yield_curve_data.py,sha256=SbxvdJ4-GWK9kpMdw4Fnxc7_kvIMwgsRsd_31UJn7nw,6330
1022
1023
  lusid/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1023
1024
  lusid/rest.py,sha256=TNUzQ3yLNT2L053EdR7R0vNzQh2J3TlYD1T56Dye0W0,10138
1024
- lusid_sdk-2.1.81.dist-info/METADATA,sha256=odgVajI3t2K4FnrBYcAvwk50ppS5kqm-E2b4yETs9ak,180503
1025
- lusid_sdk-2.1.81.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
1026
- lusid_sdk-2.1.81.dist-info/RECORD,,
1025
+ lusid_sdk-2.1.88.dist-info/METADATA,sha256=CKxqaGO9i2P19yO7KG63633MBuUTrv_txwJEzCIJLCA,180565
1026
+ lusid_sdk-2.1.88.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
1027
+ lusid_sdk-2.1.88.dist-info/RECORD,,