lusid-sdk 2.1.764__py3-none-any.whl → 2.1.766__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.
@@ -1228,7 +1228,7 @@ class ConfigurationRecipeApi:
1228
1228
  def list_derived_recipes(self, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the Configuration Recipes. Defaults to latest if not specified.")] = None, filter : Annotated[Optional[StrictStr], Field( description="Expression to filter the result set, note this functionality is not yet enabled for this endpoint.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ResourceListOfGetRecipeResponse, Awaitable[ResourceListOfGetRecipeResponse]]: # noqa: E501
1229
1229
  """ListDerivedRecipes: List the complete set of all Configuration Recipes, both from the configuration recipe store and also from expanded recipe composers. # noqa: E501
1230
1230
 
1231
- This endpoints returns a union of the output of ListConfigurationRecipes and the resolved Recipe Composers from the ListRecipeComposers endpoints. # noqa: E501
1231
+ This endpoints returns a union of the output of ListConfigurationRecipes and the resolved Recipe Composers from the ListRecipeComposers endpoints. Recipe Composers that fail to generate a valid Configuration Recipe will not be reported. # noqa: E501
1232
1232
  This method makes a synchronous HTTP request by default. To make an
1233
1233
  asynchronous HTTP request, please pass async_req=True
1234
1234
 
@@ -1261,7 +1261,7 @@ class ConfigurationRecipeApi:
1261
1261
  def list_derived_recipes_with_http_info(self, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the Configuration Recipes. Defaults to latest if not specified.")] = None, filter : Annotated[Optional[StrictStr], Field( description="Expression to filter the result set, note this functionality is not yet enabled for this endpoint.")] = None, **kwargs) -> ApiResponse: # noqa: E501
1262
1262
  """ListDerivedRecipes: List the complete set of all Configuration Recipes, both from the configuration recipe store and also from expanded recipe composers. # noqa: E501
1263
1263
 
1264
- This endpoints returns a union of the output of ListConfigurationRecipes and the resolved Recipe Composers from the ListRecipeComposers endpoints. # noqa: E501
1264
+ This endpoints returns a union of the output of ListConfigurationRecipes and the resolved Recipe Composers from the ListRecipeComposers endpoints. Recipe Composers that fail to generate a valid Configuration Recipe will not be reported. # noqa: E501
1265
1265
  This method makes a synchronous HTTP request by default. To make an
1266
1266
  asynchronous HTTP request, please pass async_req=True
1267
1267
 
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.7680\n"\
448
+ "Version of the API: 0.11.7686\n"\
449
449
  "SDK Package Version: {package_version}".\
450
450
  format(env=sys.platform, pyversion=sys.version, package_version=package_version)
451
451
 
@@ -22,6 +22,7 @@ from typing import Any, Dict, List, Optional
22
22
  from pydantic.v1 import StrictStr, Field, BaseModel, Field, StrictStr, conlist
23
23
  from lusid.models.aggregate_spec import AggregateSpec
24
24
  from lusid.models.order_by_spec import OrderBySpec
25
+ from lusid.models.portfolio_entity_id import PortfolioEntityId
25
26
  from lusid.models.property_filter import PropertyFilter
26
27
  from lusid.models.resource_id import ResourceId
27
28
 
