lusid-sdk 2.1.874__py3-none-any.whl → 2.1.876__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/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.8052\n"\
448
+ "Version of the API: 0.11.8058\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
@@ -268,6 +268,7 @@ from lusid.models.create_reconciliation_request import CreateReconciliationReque
268
268
  from lusid.models.create_reference_portfolio_request import CreateReferencePortfolioRequest
269
269
  from lusid.models.create_relation_definition_request import CreateRelationDefinitionRequest
270
270
  from lusid.models.create_relation_request import CreateRelationRequest
271
+ from lusid.models.create_relational_dataset_definition_request import CreateRelationalDatasetDefinitionRequest
271
272
  from lusid.models.create_relationship_definition_request import CreateRelationshipDefinitionRequest
272
273
  from lusid.models.create_relationship_request import CreateRelationshipRequest
273
274
  from lusid.models.create_sequence_request import CreateSequenceRequest
@@ -761,6 +762,7 @@ from lusid.models.paged_resource_list_of_property_definition import PagedResourc
761
762
  from lusid.models.paged_resource_list_of_property_definition_search_result import PagedResourceListOfPropertyDefinitionSearchResult
762
763
  from lusid.models.paged_resource_list_of_reconciliation import PagedResourceListOfReconciliation
763
764
  from lusid.models.paged_resource_list_of_reference_list_response import PagedResourceListOfReferenceListResponse
765
+ from lusid.models.paged_resource_list_of_relational_dataset_definition import PagedResourceListOfRelationalDatasetDefinition
764
766
  from lusid.models.paged_resource_list_of_relationship_definition import PagedResourceListOfRelationshipDefinition
765
767
  from lusid.models.paged_resource_list_of_sequence_definition import PagedResourceListOfSequenceDefinition
766
768
  from lusid.models.paged_resource_list_of_staged_modification import PagedResourceListOfStagedModification
@@ -905,6 +907,8 @@ from lusid.models.reference_portfolio_weight_type import ReferencePortfolioWeigh
905
907
  from lusid.models.related_entity import RelatedEntity
906
908
  from lusid.models.relation import Relation
907
909
  from lusid.models.relation_definition import RelationDefinition
910
+ from lusid.models.relational_dataset_definition import RelationalDatasetDefinition
911
+ from lusid.models.relational_dataset_field_definition import RelationalDatasetFieldDefinition
908
912
  from lusid.models.relationship import Relationship
909
913
  from lusid.models.relationship_definition import RelationshipDefinition
910
914
  from lusid.models.relative_date_offset import RelativeDateOffset
@@ -1169,6 +1173,7 @@ from lusid.models.update_portfolio_request import UpdatePortfolioRequest
1169
1173
  from lusid.models.update_property_definition_request import UpdatePropertyDefinitionRequest
1170
1174
  from lusid.models.update_reconciliation_request import UpdateReconciliationRequest
1171
1175
  from lusid.models.update_reference_data_request import UpdateReferenceDataRequest
1176
+ from lusid.models.update_relational_dataset_definition_request import UpdateRelationalDatasetDefinitionRequest
1172
1177
  from lusid.models.update_relationship_definition_request import UpdateRelationshipDefinitionRequest
1173
1178
  from lusid.models.update_staging_rule_set_request import UpdateStagingRuleSetRequest
1174
1179
  from lusid.models.update_tax_rule_set_request import UpdateTaxRuleSetRequest
