lusid-sdk 2.1.198__py3-none-any.whl → 2.1.242__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 +8 -0
- lusid/api/funds_api.py +8 -16
- lusid/api/persons_api.py +167 -0
- lusid/api/portfolios_api.py +2 -2
- lusid/configuration.py +1 -1
- lusid/extensions/__init__.py +1 -1
- lusid/models/__init__.py +8 -0
- lusid/models/address_key_compliance_parameter.py +3 -3
- lusid/models/address_key_list_compliance_parameter.py +3 -3
- lusid/models/basket.py +3 -3
- lusid/models/bond.py +3 -3
- lusid/models/bool_compliance_parameter.py +3 -3
- lusid/models/bool_list_compliance_parameter.py +3 -3
- lusid/models/branch_step.py +3 -3
- lusid/models/branch_step_request.py +10 -3
- lusid/models/cap_floor.py +3 -3
- lusid/models/cash_perpetual.py +3 -3
- lusid/models/cds_index.py +3 -3
- lusid/models/check_step.py +3 -3
- lusid/models/check_step_request.py +10 -3
- lusid/models/complex_bond.py +3 -3
- lusid/models/compliance_parameter.py +6 -5
- lusid/models/compliance_parameter_type.py +1 -0
- lusid/models/compliance_step.py +6 -5
- lusid/models/compliance_step_request.py +7 -6
- lusid/models/compliance_step_type.py +1 -0
- lusid/models/compliance_step_type_request.py +1 -0
- lusid/models/contract_for_difference.py +3 -3
- lusid/models/create_derived_property_definition_request.py +3 -3
- lusid/models/create_property_definition_request.py +3 -3
- lusid/models/credit_default_swap.py +3 -3
- lusid/models/currency_and_amount.py +2 -7
- lusid/models/date_time_compliance_parameter.py +3 -3
- lusid/models/date_time_list_compliance_parameter.py +3 -3
- lusid/models/decimal_compliance_parameter.py +3 -3
- lusid/models/decimal_list_compliance_parameter.py +3 -3
- lusid/models/equity.py +3 -3
- lusid/models/equity_option.py +3 -3
- lusid/models/equity_swap.py +3 -3
- lusid/models/exchange_traded_option.py +3 -3
- lusid/models/exotic_instrument.py +3 -3
- lusid/models/fee.py +1 -15
- lusid/models/fee_accrual.py +32 -14
- lusid/models/fee_request.py +10 -1
- lusid/models/filter_predicate_compliance_parameter.py +3 -3
- lusid/models/filter_step.py +3 -3
- lusid/models/filter_step_request.py +10 -3
- lusid/models/fixed_leg.py +3 -3
- lusid/models/flexible_loan.py +3 -3
- lusid/models/floating_leg.py +3 -3
- lusid/models/forward_rate_agreement.py +3 -3
- lusid/models/fund_share_class.py +3 -3
- lusid/models/funding_leg.py +3 -3
- lusid/models/future.py +3 -3
- lusid/models/fx_forward.py +3 -3
- lusid/models/fx_option.py +3 -3
- lusid/models/fx_swap.py +3 -3
- lusid/models/group_by_selector_compliance_parameter.py +3 -3
- lusid/models/group_by_step.py +3 -3
- lusid/models/group_by_step_request.py +10 -3
- lusid/models/group_calculation_compliance_parameter.py +91 -0
- lusid/models/group_filter_predicate_compliance_parameter.py +3 -3
- lusid/models/group_filter_step.py +3 -3
- lusid/models/group_filter_step_request.py +10 -3
- lusid/models/inflation_leg.py +3 -3
- lusid/models/inflation_linked_bond.py +3 -3
- lusid/models/inflation_swap.py +3 -3
- lusid/models/instrument.py +7 -1
- lusid/models/instrument_leg.py +3 -3
- lusid/models/instrument_list_compliance_parameter.py +3 -3
- lusid/models/instrument_type.py +2 -0
- lusid/models/interest_rate_swap.py +3 -3
- lusid/models/interest_rate_swaption.py +3 -3
- lusid/models/intermediate_compliance_step.py +3 -3
- lusid/models/intermediate_compliance_step_request.py +10 -3
- lusid/models/lusid_instrument.py +3 -3
- lusid/models/order_flow_configuration.py +1 -1
- lusid/models/percent_check_step.py +110 -0
- lusid/models/percent_check_step_request.py +98 -0
- lusid/models/portfolio_group_id_compliance_parameter.py +3 -3
- lusid/models/portfolio_group_id_list_compliance_parameter.py +3 -3
- lusid/models/portfolio_id_compliance_parameter.py +3 -3
- lusid/models/portfolio_id_list_compliance_parameter.py +3 -3
- lusid/models/property_definition.py +3 -3
- lusid/models/property_definition_search_result.py +3 -3
- lusid/models/property_domain.py +34 -0
- lusid/models/property_key_compliance_parameter.py +3 -3
- lusid/models/property_key_list_compliance_parameter.py +3 -3
- lusid/models/property_list_compliance_parameter.py +3 -3
- lusid/models/quote_access_metadata_rule_id.py +2 -2
- lusid/models/quote_series_id.py +2 -2
- lusid/models/realised_gain_loss.py +2 -2
- lusid/models/recombine_step.py +3 -3
- lusid/models/reference_instrument.py +3 -3
- lusid/models/repo.py +3 -3
- lusid/models/simple_cash_flow_loan.py +3 -3
- lusid/models/simple_instrument.py +3 -3
- lusid/models/staging_rule_approval_criteria.py +10 -3
- lusid/models/string_compliance_parameter.py +3 -3
- lusid/models/string_list_compliance_parameter.py +3 -3
- lusid/models/term_deposit.py +3 -3
- lusid/models/total_return_swap.py +3 -3
- lusid/models/transaction_configuration_movement_data.py +1 -1
- lusid/models/transaction_configuration_movement_data_request.py +1 -1
- lusid/models/transaction_type_calculation.py +11 -14
- lusid/models/transaction_type_movement.py +20 -3
- lusid/models/upsert_instruments_response.py +20 -1
- lusid/models/upsert_persons_response.py +114 -0
- {lusid_sdk-2.1.198.dist-info → lusid_sdk-2.1.242.dist-info}/METADATA +9 -4
- {lusid_sdk-2.1.198.dist-info → lusid_sdk-2.1.242.dist-info}/RECORD +111 -107
- {lusid_sdk-2.1.198.dist-info → lusid_sdk-2.1.242.dist-info}/WHEEL +0 -0
|
@@ -33,7 +33,7 @@ class TransactionConfigurationMovementData(BaseModel):
|
|
|
33
33
|
properties: Optional[Dict[str, PerpetualProperty]] = Field(None, description="The properties associated with the underlying Movement")
|
|
34
34
|
mappings: Optional[conlist(TransactionPropertyMapping)] = Field(None, description="This allows you to map a transaction property to a property on the underlying holding")
|
|
35
35
|
name: Optional[StrictStr] = Field(None, description="The movement name (optional)")
|
|
36
|
-
movement_options: Optional[conlist(StrictStr)] = Field(None, alias="movementOptions", description="Allows extra specifications for the movement. The
|
|
36
|
+
movement_options: Optional[conlist(StrictStr)] = Field(None, alias="movementOptions", description="Allows extra specifications for the movement. The options currently available are 'DirectAdjustment' and 'IncludesTradedInterest'. A movement type of 'StockMovement' with an option of 'DirectAdjusment' will allow you to adjust the units of a holding without affecting its cost base. You will, therefore, be able to reflect the impact of a stock split by loading a Transaction.")
|
|
37
37
|
__properties = ["movementTypes", "side", "direction", "properties", "mappings", "name", "movementOptions"]
|
|
38
38
|
|
|
39
39
|
@validator('movement_types')
|
|
@@ -33,7 +33,7 @@ class TransactionConfigurationMovementDataRequest(BaseModel):
|
|
|
33
33
|
properties: Optional[Dict[str, PerpetualProperty]] = Field(None, description="The properties associated with the underlying Movement.")
|
|
34
34
|
mappings: Optional[conlist(TransactionPropertyMappingRequest)] = Field(None, description="This allows you to map a transaction property to a property on the underlying holding.")
|
|
35
35
|
name: Optional[StrictStr] = Field(None, description="The movement name (optional)")
|
|
36
|
-
movement_options: Optional[conlist(StrictStr)] = Field(None, alias="movementOptions", description="Allows extra specifications for the movement. The
|
|
36
|
+
movement_options: Optional[conlist(StrictStr)] = Field(None, alias="movementOptions", description="Allows extra specifications for the movement. The options currently available are 'DirectAdjustment' and 'IncludesTradedInterest'. A movement type of 'StockMovement' with an option of 'DirectAdjusment' will allow you to adjust the units of a holding without affecting its cost base. You will, therefore, be able to reflect the impact of a stock split by loading a Transaction.")
|
|
37
37
|
__properties = ["movementTypes", "side", "direction", "properties", "mappings", "name", "movementOptions"]
|
|
38
38
|
|
|
39
39
|
@validator('movement_types')
|
|
@@ -19,25 +19,16 @@ import json
|
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
from typing import Any, Dict, Optional
|
|
22
|
-
from pydantic.v1 import BaseModel, Field, constr
|
|
22
|
+
from pydantic.v1 import BaseModel, Field, constr
|
|
23
23
|
|
|
24
24
|
class TransactionTypeCalculation(BaseModel):
|
|
25
25
|
"""
|
|
26
26
|
TransactionTypeCalculation
|
|
27
27
|
"""
|
|
28
28
|
type: constr(strict=True, max_length=64, min_length=1) = Field(..., description="The type of calculation to perform")
|
|
29
|
-
side: Optional[constr(strict=True, max_length=64, min_length=
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
@validator('side')
|
|
33
|
-
def side_validate_regular_expression(cls, value):
|
|
34
|
-
"""Validates the regular expression"""
|
|
35
|
-
if value is None:
|
|
36
|
-
return value
|
|
37
|
-
|
|
38
|
-
if not re.match(r"^[a-zA-Z0-9\-_]+$", value):
|
|
39
|
-
raise ValueError(r"must validate the regular expression /^[a-zA-Z0-9\-_]+$/")
|
|
40
|
-
return value
|
|
29
|
+
side: Optional[constr(strict=True, max_length=64, min_length=1)] = Field(None, description="The side to which the calculation is applied")
|
|
30
|
+
formula: Optional[constr(strict=True, max_length=1024, min_length=0)] = Field(None, description="The formula used to derive the total consideration amount when it is not provided on the transaction")
|
|
31
|
+
__properties = ["type", "side", "formula"]
|
|
41
32
|
|
|
42
33
|
class Config:
|
|
43
34
|
"""Pydantic configuration"""
|
|
@@ -68,6 +59,11 @@ class TransactionTypeCalculation(BaseModel):
|
|
|
68
59
|
if self.side is None and "side" in self.__fields_set__:
|
|
69
60
|
_dict['side'] = None
|
|
70
61
|
|
|
62
|
+
# set to None if formula (nullable) is None
|
|
63
|
+
# and __fields_set__ contains the field
|
|
64
|
+
if self.formula is None and "formula" in self.__fields_set__:
|
|
65
|
+
_dict['formula'] = None
|
|
66
|
+
|
|
71
67
|
return _dict
|
|
72
68
|
|
|
73
69
|
@classmethod
|
|
@@ -81,6 +77,7 @@ class TransactionTypeCalculation(BaseModel):
|
|
|
81
77
|
|
|
82
78
|
_obj = TransactionTypeCalculation.parse_obj({
|
|
83
79
|
"type": obj.get("type"),
|
|
84
|
-
"side": obj.get("side")
|
|
80
|
+
"side": obj.get("side"),
|
|
81
|
+
"formula": obj.get("formula")
|
|
85
82
|
})
|
|
86
83
|
return _obj
|
|
@@ -33,9 +33,10 @@ class TransactionTypeMovement(BaseModel):
|
|
|
33
33
|
properties: Optional[Dict[str, PerpetualProperty]] = Field(None, description="The properties associated with the underlying Movement")
|
|
34
34
|
mappings: Optional[conlist(TransactionTypePropertyMapping, max_items=5000)] = Field(None, description="This allows you to map a transaction property to a property on the underlying holding")
|
|
35
35
|
name: Optional[constr(strict=True, max_length=512, min_length=1)] = Field(None, description="The movement name (optional)")
|
|
36
|
-
movement_options: Optional[conlist(StrictStr)] = Field(None, alias="movementOptions", description="Allows extra specifications for the movement. The
|
|
36
|
+
movement_options: Optional[conlist(StrictStr)] = Field(None, alias="movementOptions", description="Allows extra specifications for the movement. The options currently available are 'DirectAdjustment' and 'IncludesTradedInterest'. A movement type of 'StockMovement' with an option of 'DirectAdjusment' will allow you to adjust the units of a holding without affecting its cost base. You will, therefore, be able to reflect the impact of a stock split by loading a Transaction.")
|
|
37
37
|
settlement_date_override: Optional[StrictStr] = Field(None, alias="settlementDateOverride", description="Optional property key that must be in the Transaction domain when specified. When the movement is processed and the transaction has this property set to a valid date, then the property value will override the SettlementDate of the transaction.")
|
|
38
|
-
|
|
38
|
+
condition: Optional[constr(strict=True, max_length=16384, min_length=0)] = Field(None, description="The condition that the transaction must satisfy to generate the movement, such as: Portfolio.BaseCurrency eq 'GBP'. The condition can contain fields and properties from transactions and portfolios. If no condition is provided, the movement will apply for all transactions of this type.")
|
|
39
|
+
__properties = ["movementTypes", "side", "direction", "properties", "mappings", "name", "movementOptions", "settlementDateOverride", "condition"]
|
|
39
40
|
|
|
40
41
|
@validator('side')
|
|
41
42
|
def side_validate_regular_expression(cls, value):
|
|
@@ -54,6 +55,16 @@ class TransactionTypeMovement(BaseModel):
|
|
|
54
55
|
raise ValueError(r"must validate the regular expression /^[\s\S]*$/")
|
|
55
56
|
return value
|
|
56
57
|
|
|
58
|
+
@validator('condition')
|
|
59
|
+
def condition_validate_regular_expression(cls, value):
|
|
60
|
+
"""Validates the regular expression"""
|
|
61
|
+
if value is None:
|
|
62
|
+
return value
|
|
63
|
+
|
|
64
|
+
if not re.match(r"^[\s\S]*$", value):
|
|
65
|
+
raise ValueError(r"must validate the regular expression /^[\s\S]*$/")
|
|
66
|
+
return value
|
|
67
|
+
|
|
57
68
|
class Config:
|
|
58
69
|
"""Pydantic configuration"""
|
|
59
70
|
allow_population_by_field_name = True
|
|
@@ -117,6 +128,11 @@ class TransactionTypeMovement(BaseModel):
|
|
|
117
128
|
if self.settlement_date_override is None and "settlement_date_override" in self.__fields_set__:
|
|
118
129
|
_dict['settlementDateOverride'] = None
|
|
119
130
|
|
|
131
|
+
# set to None if condition (nullable) is None
|
|
132
|
+
# and __fields_set__ contains the field
|
|
133
|
+
if self.condition is None and "condition" in self.__fields_set__:
|
|
134
|
+
_dict['condition'] = None
|
|
135
|
+
|
|
120
136
|
return _dict
|
|
121
137
|
|
|
122
138
|
@classmethod
|
|
@@ -141,6 +157,7 @@ class TransactionTypeMovement(BaseModel):
|
|
|
141
157
|
"mappings": [TransactionTypePropertyMapping.from_dict(_item) for _item in obj.get("mappings")] if obj.get("mappings") is not None else None,
|
|
142
158
|
"name": obj.get("name"),
|
|
143
159
|
"movement_options": obj.get("movementOptions"),
|
|
144
|
-
"settlement_date_override": obj.get("settlementDateOverride")
|
|
160
|
+
"settlement_date_override": obj.get("settlementDateOverride"),
|
|
161
|
+
"condition": obj.get("condition")
|
|
145
162
|
})
|
|
146
163
|
return _obj
|
|
@@ -31,10 +31,11 @@ class UpsertInstrumentsResponse(BaseModel):
|
|
|
31
31
|
"""
|
|
32
32
|
href: Optional[StrictStr] = Field(None, description="The specific Uniform Resource Identifier (URI) for this resource at the requested effective and asAt datetime.")
|
|
33
33
|
values: Optional[Dict[str, Instrument]] = Field(None, description="The instruments which have been successfully updated or created.")
|
|
34
|
+
staged: Optional[Dict[str, Instrument]] = Field(None, description="The instruments that have been staged for updation or creation.")
|
|
34
35
|
failed: Optional[Dict[str, ErrorDetail]] = Field(None, description="The instruments that could not be updated or created or were left unchanged without error along with a reason for their failure.")
|
|
35
36
|
metadata: Optional[Dict[str, conlist(ResponseMetaData)]] = Field(None, description="Meta data associated with the upsert event.")
|
|
36
37
|
links: Optional[conlist(Link)] = None
|
|
37
|
-
__properties = ["href", "values", "failed", "metadata", "links"]
|
|
38
|
+
__properties = ["href", "values", "staged", "failed", "metadata", "links"]
|
|
38
39
|
|
|
39
40
|
class Config:
|
|
40
41
|
"""Pydantic configuration"""
|
|
@@ -67,6 +68,13 @@ class UpsertInstrumentsResponse(BaseModel):
|
|
|
67
68
|
if self.values[_key]:
|
|
68
69
|
_field_dict[_key] = self.values[_key].to_dict()
|
|
69
70
|
_dict['values'] = _field_dict
|
|
71
|
+
# override the default output from pydantic by calling `to_dict()` of each value in staged (dict)
|
|
72
|
+
_field_dict = {}
|
|
73
|
+
if self.staged:
|
|
74
|
+
for _key in self.staged:
|
|
75
|
+
if self.staged[_key]:
|
|
76
|
+
_field_dict[_key] = self.staged[_key].to_dict()
|
|
77
|
+
_dict['staged'] = _field_dict
|
|
70
78
|
# override the default output from pydantic by calling `to_dict()` of each value in failed (dict)
|
|
71
79
|
_field_dict = {}
|
|
72
80
|
if self.failed:
|
|
@@ -100,6 +108,11 @@ class UpsertInstrumentsResponse(BaseModel):
|
|
|
100
108
|
if self.values is None and "values" in self.__fields_set__:
|
|
101
109
|
_dict['values'] = None
|
|
102
110
|
|
|
111
|
+
# set to None if staged (nullable) is None
|
|
112
|
+
# and __fields_set__ contains the field
|
|
113
|
+
if self.staged is None and "staged" in self.__fields_set__:
|
|
114
|
+
_dict['staged'] = None
|
|
115
|
+
|
|
103
116
|
# set to None if failed (nullable) is None
|
|
104
117
|
# and __fields_set__ contains the field
|
|
105
118
|
if self.failed is None and "failed" in self.__fields_set__:
|
|
@@ -134,6 +147,12 @@ class UpsertInstrumentsResponse(BaseModel):
|
|
|
134
147
|
)
|
|
135
148
|
if obj.get("values") is not None
|
|
136
149
|
else None,
|
|
150
|
+
"staged": dict(
|
|
151
|
+
(_k, Instrument.from_dict(_v))
|
|
152
|
+
for _k, _v in obj.get("staged").items()
|
|
153
|
+
)
|
|
154
|
+
if obj.get("staged") is not None
|
|
155
|
+
else None,
|
|
137
156
|
"failed": dict(
|
|
138
157
|
(_k, ErrorDetail.from_dict(_v))
|
|
139
158
|
for _k, _v in obj.get("failed").items()
|
|
@@ -0,0 +1,114 @@
|
|
|
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, conlist
|
|
23
|
+
from lusid.models.error_detail import ErrorDetail
|
|
24
|
+
from lusid.models.link import Link
|
|
25
|
+
from lusid.models.person import Person
|
|
26
|
+
|
|
27
|
+
class UpsertPersonsResponse(BaseModel):
|
|
28
|
+
"""
|
|
29
|
+
UpsertPersonsResponse
|
|
30
|
+
"""
|
|
31
|
+
values: Dict[str, Person] = Field(..., description="The Person(s) that have been successfully upserted")
|
|
32
|
+
failed: Dict[str, ErrorDetail] = Field(..., description="The Person(s) that could not be upserted along with a reason for their failure.")
|
|
33
|
+
as_at_date: datetime = Field(..., alias="asAtDate", description="The as-at datetime at which Person(s) were created or updated.")
|
|
34
|
+
links: Optional[conlist(Link)] = None
|
|
35
|
+
__properties = ["values", "failed", "asAtDate", "links"]
|
|
36
|
+
|
|
37
|
+
class Config:
|
|
38
|
+
"""Pydantic configuration"""
|
|
39
|
+
allow_population_by_field_name = True
|
|
40
|
+
validate_assignment = True
|
|
41
|
+
|
|
42
|
+
def to_str(self) -> str:
|
|
43
|
+
"""Returns the string representation of the model using alias"""
|
|
44
|
+
return pprint.pformat(self.dict(by_alias=True))
|
|
45
|
+
|
|
46
|
+
def to_json(self) -> str:
|
|
47
|
+
"""Returns the JSON representation of the model using alias"""
|
|
48
|
+
return json.dumps(self.to_dict())
|
|
49
|
+
|
|
50
|
+
@classmethod
|
|
51
|
+
def from_json(cls, json_str: str) -> UpsertPersonsResponse:
|
|
52
|
+
"""Create an instance of UpsertPersonsResponse from a JSON string"""
|
|
53
|
+
return cls.from_dict(json.loads(json_str))
|
|
54
|
+
|
|
55
|
+
def to_dict(self):
|
|
56
|
+
"""Returns the dictionary representation of the model using alias"""
|
|
57
|
+
_dict = self.dict(by_alias=True,
|
|
58
|
+
exclude={
|
|
59
|
+
},
|
|
60
|
+
exclude_none=True)
|
|
61
|
+
# override the default output from pydantic by calling `to_dict()` of each value in values (dict)
|
|
62
|
+
_field_dict = {}
|
|
63
|
+
if self.values:
|
|
64
|
+
for _key in self.values:
|
|
65
|
+
if self.values[_key]:
|
|
66
|
+
_field_dict[_key] = self.values[_key].to_dict()
|
|
67
|
+
_dict['values'] = _field_dict
|
|
68
|
+
# override the default output from pydantic by calling `to_dict()` of each value in failed (dict)
|
|
69
|
+
_field_dict = {}
|
|
70
|
+
if self.failed:
|
|
71
|
+
for _key in self.failed:
|
|
72
|
+
if self.failed[_key]:
|
|
73
|
+
_field_dict[_key] = self.failed[_key].to_dict()
|
|
74
|
+
_dict['failed'] = _field_dict
|
|
75
|
+
# override the default output from pydantic by calling `to_dict()` of each item in links (list)
|
|
76
|
+
_items = []
|
|
77
|
+
if self.links:
|
|
78
|
+
for _item in self.links:
|
|
79
|
+
if _item:
|
|
80
|
+
_items.append(_item.to_dict())
|
|
81
|
+
_dict['links'] = _items
|
|
82
|
+
# set to None if links (nullable) is None
|
|
83
|
+
# and __fields_set__ contains the field
|
|
84
|
+
if self.links is None and "links" in self.__fields_set__:
|
|
85
|
+
_dict['links'] = None
|
|
86
|
+
|
|
87
|
+
return _dict
|
|
88
|
+
|
|
89
|
+
@classmethod
|
|
90
|
+
def from_dict(cls, obj: dict) -> UpsertPersonsResponse:
|
|
91
|
+
"""Create an instance of UpsertPersonsResponse from a dict"""
|
|
92
|
+
if obj is None:
|
|
93
|
+
return None
|
|
94
|
+
|
|
95
|
+
if not isinstance(obj, dict):
|
|
96
|
+
return UpsertPersonsResponse.parse_obj(obj)
|
|
97
|
+
|
|
98
|
+
_obj = UpsertPersonsResponse.parse_obj({
|
|
99
|
+
"values": dict(
|
|
100
|
+
(_k, Person.from_dict(_v))
|
|
101
|
+
for _k, _v in obj.get("values").items()
|
|
102
|
+
)
|
|
103
|
+
if obj.get("values") is not None
|
|
104
|
+
else None,
|
|
105
|
+
"failed": dict(
|
|
106
|
+
(_k, ErrorDetail.from_dict(_v))
|
|
107
|
+
for _k, _v in obj.get("failed").items()
|
|
108
|
+
)
|
|
109
|
+
if obj.get("failed") is not None
|
|
110
|
+
else None,
|
|
111
|
+
"as_at_date": obj.get("asAtDate"),
|
|
112
|
+
"links": [Link.from_dict(_item) for _item in obj.get("links")] if obj.get("links") is not None else None
|
|
113
|
+
})
|
|
114
|
+
return _obj
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: lusid-sdk
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.242
|
|
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.
|
|
33
|
-
- Package version: 2.1.
|
|
32
|
+
- API version: 0.11.6675
|
|
33
|
+
- Package version: 2.1.242
|
|
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
|
|
|
@@ -406,7 +406,7 @@ Class | Method | HTTP request | Description
|
|
|
406
406
|
*FeeTypesApi* | [**list_fee_types**](docs/FeeTypesApi.md#list_fee_types) | **GET** /api/feetypes | [EXPERIMENTAL] ListFeeTypes: List FeeTypes
|
|
407
407
|
*FeeTypesApi* | [**update_fee_type**](docs/FeeTypesApi.md#update_fee_type) | **PUT** /api/feetypes/{scope}/{code} | [EXPERIMENTAL] UpdateFeeType: Update a FeeType.
|
|
408
408
|
*FundsApi* | [**accept_estimate_valuation_point**](docs/FundsApi.md#accept_estimate_valuation_point) | **POST** /api/funds/{scope}/{code}/valuationpoints/$acceptestimate | [EXPERIMENTAL] AcceptEstimateValuationPoint: Accepts an Estimate Valuation Point.
|
|
409
|
-
*FundsApi* | [**create_fee**](docs/FundsApi.md#create_fee) | **POST** /api/funds/{scope}/{code}/fees
|
|
409
|
+
*FundsApi* | [**create_fee**](docs/FundsApi.md#create_fee) | **POST** /api/funds/{scope}/{code}/fees | [EXPERIMENTAL] CreateFee: Create a Fee.
|
|
410
410
|
*FundsApi* | [**create_fund**](docs/FundsApi.md#create_fund) | **POST** /api/funds/{scope} | [EXPERIMENTAL] CreateFund: Create a Fund.
|
|
411
411
|
*FundsApi* | [**delete_fee**](docs/FundsApi.md#delete_fee) | **DELETE** /api/funds/{scope}/{code}/fees/{feeCode} | [EXPERIMENTAL] DeleteFee: Delete a Fee.
|
|
412
412
|
*FundsApi* | [**delete_fund**](docs/FundsApi.md#delete_fund) | **DELETE** /api/funds/{scope}/{code} | [EXPERIMENTAL] DeleteFund: Delete a Fund.
|
|
@@ -521,6 +521,7 @@ Class | Method | HTTP request | Description
|
|
|
521
521
|
*PersonsApi* | [**set_person_properties**](docs/PersonsApi.md#set_person_properties) | **POST** /api/persons/{idTypeScope}/{idTypeCode}/{code}/properties | [EARLY ACCESS] SetPersonProperties: Set Person Properties
|
|
522
522
|
*PersonsApi* | [**upsert_person**](docs/PersonsApi.md#upsert_person) | **POST** /api/persons | [EARLY ACCESS] UpsertPerson: Upsert Person
|
|
523
523
|
*PersonsApi* | [**upsert_person_access_metadata**](docs/PersonsApi.md#upsert_person_access_metadata) | **PUT** /api/persons/{idTypeScope}/{idTypeCode}/{code}/metadata/{metadataKey} | [EARLY ACCESS] UpsertPersonAccessMetadata: Upsert a Person Access Metadata entry associated with a specific metadataKey. This creates or updates the data in LUSID.
|
|
524
|
+
*PersonsApi* | [**upsert_persons**](docs/PersonsApi.md#upsert_persons) | **POST** /api/persons/$batchUpsert | [EARLY ACCESS] UpsertPersons: Pluralised Upsert of Persons
|
|
524
525
|
*PlacementsApi* | [**delete_placement**](docs/PlacementsApi.md#delete_placement) | **DELETE** /api/placements/{scope}/{code} | [EARLY ACCESS] DeletePlacement: Delete placement
|
|
525
526
|
*PlacementsApi* | [**get_placement**](docs/PlacementsApi.md#get_placement) | **GET** /api/placements/{scope}/{code} | [EARLY ACCESS] GetPlacement: Get Placement
|
|
526
527
|
*PlacementsApi* | [**list_placements**](docs/PlacementsApi.md#list_placements) | **GET** /api/placements | [EARLY ACCESS] ListPlacements: List Placements
|
|
@@ -1115,6 +1116,7 @@ Class | Method | HTTP request | Description
|
|
|
1115
1116
|
- [GroupBySelectorComplianceParameter](docs/GroupBySelectorComplianceParameter.md)
|
|
1116
1117
|
- [GroupByStep](docs/GroupByStep.md)
|
|
1117
1118
|
- [GroupByStepRequest](docs/GroupByStepRequest.md)
|
|
1119
|
+
- [GroupCalculationComplianceParameter](docs/GroupCalculationComplianceParameter.md)
|
|
1118
1120
|
- [GroupFilterPredicateComplianceParameter](docs/GroupFilterPredicateComplianceParameter.md)
|
|
1119
1121
|
- [GroupFilterStep](docs/GroupFilterStep.md)
|
|
1120
1122
|
- [GroupFilterStepRequest](docs/GroupFilterStepRequest.md)
|
|
@@ -1332,6 +1334,8 @@ Class | Method | HTTP request | Description
|
|
|
1332
1334
|
- [Participation](docs/Participation.md)
|
|
1333
1335
|
- [ParticipationRequest](docs/ParticipationRequest.md)
|
|
1334
1336
|
- [ParticipationSetRequest](docs/ParticipationSetRequest.md)
|
|
1337
|
+
- [PercentCheckStep](docs/PercentCheckStep.md)
|
|
1338
|
+
- [PercentCheckStepRequest](docs/PercentCheckStepRequest.md)
|
|
1335
1339
|
- [PerformanceReturn](docs/PerformanceReturn.md)
|
|
1336
1340
|
- [PerformanceReturnsMetric](docs/PerformanceReturnsMetric.md)
|
|
1337
1341
|
- [PeriodDiaryEntriesReopenedResponse](docs/PeriodDiaryEntriesReopenedResponse.md)
|
|
@@ -1690,6 +1694,7 @@ Class | Method | HTTP request | Description
|
|
|
1690
1694
|
- [UpsertLegalEntityRequest](docs/UpsertLegalEntityRequest.md)
|
|
1691
1695
|
- [UpsertPersonAccessMetadataRequest](docs/UpsertPersonAccessMetadataRequest.md)
|
|
1692
1696
|
- [UpsertPersonRequest](docs/UpsertPersonRequest.md)
|
|
1697
|
+
- [UpsertPersonsResponse](docs/UpsertPersonsResponse.md)
|
|
1693
1698
|
- [UpsertPortfolioAccessMetadataRequest](docs/UpsertPortfolioAccessMetadataRequest.md)
|
|
1694
1699
|
- [UpsertPortfolioGroupAccessMetadataRequest](docs/UpsertPortfolioGroupAccessMetadataRequest.md)
|
|
1695
1700
|
- [UpsertPortfolioTransactionsResponse](docs/UpsertPortfolioTransactionsResponse.md)
|