@@ -31,13 +32,14 @@ class AggregatedTransactionsRequest(BaseModel):
31
32
  """
32
33
  from_transaction_date: datetime = Field(..., alias="fromTransactionDate")
33
34
  to_transaction_date: datetime = Field(..., alias="toTransactionDate")
34
- portfolio_id: ResourceId = Field(..., alias="portfolioId")
35
+ portfolio_id: Optional[ResourceId] = Field(None, alias="portfolioId")
36
+ portfolio_entity_ids: Optional[conlist(PortfolioEntityId)] = Field(None, alias="portfolioEntityIds", description="The set of portfolio or portfolio group identifiers containing the relevant transactions.")
35
37
  as_at: Optional[datetime] = Field(None, alias="asAt")
36
38
  metrics: conlist(AggregateSpec) = Field(...)
37
39
  group_by: Optional[conlist(StrictStr)] = Field(None, alias="groupBy")
38
40
  filters: Optional[conlist(PropertyFilter)] = None
39
41
  sort: Optional[conlist(OrderBySpec)] = None
40
- __properties = ["fromTransactionDate", "toTransactionDate", "portfolioId", "asAt", "metrics", "groupBy", "filters", "sort"]
42
+ __properties = ["fromTransactionDate", "toTransactionDate", "portfolioId", "portfolioEntityIds", "asAt", "metrics", "groupBy", "filters", "sort"]
41
43
 
42
44
  class Config:
43
45
  """Pydantic configuration"""
@@ -74,6 +76,13 @@ class AggregatedTransactionsRequest(BaseModel):
74
76
  # override the default output from pydantic by calling `to_dict()` of portfolio_id
75
77
  if self.portfolio_id:
76
78
  _dict['portfolioId'] = self.portfolio_id.to_dict()
79
+ # override the default output from pydantic by calling `to_dict()` of each item in portfolio_entity_ids (list)
80
+ _items = []
81
+ if self.portfolio_entity_ids:
82
+ for _item in self.portfolio_entity_ids:
83
+ if _item:
84
+ _items.append(_item.to_dict())
85
+ _dict['portfolioEntityIds'] = _items
77
86
  # override the default output from pydantic by calling `to_dict()` of each item in metrics (list)
78
87
  _items = []
79
88
  if self.metrics:
@@ -95,6 +104,11 @@ class AggregatedTransactionsRequest(BaseModel):
95
104
  if _item:
96
105
  _items.append(_item.to_dict())
97
106
  _dict['sort'] = _items
107
+ # set to None if portfolio_entity_ids (nullable) is None
108
+ # and __fields_set__ contains the field
109
+ if self.portfolio_entity_ids is None and "portfolio_entity_ids" in self.__fields_set__:
110
+ _dict['portfolioEntityIds'] = None
111
+
98
112
  # set to None if as_at (nullable) is None
99
113
  # and __fields_set__ contains the field
100
114
  if self.as_at is None and "as_at" in self.__fields_set__:
@@ -130,6 +144,7 @@ class AggregatedTransactionsRequest(BaseModel):
130
144
  "from_transaction_date": obj.get("fromTransactionDate"),
131
145
  "to_transaction_date": obj.get("toTransactionDate"),
132
146
  "portfolio_id": ResourceId.from_dict(obj.get("portfolioId")) if obj.get("portfolioId") is not None else None,
147
+ "portfolio_entity_ids": [PortfolioEntityId.from_dict(_item) for _item in obj.get("portfolioEntityIds")] if obj.get("portfolioEntityIds") is not None else None,
133
148
  "as_at": obj.get("asAt"),
134
149
  "metrics": [AggregateSpec.from_dict(_item) for _item in obj.get("metrics")] if obj.get("metrics") is not None else None,
135
150
  "group_by": obj.get("groupBy"),
@@ -49,7 +49,8 @@ class PortfolioHolding(BaseModel):
49
49
  variation_margin: Optional[CurrencyAndAmount] = Field(None, alias="variationMargin")
50
50
  variation_margin_portfolio_ccy: Optional[CurrencyAndAmount] = Field(None, alias="variationMarginPortfolioCcy")
51
51
  settlement_schedule: Optional[conlist(SettlementSchedule)] = Field(None, alias="settlementSchedule", description="Where no. of days ahead has been specified, future dated settlements will be captured here.")
52
- __properties = ["instrumentScope", "instrumentUid", "subHoldingKeys", "properties", "holdingType", "units", "settledUnits", "cost", "costPortfolioCcy", "transaction", "currency", "holdingTypeName", "holdingId", "notionalCost", "amortisedCost", "amortisedCostPortfolioCcy", "variationMargin", "variationMarginPortfolioCcy", "settlementSchedule"]
52
+ current_face: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="currentFace", description="Current face value of the holding.")
53
+ __properties = ["instrumentScope", "instrumentUid", "subHoldingKeys", "properties", "holdingType", "units", "settledUnits", "cost", "costPortfolioCcy", "transaction", "currency", "holdingTypeName", "holdingId", "notionalCost", "amortisedCost", "amortisedCostPortfolioCcy", "variationMargin", "variationMarginPortfolioCcy", "settlementSchedule", "currentFace"]
53
54
 
54
55
  class Config:
55
56
  """Pydantic configuration"""
@@ -163,6 +164,11 @@ class PortfolioHolding(BaseModel):
163
164
  if self.settlement_schedule is None and "settlement_schedule" in self.__fields_set__:
164
165
  _dict['settlementSchedule'] = None
165
166
 
167
+ # set to None if current_face (nullable) is None
168
+ # and __fields_set__ contains the field
169
+ if self.current_face is None and "current_face" in self.__fields_set__:
170
+ _dict['currentFace'] = None
171
+
166
172
  return _dict
167
173
 
168
174
  @classmethod
@@ -203,6 +209,7 @@ class PortfolioHolding(BaseModel):
203
209
  "amortised_cost_portfolio_ccy": CurrencyAndAmount.from_dict(obj.get("amortisedCostPortfolioCcy")) if obj.get("amortisedCostPortfolioCcy") is not None else None,
204
210
  "variation_margin": CurrencyAndAmount.from_dict(obj.get("variationMargin")) if obj.get("variationMargin") is not None else None,
205
211
  "variation_margin_portfolio_ccy": CurrencyAndAmount.from_dict(obj.get("variationMarginPortfolioCcy")) if obj.get("variationMarginPortfolioCcy") is not None else None,
206
- "settlement_schedule": [SettlementSchedule.from_dict(_item) for _item in obj.get("settlementSchedule")] if obj.get("settlementSchedule") is not None else None
212
+ "settlement_schedule": [SettlementSchedule.from_dict(_item) for _item in obj.get("settlementSchedule")] if obj.get("settlementSchedule") is not None else None,
213
+ "current_face": obj.get("currentFace")
207
214
  })
208
215
  return _obj
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lusid-sdk
3
- Version: 2.1.764
3
+ Version: 2.1.766
4
4
  Summary: LUSID API
5
5
  Home-page: https://github.com/finbourne/lusid-sdk-python
6
6
  License: MIT
@@ -12,7 +12,7 @@ lusid/api/calendars_api.py,sha256=Z1Zo2PDggpII8e6DyKlun1EZkCqU0I9MtqTsKfu5buI,14
12
12
  lusid/api/chart_of_accounts_api.py,sha256=IjcmZkafnygX94B-Efv43JzCBPVkrambPnOvAbhmOzk,404308
13
13
  lusid/api/complex_market_data_api.py,sha256=drK_yzRLmdbgXlbavPB3_ygdG8kIWCKvV65VbZ_e1rc,61051
14
14
  lusid/api/compliance_api.py,sha256=mbq3E4h6nMQp7mowJussYN2f92YDIsjwYQw7wiTjHG4,147595
15
- lusid/api/configuration_recipe_api.py,sha256=UIiHuWdWVhe4tcHXYjQpAHqsOhEFYQIexIjDoA2Gii0,99181
15
+ lusid/api/configuration_recipe_api.py,sha256=1hdNB1imRjVzf8KAmqnNJE10jv883s1SCza5dl8fP9Q,99363
16
16
  lusid/api/conventions_api.py,sha256=dsvB_lAcR5oVQLTqVJj9_zruF7Tyn8aGzD9EmEKvfWY,104288
17
17
  lusid/api/corporate_action_sources_api.py,sha256=7Js9dAFi_HOsYjZvYQew8SjK8x45x-Bi3VJxY-dhDKU,98350
18
18
  lusid/api/counterparties_api.py,sha256=dvRW05miC9_DBYAvJavmNucbNY4ZDwFjqLNXSoP-05A,71156
@@ -74,7 +74,7 @@ lusid/api/translation_api.py,sha256=xpRuTfwQvYBlWe6r_L2EI_uVpXqHFnEOim-i-kVQ85E,
74
74
  lusid/api/workspace_api.py,sha256=QmcywrL34lbVo4CbSwyyJDh0kRG7Gt91xrQB0ShqQQQ,106017
75
75
  lusid/api_client.py,sha256=ewMTmf9SRurY8pYnUx9jy24RdldPCOa4US38pnrVxjA,31140
76
76
  lusid/api_response.py,sha256=6-gnhty6lu8MMAERt3_kTVD7UxQgWFfcjgpcq6iN5IU,855
77
- lusid/configuration.py,sha256=KaeYgOU72rkb317HUHNbt8KgME24FECsL_nvU3oIxos,17972
77
+ lusid/configuration.py,sha256=35-H3YP-wU3mjoIxss5Rm0AiXp0enjWGskiVd2NeSP8,17972
78
78
  lusid/exceptions.py,sha256=HIQwgmQrszLlcVCLaqex8dO0laVuejUyOMz7U2ZWJ6s,5326
79
79
  lusid/extensions/__init__.py,sha256=dzDHEzpn-9smd2-_UMWQzeyX6Ha4jGf6fnqx7qxKxNI,630
80
80
  lusid/extensions/api_client.py,sha256=GzygWg_h603QK1QS2HvAijuE2R1TnvoF6-Yg0CeM3ug,30943
@@ -131,7 +131,7 @@ lusid/models/aggregated_return.py,sha256=wOBK0g60_ci_zvYVzpjV_LueTu2DHXCTH69qJEw
131
131
  lusid/models/aggregated_returns_dispersion_request.py,sha256=uAqDXWEEDfAIUWuyCXQM1ZAbw42B39ugo1PiS6ny5dM,5276
132
132
  lusid/models/aggregated_returns_request.py,sha256=TRmDQMSck0DNCuNx8cOuH9UR6MudA_hi27eQ39i7Srg,7832
133
133
  lusid/models/aggregated_returns_response.py,sha256=HiLbzAMWxiUupMabumz_A_ByS9ZJ9oGKQa0BXRLMqRo,4345
134
- lusid/models/aggregated_transactions_request.py,sha256=RJYrcA8pQ2ug8DNuGEBdodGv8ETPoS8cth7SCvxCfso,5573
134
+ lusid/models/aggregated_transactions_request.py,sha256=2hyBBSOMbYh6UrT8MqeBzDIQSiz6XjqS3lNxPAi_w1E,6663
135
135
  lusid/models/aggregation_context.py,sha256=iQopevHwtbEYbJ6OlGTiBcR4XoUB2Af4ClRLADcU56Q,2815
136
136
  lusid/models/aggregation_measure_failure_detail.py,sha256=v0-1_GZ3eClBgtImpdPEfQu4odbq1yjgf6fhcVtP18M,3515
137
137
  lusid/models/aggregation_op.py,sha256=F2n9Nqc-qwyf5W7Fg58FIHf2JJmGuAIfpYsEL2BxqgU,1092
@@ -850,7 +850,7 @@ lusid/models/portfolio_group_id_list.py,sha256=Ut0V-XU9IxYuRRGbrpzVpr83AuwIEIZyh
850
850
  lusid/models/portfolio_group_id_list_compliance_parameter.py,sha256=FSWPqI7dssGPfuGjqGmwwHHBBhzqtLgdpk6NBc3H5KI,8956
851
851
  lusid/models/portfolio_group_properties.py,sha256=DGPpb19PXQ_xWy-3LSFccVQlIBWY_N3UTLGsrLcsi5A,4590
852
852
  lusid/models/portfolio_group_search_result.py,sha256=GLbW7yd1XS6-h8as8SWlAx5SNr3uDyp5bcIkoPk31ws,6532
853
- lusid/models/portfolio_holding.py,sha256=da7yq2oKb3UvTW_bfifetyR1lbbzqFD5_muo0xmH9Js,11860
853
+ lusid/models/portfolio_holding.py,sha256=eSfSFTH609Px5yroV5L2oZ12R0McXNaL4c6u26Z5fcU,12296
854
854
  lusid/models/portfolio_id.py,sha256=pHaI4JYkUuTj4wRJ1UP3D1an6TspSSaVHq1_Ro0z98g,2644
855
855
  lusid/models/portfolio_id_compliance_parameter.py,sha256=kon3agx_EblIE74VMQ1_I8ckPGOROrikZ3a1SUlEO_w,8875
856
856
  lusid/models/portfolio_id_list.py,sha256=k-uuFaw_iC0rvM0p8NWmuYBxsDvUXa5qsdWLHngQdjU,6989
@@ -1298,6 +1298,6 @@ lusid/models/year_month_day.py,sha256=gwSoxFwlD_wffKdddo1wfvAcLq3Cht3FHQidiaHzAA
1298
1298
  lusid/models/yield_curve_data.py,sha256=I1ZSWxHMgUxj9OQt6i9a4S91KB4_XtmrfFxpN_PV3YQ,9561
1299
1299
  lusid/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1300
1300
  lusid/rest.py,sha256=HQT__5LQEMu6_1sLKvYj-DI4FH1DJXBIPYfZCTTyrY4,13431
1301
- lusid_sdk-2.1.764.dist-info/METADATA,sha256=6B-O7yq4UdzYjDm8S4p7PF1Jquva357KIn2naWO799M,217812
1302
- lusid_sdk-2.1.764.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
1303
- lusid_sdk-2.1.764.dist-info/RECORD,,
1301
+ lusid_sdk-2.1.766.dist-info/METADATA,sha256=S2nM0jCcRlQ2Z-kll1ytFtgEUZsu4k-z7UViFUgXVr0,217812
1302
+ lusid_sdk-2.1.766.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
1303
+ lusid_sdk-2.1.766.dist-info/RECORD,,