lusid-sdk 2.3.12__py3-none-any.whl → 2.3.14__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.
@@ -870,22 +870,22 @@ class TransactionPortfoliosApi:
870
870
 
871
871
 
872
872
  @overload
873
- async def batch_upsert_settlement_instructions(self, scope : Annotated[StrictStr, Field(..., description="The scope of the portfolio.")], code : Annotated[StrictStr, Field(..., description="The code of the portfolio.")], request_body : Annotated[Dict[str, SettlementInstructionRequest], Field(description="The definition of the settlement instruction.")], **kwargs) -> BatchUpsertTransactionSettlementInstructionResponse: # noqa: E501
873
+ async def batch_upsert_settlement_instructions(self, scope : Annotated[StrictStr, Field(..., description="The scope of the portfolio.")], code : Annotated[StrictStr, Field(..., description="The code of the portfolio.")], request_body : Annotated[Dict[str, SettlementInstructionRequest], Field(description="The definition of the settlement instruction.")], success_mode : Annotated[Optional[StrictStr], Field( description="Whether the batch request should fail Atomically or in a Partial fashion - Allowed Values: Atomic, Partial")] = None, **kwargs) -> BatchUpsertTransactionSettlementInstructionResponse: # noqa: E501
874
874
  ...
875
875
 
876
876
  @overload
877
- def batch_upsert_settlement_instructions(self, scope : Annotated[StrictStr, Field(..., description="The scope of the portfolio.")], code : Annotated[StrictStr, Field(..., description="The code of the portfolio.")], request_body : Annotated[Dict[str, SettlementInstructionRequest], Field(description="The definition of the settlement instruction.")], async_req: Optional[bool]=True, **kwargs) -> BatchUpsertTransactionSettlementInstructionResponse: # noqa: E501
877
+ def batch_upsert_settlement_instructions(self, scope : Annotated[StrictStr, Field(..., description="The scope of the portfolio.")], code : Annotated[StrictStr, Field(..., description="The code of the portfolio.")], request_body : Annotated[Dict[str, SettlementInstructionRequest], Field(description="The definition of the settlement instruction.")], success_mode : Annotated[Optional[StrictStr], Field( description="Whether the batch request should fail Atomically or in a Partial fashion - Allowed Values: Atomic, Partial")] = None, async_req: Optional[bool]=True, **kwargs) -> BatchUpsertTransactionSettlementInstructionResponse: # noqa: E501
878
878
  ...
879
879
 
880
880
  @validate_arguments
