lusid-sdk 2.1.565__py3-none-any.whl → 2.1.580__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- lusid/__init__.py +6 -0
- lusid/configuration.py +1 -1
- lusid/models/__init__.py +6 -0
- lusid/models/aggregate_spec.py +3 -3
- lusid/models/aggregation_op.py +1 -0
- lusid/models/comparison_attribute_value_pair.py +8 -3
- lusid/models/external_fee_component_filter.py +94 -0
- lusid/models/fund_configuration.py +16 -1
- lusid/models/fund_configuration_request.py +16 -1
- lusid/models/option_exercise_cash_event.py +8 -1
- lusid/models/option_exercise_physical_event.py +8 -1
- lusid/models/strategy.py +81 -0
- lusid/models/transaction.py +25 -4
- lusid/models/transaction_request.py +19 -4
- lusid/models/transaction_type_details.py +88 -0
- {lusid_sdk-2.1.565.dist-info → lusid_sdk-2.1.580.dist-info}/METADATA +4 -1
- {lusid_sdk-2.1.565.dist-info → lusid_sdk-2.1.580.dist-info}/RECORD +18 -15
- {lusid_sdk-2.1.565.dist-info → lusid_sdk-2.1.580.dist-info}/WHEEL +0 -0
lusid/__init__.py
CHANGED
@@ -423,6 +423,7 @@ from lusid.models.exercise_event import ExerciseEvent
|
|
423
423
|
from lusid.models.exotic_instrument import ExoticInstrument
|
424
424
|
from lusid.models.expanded_group import ExpandedGroup
|
425
425
|
from lusid.models.expiry_event import ExpiryEvent
|
426
|
+
from lusid.models.external_fee_component_filter import ExternalFeeComponentFilter
|
426
427
|
from lusid.models.fee import Fee
|
427
428
|
from lusid.models.fee_accrual import FeeAccrual
|
428
429
|
from lusid.models.fee_properties import FeeProperties
|
@@ -1046,6 +1047,7 @@ from lusid.models.staging_rule_set import StagingRuleSet
|
|
1046
1047
|
from lusid.models.step_schedule import StepSchedule
|
1047
1048
|
from lusid.models.stock_dividend_event import StockDividendEvent
|
1048
1049
|
from lusid.models.stock_split_event import StockSplitEvent
|
1050
|
+
from lusid.models.strategy import Strategy
|
1049
1051
|
from lusid.models.stream import Stream
|
1050
1052
|
from lusid.models.string_comparison_type import StringComparisonType
|
1051
1053
|
from lusid.models.string_compliance_parameter import StringComplianceParameter
|
@@ -1100,6 +1102,7 @@ from lusid.models.transaction_template_specification import TransactionTemplateS
|
|
1100
1102
|
from lusid.models.transaction_type import TransactionType
|
1101
1103
|
from lusid.models.transaction_type_alias import TransactionTypeAlias
|
1102
1104
|
from lusid.models.transaction_type_calculation import TransactionTypeCalculation
|
1105
|
+
from lusid.models.transaction_type_details import TransactionTypeDetails
|
1103
1106
|
from lusid.models.transaction_type_movement import TransactionTypeMovement
|
1104
1107
|
from lusid.models.transaction_type_property_mapping import TransactionTypePropertyMapping
|
1105
1108
|
from lusid.models.transaction_type_request import TransactionTypeRequest
|
@@ -1642,6 +1645,7 @@ __all__ = [
|
|
1642
1645
|
"ExoticInstrument",
|
1643
1646
|
"ExpandedGroup",
|
1644
1647
|
"ExpiryEvent",
|
1648
|
+
"ExternalFeeComponentFilter",
|
1645
1649
|
"Fee",
|
1646
1650
|
"FeeAccrual",
|
1647
1651
|
"FeeProperties",
|
@@ -2265,6 +2269,7 @@ __all__ = [
|
|
2265
2269
|
"StepSchedule",
|
2266
2270
|
"StockDividendEvent",
|
2267
2271
|
"StockSplitEvent",
|
2272
|
+
"Strategy",
|
2268
2273
|
"Stream",
|
2269
2274
|
"StringComparisonType",
|
2270
2275
|
"StringComplianceParameter",
|
@@ -2319,6 +2324,7 @@ __all__ = [
|
|
2319
2324
|
"TransactionType",
|
2320
2325
|
"TransactionTypeAlias",
|
2321
2326
|
"TransactionTypeCalculation",
|
2327
|
+
"TransactionTypeDetails",
|
2322
2328
|
"TransactionTypeMovement",
|
2323
2329
|
"TransactionTypePropertyMapping",
|
2324
2330
|
"TransactionTypeRequest",
|
lusid/configuration.py
CHANGED
@@ -445,7 +445,7 @@ class Configuration:
|
|
445
445
|
return "Python SDK Debug Report:\n"\
|
446
446
|
"OS: {env}\n"\
|
447
447
|
"Python Version: {pyversion}\n"\
|
448
|
-
"Version of the API: 0.11.
|
448
|
+
"Version of the API: 0.11.7042\n"\
|
449
449
|
"SDK Package Version: {package_version}".\
|
450
450
|
format(env=sys.platform, pyversion=sys.version, package_version=package_version)
|
451
451
|
|
lusid/models/__init__.py
CHANGED
@@ -342,6 +342,7 @@ from lusid.models.exercise_event import ExerciseEvent
|
|
342
342
|
from lusid.models.exotic_instrument import ExoticInstrument
|
343
343
|
from lusid.models.expanded_group import ExpandedGroup
|
344
344
|
from lusid.models.expiry_event import ExpiryEvent
|
345
|
+
from lusid.models.external_fee_component_filter import ExternalFeeComponentFilter
|
345
346
|
from lusid.models.fee import Fee
|
346
347
|
from lusid.models.fee_accrual import FeeAccrual
|
347
348
|
from lusid.models.fee_properties import FeeProperties
|
@@ -965,6 +966,7 @@ from lusid.models.staging_rule_set import StagingRuleSet
|
|
965
966
|
from lusid.models.step_schedule import StepSchedule
|
966
967
|
from lusid.models.stock_dividend_event import StockDividendEvent
|
967
968
|
from lusid.models.stock_split_event import StockSplitEvent
|
969
|
+
from lusid.models.strategy import Strategy
|
968
970
|
from lusid.models.stream import Stream
|
969
971
|
from lusid.models.string_comparison_type import StringComparisonType
|
970
972
|
from lusid.models.string_compliance_parameter import StringComplianceParameter
|
@@ -1019,6 +1021,7 @@ from lusid.models.transaction_template_specification import TransactionTemplateS
|
|
1019
1021
|
from lusid.models.transaction_type import TransactionType
|
1020
1022
|
from lusid.models.transaction_type_alias import TransactionTypeAlias
|
1021
1023
|
from lusid.models.transaction_type_calculation import TransactionTypeCalculation
|
1024
|
+
from lusid.models.transaction_type_details import TransactionTypeDetails
|
1022
1025
|
from lusid.models.transaction_type_movement import TransactionTypeMovement
|
1023
1026
|
from lusid.models.transaction_type_property_mapping import TransactionTypePropertyMapping
|
1024
1027
|
from lusid.models.transaction_type_request import TransactionTypeRequest
|
@@ -1481,6 +1484,7 @@ __all__ = [
|
|
1481
1484
|
"ExoticInstrument",
|
1482
1485
|
"ExpandedGroup",
|
1483
1486
|
"ExpiryEvent",
|
1487
|
+
"ExternalFeeComponentFilter",
|
1484
1488
|
"Fee",
|
1485
1489
|
"FeeAccrual",
|
1486
1490
|
"FeeProperties",
|
@@ -2104,6 +2108,7 @@ __all__ = [
|
|
2104
2108
|
"StepSchedule",
|
2105
2109
|
"StockDividendEvent",
|
2106
2110
|
"StockSplitEvent",
|
2111
|
+
"Strategy",
|
2107
2112
|
"Stream",
|
2108
2113
|
"StringComparisonType",
|
2109
2114
|
"StringComplianceParameter",
|
@@ -2158,6 +2163,7 @@ __all__ = [
|
|
2158
2163
|
"TransactionType",
|
2159
2164
|
"TransactionTypeAlias",
|
2160
2165
|
"TransactionTypeCalculation",
|
2166
|
+
"TransactionTypeDetails",
|
2161
2167
|
"TransactionTypeMovement",
|
2162
2168
|
"TransactionTypePropertyMapping",
|
2163
2169
|
"TransactionTypeRequest",
|
lusid/models/aggregate_spec.py
CHANGED
@@ -26,15 +26,15 @@ class AggregateSpec(BaseModel):
|
|
26
26
|
AggregateSpec
|
27
27
|
"""
|
28
28
|
key: StrictStr = Field(..., description="The key that uniquely identifies a queryable address in Lusid.")
|
29
|
-
op: StrictStr = Field(..., description="The available values are: Sum, Proportion, Average, Count, Min, Max, Value, SumOfPositiveValues, SumOfNegativeValues, SumOfAbsoluteValues, ProportionOfAbsoluteValues, SumCumulativeInAdvance, SumCumulativeInArrears")
|
29
|
+
op: StrictStr = Field(..., description="The available values are: Sum, DefaultSum, Proportion, Average, Count, Min, Max, Value, SumOfPositiveValues, SumOfNegativeValues, SumOfAbsoluteValues, ProportionOfAbsoluteValues, SumCumulativeInAdvance, SumCumulativeInArrears")
|
30
30
|
options: Optional[Dict[str, Dict[str, Any]]] = Field(None, description="Additional options to apply when performing computations. Options that do not apply to the Key will be ignored. Option values can be boolean, numeric, string or date-time.")
|
31
31
|
__properties = ["key", "op", "options"]
|
32
32
|
|
33
33
|
@validator('op')
|
34
34
|
def op_validate_enum(cls, value):
|
35
35
|
"""Validates the enum"""
|
36
|
-
if value not in ('Sum', 'Proportion', 'Average', 'Count', 'Min', 'Max', 'Value', 'SumOfPositiveValues', 'SumOfNegativeValues', 'SumOfAbsoluteValues', 'ProportionOfAbsoluteValues', 'SumCumulativeInAdvance', 'SumCumulativeInArrears'):
|
37
|
-
raise ValueError("must be one of enum values ('Sum', 'Proportion', 'Average', 'Count', 'Min', 'Max', 'Value', 'SumOfPositiveValues', 'SumOfNegativeValues', 'SumOfAbsoluteValues', 'ProportionOfAbsoluteValues', 'SumCumulativeInAdvance', 'SumCumulativeInArrears')")
|
36
|
+
if value not in ('Sum', 'DefaultSum', 'Proportion', 'Average', 'Count', 'Min', 'Max', 'Value', 'SumOfPositiveValues', 'SumOfNegativeValues', 'SumOfAbsoluteValues', 'ProportionOfAbsoluteValues', 'SumCumulativeInAdvance', 'SumCumulativeInArrears'):
|
37
|
+
raise ValueError("must be one of enum values ('Sum', 'DefaultSum', 'Proportion', 'Average', 'Count', 'Min', 'Max', 'Value', 'SumOfPositiveValues', 'SumOfNegativeValues', 'SumOfAbsoluteValues', 'ProportionOfAbsoluteValues', 'SumCumulativeInAdvance', 'SumCumulativeInArrears')")
|
38
38
|
return value
|
39
39
|
|
40
40
|
class Config:
|
lusid/models/aggregation_op.py
CHANGED
@@ -18,15 +18,15 @@ import re # noqa: F401
|
|
18
18
|
import json
|
19
19
|
|
20
20
|
|
21
|
-
from typing import Any, Dict
|
22
|
-
from pydantic.v1 import BaseModel, Field, constr
|
21
|
+
from typing import Any, Dict, Optional
|
22
|
+
from pydantic.v1 import BaseModel, Field, StrictStr, constr
|
23
23
|
|
24
24
|
class ComparisonAttributeValuePair(BaseModel):
|
25
25
|
"""
|
26
26
|
ComparisonAttributeValuePair
|
27
27
|
"""
|
28
28
|
attribute_name: constr(strict=True, min_length=1) = Field(..., alias="attributeName", description="Comparison rule attribute name.")
|
29
|
-
value:
|
29
|
+
value: Optional[StrictStr] = Field(None, description="Computed value for the comparison rule attribute.")
|
30
30
|
__properties = ["attributeName", "value"]
|
31
31
|
|
32
32
|
class Config:
|
@@ -53,6 +53,11 @@ class ComparisonAttributeValuePair(BaseModel):
|
|
53
53
|
exclude={
|
54
54
|
},
|
55
55
|
exclude_none=True)
|
56
|
+
# set to None if value (nullable) is None
|
57
|
+
# and __fields_set__ contains the field
|
58
|
+
if self.value is None and "value" in self.__fields_set__:
|
59
|
+
_dict['value'] = None
|
60
|
+
|
56
61
|
return _dict
|
57
62
|
|
58
63
|
@classmethod
|
@@ -0,0 +1,94 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
"""
|
4
|
+
LUSID API
|
5
|
+
|
6
|
+
FINBOURNE Technology # noqa: E501
|
7
|
+
|
8
|
+
Contact: info@finbourne.com
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
10
|
+
|
11
|
+
Do not edit the class manually.
|
12
|
+
"""
|
13
|
+
|
14
|
+
|
15
|
+
from __future__ import annotations
|
16
|
+
import pprint
|
17
|
+
import re # noqa: F401
|
18
|
+
import json
|
19
|
+
|
20
|
+
|
21
|
+
from typing import Any, Dict
|
22
|
+
from pydantic.v1 import BaseModel, Field, constr, validator
|
23
|
+
|
24
|
+
class ExternalFeeComponentFilter(BaseModel):
|
25
|
+
"""
|
26
|
+
ExternalFeeComponentFilter
|
27
|
+
"""
|
28
|
+
filter_id: constr(strict=True, max_length=16384, min_length=1) = Field(..., alias="filterId")
|
29
|
+
filter: constr(strict=True, max_length=16384, min_length=1) = Field(...)
|
30
|
+
applies_to: constr(strict=True, max_length=16384, min_length=1) = Field(..., alias="appliesTo")
|
31
|
+
__properties = ["filterId", "filter", "appliesTo"]
|
32
|
+
|
33
|
+
@validator('filter_id')
|
34
|
+
def filter_id_validate_regular_expression(cls, value):
|
35
|
+
"""Validates the regular expression"""
|
36
|
+
if not re.match(r"^[\s\S]*$", value):
|
37
|
+
raise ValueError(r"must validate the regular expression /^[\s\S]*$/")
|
38
|
+
return value
|
39
|
+
|
40
|
+
@validator('filter')
|
41
|
+
def filter_validate_regular_expression(cls, value):
|
42
|
+
"""Validates the regular expression"""
|
43
|
+
if not re.match(r"^[\s\S]*$", value):
|
44
|
+
raise ValueError(r"must validate the regular expression /^[\s\S]*$/")
|
45
|
+
return value
|
46
|
+
|
47
|
+
@validator('applies_to')
|
48
|
+
def applies_to_validate_regular_expression(cls, value):
|
49
|
+
"""Validates the regular expression"""
|
50
|
+
if not re.match(r"^[\s\S]*$", value):
|
51
|
+
raise ValueError(r"must validate the regular expression /^[\s\S]*$/")
|
52
|
+
return value
|
53
|
+
|
54
|
+
class Config:
|
55
|
+
"""Pydantic configuration"""
|
56
|
+
allow_population_by_field_name = True
|
57
|
+
validate_assignment = True
|
58
|
+
|
59
|
+
def to_str(self) -> str:
|
60
|
+
"""Returns the string representation of the model using alias"""
|
61
|
+
return pprint.pformat(self.dict(by_alias=True))
|
62
|
+
|
63
|
+
def to_json(self) -> str:
|
64
|
+
"""Returns the JSON representation of the model using alias"""
|
65
|
+
return json.dumps(self.to_dict())
|
66
|
+
|
67
|
+
@classmethod
|
68
|
+
def from_json(cls, json_str: str) -> ExternalFeeComponentFilter:
|
69
|
+
"""Create an instance of ExternalFeeComponentFilter from a JSON string"""
|
70
|
+
return cls.from_dict(json.loads(json_str))
|
71
|
+
|
72
|
+
def to_dict(self):
|
73
|
+
"""Returns the dictionary representation of the model using alias"""
|
74
|
+
_dict = self.dict(by_alias=True,
|
75
|
+
exclude={
|
76
|
+
},
|
77
|
+
exclude_none=True)
|
78
|
+
return _dict
|
79
|
+
|
80
|
+
@classmethod
|
81
|
+
def from_dict(cls, obj: dict) -> ExternalFeeComponentFilter:
|
82
|
+
"""Create an instance of ExternalFeeComponentFilter from a dict"""
|
83
|
+
if obj is None:
|
84
|
+
return None
|
85
|
+
|
86
|
+
if not isinstance(obj, dict):
|
87
|
+
return ExternalFeeComponentFilter.parse_obj(obj)
|
88
|
+
|
89
|
+
_obj = ExternalFeeComponentFilter.parse_obj({
|
90
|
+
"filter_id": obj.get("filterId"),
|
91
|
+
"filter": obj.get("filter"),
|
92
|
+
"applies_to": obj.get("appliesTo")
|
93
|
+
})
|
94
|
+
return _obj
|
@@ -21,6 +21,7 @@ import json
|
|
21
21
|
from typing import Any, Dict, List, Optional
|
22
22
|
from pydantic.v1 import BaseModel, Field, StrictStr, conlist
|
23
23
|
from lusid.models.component_filter import ComponentFilter
|
24
|
+
from lusid.models.external_fee_component_filter import ExternalFeeComponentFilter
|
24
25
|
from lusid.models.link import Link
|
25
26
|
from lusid.models.model_property import ModelProperty
|
26
27
|
from lusid.models.resource_id import ResourceId
|
@@ -37,10 +38,11 @@ class FundConfiguration(BaseModel):
|
|
37
38
|
dealing_filters: Optional[conlist(ComponentFilter)] = Field(None, alias="dealingFilters", description="The set of filters used to decide which JE lines are included in the dealing.")
|
38
39
|
pnl_filters: Optional[conlist(ComponentFilter)] = Field(None, alias="pnlFilters", description="The set of filters used to decide which JE lines are included in the PnL.")
|
39
40
|
back_out_filters: Optional[conlist(ComponentFilter)] = Field(None, alias="backOutFilters", description="The set of filters used to decide which JE lines are included in the back outs.")
|
41
|
+
external_fee_filters: Optional[conlist(ExternalFeeComponentFilter)] = Field(None, alias="externalFeeFilters", description="The set of filters used to decide which JE lines are used for inputting fees from an external source.")
|
40
42
|
properties: Optional[Dict[str, ModelProperty]] = Field(None, description="A set of properties for the Fund Configuration.")
|
41
43
|
version: Optional[Version] = None
|
42
44
|
links: Optional[conlist(Link)] = None
|
43
|
-
__properties = ["href", "id", "displayName", "description", "dealingFilters", "pnlFilters", "backOutFilters", "properties", "version", "links"]
|
45
|
+
__properties = ["href", "id", "displayName", "description", "dealingFilters", "pnlFilters", "backOutFilters", "externalFeeFilters", "properties", "version", "links"]
|
44
46
|
|
45
47
|
class Config:
|
46
48
|
"""Pydantic configuration"""
|
@@ -90,6 +92,13 @@ class FundConfiguration(BaseModel):
|
|
90
92
|
if _item:
|
91
93
|
_items.append(_item.to_dict())
|
92
94
|
_dict['backOutFilters'] = _items
|
95
|
+
# override the default output from pydantic by calling `to_dict()` of each item in external_fee_filters (list)
|
96
|
+
_items = []
|
97
|
+
if self.external_fee_filters:
|
98
|
+
for _item in self.external_fee_filters:
|
99
|
+
if _item:
|
100
|
+
_items.append(_item.to_dict())
|
101
|
+
_dict['externalFeeFilters'] = _items
|
93
102
|
# override the default output from pydantic by calling `to_dict()` of each value in properties (dict)
|
94
103
|
_field_dict = {}
|
95
104
|
if self.properties:
|
@@ -137,6 +146,11 @@ class FundConfiguration(BaseModel):
|
|
137
146
|
if self.back_out_filters is None and "back_out_filters" in self.__fields_set__:
|
138
147
|
_dict['backOutFilters'] = None
|
139
148
|
|
149
|
+
# set to None if external_fee_filters (nullable) is None
|
150
|
+
# and __fields_set__ contains the field
|
151
|
+
if self.external_fee_filters is None and "external_fee_filters" in self.__fields_set__:
|
152
|
+
_dict['externalFeeFilters'] = None
|
153
|
+
|
140
154
|
# set to None if properties (nullable) is None
|
141
155
|
# and __fields_set__ contains the field
|
142
156
|
if self.properties is None and "properties" in self.__fields_set__:
|
@@ -166,6 +180,7 @@ class FundConfiguration(BaseModel):
|
|
166
180
|
"dealing_filters": [ComponentFilter.from_dict(_item) for _item in obj.get("dealingFilters")] if obj.get("dealingFilters") is not None else None,
|
167
181
|
"pnl_filters": [ComponentFilter.from_dict(_item) for _item in obj.get("pnlFilters")] if obj.get("pnlFilters") is not None else None,
|
168
182
|
"back_out_filters": [ComponentFilter.from_dict(_item) for _item in obj.get("backOutFilters")] if obj.get("backOutFilters") is not None else None,
|
183
|
+
"external_fee_filters": [ExternalFeeComponentFilter.from_dict(_item) for _item in obj.get("externalFeeFilters")] if obj.get("externalFeeFilters") is not None else None,
|
169
184
|
"properties": dict(
|
170
185
|
(_k, ModelProperty.from_dict(_v))
|
171
186
|
for _k, _v in obj.get("properties").items()
|
@@ -21,6 +21,7 @@ import json
|
|
21
21
|
from typing import Any, Dict, List, Optional
|
22
22
|
from pydantic.v1 import BaseModel, Field, conlist, constr, validator
|
23
23
|
from lusid.models.component_filter import ComponentFilter
|
24
|
+
from lusid.models.external_fee_component_filter import ExternalFeeComponentFilter
|
24
25
|
from lusid.models.model_property import ModelProperty
|
25
26
|
|
26
27
|
class FundConfigurationRequest(BaseModel):
|
@@ -33,8 +34,9 @@ class FundConfigurationRequest(BaseModel):
|
|
33
34
|
dealing_filters: conlist(ComponentFilter) = Field(..., alias="dealingFilters", description="The set of filters used to decide which JE lines are included in the dealing.")
|
34
35
|
pnl_filters: conlist(ComponentFilter) = Field(..., alias="pnlFilters", description="The set of filters used to decide which JE lines are included in the PnL.")
|
35
36
|
back_out_filters: conlist(ComponentFilter) = Field(..., alias="backOutFilters", description="The set of filters used to decide which JE lines are included in the back outs.")
|
37
|
+
external_fee_filters: Optional[conlist(ExternalFeeComponentFilter)] = Field(None, alias="externalFeeFilters", description="The set of filters used to decide which JE lines are used for inputting fees from an external source.")
|
36
38
|
properties: Optional[Dict[str, ModelProperty]] = Field(None, description="A set of properties for the Fund Configuration.")
|
37
|
-
__properties = ["code", "displayName", "description", "dealingFilters", "pnlFilters", "backOutFilters", "properties"]
|
39
|
+
__properties = ["code", "displayName", "description", "dealingFilters", "pnlFilters", "backOutFilters", "externalFeeFilters", "properties"]
|
38
40
|
|
39
41
|
@validator('code')
|
40
42
|
def code_validate_regular_expression(cls, value):
|
@@ -98,6 +100,13 @@ class FundConfigurationRequest(BaseModel):
|
|
98
100
|
if _item:
|
99
101
|
_items.append(_item.to_dict())
|
100
102
|
_dict['backOutFilters'] = _items
|
103
|
+
# override the default output from pydantic by calling `to_dict()` of each item in external_fee_filters (list)
|
104
|
+
_items = []
|
105
|
+
if self.external_fee_filters:
|
106
|
+
for _item in self.external_fee_filters:
|
107
|
+
if _item:
|
108
|
+
_items.append(_item.to_dict())
|
109
|
+
_dict['externalFeeFilters'] = _items
|
101
110
|
# override the default output from pydantic by calling `to_dict()` of each value in properties (dict)
|
102
111
|
_field_dict = {}
|
103
112
|
if self.properties:
|
@@ -115,6 +124,11 @@ class FundConfigurationRequest(BaseModel):
|
|
115
124
|
if self.description is None and "description" in self.__fields_set__:
|
116
125
|
_dict['description'] = None
|
117
126
|
|
127
|
+
# set to None if external_fee_filters (nullable) is None
|
128
|
+
# and __fields_set__ contains the field
|
129
|
+
if self.external_fee_filters is None and "external_fee_filters" in self.__fields_set__:
|
130
|
+
_dict['externalFeeFilters'] = None
|
131
|
+
|
118
132
|
# set to None if properties (nullable) is None
|
119
133
|
# and __fields_set__ contains the field
|
120
134
|
if self.properties is None and "properties" in self.__fields_set__:
|
@@ -138,6 +152,7 @@ class FundConfigurationRequest(BaseModel):
|
|
138
152
|
"dealing_filters": [ComponentFilter.from_dict(_item) for _item in obj.get("dealingFilters")] if obj.get("dealingFilters") is not None else None,
|
139
153
|
"pnl_filters": [ComponentFilter.from_dict(_item) for _item in obj.get("pnlFilters")] if obj.get("pnlFilters") is not None else None,
|
140
154
|
"back_out_filters": [ComponentFilter.from_dict(_item) for _item in obj.get("backOutFilters")] if obj.get("backOutFilters") is not None else None,
|
155
|
+
"external_fee_filters": [ExternalFeeComponentFilter.from_dict(_item) for _item in obj.get("externalFeeFilters")] if obj.get("externalFeeFilters") is not None else None,
|
141
156
|
"properties": dict(
|
142
157
|
(_k, ModelProperty.from_dict(_v))
|
143
158
|
for _k, _v in obj.get("properties").items()
|
@@ -29,6 +29,7 @@ class OptionExerciseCashEvent(InstrumentEvent):
|
|
29
29
|
"""
|
30
30
|
cash_flow_per_unit: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="cashFlowPerUnit", description="The cashflow per unit")
|
31
31
|
exercise_date: Optional[datetime] = Field(None, alias="exerciseDate", description="The exercise date of the option.")
|
32
|
+
delivery_date: Optional[datetime] = Field(None, alias="deliveryDate", description="The delivery date of the option.")
|
32
33
|
exercise_type: constr(strict=True, min_length=1) = Field(..., alias="exerciseType", description="The optionality type of the underlying option e.g. American, European. Supported string (enumeration) values are: [European, Bermudan, American].")
|
33
34
|
maturity_date: datetime = Field(..., alias="maturityDate", description="The maturity date of the option.")
|
34
35
|
moneyness: Optional[StrictStr] = Field(None, description="The moneyness of the option e.g. InTheMoney, OutOfTheMoney. Supported string (enumeration) values are: [InTheMoney, OutOfTheMoney, AtTheMoney].")
|
@@ -40,7 +41,7 @@ class OptionExerciseCashEvent(InstrumentEvent):
|
|
40
41
|
underlying_value_per_unit: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="underlyingValuePerUnit", description="The underlying price times the number of shares to exchange if exercised.")
|
41
42
|
instrument_event_type: StrictStr = Field(..., alias="instrumentEventType", description="The Type of Event. The available values are: TransitionEvent, InformationalEvent, OpenEvent, CloseEvent, StockSplitEvent, BondDefaultEvent, CashDividendEvent, AmortisationEvent, CashFlowEvent, ExerciseEvent, ResetEvent, TriggerEvent, RawVendorEvent, InformationalErrorEvent, BondCouponEvent, DividendReinvestmentEvent, AccumulationEvent, BondPrincipalEvent, DividendOptionEvent, MaturityEvent, FxForwardSettlementEvent, ExpiryEvent, ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent, SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent, CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent, MbsPrincipalEvent, BonusIssueEvent, MbsPrincipalWriteOffEvent, MbsInterestDeferralEvent, MbsInterestShortfallEvent, TenderEvent, CallOnIntermediateSecuritiesEvent, IntermediateSecuritiesDistributionEvent, OptionExercisePhysicalEvent, OptionExerciseCashEvent, ProtectionPayoutCashFlowEvent, TermDepositInterestEvent, TermDepositPrincipalEvent")
|
42
43
|
additional_properties: Dict[str, Any] = {}
|
43
|
-
__properties = ["instrumentEventType", "cashFlowPerUnit", "exerciseDate", "exerciseType", "maturityDate", "moneyness", "optionExerciseElections", "optionType", "startDate", "strikeCurrency", "strikePerUnit", "underlyingValuePerUnit"]
|
44
|
+
__properties = ["instrumentEventType", "cashFlowPerUnit", "exerciseDate", "deliveryDate", "exerciseType", "maturityDate", "moneyness", "optionExerciseElections", "optionType", "startDate", "strikeCurrency", "strikePerUnit", "underlyingValuePerUnit"]
|
44
45
|
|
45
46
|
@validator('instrument_event_type')
|
46
47
|
def instrument_event_type_validate_enum(cls, value):
|
@@ -96,6 +97,11 @@ class OptionExerciseCashEvent(InstrumentEvent):
|
|
96
97
|
if self.exercise_date is None and "exercise_date" in self.__fields_set__:
|
97
98
|
_dict['exerciseDate'] = None
|
98
99
|
|
100
|
+
# set to None if delivery_date (nullable) is None
|
101
|
+
# and __fields_set__ contains the field
|
102
|
+
if self.delivery_date is None and "delivery_date" in self.__fields_set__:
|
103
|
+
_dict['deliveryDate'] = None
|
104
|
+
|
99
105
|
# set to None if moneyness (nullable) is None
|
100
106
|
# and __fields_set__ contains the field
|
101
107
|
if self.moneyness is None and "moneyness" in self.__fields_set__:
|
@@ -126,6 +132,7 @@ class OptionExerciseCashEvent(InstrumentEvent):
|
|
126
132
|
"instrument_event_type": obj.get("instrumentEventType"),
|
127
133
|
"cash_flow_per_unit": obj.get("cashFlowPerUnit"),
|
128
134
|
"exercise_date": obj.get("exerciseDate"),
|
135
|
+
"delivery_date": obj.get("deliveryDate"),
|
129
136
|
"exercise_type": obj.get("exerciseType"),
|
130
137
|
"maturity_date": obj.get("maturityDate"),
|
131
138
|
"moneyness": obj.get("moneyness"),
|
@@ -30,6 +30,7 @@ class OptionExercisePhysicalEvent(InstrumentEvent):
|
|
30
30
|
Event for physical option exercises. # noqa: E501
|
31
31
|
"""
|
32
32
|
exercise_date: Optional[datetime] = Field(None, alias="exerciseDate", description="The exercise date of the option.")
|
33
|
+
delivery_date: Optional[datetime] = Field(None, alias="deliveryDate", description="The delivery date of the option.")
|
33
34
|
exercise_type: constr(strict=True, min_length=1) = Field(..., alias="exerciseType", description="The optionality type of the underlying option e.g. American, European. Supported string (enumeration) values are: [European, Bermudan, American].")
|
34
35
|
maturity_date: datetime = Field(..., alias="maturityDate", description="The maturity date of the option.")
|
35
36
|
moneyness: Optional[StrictStr] = Field(None, description="The moneyness of the option e.g. InTheMoney, OutOfTheMoney. Supported string (enumeration) values are: [InTheMoney, OutOfTheMoney, AtTheMoney].")
|
@@ -43,7 +44,7 @@ class OptionExercisePhysicalEvent(InstrumentEvent):
|
|
43
44
|
units_ratio: UnitsRatio = Field(..., alias="unitsRatio")
|
44
45
|
instrument_event_type: StrictStr = Field(..., alias="instrumentEventType", description="The Type of Event. The available values are: TransitionEvent, InformationalEvent, OpenEvent, CloseEvent, StockSplitEvent, BondDefaultEvent, CashDividendEvent, AmortisationEvent, CashFlowEvent, ExerciseEvent, ResetEvent, TriggerEvent, RawVendorEvent, InformationalErrorEvent, BondCouponEvent, DividendReinvestmentEvent, AccumulationEvent, BondPrincipalEvent, DividendOptionEvent, MaturityEvent, FxForwardSettlementEvent, ExpiryEvent, ScripDividendEvent, StockDividendEvent, ReverseStockSplitEvent, CapitalDistributionEvent, SpinOffEvent, MergerEvent, FutureExpiryEvent, SwapCashFlowEvent, SwapPrincipalEvent, CreditPremiumCashFlowEvent, CdsCreditEvent, CdxCreditEvent, MbsCouponEvent, MbsPrincipalEvent, BonusIssueEvent, MbsPrincipalWriteOffEvent, MbsInterestDeferralEvent, MbsInterestShortfallEvent, TenderEvent, CallOnIntermediateSecuritiesEvent, IntermediateSecuritiesDistributionEvent, OptionExercisePhysicalEvent, OptionExerciseCashEvent, ProtectionPayoutCashFlowEvent, TermDepositInterestEvent, TermDepositPrincipalEvent")
|
45
46
|
additional_properties: Dict[str, Any] = {}
|
46
|
-
__properties = ["instrumentEventType", "exerciseDate", "exerciseType", "maturityDate", "moneyness", "newInstrument", "optionExerciseElections", "optionType", "startDate", "strikeCurrency", "strikePerUnit", "underlyingValuePerUnit", "unitsRatio"]
|
47
|
+
__properties = ["instrumentEventType", "exerciseDate", "deliveryDate", "exerciseType", "maturityDate", "moneyness", "newInstrument", "optionExerciseElections", "optionType", "startDate", "strikeCurrency", "strikePerUnit", "underlyingValuePerUnit", "unitsRatio"]
|
47
48
|
|
48
49
|
@validator('instrument_event_type')
|
49
50
|
def instrument_event_type_validate_enum(cls, value):
|
@@ -100,6 +101,11 @@ class OptionExercisePhysicalEvent(InstrumentEvent):
|
|
100
101
|
if self.exercise_date is None and "exercise_date" in self.__fields_set__:
|
101
102
|
_dict['exerciseDate'] = None
|
102
103
|
|
104
|
+
# set to None if delivery_date (nullable) is None
|
105
|
+
# and __fields_set__ contains the field
|
106
|
+
if self.delivery_date is None and "delivery_date" in self.__fields_set__:
|
107
|
+
_dict['deliveryDate'] = None
|
108
|
+
|
103
109
|
# set to None if moneyness (nullable) is None
|
104
110
|
# and __fields_set__ contains the field
|
105
111
|
if self.moneyness is None and "moneyness" in self.__fields_set__:
|
@@ -129,6 +135,7 @@ class OptionExercisePhysicalEvent(InstrumentEvent):
|
|
129
135
|
_obj = OptionExercisePhysicalEvent.parse_obj({
|
130
136
|
"instrument_event_type": obj.get("instrumentEventType"),
|
131
137
|
"exercise_date": obj.get("exerciseDate"),
|
138
|
+
"delivery_date": obj.get("deliveryDate"),
|
132
139
|
"exercise_type": obj.get("exerciseType"),
|
133
140
|
"maturity_date": obj.get("maturityDate"),
|
134
141
|
"moneyness": obj.get("moneyness"),
|
lusid/models/strategy.py
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
"""
|
4
|
+
LUSID API
|
5
|
+
|
6
|
+
FINBOURNE Technology # noqa: E501
|
7
|
+
|
8
|
+
Contact: info@finbourne.com
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
10
|
+
|
11
|
+
Do not edit the class manually.
|
12
|
+
"""
|
13
|
+
|
14
|
+
|
15
|
+
from __future__ import annotations
|
16
|
+
import pprint
|
17
|
+
import re # noqa: F401
|
18
|
+
import json
|
19
|
+
|
20
|
+
|
21
|
+
from typing import Any, Dict, List, Union
|
22
|
+
from pydantic.v1 import BaseModel, Field, StrictFloat, StrictInt, conlist, constr
|
23
|
+
from lusid.models.perpetual_property import PerpetualProperty
|
24
|
+
|
25
|
+
class Strategy(BaseModel):
|
26
|
+
"""
|
27
|
+
Strategy
|
28
|
+
"""
|
29
|
+
keys: conlist(PerpetualProperty, min_items=1) = Field(...)
|
30
|
+
value_type: constr(strict=True, min_length=1) = Field(..., alias="valueType")
|
31
|
+
value: Union[StrictFloat, StrictInt] = Field(...)
|
32
|
+
__properties = ["keys", "valueType", "value"]
|
33
|
+
|
34
|
+
class Config:
|
35
|
+
"""Pydantic configuration"""
|
36
|
+
allow_population_by_field_name = True
|
37
|
+
validate_assignment = True
|
38
|
+
|
39
|
+
def to_str(self) -> str:
|
40
|
+
"""Returns the string representation of the model using alias"""
|
41
|
+
return pprint.pformat(self.dict(by_alias=True))
|
42
|
+
|
43
|
+
def to_json(self) -> str:
|
44
|
+
"""Returns the JSON representation of the model using alias"""
|
45
|
+
return json.dumps(self.to_dict())
|
46
|
+
|
47
|
+
@classmethod
|
48
|
+
def from_json(cls, json_str: str) -> Strategy:
|
49
|
+
"""Create an instance of Strategy from a JSON string"""
|
50
|
+
return cls.from_dict(json.loads(json_str))
|
51
|
+
|
52
|
+
def to_dict(self):
|
53
|
+
"""Returns the dictionary representation of the model using alias"""
|
54
|
+
_dict = self.dict(by_alias=True,
|
55
|
+
exclude={
|
56
|
+
},
|
57
|
+
exclude_none=True)
|
58
|
+
# override the default output from pydantic by calling `to_dict()` of each item in keys (list)
|
59
|
+
_items = []
|
60
|
+
if self.keys:
|
61
|
+
for _item in self.keys:
|
62
|
+
if _item:
|
63
|
+
_items.append(_item.to_dict())
|
64
|
+
_dict['keys'] = _items
|
65
|
+
return _dict
|
66
|
+
|
67
|
+
@classmethod
|
68
|
+
def from_dict(cls, obj: dict) -> Strategy:
|
69
|
+
"""Create an instance of Strategy from a dict"""
|
70
|
+
if obj is None:
|
71
|
+
return None
|
72
|
+
|
73
|
+
if not isinstance(obj, dict):
|
74
|
+
return Strategy.parse_obj(obj)
|
75
|
+
|
76
|
+
_obj = Strategy.parse_obj({
|
77
|
+
"keys": [PerpetualProperty.from_dict(_item) for _item in obj.get("keys")] if obj.get("keys") is not None else None,
|
78
|
+
"value_type": obj.get("valueType"),
|
79
|
+
"value": obj.get("value")
|
80
|
+
})
|
81
|
+
return _obj
|
lusid/models/transaction.py
CHANGED
@@ -18,14 +18,16 @@ import re # noqa: F401
|
|
18
18
|
import json
|
19
19
|
|
20
20
|
from datetime import datetime
|
21
|
-
from typing import Any, Dict, Optional, Union
|
22
|
-
from pydantic.v1 import BaseModel, Field, StrictFloat, StrictInt, StrictStr, constr, validator
|
21
|
+
from typing import Any, Dict, List, Optional, Union
|
22
|
+
from pydantic.v1 import BaseModel, Field, StrictFloat, StrictInt, StrictStr, conlist, constr, validator
|
23
23
|
from lusid.models.currency_and_amount import CurrencyAndAmount
|
24
24
|
from lusid.models.custodian_account import CustodianAccount
|
25
25
|
from lusid.models.otc_confirmation import OtcConfirmation
|
26
26
|
from lusid.models.perpetual_property import PerpetualProperty
|
27
27
|
from lusid.models.resource_id import ResourceId
|
28
|
+
from lusid.models.strategy import Strategy
|
28
29
|
from lusid.models.transaction_price import TransactionPrice
|
30
|
+
from lusid.models.transaction_type_details import TransactionTypeDetails
|
29
31
|
|
30
32
|
class Transaction(BaseModel):
|
31
33
|
"""
|
@@ -54,7 +56,9 @@ class Transaction(BaseModel):
|
|
54
56
|
allocation_id: Optional[ResourceId] = Field(None, alias="allocationId")
|
55
57
|
custodian_account: Optional[CustodianAccount] = Field(None, alias="custodianAccount")
|
56
58
|
transaction_group_id: Optional[StrictStr] = Field(None, alias="transactionGroupId", description="The identifier for grouping economic events across multiple transactions")
|
57
|
-
|
59
|
+
strategy_tag: Optional[conlist(Strategy)] = Field(None, alias="strategyTag", description="A list of strategies representing the allocation of units across multiple sub-holding keys")
|
60
|
+
resolved_transaction_type_details: Optional[TransactionTypeDetails] = Field(None, alias="resolvedTransactionTypeDetails")
|
61
|
+
__properties = ["transactionId", "type", "instrumentIdentifiers", "instrumentScope", "instrumentUid", "transactionDate", "settlementDate", "units", "transactionPrice", "totalConsideration", "exchangeRate", "transactionCurrency", "properties", "counterpartyId", "source", "entryDateTime", "otcConfirmation", "transactionStatus", "cancelDateTime", "orderId", "allocationId", "custodianAccount", "transactionGroupId", "strategyTag", "resolvedTransactionTypeDetails"]
|
58
62
|
|
59
63
|
@validator('transaction_status')
|
60
64
|
def transaction_status_validate_enum(cls, value):
|
@@ -115,6 +119,16 @@ class Transaction(BaseModel):
|
|
115
119
|
# override the default output from pydantic by calling `to_dict()` of custodian_account
|
116
120
|
if self.custodian_account:
|
117
121
|
_dict['custodianAccount'] = self.custodian_account.to_dict()
|
122
|
+
# override the default output from pydantic by calling `to_dict()` of each item in strategy_tag (list)
|
123
|
+
_items = []
|
124
|
+
if self.strategy_tag:
|
125
|
+
for _item in self.strategy_tag:
|
126
|
+
if _item:
|
127
|
+
_items.append(_item.to_dict())
|
128
|
+
_dict['strategyTag'] = _items
|
129
|
+
# override the default output from pydantic by calling `to_dict()` of resolved_transaction_type_details
|
130
|
+
if self.resolved_transaction_type_details:
|
131
|
+
_dict['resolvedTransactionTypeDetails'] = self.resolved_transaction_type_details.to_dict()
|
118
132
|
# set to None if instrument_identifiers (nullable) is None
|
119
133
|
# and __fields_set__ contains the field
|
120
134
|
if self.instrument_identifiers is None and "instrument_identifiers" in self.__fields_set__:
|
@@ -160,6 +174,11 @@ class Transaction(BaseModel):
|
|
160
174
|
if self.transaction_group_id is None and "transaction_group_id" in self.__fields_set__:
|
161
175
|
_dict['transactionGroupId'] = None
|
162
176
|
|
177
|
+
# set to None if strategy_tag (nullable) is None
|
178
|
+
# and __fields_set__ contains the field
|
179
|
+
if self.strategy_tag is None and "strategy_tag" in self.__fields_set__:
|
180
|
+
_dict['strategyTag'] = None
|
181
|
+
|
163
182
|
return _dict
|
164
183
|
|
165
184
|
@classmethod
|
@@ -199,6 +218,8 @@ class Transaction(BaseModel):
|
|
199
218
|
"order_id": ResourceId.from_dict(obj.get("orderId")) if obj.get("orderId") is not None else None,
|
200
219
|
"allocation_id": ResourceId.from_dict(obj.get("allocationId")) if obj.get("allocationId") is not None else None,
|
201
220
|
"custodian_account": CustodianAccount.from_dict(obj.get("custodianAccount")) if obj.get("custodianAccount") is not None else None,
|
202
|
-
"transaction_group_id": obj.get("transactionGroupId")
|
221
|
+
"transaction_group_id": obj.get("transactionGroupId"),
|
222
|
+
"strategy_tag": [Strategy.from_dict(_item) for _item in obj.get("strategyTag")] if obj.get("strategyTag") is not None else None,
|
223
|
+
"resolved_transaction_type_details": TransactionTypeDetails.from_dict(obj.get("resolvedTransactionTypeDetails")) if obj.get("resolvedTransactionTypeDetails") is not None else None
|
203
224
|
})
|
204
225
|
return _obj
|
@@ -18,12 +18,13 @@ import re # noqa: F401
|
|
18
18
|
import json
|
19
19
|
|
20
20
|
|
21
|
-
from typing import Any, Dict, Optional, Union
|
22
|
-
from pydantic.v1 import BaseModel, Field, StrictFloat, StrictInt, StrictStr, constr
|
21
|
+
from typing import Any, Dict, List, Optional, Union
|
22
|
+
from pydantic.v1 import BaseModel, Field, StrictFloat, StrictInt, StrictStr, conlist, constr
|
23
23
|
from lusid.models.currency_and_amount import CurrencyAndAmount
|
24
24
|
from lusid.models.otc_confirmation import OtcConfirmation
|
25
25
|
from lusid.models.perpetual_property import PerpetualProperty
|
26
26
|
from lusid.models.resource_id import ResourceId
|
27
|
+
from lusid.models.strategy import Strategy
|
27
28
|
from lusid.models.transaction_price import TransactionPrice
|
28
29
|
|
29
30
|
class TransactionRequest(BaseModel):
|
@@ -48,7 +49,8 @@ class TransactionRequest(BaseModel):
|
|
48
49
|
allocation_id: Optional[ResourceId] = Field(None, alias="allocationId")
|
49
50
|
custodian_account_id: Optional[ResourceId] = Field(None, alias="custodianAccountId")
|
50
51
|
transaction_group_id: Optional[constr(strict=True, max_length=64, min_length=1)] = Field(None, alias="transactionGroupId", description="The identifier for grouping economic events across multiple transactions")
|
51
|
-
|
52
|
+
strategy_tag: Optional[conlist(Strategy)] = Field(None, alias="strategyTag", description="A list of strategies representing the allocation of units across multiple sub-holding keys")
|
53
|
+
__properties = ["transactionId", "type", "instrumentIdentifiers", "transactionDate", "settlementDate", "units", "transactionPrice", "totalConsideration", "exchangeRate", "transactionCurrency", "properties", "counterpartyId", "source", "otcConfirmation", "orderId", "allocationId", "custodianAccountId", "transactionGroupId", "strategyTag"]
|
52
54
|
|
53
55
|
class Config:
|
54
56
|
"""Pydantic configuration"""
|
@@ -99,6 +101,13 @@ class TransactionRequest(BaseModel):
|
|
99
101
|
# override the default output from pydantic by calling `to_dict()` of custodian_account_id
|
100
102
|
if self.custodian_account_id:
|
101
103
|
_dict['custodianAccountId'] = self.custodian_account_id.to_dict()
|
104
|
+
# override the default output from pydantic by calling `to_dict()` of each item in strategy_tag (list)
|
105
|
+
_items = []
|
106
|
+
if self.strategy_tag:
|
107
|
+
for _item in self.strategy_tag:
|
108
|
+
if _item:
|
109
|
+
_items.append(_item.to_dict())
|
110
|
+
_dict['strategyTag'] = _items
|
102
111
|
# set to None if exchange_rate (nullable) is None
|
103
112
|
# and __fields_set__ contains the field
|
104
113
|
if self.exchange_rate is None and "exchange_rate" in self.__fields_set__:
|
@@ -129,6 +138,11 @@ class TransactionRequest(BaseModel):
|
|
129
138
|
if self.transaction_group_id is None and "transaction_group_id" in self.__fields_set__:
|
130
139
|
_dict['transactionGroupId'] = None
|
131
140
|
|
141
|
+
# set to None if strategy_tag (nullable) is None
|
142
|
+
# and __fields_set__ contains the field
|
143
|
+
if self.strategy_tag is None and "strategy_tag" in self.__fields_set__:
|
144
|
+
_dict['strategyTag'] = None
|
145
|
+
|
132
146
|
return _dict
|
133
147
|
|
134
148
|
@classmethod
|
@@ -163,6 +177,7 @@ class TransactionRequest(BaseModel):
|
|
163
177
|
"order_id": ResourceId.from_dict(obj.get("orderId")) if obj.get("orderId") is not None else None,
|
164
178
|
"allocation_id": ResourceId.from_dict(obj.get("allocationId")) if obj.get("allocationId") is not None else None,
|
165
179
|
"custodian_account_id": ResourceId.from_dict(obj.get("custodianAccountId")) if obj.get("custodianAccountId") is not None else None,
|
166
|
-
"transaction_group_id": obj.get("transactionGroupId")
|
180
|
+
"transaction_group_id": obj.get("transactionGroupId"),
|
181
|
+
"strategy_tag": [Strategy.from_dict(_item) for _item in obj.get("strategyTag")] if obj.get("strategyTag") is not None else None
|
167
182
|
})
|
168
183
|
return _obj
|
@@ -0,0 +1,88 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
"""
|
4
|
+
LUSID API
|
5
|
+
|
6
|
+
FINBOURNE Technology # noqa: E501
|
7
|
+
|
8
|
+
Contact: info@finbourne.com
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
10
|
+
|
11
|
+
Do not edit the class manually.
|
12
|
+
"""
|
13
|
+
|
14
|
+
|
15
|
+
from __future__ import annotations
|
16
|
+
import pprint
|
17
|
+
import re # noqa: F401
|
18
|
+
import json
|
19
|
+
|
20
|
+
|
21
|
+
from typing import Any, Dict, Optional
|
22
|
+
from pydantic.v1 import BaseModel, Field, StrictStr
|
23
|
+
|
24
|
+
class TransactionTypeDetails(BaseModel):
|
25
|
+
"""
|
26
|
+
TransactionTypeDetails
|
27
|
+
"""
|
28
|
+
scope: Optional[StrictStr] = Field(None, description="The scope in which the TransactionType was resolved. If the portfolio has a TransactionTypeScope, this will have been used. Otherwise the default scope will have been used.")
|
29
|
+
source: Optional[StrictStr] = Field(None, description="The source in which the TransactionType was resolved.")
|
30
|
+
type: Optional[StrictStr] = Field(None, description="The resolved TransactionType. More information on TransactionType resolution can be found at https://support.lusid.com/docs/how-does-lusid-resolve-transactions-to-transaction-types")
|
31
|
+
__properties = ["scope", "source", "type"]
|
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) -> TransactionTypeDetails:
|
48
|
+
"""Create an instance of TransactionTypeDetails 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 scope (nullable) is None
|
58
|
+
# and __fields_set__ contains the field
|
59
|
+
if self.scope is None and "scope" in self.__fields_set__:
|
60
|
+
_dict['scope'] = None
|
61
|
+
|
62
|
+
# set to None if source (nullable) is None
|
63
|
+
# and __fields_set__ contains the field
|
64
|
+
if self.source is None and "source" in self.__fields_set__:
|
65
|
+
_dict['source'] = None
|
66
|
+
|
67
|
+
# set to None if type (nullable) is None
|
68
|
+
# and __fields_set__ contains the field
|
69
|
+
if self.type is None and "type" in self.__fields_set__:
|
70
|
+
_dict['type'] = None
|
71
|
+
|
72
|
+
return _dict
|
73
|
+
|
74
|
+
@classmethod
|
75
|
+
def from_dict(cls, obj: dict) -> TransactionTypeDetails:
|
76
|
+
"""Create an instance of TransactionTypeDetails from a dict"""
|
77
|
+
if obj is None:
|
78
|
+
return None
|
79
|
+
|
80
|
+
if not isinstance(obj, dict):
|
81
|
+
return TransactionTypeDetails.parse_obj(obj)
|
82
|
+
|
83
|
+
_obj = TransactionTypeDetails.parse_obj({
|
84
|
+
"scope": obj.get("scope"),
|
85
|
+
"source": obj.get("source"),
|
86
|
+
"type": obj.get("type")
|
87
|
+
})
|
88
|
+
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.580
|
4
4
|
Summary: LUSID API
|
5
5
|
Home-page: https://github.com/finbourne/lusid-sdk-python
|
6
6
|
License: MIT
|
@@ -956,6 +956,7 @@ Class | Method | HTTP request | Description
|
|
956
956
|
- [ExoticInstrument](docs/ExoticInstrument.md)
|
957
957
|
- [ExpandedGroup](docs/ExpandedGroup.md)
|
958
958
|
- [ExpiryEvent](docs/ExpiryEvent.md)
|
959
|
+
- [ExternalFeeComponentFilter](docs/ExternalFeeComponentFilter.md)
|
959
960
|
- [Fee](docs/Fee.md)
|
960
961
|
- [FeeAccrual](docs/FeeAccrual.md)
|
961
962
|
- [FeeProperties](docs/FeeProperties.md)
|
@@ -1579,6 +1580,7 @@ Class | Method | HTTP request | Description
|
|
1579
1580
|
- [StepSchedule](docs/StepSchedule.md)
|
1580
1581
|
- [StockDividendEvent](docs/StockDividendEvent.md)
|
1581
1582
|
- [StockSplitEvent](docs/StockSplitEvent.md)
|
1583
|
+
- [Strategy](docs/Strategy.md)
|
1582
1584
|
- [Stream](docs/Stream.md)
|
1583
1585
|
- [StringComparisonType](docs/StringComparisonType.md)
|
1584
1586
|
- [StringComplianceParameter](docs/StringComplianceParameter.md)
|
@@ -1633,6 +1635,7 @@ Class | Method | HTTP request | Description
|
|
1633
1635
|
- [TransactionType](docs/TransactionType.md)
|
1634
1636
|
- [TransactionTypeAlias](docs/TransactionTypeAlias.md)
|
1635
1637
|
- [TransactionTypeCalculation](docs/TransactionTypeCalculation.md)
|
1638
|
+
- [TransactionTypeDetails](docs/TransactionTypeDetails.md)
|
1636
1639
|
- [TransactionTypeMovement](docs/TransactionTypeMovement.md)
|
1637
1640
|
- [TransactionTypePropertyMapping](docs/TransactionTypePropertyMapping.md)
|
1638
1641
|
- [TransactionTypeRequest](docs/TransactionTypeRequest.md)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
lusid/__init__.py,sha256=
|
1
|
+
lusid/__init__.py,sha256=JE2nxkgI5nZZNRt1wdc9VwV5ZY0yYfaIUBc64wGPrjU,128276
|
2
2
|
lusid/api/__init__.py,sha256=6h2et93uMZgjdpV3C3_ITp_VbSBlwYu5BtqZ2puZPoI,5821
|
3
3
|
lusid/api/abor_api.py,sha256=CC0f6Aqqiqkgmpguvoqe8teU0bRRuc771AdUSyI4rJw,158222
|
4
4
|
lusid/api/abor_configuration_api.py,sha256=TmssMn5ni0mZV1q7LyPXYhBqqUGJqLYZapo8By8DFuI,63875
|
@@ -70,7 +70,7 @@ lusid/api/translation_api.py,sha256=nIyuLncCvVC5k2d7Nm32zR8AQ1dkrVm1OThkmELY_OM,
|
|
70
70
|
lusid/api/workspace_api.py,sha256=mYQPqFUVf1VKYeWQUV5VkcdSqwejSmPDGd66Az86-_E,191319
|
71
71
|
lusid/api_client.py,sha256=ewMTmf9SRurY8pYnUx9jy24RdldPCOa4US38pnrVxjA,31140
|
72
72
|
lusid/api_response.py,sha256=6-gnhty6lu8MMAERt3_kTVD7UxQgWFfcjgpcq6iN5IU,855
|
73
|
-
lusid/configuration.py,sha256=
|
73
|
+
lusid/configuration.py,sha256=WG3lT-ppYt4GKDVq8OnX3uVDxs5jCk7Xe_gVo_pU1TE,17972
|
74
74
|
lusid/exceptions.py,sha256=HIQwgmQrszLlcVCLaqex8dO0laVuejUyOMz7U2ZWJ6s,5326
|
75
75
|
lusid/extensions/__init__.py,sha256=dzDHEzpn-9smd2-_UMWQzeyX6Ha4jGf6fnqx7qxKxNI,630
|
76
76
|
lusid/extensions/api_client.py,sha256=GzygWg_h603QK1QS2HvAijuE2R1TnvoF6-Yg0CeM3ug,30943
|
@@ -85,7 +85,7 @@ lusid/extensions/rest.py,sha256=dp-bD_LMR2zAL1tmC3-urhWKLomXx7r5iGN1VteMBVQ,1601
|
|
85
85
|
lusid/extensions/retry.py,sha256=EhW9OKJmGHipxN3H7eROH5DiMlAnfBVl95NQrttcsdg,14834
|
86
86
|
lusid/extensions/socket_keep_alive.py,sha256=NGlqsv-E25IjJOLGZhXZY6kUdx51nEF8qCQyVdzayRk,1653
|
87
87
|
lusid/extensions/tcp_keep_alive_connector.py,sha256=zaGtUsygRsxB1_4B3x39K3ILwztdhMLDv5bFZV7zmGE,3877
|
88
|
-
lusid/models/__init__.py,sha256=
|
88
|
+
lusid/models/__init__.py,sha256=DLRBrdWMt_4Kz83YFo_BM6FVwz82wuEccGyTkmdFzoA,121423
|
89
89
|
lusid/models/a2_b_breakdown.py,sha256=Txi12EIQw3mH6NM-25QkOnHSQc3BVAWrP7yl9bZswSY,2947
|
90
90
|
lusid/models/a2_b_category.py,sha256=k6NPAACi0CUjKyhdQac4obQSrPmp2PXD6lkAtCnyEFM,2725
|
91
91
|
lusid/models/a2_b_data_record.py,sha256=zKGS2P4fzNpzdcGJiSIpkY4P3d_jAcawYfyuPCDeQgk,9737
|
@@ -120,7 +120,7 @@ lusid/models/address_key_option_definition.py,sha256=T2Zj9-KQJhDubLPIIK2pnaM5UDZ
|
|
120
120
|
lusid/models/adjust_holding.py,sha256=K0FDmwFy3NTJ8HicVCJGA1Mqrbri77d1IGA_hk0ejLY,4387
|
121
121
|
lusid/models/adjust_holding_for_date_request.py,sha256=AXXiwgzNLTbOnieETMglVFHzBKYvIcsT9NK5PpIVdfI,5986
|
122
122
|
lusid/models/adjust_holding_request.py,sha256=_dhEk23kdt2PtaepgoxuBNAB7wyrcJxHzaLhy-lVQQQ,5697
|
123
|
-
lusid/models/aggregate_spec.py,sha256=
|
123
|
+
lusid/models/aggregate_spec.py,sha256=jevCtRTdbi_pydAt_Dc33oRysTgksAJ3Fn8Sk5m9xtE,3374
|
124
124
|
lusid/models/aggregated_return.py,sha256=idRVdbx--3wj4dfECDZREH_xCNXW8IBoFg_HvrJy9ac,5953
|
125
125
|
lusid/models/aggregated_returns_dispersion_request.py,sha256=7xKtIUa_P-jS3oOpbbgwXL0gzHK0pErqtBzxyTjnqW0,5496
|
126
126
|
lusid/models/aggregated_returns_request.py,sha256=URBqwgZK3tkyqOe5Qo-2VP7xwSupy64b0kIeXNaN0Hk,7601
|
@@ -128,7 +128,7 @@ lusid/models/aggregated_returns_response.py,sha256=E-0Y3t7Jud_j_S0X0w2tU6ET7ozUC
|
|
128
128
|
lusid/models/aggregated_transactions_request.py,sha256=PlWTr52XndGTErcD4FfM-Ouu-o3mFvk7jXQz805reLo,5341
|
129
129
|
lusid/models/aggregation_context.py,sha256=IdA9lRVE26VSSQC0qw6Klakz2sS1tQqghyBUq9cunzk,2583
|
130
130
|
lusid/models/aggregation_measure_failure_detail.py,sha256=CM6vzqNogMIVltcphUTx_-rG-I3OlC702SI0ks6G61w,3190
|
131
|
-
lusid/models/aggregation_op.py,sha256=
|
131
|
+
lusid/models/aggregation_op.py,sha256=F2n9Nqc-qwyf5W7Fg58FIHf2JJmGuAIfpYsEL2BxqgU,1092
|
132
132
|
lusid/models/aggregation_options.py,sha256=rEn-7En3urOehoVMVnMrS9cxN4ZvihTHFT98YjOrjH0,3128
|
133
133
|
lusid/models/aggregation_query.py,sha256=epqhWBB8ksJhUbsjT6PkSY_xRlkX9gHSRcIQaG5PKRY,8326
|
134
134
|
lusid/models/aggregation_type.py,sha256=XjHrk2_0OhQyn5RK2-LUzDIjvT_blRVYdvyFdkyxQuw,892
|
@@ -234,7 +234,7 @@ lusid/models/cleardown_module_rules_updated_response.py,sha256=gVxjkztmGxvnHaGMQ
|
|
234
234
|
lusid/models/client.py,sha256=C-cuudkA8GKpa3GKnbetJFu8kE5E88Ap1h_72UHqKVA,1980
|
235
235
|
lusid/models/close_event.py,sha256=roAW8-T8hMu71QCDCLrCGgg3rn9AkSJdFWSMZQ7n24s,6483
|
236
236
|
lusid/models/close_period_diary_entry_request.py,sha256=sD2X7MALlyW6tCr7Y2voUINkNVqF6YpcYdkMsQubaa0,6490
|
237
|
-
lusid/models/comparison_attribute_value_pair.py,sha256=
|
237
|
+
lusid/models/comparison_attribute_value_pair.py,sha256=4AYi8WddelHw2hQw-O8z6snCKZBBFxA946o0MZjE-mc,2425
|
238
238
|
lusid/models/complete_portfolio.py,sha256=_y1LTAZ7pErx7ioQu20WLK_l3sy55JRoJo8c4yZb3jE,7827
|
239
239
|
lusid/models/complete_relation.py,sha256=T1Wd-knJ0m60ZV82FRinBboqaj0XioTUirK43ozT1q4,3908
|
240
240
|
lusid/models/complete_relationship.py,sha256=oO5LLSMYB6IXIsWZVoooboC0TEo3aaox6zLFdnn1wLk,5168
|
@@ -414,6 +414,7 @@ lusid/models/exercise_event.py,sha256=Oq9OUIRdPpzaHeORRXzlqQxEnzOQe2SS3fx7Fh8SH_
|
|
414
414
|
lusid/models/exotic_instrument.py,sha256=TSm124GJMpAHSfxhNyLDOwWgTZKqNqW21mwcs4nfFKA,5886
|
415
415
|
lusid/models/expanded_group.py,sha256=e1fIiusdlI_VtjJlF4g5O_yg6A_5VDOg2LaW94CUyJU,5931
|
416
416
|
lusid/models/expiry_event.py,sha256=pnBngOXyKP0OAPxe40_b53eZWzReDGh1wKwLi1lOvMg,6197
|
417
|
+
lusid/models/external_fee_component_filter.py,sha256=MYonxkbn322SfeeMvNUZ4VvjZlqw24SuBPECUkw-1wk,3125
|
417
418
|
lusid/models/fee.py,sha256=QhQeSjYw4h7mpQ4d4bGSnu2WU_A1J8pMJwi8j8fm210,11945
|
418
419
|
lusid/models/fee_accrual.py,sha256=4u5DYJpuu0mwhpXafCRA1mHCdDhNMjwpuTMllxUiqkI,4319
|
419
420
|
lusid/models/fee_properties.py,sha256=Q92whmRw6aIwyxsgLVF9vntTY5WLwtrDdJMw9sSNoEQ,4232
|
@@ -443,9 +444,9 @@ lusid/models/forward_rate_agreement.py,sha256=y6AWOQLqEP88OkiRkYFM7_pw-GokH69602
|
|
443
444
|
lusid/models/from_recipe.py,sha256=paSou6poZf5CHkswKhZXc8jXmVcxj7s7kJXRw4ucbfQ,2261
|
444
445
|
lusid/models/fund.py,sha256=4FENDtVBRDI59lTQ_LdffuIYIPGj7C-LUkL0Wtzn0cc,8958
|
445
446
|
lusid/models/fund_amount.py,sha256=qaAEXheAqYVXXcdxSKsNuzY9FY0lG-AjNUrAS_15i3w,1900
|
446
|
-
lusid/models/fund_configuration.py,sha256=
|
447
|
+
lusid/models/fund_configuration.py,sha256=23ojBK8bYghK_nPbvurQ7gH91Wlkj5Rh_2qbI_kkI00,9336
|
447
448
|
lusid/models/fund_configuration_properties.py,sha256=hqKaBSMkSYC5UcWxkgDos41GYnm__6-Q23Z6SDsBgM4,4373
|
448
|
-
lusid/models/fund_configuration_request.py,sha256=
|
449
|
+
lusid/models/fund_configuration_request.py,sha256=joOd-krDftkkQUk7hjS8vAOFXnHL9yySQgYEBdEVr_k,7672
|
449
450
|
lusid/models/fund_details.py,sha256=5VcFaIfA7FyX0tB9kOkDKYiHxR-ms6CPTn_T2SotxkI,2176
|
450
451
|
lusid/models/fund_id_list.py,sha256=B0Zsyn-q7SFuhXtrug0Z4nBmAIM1jo88V3fYVcwIOhE,3706
|
451
452
|
lusid/models/fund_pnl_breakdown.py,sha256=FVWePhLbtAjdikBOG3yipSUD4fIbNnmsM7PsOe1cL4w,4421
|
@@ -663,9 +664,9 @@ lusid/models/operation.py,sha256=LtqUFww2hQy0sa9kdCpHPz3XSvtHxqsWtRKjRDku2TA,251
|
|
663
664
|
lusid/models/operation_type.py,sha256=kUOhDAUWv4sYAaZwRlXwaowlr_jBw9uUmsW1ffRsMv8,644
|
664
665
|
lusid/models/operator.py,sha256=pET4TePqHQQxhblcnIQjtda3Y7a5H864MUFMJBE4loE,797
|
665
666
|
lusid/models/option_entry.py,sha256=KJfFze7xIJxeIJ7hXxJhkUydFhg9KJU4rIAfLdBaT8k,2136
|
666
|
-
lusid/models/option_exercise_cash_event.py,sha256=
|
667
|
+
lusid/models/option_exercise_cash_event.py,sha256=jy-QjvfcznBRLkqoZ72JGSwiVnuQMMmbwkb20XAtJ_Y,11044
|
667
668
|
lusid/models/option_exercise_election.py,sha256=XeES3Uy1-Vpj5VjmxZjJsaU5hbgvELp9FWWZl__Cnew,2546
|
668
|
-
lusid/models/option_exercise_physical_event.py,sha256=
|
669
|
+
lusid/models/option_exercise_physical_event.py,sha256=0ERq50QEyeI_ZnCmi6jVBjDOtdRzp-Z9IvgnKLYCPjM,11493
|
669
670
|
lusid/models/optionality_schedule.py,sha256=lZh9nWhUmmkcfzAjsM8qvTAtXf4Fm97vhIbqD-EIboU,5501
|
670
671
|
lusid/models/order.py,sha256=-47dm6-P-pNB--pBRn6UxGCv7Az7ECBAgoykBdR3agM,9659
|
671
672
|
lusid/models/order_by_spec.py,sha256=9RyLPdTBImMEcjhN2mq-BtMykndyNLZSpJ3xO_biaZk,2319
|
@@ -1037,6 +1038,7 @@ lusid/models/staging_rule_set.py,sha256=05h5vV_9s3V2MYoH7o1K8pmjlUq15jJSsmyJ5ObR
|
|
1037
1038
|
lusid/models/step_schedule.py,sha256=1xCC_C_GzTIOY8GPUIaF75YoieJ6fwV4qQFQHTsJypg,4580
|
1038
1039
|
lusid/models/stock_dividend_event.py,sha256=IbteGDGFk7P0yrAuGtu4nRXKktQLgcBSN2Ytm0S1gq0,9065
|
1039
1040
|
lusid/models/stock_split_event.py,sha256=gP0-rWXwy23Kj6zV934xYCHq4dpO8DSeyYIFCvz-pjw,9045
|
1041
|
+
lusid/models/strategy.py,sha256=qDZ8BGyMP_xsEH1ipTEdB9WnkHU4DChb416gm2rdzEU,2522
|
1040
1042
|
lusid/models/stream.py,sha256=TGFloyewF3hi9RLyg0K3z13zxgvqAlHt46_AJuP9l7E,2865
|
1041
1043
|
lusid/models/string_comparison_type.py,sha256=4_CrV7WlDTrgAR866IyYXJZyVUXSNHBn7YrRdyiWKj0,799
|
1042
1044
|
lusid/models/string_compliance_parameter.py,sha256=_DVIosVMDhLYoONZUcMuIre5Ku8JAfIWjHB_okBu-DU,5318
|
@@ -1060,7 +1062,7 @@ lusid/models/total_return_swap.py,sha256=x3RBIefY7oiI9MfIK3A2okvuAdeVEk025jp6F5g
|
|
1060
1062
|
lusid/models/touch.py,sha256=OECUpEFcCT1kPT5SJIsoNHtR8k2AhEAbDd6P86NcF4s,2726
|
1061
1063
|
lusid/models/trade_ticket.py,sha256=ONpDAdaWs3yfUqMxI7Mq0cYpX0aJkN8XH_9n9rIs5IA,2320
|
1062
1064
|
lusid/models/trade_ticket_type.py,sha256=j7f2bfiA_cxaFtjZpT3Natl4BoaGAaEXF6E0ltEzTWE,706
|
1063
|
-
lusid/models/transaction.py,sha256=
|
1065
|
+
lusid/models/transaction.py,sha256=ItU_ujzGcj7RR0br8zxrNCMXk2zO5bh5ZcriGoRdhB4,13742
|
1064
1066
|
lusid/models/transaction_configuration_data.py,sha256=BSHXnMn6TWaubn2zTxPvbRUOsRtGYb0N4sDNUcf1SaY,4318
|
1065
1067
|
lusid/models/transaction_configuration_data_request.py,sha256=mypVKRfltmkG5NEUGqDDyBYdIir3S1nkYzGL8BwHWgo,4398
|
1066
1068
|
lusid/models/transaction_configuration_movement_data.py,sha256=ofaJZQOHloSpT4Y09Sgw-JtQq3RWNwkBl-JLMGg_yYo,7418
|
@@ -1080,7 +1082,7 @@ lusid/models/transaction_query_mode.py,sha256=q3QNcFSP-LwfdQF_yRUOZMd6ElemQm03yO
|
|
1080
1082
|
lusid/models/transaction_query_parameters.py,sha256=sYKAouptXvwNtAzz2SdOi7F-9M5q2xOwqT1kjz8vSNE,3365
|
1081
1083
|
lusid/models/transaction_reconciliation_request.py,sha256=pys1JU22geF_MiZwGBlzhiXQ_daHZ0Cffpce8Wvq7ec,4294
|
1082
1084
|
lusid/models/transaction_reconciliation_request_v2.py,sha256=YjOKUfgsoXVlXLbAP2qDc8wsRV-Te-sxtsvKGJe1cjg,5946
|
1083
|
-
lusid/models/transaction_request.py,sha256=
|
1085
|
+
lusid/models/transaction_request.py,sha256=W0qAUjOVWrS7fVK2qP4VtETic5AAGmM1DPXu-6Rcfl8,10847
|
1084
1086
|
lusid/models/transaction_roles.py,sha256=1r-BzcchffLl6p4lSUhRAUmsVdrl7Bvce2cCiwxJanE,839
|
1085
1087
|
lusid/models/transaction_set_configuration_data.py,sha256=CmMrtyOxpcJd5LXW2egsTf4yPCkoJ7yGUA-WFL07zI4,4411
|
1086
1088
|
lusid/models/transaction_set_configuration_data_request.py,sha256=YWx3s0gvxI-6Zh9HmrbcUw9SO2t7OoEq5rXYJyNOFYU,3947
|
@@ -1091,6 +1093,7 @@ lusid/models/transaction_template_specification.py,sha256=dggD7J8ZSUTznJddC_Sn65
|
|
1091
1093
|
lusid/models/transaction_type.py,sha256=zcWUQPVY5JKEOzNWQls7TjTiKOB7QVY8iFh1zgJXYUc,5765
|
1092
1094
|
lusid/models/transaction_type_alias.py,sha256=xL9k8kjgAcEPe5sfK8asHscvz7gLcAa6pC_eGgVvXlY,3532
|
1093
1095
|
lusid/models/transaction_type_calculation.py,sha256=Re4rt0IuLxo1hgjDz-VyIgQhVat6w7Fh-DwUF19nYYs,2846
|
1096
|
+
lusid/models/transaction_type_details.py,sha256=GC-lanMnyYR_hKlUvU4yU0-exqE6CdMw1081wPUmIj0,3131
|
1094
1097
|
lusid/models/transaction_type_movement.py,sha256=eG4MQrMi0P_ihxOcfsqPAnkYuOmwbho9xQDoAJWH2ro,8695
|
1095
1098
|
lusid/models/transaction_type_property_mapping.py,sha256=2fmP3IJH-44GXE5-jt4Fd55xQscWTrEa76yjQJIUs_4,3249
|
1096
1099
|
lusid/models/transaction_type_request.py,sha256=tuoF4_cUe0KLjF4FN_un_wGtraNfJAXoNrfudvA0zIc,5121
|
@@ -1224,6 +1227,6 @@ lusid/models/workspace_update_request.py,sha256=uUXEpX-dJ5UiL9w1wMxIFeovSBiTJ-vi
|
|
1224
1227
|
lusid/models/yield_curve_data.py,sha256=SbxvdJ4-GWK9kpMdw4Fnxc7_kvIMwgsRsd_31UJn7nw,6330
|
1225
1228
|
lusid/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1226
1229
|
lusid/rest.py,sha256=HQT__5LQEMu6_1sLKvYj-DI4FH1DJXBIPYfZCTTyrY4,13431
|
1227
|
-
lusid_sdk-2.1.
|
1228
|
-
lusid_sdk-2.1.
|
1229
|
-
lusid_sdk-2.1.
|
1230
|
+
lusid_sdk-2.1.580.dist-info/METADATA,sha256=LZEQTBrdcLTUVpXFIrH2HY_H0H8HFrlgMhDn0ko8jUI,209148
|
1231
|
+
lusid_sdk-2.1.580.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
1232
|
+
lusid_sdk-2.1.580.dist-info/RECORD,,
|
File without changes
|