@@ -1524,6 +1529,7 @@ __all__ = [
1524
1529
  "CreateReferencePortfolioRequest",
1525
1530
  "CreateRelationDefinitionRequest",
1526
1531
  "CreateRelationRequest",
1532
+ "CreateRelationalDatasetDefinitionRequest",
1527
1533
  "CreateRelationshipDefinitionRequest",
1528
1534
  "CreateRelationshipRequest",
1529
1535
  "CreateSequenceRequest",
@@ -2017,6 +2023,7 @@ __all__ = [
2017
2023
  "PagedResourceListOfPropertyDefinitionSearchResult",
2018
2024
  "PagedResourceListOfReconciliation",
2019
2025
  "PagedResourceListOfReferenceListResponse",
2026
+ "PagedResourceListOfRelationalDatasetDefinition",
2020
2027
  "PagedResourceListOfRelationshipDefinition",
2021
2028
  "PagedResourceListOfSequenceDefinition",
2022
2029
  "PagedResourceListOfStagedModification",
@@ -2161,6 +2168,8 @@ __all__ = [
2161
2168
  "RelatedEntity",
2162
2169
  "Relation",
2163
2170
  "RelationDefinition",
2171
+ "RelationalDatasetDefinition",
2172
+ "RelationalDatasetFieldDefinition",
2164
2173
  "Relationship",
2165
2174
  "RelationshipDefinition",
2166
2175
  "RelativeDateOffset",
@@ -2425,6 +2434,7 @@ __all__ = [
2425
2434
  "UpdatePropertyDefinitionRequest",
2426
2435
  "UpdateReconciliationRequest",
2427
2436
  "UpdateReferenceDataRequest",
2437
+ "UpdateRelationalDatasetDefinitionRequest",
2428
2438
  "UpdateRelationshipDefinitionRequest",
2429
2439
  "UpdateStagingRuleSetRequest",
2430
2440
  "UpdateTaxRuleSetRequest",
@@ -33,7 +33,7 @@ class CalendarDate(BaseModel):
33
33
  local_date: StrictStr = Field(...,alias="localDate")
34
34
  timezone: StrictStr = Field(...,alias="timezone")
35
35
  description: StrictStr = Field(...,alias="description")
36
- type: StrictStr = Field(...,alias="type")
36
+ type: Optional[StrictStr] = Field(None,alias="type")
37
37
  attributes: Optional[DateAttributes] = None
38
38
  source_data: Optional[Dict[str, StrictStr]] = Field(None, alias="sourceData")
39
39
  __properties = ["href", "dateIdentifier", "fromUtc", "toUtc", "localDate", "timezone", "description", "type", "attributes", "sourceData"]
@@ -78,6 +78,11 @@ class CalendarDate(BaseModel):
78
78
  if self.href is None and "href" in self.__fields_set__:
79
79
  _dict['href'] = None
80
80
 
81
+ # set to None if type (nullable) is None
82
+ # and __fields_set__ contains the field
83
+ if self.type is None and "type" in self.__fields_set__:
84
+ _dict['type'] = None
85
+
81
86
  # set to None if source_data (nullable) is None
82
87
  # and __fields_set__ contains the field
83
88
  if self.source_data is None and "source_data" in self.__fields_set__:
@@ -0,0 +1,102 @@
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 StrictStr, Field, BaseModel, Field, StrictStr, conlist, constr
23
+ from lusid.models.relational_dataset_field_definition import RelationalDatasetFieldDefinition
24
+ from lusid.models.resource_id import ResourceId
25
+
26
+ class CreateRelationalDatasetDefinitionRequest(BaseModel):
27
+ """
28
+ CreateRelationalDatasetDefinitionRequest
29
+ """
30
+ id: ResourceId = Field(...)
31
+ display_name: StrictStr = Field(...,alias="displayName", description="A user-friendly display name for the relational dataset definition.")
32
+ description: Optional[StrictStr] = Field(None,alias="description", description="A detailed description of the relational dataset definition and its purpose.")
33
+ applicable_entity_types: conlist(StrictStr) = Field(..., alias="applicableEntityTypes", description="The types of entities this relational dataset definition can be applied to (e.g. Instrument, Portfolio, etc.).")
34
+ field_schema: conlist(RelationalDatasetFieldDefinition) = Field(..., alias="fieldSchema", description="The schema defining the structure and data types of the relational dataset.")
35
+ __properties = ["id", "displayName", "description", "applicableEntityTypes", "fieldSchema"]
36
+
37
+ class Config:
38
+ """Pydantic configuration"""
39
+ allow_population_by_field_name = True
40
+ validate_assignment = True
41
+
42
+ def __str__(self):
43
+ """For `print` and `pprint`"""
44
+ return pprint.pformat(self.dict(by_alias=False))
45
+
46
+ def __repr__(self):
47
+ """For `print` and `pprint`"""
48
+ return self.to_str()
49
+
50
+ def to_str(self) -> str:
51
+ """Returns the string representation of the model using alias"""
52
+ return pprint.pformat(self.dict(by_alias=True))
53
+
54
+ def to_json(self) -> str:
55
+ """Returns the JSON representation of the model using alias"""
56
+ return json.dumps(self.to_dict())
57
+
58
+ @classmethod
59
+ def from_json(cls, json_str: str) -> CreateRelationalDatasetDefinitionRequest:
60
+ """Create an instance of CreateRelationalDatasetDefinitionRequest from a JSON string"""
61
+ return cls.from_dict(json.loads(json_str))
62
+
63
+ def to_dict(self):
64
+ """Returns the dictionary representation of the model using alias"""
65
+ _dict = self.dict(by_alias=True,
66
+ exclude={
67
+ },
68
+ exclude_none=True)
69
+ # override the default output from pydantic by calling `to_dict()` of id
70
+ if self.id:
71
+ _dict['id'] = self.id.to_dict()
72
+ # override the default output from pydantic by calling `to_dict()` of each item in field_schema (list)
73
+ _items = []
74
+ if self.field_schema:
75
+ for _item in self.field_schema:
76
+ if _item:
77
+ _items.append(_item.to_dict())
78
+ _dict['fieldSchema'] = _items
79
+ # set to None if description (nullable) is None
80
+ # and __fields_set__ contains the field
81
+ if self.description is None and "description" in self.__fields_set__:
82
+ _dict['description'] = None
83
+
84
+ return _dict
85
+
86
+ @classmethod
87
+ def from_dict(cls, obj: dict) -> CreateRelationalDatasetDefinitionRequest:
88
+ """Create an instance of CreateRelationalDatasetDefinitionRequest from a dict"""
89
+ if obj is None:
90
+ return None
91
+
92
+ if not isinstance(obj, dict):
93
+ return CreateRelationalDatasetDefinitionRequest.parse_obj(obj)
94
+
95
+ _obj = CreateRelationalDatasetDefinitionRequest.parse_obj({
96
+ "id": ResourceId.from_dict(obj.get("id")) if obj.get("id") is not None else None,
97
+ "display_name": obj.get("displayName"),
98
+ "description": obj.get("description"),
99
+ "applicable_entity_types": obj.get("applicableEntityTypes"),
100
+ "field_schema": [RelationalDatasetFieldDefinition.from_dict(_item) for _item in obj.get("fieldSchema")] if obj.get("fieldSchema") is not None else None
101
+ })
102
+ return _obj
@@ -0,0 +1,121 @@
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 StrictStr, Field, BaseModel, Field, StrictStr, conlist
23
+ from lusid.models.link import Link
24
+ from lusid.models.relational_dataset_definition import RelationalDatasetDefinition
25
+
26
+ class PagedResourceListOfRelationalDatasetDefinition(BaseModel):
27
+ """
28
+ PagedResourceListOfRelationalDatasetDefinition
29
+ """
30
+ next_page: Optional[StrictStr] = Field(None,alias="nextPage")
31
+ previous_page: Optional[StrictStr] = Field(None,alias="previousPage")
32
+ values: conlist(RelationalDatasetDefinition) = Field(...)
33
+ href: Optional[StrictStr] = Field(None,alias="href")
34
+ links: Optional[conlist(Link)] = None
35
+ __properties = ["nextPage", "previousPage", "values", "href", "links"]
36
+
37
+ class Config:
38
+ """Pydantic configuration"""
39
+ allow_population_by_field_name = True
40
+ validate_assignment = True
41
+
42
+ def __str__(self):
43
+ """For `print` and `pprint`"""
44
+ return pprint.pformat(self.dict(by_alias=False))
45
+
46
+ def __repr__(self):
47
+ """For `print` and `pprint`"""
48
+ return self.to_str()
49
+
50
+ def to_str(self) -> str:
51
+ """Returns the string representation of the model using alias"""
52
+ return pprint.pformat(self.dict(by_alias=True))
53
+
54
+ def to_json(self) -> str:
55
+ """Returns the JSON representation of the model using alias"""
56
+ return json.dumps(self.to_dict())
57
+
58
+ @classmethod
59
+ def from_json(cls, json_str: str) -> PagedResourceListOfRelationalDatasetDefinition:
60
+ """Create an instance of PagedResourceListOfRelationalDatasetDefinition from a JSON string"""
61
+ return cls.from_dict(json.loads(json_str))
62
+
63
+ def to_dict(self):
64
+ """Returns the dictionary representation of the model using alias"""
65
+ _dict = self.dict(by_alias=True,
66
+ exclude={
67
+ },
68
+ exclude_none=True)
69
+ # override the default output from pydantic by calling `to_dict()` of each item in values (list)
70
+ _items = []
71
+ if self.values:
72
+ for _item in self.values:
73
+ if _item:
74
+ _items.append(_item.to_dict())
75
+ _dict['values'] = _items
76
+ # override the default output from pydantic by calling `to_dict()` of each item in links (list)
77
+ _items = []
78
+ if self.links:
79
+ for _item in self.links:
80
+ if _item:
81
+ _items.append(_item.to_dict())
82
+ _dict['links'] = _items
83
+ # set to None if next_page (nullable) is None
84
+ # and __fields_set__ contains the field
85
+ if self.next_page is None and "next_page" in self.__fields_set__:
86
+ _dict['nextPage'] = None
87
+
88
+ # set to None if previous_page (nullable) is None
89
+ # and __fields_set__ contains the field
90
+ if self.previous_page is None and "previous_page" in self.__fields_set__:
91
+ _dict['previousPage'] = None
92
+
93
+ # set to None if href (nullable) is None
94
+ # and __fields_set__ contains the field
95
+ if self.href is None and "href" in self.__fields_set__:
96
+ _dict['href'] = None
97
+
98
+ # set to None if links (nullable) is None
99
+ # and __fields_set__ contains the field
100
+ if self.links is None and "links" in self.__fields_set__:
101
+ _dict['links'] = None
102
+
103
+ return _dict
104
+
105
+ @classmethod
106
+ def from_dict(cls, obj: dict) -> PagedResourceListOfRelationalDatasetDefinition:
107
+ """Create an instance of PagedResourceListOfRelationalDatasetDefinition from a dict"""
108
+ if obj is None:
109
+ return None
110
+
111
+ if not isinstance(obj, dict):
112
+ return PagedResourceListOfRelationalDatasetDefinition.parse_obj(obj)
113
+
114
+ _obj = PagedResourceListOfRelationalDatasetDefinition.parse_obj({
115
+ "next_page": obj.get("nextPage"),
116
+ "previous_page": obj.get("previousPage"),
117
+ "values": [RelationalDatasetDefinition.from_dict(_item) for _item in obj.get("values")] if obj.get("values") is not None else None,
118
+ "href": obj.get("href"),
119
+ "links": [Link.from_dict(_item) for _item in obj.get("links")] if obj.get("links") is not None else None
120
+ })
121
+ return _obj
@@ -0,0 +1,130 @@
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 StrictStr, Field, BaseModel, Field, StrictStr, conlist, constr
23
+ from lusid.models.link import Link
24
+ from lusid.models.relational_dataset_field_definition import RelationalDatasetFieldDefinition
25
+ from lusid.models.resource_id import ResourceId
26
+ from lusid.models.version import Version
27
+
28
+ class RelationalDatasetDefinition(BaseModel):
29
+ """
30
+ RelationalDatasetDefinition
31
+ """
32
+ id: ResourceId = Field(...)
33
+ display_name: StrictStr = Field(...,alias="displayName", description="A user-friendly display name for the relational dataset definition.")
34
+ description: Optional[StrictStr] = Field(None,alias="description", description="A detailed description of the relational dataset definition and its purpose.")
35
+ applicable_entity_types: conlist(StrictStr) = Field(..., alias="applicableEntityTypes", description="The types of entities this relational dataset definition can be applied to (e.g. Instrument, Portfolio, etc.).")
36
+ field_schema: conlist(RelationalDatasetFieldDefinition) = Field(..., alias="fieldSchema", description="The schema defining the structure and data types of the relational dataset.")
37
+ href: Optional[StrictStr] = Field(None,alias="href", description="The specific Uniform Resource Identifier (URI) for this resource at the requested effective and asAt datetime.")
38
+ version: Optional[Version] = None
39
+ links: Optional[conlist(Link)] = None
40
+ __properties = ["id", "displayName", "description", "applicableEntityTypes", "fieldSchema", "href", "version", "links"]
41
+
42
+ class Config:
43
+ """Pydantic configuration"""
44
+ allow_population_by_field_name = True
45
+ validate_assignment = True
46
+
47
+ def __str__(self):
48
+ """For `print` and `pprint`"""
49
+ return pprint.pformat(self.dict(by_alias=False))
50
+
51
+ def __repr__(self):
52
+ """For `print` and `pprint`"""
53
+ return self.to_str()
54
+
55
+ def to_str(self) -> str:
56
+ """Returns the string representation of the model using alias"""
57
+ return pprint.pformat(self.dict(by_alias=True))
58
+
59
+ def to_json(self) -> str:
60
+ """Returns the JSON representation of the model using alias"""
61
+ return json.dumps(self.to_dict())
62
+
63
+ @classmethod
64
+ def from_json(cls, json_str: str) -> RelationalDatasetDefinition:
65
+ """Create an instance of RelationalDatasetDefinition from a JSON string"""
66
+ return cls.from_dict(json.loads(json_str))
67
+
68
+ def to_dict(self):
69
+ """Returns the dictionary representation of the model using alias"""
70
+ _dict = self.dict(by_alias=True,
71
+ exclude={
72
+ },
73
+ exclude_none=True)
74
+ # override the default output from pydantic by calling `to_dict()` of id
75
+ if self.id:
76
+ _dict['id'] = self.id.to_dict()
77
+ # override the default output from pydantic by calling `to_dict()` of each item in field_schema (list)
78
+ _items = []
79
+ if self.field_schema:
80
+ for _item in self.field_schema:
81
+ if _item:
82
+ _items.append(_item.to_dict())
83
+ _dict['fieldSchema'] = _items
84
+ # override the default output from pydantic by calling `to_dict()` of version
85
+ if self.version:
86
+ _dict['version'] = self.version.to_dict()
87
+ # override the default output from pydantic by calling `to_dict()` of each item in links (list)
88
+ _items = []
89
+ if self.links:
90
+ for _item in self.links:
91
+ if _item:
92
+ _items.append(_item.to_dict())
93
+ _dict['links'] = _items
94
+ # set to None if description (nullable) is None
95
+ # and __fields_set__ contains the field
96
+ if self.description is None and "description" in self.__fields_set__:
97
+ _dict['description'] = None
98
+
99
+ # set to None if href (nullable) is None
100
+ # and __fields_set__ contains the field
101
+ if self.href is None and "href" in self.__fields_set__:
102
+ _dict['href'] = None
103
+
104
+ # set to None if links (nullable) is None
105
+ # and __fields_set__ contains the field
106
+ if self.links is None and "links" in self.__fields_set__:
107
+ _dict['links'] = None
108
+
109
+ return _dict
110
+
111
+ @classmethod
112
+ def from_dict(cls, obj: dict) -> RelationalDatasetDefinition:
113
+ """Create an instance of RelationalDatasetDefinition from a dict"""
114
+ if obj is None:
115
+ return None
116
+
117
+ if not isinstance(obj, dict):
118
+ return RelationalDatasetDefinition.parse_obj(obj)
119
+
120
+ _obj = RelationalDatasetDefinition.parse_obj({
121
+ "id": ResourceId.from_dict(obj.get("id")) if obj.get("id") is not None else None,
122
+ "display_name": obj.get("displayName"),
123
+ "description": obj.get("description"),
124
+ "applicable_entity_types": obj.get("applicableEntityTypes"),
125
+ "field_schema": [RelationalDatasetFieldDefinition.from_dict(_item) for _item in obj.get("fieldSchema")] if obj.get("fieldSchema") is not None else None,
126
+ "href": obj.get("href"),
127
+ "version": Version.from_dict(obj.get("version")) if obj.get("version") is not None else None,
128
+ "links": [Link.from_dict(_item) for _item in obj.get("links")] if obj.get("links") is not None else None
129
+ })
130
+ return _obj
@@ -0,0 +1,106 @@
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 StrictStr, Field, BaseModel, Field, StrictBool, StrictStr, constr
23
+ from lusid.models.resource_id import ResourceId
24
+
25
+ class RelationalDatasetFieldDefinition(BaseModel):
26
+ """
27
+ RelationalDatasetFieldDefinition
28
+ """
29
+ field_name: StrictStr = Field(...,alias="fieldName", description="The unique identifier for the field within the dataset.")
30
+ display_name: Optional[StrictStr] = Field(None,alias="displayName", description="A user-friendly display name for the field.")
31
+ description: Optional[StrictStr] = Field(None,alias="description", description="A detailed description of the field and its purpose.")
32
+ data_type_id: ResourceId = Field(..., alias="dataTypeId")
33
+ required: Optional[StrictBool] = Field(None, description="Whether this field is mandatory in the dataset.")
34
+ usage: Optional[StrictStr] = Field(None,alias="usage", description="The intended usage of the field (SeriesIdentifier, Value, or Metadata).")
35
+ __properties = ["fieldName", "displayName", "description", "dataTypeId", "required", "usage"]
36
+
37
+ class Config:
38
+ """Pydantic configuration"""
39
+ allow_population_by_field_name = True
40
+ validate_assignment = True
41
+
42
+ def __str__(self):
43
+ """For `print` and `pprint`"""
44
+ return pprint.pformat(self.dict(by_alias=False))
45
+
46
+ def __repr__(self):
47
+ """For `print` and `pprint`"""
48
+ return self.to_str()
49
+
50
+ def to_str(self) -> str:
51
+ """Returns the string representation of the model using alias"""
52
+ return pprint.pformat(self.dict(by_alias=True))
53
+
54
+ def to_json(self) -> str:
55
+ """Returns the JSON representation of the model using alias"""
56
+ return json.dumps(self.to_dict())
57
+
58
+ @classmethod
59
+ def from_json(cls, json_str: str) -> RelationalDatasetFieldDefinition:
60
+ """Create an instance of RelationalDatasetFieldDefinition from a JSON string"""
61
+ return cls.from_dict(json.loads(json_str))
62
+
63
+ def to_dict(self):
64
+ """Returns the dictionary representation of the model using alias"""
65
+ _dict = self.dict(by_alias=True,
66
+ exclude={
67
+ },
68
+ exclude_none=True)
69
+ # override the default output from pydantic by calling `to_dict()` of data_type_id
70
+ if self.data_type_id:
71
+ _dict['dataTypeId'] = self.data_type_id.to_dict()
72
+ # set to None if display_name (nullable) is None
73
+ # and __fields_set__ contains the field
74
+ if self.display_name is None and "display_name" in self.__fields_set__:
75
+ _dict['displayName'] = None
76
+
77
+ # set to None if description (nullable) is None
78
+ # and __fields_set__ contains the field
79
+ if self.description is None and "description" in self.__fields_set__:
80
+ _dict['description'] = None
81
+
82
+ # set to None if usage (nullable) is None
83
+ # and __fields_set__ contains the field
84
+ if self.usage is None and "usage" in self.__fields_set__:
85
+ _dict['usage'] = None
86
+
87
+ return _dict
88
+
89
+ @classmethod
90
+ def from_dict(cls, obj: dict) -> RelationalDatasetFieldDefinition:
91
+ """Create an instance of RelationalDatasetFieldDefinition from a dict"""
92
+ if obj is None:
93
+ return None
94
+
95
+ if not isinstance(obj, dict):
96
+ return RelationalDatasetFieldDefinition.parse_obj(obj)
97
+
98
+ _obj = RelationalDatasetFieldDefinition.parse_obj({
99
+ "field_name": obj.get("fieldName"),
100
+ "display_name": obj.get("displayName"),
101
+ "description": obj.get("description"),
102
+ "data_type_id": ResourceId.from_dict(obj.get("dataTypeId")) if obj.get("dataTypeId") is not None else None,
103
+ "required": obj.get("required"),
104
+ "usage": obj.get("usage")
105
+ })
106
+ return _obj
@@ -28,7 +28,8 @@ class SettlementSchedule(BaseModel):
28
28
  trade_id: Optional[StrictStr] = Field(None,alias="tradeId")
29
29
  settlement_date: Optional[datetime] = Field(None, alias="settlementDate")
30
30
  units: Optional[Union[StrictFloat, StrictInt]] = None
31
- __properties = ["tradeId", "settlementDate", "units"]
31
+ bond_interest: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="bondInterest")
32
+ __properties = ["tradeId", "settlementDate", "units", "bondInterest"]
32
33
 
33
34
  class Config:
34
35
  """Pydantic configuration"""
@@ -81,6 +82,7 @@ class SettlementSchedule(BaseModel):
81
82
  _obj = SettlementSchedule.parse_obj({
82
83
  "trade_id": obj.get("tradeId"),
83
84
  "settlement_date": obj.get("settlementDate"),
84
- "units": obj.get("units")
85
+ "units": obj.get("units"),
86
+ "bond_interest": obj.get("bondInterest")
85
87
  })
86
88
  return _obj
@@ -0,0 +1,96 @@
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 StrictStr, Field, BaseModel, Field, StrictStr, conlist, constr
23
+ from lusid.models.relational_dataset_field_definition import RelationalDatasetFieldDefinition
24
+
25
+ class UpdateRelationalDatasetDefinitionRequest(BaseModel):
26
+ """
27
+ UpdateRelationalDatasetDefinitionRequest
28
+ """
29
+ display_name: StrictStr = Field(...,alias="displayName", description="A user-friendly display name for the relational dataset definition.")
30
+ description: Optional[StrictStr] = Field(None,alias="description", description="A detailed description of the relational dataset definition and its purpose.")
31
+ applicable_entity_types: conlist(StrictStr) = Field(..., alias="applicableEntityTypes", description="The types of entities this relational dataset definition can be applied to (e.g. Instrument, Portfolio, etc.).")
32
+ field_schema: conlist(RelationalDatasetFieldDefinition) = Field(..., alias="fieldSchema", description="The schema defining the structure and data types of the relational dataset.")
33
+ __properties = ["displayName", "description", "applicableEntityTypes", "fieldSchema"]
34
+
35
+ class Config:
36
+ """Pydantic configuration"""
37
+ allow_population_by_field_name = True
38
+ validate_assignment = True
39
+
40
+ def __str__(self):
41
+ """For `print` and `pprint`"""
42
+ return pprint.pformat(self.dict(by_alias=False))
43
+
44
+ def __repr__(self):
45
+ """For `print` and `pprint`"""
46
+ return self.to_str()
47
+
48
+ def to_str(self) -> str:
49
+ """Returns the string representation of the model using alias"""
50
+ return pprint.pformat(self.dict(by_alias=True))
51
+
52
+ def to_json(self) -> str:
53
+ """Returns the JSON representation of the model using alias"""
54
+ return json.dumps(self.to_dict())
55
+
56
+ @classmethod
57
+ def from_json(cls, json_str: str) -> UpdateRelationalDatasetDefinitionRequest:
58
+ """Create an instance of UpdateRelationalDatasetDefinitionRequest from a JSON string"""
59
+ return cls.from_dict(json.loads(json_str))
60
+
61
+ def to_dict(self):
62
+ """Returns the dictionary representation of the model using alias"""
63
+ _dict = self.dict(by_alias=True,
64
+ exclude={
65
+ },
66
+ exclude_none=True)
67
+ # override the default output from pydantic by calling `to_dict()` of each item in field_schema (list)
68
+ _items = []
69
+ if self.field_schema:
70
+ for _item in self.field_schema:
71
+ if _item:
72
+ _items.append(_item.to_dict())
73
+ _dict['fieldSchema'] = _items
74
+ # set to None if description (nullable) is None
75
+ # and __fields_set__ contains the field
76
+ if self.description is None and "description" in self.__fields_set__:
77
+ _dict['description'] = None
78
+
79
+ return _dict
80
+
81
+ @classmethod
82
+ def from_dict(cls, obj: dict) -> UpdateRelationalDatasetDefinitionRequest:
83
+ """Create an instance of UpdateRelationalDatasetDefinitionRequest from a dict"""
84
+ if obj is None:
85
+ return None
86
+
87
+ if not isinstance(obj, dict):
88
+ return UpdateRelationalDatasetDefinitionRequest.parse_obj(obj)
89
+
90
+ _obj = UpdateRelationalDatasetDefinitionRequest.parse_obj({
91
+ "display_name": obj.get("displayName"),
92
+ "description": obj.get("description"),
93
+ "applicable_entity_types": obj.get("applicableEntityTypes"),
94
+ "field_schema": [RelationalDatasetFieldDefinition.from_dict(_item) for _item in obj.get("fieldSchema")] if obj.get("fieldSchema") is not None else None
95
+ })
96
+ return _obj