881
- def batch_upsert_settlement_instructions(self, scope : Annotated[StrictStr, Field(..., description="The scope of the portfolio.")], code : Annotated[StrictStr, Field(..., description="The code of the portfolio.")], request_body : Annotated[Dict[str, SettlementInstructionRequest], Field(description="The definition of the settlement instruction.")], async_req: Optional[bool]=None, **kwargs) -> Union[BatchUpsertTransactionSettlementInstructionResponse, Awaitable[BatchUpsertTransactionSettlementInstructionResponse]]: # noqa: E501
881
+ def batch_upsert_settlement_instructions(self, scope : Annotated[StrictStr, Field(..., description="The scope of the portfolio.")], code : Annotated[StrictStr, Field(..., description="The code of the portfolio.")], request_body : Annotated[Dict[str, SettlementInstructionRequest], Field(description="The definition of the settlement instruction.")], success_mode : Annotated[Optional[StrictStr], Field( description="Whether the batch request should fail Atomically or in a Partial fashion - Allowed Values: Atomic, Partial")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[BatchUpsertTransactionSettlementInstructionResponse, Awaitable[BatchUpsertTransactionSettlementInstructionResponse]]: # noqa: E501
882
882
  """[EARLY ACCESS] BatchUpsertSettlementInstructions: Batch Upsert Settlement Instructions. # noqa: E501
883
883
 
884
884
  Create or update instructions to settle specific transactions. # noqa: E501
885
885
  This method makes a synchronous HTTP request by default. To make an
886
886
  asynchronous HTTP request, please pass async_req=True
887
887
 
888
- >>> thread = api.batch_upsert_settlement_instructions(scope, code, request_body, async_req=True)
888
+ >>> thread = api.batch_upsert_settlement_instructions(scope, code, request_body, success_mode, async_req=True)
889
889
  >>> result = thread.get()
890
890
 
891
891
  :param scope: The scope of the portfolio. (required)
@@ -894,6 +894,8 @@ class TransactionPortfoliosApi:
894
894
  :type code: str
895
895
  :param request_body: The definition of the settlement instruction. (required)
896
896
  :type request_body: Dict[str, SettlementInstructionRequest]
897
+ :param success_mode: Whether the batch request should fail Atomically or in a Partial fashion - Allowed Values: Atomic, Partial
898
+ :type success_mode: str
897
899
  :param async_req: Whether to execute the request asynchronously.
898
900
  :type async_req: bool, optional
899
901
  :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
@@ -910,17 +912,17 @@ class TransactionPortfoliosApi:
910
912
  raise ValueError(message)
911
913
  if async_req is not None:
912
914
  kwargs['async_req'] = async_req
913
- return self.batch_upsert_settlement_instructions_with_http_info(scope, code, request_body, **kwargs) # noqa: E501
915
+ return self.batch_upsert_settlement_instructions_with_http_info(scope, code, request_body, success_mode, **kwargs) # noqa: E501
914
916
 
915
917
  @validate_arguments
916
- def batch_upsert_settlement_instructions_with_http_info(self, scope : Annotated[StrictStr, Field(..., description="The scope of the portfolio.")], code : Annotated[StrictStr, Field(..., description="The code of the portfolio.")], request_body : Annotated[Dict[str, SettlementInstructionRequest], Field(description="The definition of the settlement instruction.")], **kwargs) -> ApiResponse: # noqa: E501
918
+ def batch_upsert_settlement_instructions_with_http_info(self, scope : Annotated[StrictStr, Field(..., description="The scope of the portfolio.")], code : Annotated[StrictStr, Field(..., description="The code of the portfolio.")], request_body : Annotated[Dict[str, SettlementInstructionRequest], Field(description="The definition of the settlement instruction.")], success_mode : Annotated[Optional[StrictStr], Field( description="Whether the batch request should fail Atomically or in a Partial fashion - Allowed Values: Atomic, Partial")] = None, **kwargs) -> ApiResponse: # noqa: E501
917
919
  """[EARLY ACCESS] BatchUpsertSettlementInstructions: Batch Upsert Settlement Instructions. # noqa: E501
918
920
 
919
921
  Create or update instructions to settle specific transactions. # noqa: E501
920
922
  This method makes a synchronous HTTP request by default. To make an
921
923
  asynchronous HTTP request, please pass async_req=True
922
924
 
923
- >>> thread = api.batch_upsert_settlement_instructions_with_http_info(scope, code, request_body, async_req=True)
925
+ >>> thread = api.batch_upsert_settlement_instructions_with_http_info(scope, code, request_body, success_mode, async_req=True)
924
926
  >>> result = thread.get()
925
927
 
926
928
  :param scope: The scope of the portfolio. (required)
@@ -929,6 +931,8 @@ class TransactionPortfoliosApi:
929
931
  :type code: str
930
932
  :param request_body: The definition of the settlement instruction. (required)
931
933
  :type request_body: Dict[str, SettlementInstructionRequest]
934
+ :param success_mode: Whether the batch request should fail Atomically or in a Partial fashion - Allowed Values: Atomic, Partial
935
+ :type success_mode: str
932
936
  :param async_req: Whether to execute the request asynchronously.
933
937
  :type async_req: bool, optional
934
938
  :param _preload_content: if False, the ApiResponse.data will
@@ -958,7 +962,8 @@ class TransactionPortfoliosApi:
958
962
  _all_params = [
959
963
  'scope',
960
964
  'code',
961
- 'request_body'
965
+ 'request_body',
966
+ 'success_mode'
962
967
  ]
963
968
  _all_params.extend(
964
969
  [
@@ -996,6 +1001,9 @@ class TransactionPortfoliosApi:
996
1001
 
997
1002
  # process the query parameters
998
1003
  _query_params = []
1004
+ if _params.get('success_mode') is not None: # noqa: E501
1005
+ _query_params.append(('successMode', _params['success_mode']))
1006
+
999
1007
  # process the header parameters
1000
1008
  _header_params = dict(_params.get('_headers', {}))
1001
1009
  # process the form parameters
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.8727\n"\
448
+ "Version of the API: 0.11.8740\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/future.py CHANGED
@@ -40,7 +40,7 @@ class Future(LusidInstrument):
40
40
  mark_to_market_conventions: Optional[MarkToMarketConventions] = Field(default=None, alias="markToMarketConventions")
41
41
  ref_spot_price: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The reference spot price for the future at which the contract was entered into.", alias="refSpotPrice")
42
42
  underlying: Optional[LusidInstrument] = None
43
- calculation_type: Optional[StrictStr] = Field(None,alias="calculationType", description="Calculation type for some Future instruments which have non-standard methodology. Optional, if not set defaults as follows: - If ExchangeCode is \"ASX\" and ContractCode is \"IR\" or \"BB\" set to ASX_BankBills - If ExchangeCode is \"ASX\" and ContractCode is \"YT\" set to ASX_3Year - If ExchangeCode is \"ASX\" and ContractCode is \"VT\" set to ASX_5Year - If ExchangeCode is \"ASX\" and ContractCode is \"XT\" set to ASX_10Year - If ExchangeCode is \"ASX\" and ContractCode is \"LT\" set to ASX_20Year - otherwise set to Standard Specific calculation types for bond and interest rate futures are: - [Standard] The default calculation type, which does not fit into any of the categories below. - [ASX_BankBills] Used for AUD and NZD futures “IR” and “BB” on ASX. 90D Bank Bills. - [ASX_3Year] Used for “YT” on ASX. 3YR semi-annual bond (6 coupons) @ 6%. - [ASX_5Year] Used for “VT” on ASX. 5yr semi-annual bond (10 coupons) @ 2%. - [ASX_10Year] Used for “XT” on ASX. 10yr semi-annual bond (20 coupons) @ 6%. - [ASX_20Year] Used for “LT” on ASX. 20yr semi-annual bond (40 coupons) @ 4%. - [B3_DI1] Used for “DI1” on B3. Average of 1D interbank deposit rates. - For futures with this calculation type, quote values are expected to be specified as a percentage. For example, a quoted rate of 13.205% should be specified as a quote of 13.205 with a face value of 100. Supported string (enumeration) values are: [Standard, ASX_BankBills, ASX_3Year, ASX_5Year, ASX_10Year, ASX_20Year, B3_DI1].")
43
+ calculation_type: Optional[StrictStr] = Field(None,alias="calculationType", description="Calculation type for some Future instruments which have non-standard methodology. Optional, if not set defaults as follows: - If ExchangeCode is \"ASX\" and ContractCode is \"IR\" or \"BB\" set to ASX_BankBills - If ExchangeCode is \"ASX\" and ContractCode is \"YT\" set to ASX_3Year - If ExchangeCode is \"ASX\" and ContractCode is \"VT\" set to ASX_5Year - If ExchangeCode is \"ASX\" and ContractCode is \"XT\" set to ASX_10Year - If ExchangeCode is \"ASX\" and ContractCode is \"LT\" set to ASX_20Year - otherwise set to Standard Specific calculation types for bond and interest rate futures are: - [Standard] The default calculation type, which does not fit into any of the categories below. - [ASX_BankBills] Used for AUD and NZD futures “IR” and “BB” on ASX. 90D Bank Bills. - [ASX_3Year] Used for “YT” on ASX. 3YR semi-annual bond (6 coupons) @ 6%. - [ASX_5Year] Used for “VT” on ASX. 5yr semi-annual bond (10 coupons) @ 2%. - [ASX_10Year] Used for “XT” on ASX. 10yr semi-annual bond (20 coupons) @ 6%. - [ASX_20Year] Used for “LT” on ASX. 20yr semi-annual bond (40 coupons) @ 4%. - [IMM_1Month] Used for 1 month interest rate futures where the price is expressed as 100 minus the annualised interest rate. - [IMM_3Month] Used for 3 month interest rate futures where the price is expressed as 100 minus the annualised interest rate. - [B3_DI1] Used for “DI1” on B3. Average of 1D interbank deposit rates. - For futures with this calculation type, quote values are expected to be specified as a percentage. For example, a quoted rate of 13.205% should be specified as a quote of 13.205 with a face value of 100. Supported string (enumeration) values are: [Standard, ASX_BankBills, ASX_3Year, ASX_5Year, ASX_10Year, ASX_20Year, B3_DI1, IMM_1Month, IMM_3Month].")
44
44
  trading_conventions: Optional[TradingConventions] = Field(default=None, alias="tradingConventions")
45
45
  time_zone_conventions: Optional[TimeZoneConventions] = Field(default=None, alias="timeZoneConventions")
46
46
  instrument_type: StrictStr = Field(...,alias="instrumentType", description="The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash, Cash, MasteredInstrument, LoanFacility, FlexibleDeposit, FlexibleRepo")
@@ -25,6 +25,7 @@ from datetime import datetime
25
25
  from lusid.models.perpetual_property import PerpetualProperty
26
26
  from lusid.models.resource_id import ResourceId
27
27
  from lusid.models.settlement_in_lieu import SettlementInLieu
28
+ from lusid.models.version import Version
28
29
 
29
30
  class TransactionSettlementInstruction(BaseModel):
30
31
  """
@@ -46,7 +47,8 @@ class TransactionSettlementInstruction(BaseModel):
46
47
  settlement_in_lieu: Optional[SettlementInLieu] = Field(default=None, alias="settlementInLieu")
47
48
  is_active: Optional[StrictBool] = Field(default=None, description="Indicates whether the settlement instruction is active. When false, the instruction has no impact on settlement positions, but remains visible. Defaults to true.", alias="isActive")
48
49
  properties: Optional[Dict[str, PerpetualProperty]] = Field(default=None, description="The properties which have been requested to be decorated onto the settlement instruction. These will be from the 'SettlementInstruction', 'Portfolio', or 'Instrument' domains.")
49
- __properties = ["settlementInstructionId", "instructionType", "actualSettlementDate", "units", "transactionId", "settlementCategory", "lusidInstrumentId", "contractualSettlementDate", "subHoldingKeyOverrides", "custodianAccountOverride", "instrumentIdentifiers", "status", "instructionToPortfolioRate", "settlementInLieu", "isActive", "properties"]
50
+ version: Optional[Version] = None
51
+ __properties = ["settlementInstructionId", "instructionType", "actualSettlementDate", "units", "transactionId", "settlementCategory", "lusidInstrumentId", "contractualSettlementDate", "subHoldingKeyOverrides", "custodianAccountOverride", "instrumentIdentifiers", "status", "instructionToPortfolioRate", "settlementInLieu", "isActive", "properties", "version"]
50
52
 
51
53
  class Config:
52
54
  """Pydantic configuration"""
@@ -100,6 +102,9 @@ class TransactionSettlementInstruction(BaseModel):
100
102
  if self.properties[_key]:
101
103
  _field_dict[_key] = self.properties[_key].to_dict()
102
104
  _dict['properties'] = _field_dict
105
+ # override the default output from pydantic by calling `to_dict()` of version
106
+ if self.version:
107
+ _dict['version'] = self.version.to_dict()
103
108
  # set to None if contractual_settlement_date (nullable) is None
104
109
  # and __fields_set__ contains the field
105
110
  if self.contractual_settlement_date is None and "contractual_settlement_date" in self.__fields_set__:
@@ -162,7 +167,8 @@ class TransactionSettlementInstruction(BaseModel):
162
167
  for _k, _v in obj.get("properties").items()
163
168
  )
164
169
  if obj.get("properties") is not None
165
- else None
170
+ else None,
171
+ "version": Version.from_dict(obj.get("version")) if obj.get("version") is not None else None
166
172
  })
167
173
  return _obj
168
174
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lusid-sdk
3
- Version: 2.3.12
3
+ Version: 2.3.14
4
4
  Summary: LUSID API
5
5
  License: MIT
6
6
  Keywords: OpenAPI,OpenAPI-Generator,LUSID API,lusid-sdk
@@ -75,13 +75,13 @@ lusid/api/tax_rule_sets_api.py,sha256=-ROCfRpxfCHD0e36e3qf5UOoOIIgxbd8qBJHAuD7LL
75
75
  lusid/api/timelines_api.py,sha256=4fZWmZ2g_w8a9LSHAVcTNfURL2mK0XkKwrCEdqnlO4A,140948
76
76
  lusid/api/transaction_configuration_api.py,sha256=nIQWvd7Bghl-KQXfKDCXaYXG9dzFtdzDBSfQRWhmCs8,103844
77
77
  lusid/api/transaction_fees_api.py,sha256=e_NUn6jBgTC_rQtv1htJ1K16ZIU-Oq3gg-uyUgxXinY,62619
78
- lusid/api/transaction_portfolios_api.py,sha256=MJtQQ44AatQPWwtgC6hfF4r99ds8runV7Ek3A-sa5R0,705801
78
+ lusid/api/transaction_portfolios_api.py,sha256=MqqcLHvCu5cdLQ5ldtpe9YKTBjlmZKS4VcTRTydJnn0,707085
79
79
  lusid/api/transfer_agency_api.py,sha256=k5jhNKRJPr0lZRddJ5keTxH-wLOUCKZIJQJwl09Ym9o,9523
80
80
  lusid/api/translation_api.py,sha256=ykq--aAObjON30cqkCgtlvNVN_X9o1kCFHBuhx0TqOY,20186
81
81
  lusid/api/workspace_api.py,sha256=cIVlsVXulKjrNIF1NMaEH11-YRF3gOmLN6KaXVeECnk,120530
82
82
  lusid/api_client.py,sha256=9ShwOKmMJEOUj82dVLKP8CIkwu0aGV2H5qwGxTVJp7w,31170
83
83
  lusid/api_response.py,sha256=6-gnhty6lu8MMAERt3_kTVD7UxQgWFfcjgpcq6iN5IU,855
84
- lusid/configuration.py,sha256=1Xohp_Kwfp10cGUvkuPe0HrN55zMSDqLJKMJuBLOVnY,17980
84
+ lusid/configuration.py,sha256=jPa6AjQShqyJyP8tJUWae0fJLHmRhrq2rnRRpQ90fBo,17980
85
85
  lusid/exceptions.py,sha256=lYAJyHpruxMPUtZ95NwiYJvqzInY8S0yhRE0-JFYCww,5873
86
86
  lusid/extensions/__init__.py,sha256=dzDHEzpn-9smd2-_UMWQzeyX6Ha4jGf6fnqx7qxKxNI,630
87
87
  lusid/extensions/api_client.py,sha256=cq0kCulu3hsJ7jMPQfsE8B6FIa8ppTSXqneHo19RrXQ,30973
@@ -551,7 +551,7 @@ lusid/models/fund_valuation_request.py,sha256=cVW9lXTVmQZJiSu6tigz_vZF4GM6LrLZq3
551
551
  lusid/models/fund_valuation_schedule.py,sha256=8oz0-XLz4959Dki1svTMXL27vfAK8WhfJSvSDRnPLRY,7676
552
552
  lusid/models/funding_leg.py,sha256=ip5y1d6nDr1b0jmLgl9GLw0NHLo0vToqyeZgKWCOyiI,12017
553
553
  lusid/models/funding_leg_options.py,sha256=6AnZDnFQ_3S6SHFXIR0KgXh2NVV6X_ydXASM_OuaSjI,7411
554
- lusid/models/future.py,sha256=hKf4bZ3u9wwP1OPyIAyK8wHQoOpO_XU0twONj1J6sNI,15093
554
+ lusid/models/future.py,sha256=hePHuqlGyYGN-ndwn5sYZanMVGOGu69BmEfzRAbvnjA,15371
555
555
  lusid/models/future_expiry_event.py,sha256=lCyxNsD7iDSl17mb9MlJ3Z4245Ib0ywHWATZ2AYVqDQ,12777
556
556
  lusid/models/future_mark_to_market_event.py,sha256=Yrc2iqh094CpcQm5NLxPsq7xwjxcNsByP3m_uXpcIho,12859
557
557
  lusid/models/futures_contract_details.py,sha256=d6VhOLrQdU4AVdPyi6JOifv_UQSZ22DwtvtTv28sWCA,8595
@@ -1267,7 +1267,7 @@ lusid/models/transaction_roles.py,sha256=qoM8IxPFnmZPBklu2nl7NdidKsulRArpzOaxJ0s
1267
1267
  lusid/models/transaction_set_configuration_data.py,sha256=0uFWW1PLvy37WzQLNMXkBvUjj5hsuVFirDe3l5sNXj4,4861
1268
1268
  lusid/models/transaction_set_configuration_data_request.py,sha256=xf1rnZx8D1uLHOCnA6pvTq8zAVpmN0uGPuAeA4J4jN4,4407
1269
1269
  lusid/models/transaction_settlement_bucket.py,sha256=wwzCRIdSlDOF4E5f3ucuLvp70TXckgeT4zx7E7Mqzpw,7332
1270
- lusid/models/transaction_settlement_instruction.py,sha256=GJ2F_-z4EsSVxebe1pE_pjvEjaOmzhMaeCrJS7VpKCU,10084
1270
+ lusid/models/transaction_settlement_instruction.py,sha256=_nQHKW_qchiB6VTDQYqR88eXCXeGCNSADkV0fso8HVo,10445
1271
1271
  lusid/models/transaction_settlement_movement.py,sha256=5rlgDCHRO5AiefbbSUNCcXsCCPY_udCMc-Y8CdmrE0Q,4585
1272
1272
  lusid/models/transaction_settlement_status.py,sha256=H-sp5QiudiheN6PvcSvSrN370fOHalK8BFO4JODSXtE,5656
1273
1273
  lusid/models/transaction_settlement_summary.py,sha256=-zx0A6mRvys0Gu6rJaIWFRJfBeG6bJsSVdhI-2WpLx4,4172
@@ -1438,6 +1438,6 @@ lusid/models/year_month_day.py,sha256=H4OeBzWuMg6mwiOAHFfAvrzjd3QrFCqx1ldsB4L9YQ
1438
1438
  lusid/models/yield_curve_data.py,sha256=_BmEhhFXrGpBb7qL9WZJpVPeat4twES7nSQggts6_WI,10457
1439
1439
  lusid/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1440
1440
  lusid/rest.py,sha256=HQT__5LQEMu6_1sLKvYj-DI4FH1DJXBIPYfZCTTyrY4,13431
1441
- lusid_sdk-2.3.12.dist-info/METADATA,sha256=Uq3yfP0RVNhr2ovDHA3TFEiv78-R2WBG8jTJLt2Iisw,241785
1442
- lusid_sdk-2.3.12.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
1443
- lusid_sdk-2.3.12.dist-info/RECORD,,
1441
+ lusid_sdk-2.3.14.dist-info/METADATA,sha256=g-UVe1APpMF_9uaEFJ8pyS9ym1i0_rggFGayH8-_FpE,241785
1442
+ lusid_sdk-2.3.14.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
1443
+ lusid_sdk-2.3.14.dist-info/RECORD,,