lusid-sdk 2.1.921__py3-none-any.whl → 2.1.923__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 CHANGED
@@ -1229,7 +1229,10 @@ from lusid.models.transaction_request import TransactionRequest
1229
1229
  from lusid.models.transaction_roles import TransactionRoles
1230
1230
  from lusid.models.transaction_set_configuration_data import TransactionSetConfigurationData
1231
1231
  from lusid.models.transaction_set_configuration_data_request import TransactionSetConfigurationDataRequest
1232
+ from lusid.models.transaction_settlement_bucket import TransactionSettlementBucket
1232
1233
  from lusid.models.transaction_settlement_instruction import TransactionSettlementInstruction
1234
+ from lusid.models.transaction_settlement_movement import TransactionSettlementMovement
1235
+ from lusid.models.transaction_settlement_status import TransactionSettlementStatus
1233
1236
  from lusid.models.transaction_status import TransactionStatus
1234
1237
  from lusid.models.transaction_template import TransactionTemplate
1235
1238
  from lusid.models.transaction_template_request import TransactionTemplateRequest
@@ -2604,7 +2607,10 @@ __all__ = [
2604
2607
  "TransactionRoles",
2605
2608
  "TransactionSetConfigurationData",
2606
2609
  "TransactionSetConfigurationDataRequest",
2610
+ "TransactionSettlementBucket",
2607
2611
  "TransactionSettlementInstruction",
2612
+ "TransactionSettlementMovement",
2613
+ "TransactionSettlementStatus",
2608
2614
  "TransactionStatus",
2609
2615
  "TransactionTemplate",
2610
2616
  "TransactionTemplateRequest",
@@ -64,6 +64,7 @@ from lusid.models.resource_list_of_transaction_settlement_instruction import Res
64
64
  from lusid.models.settlement_instruction_request import SettlementInstructionRequest
65
65
  from lusid.models.transaction_query_parameters import TransactionQueryParameters
66
66
  from lusid.models.transaction_request import TransactionRequest
67
+ from lusid.models.transaction_settlement_status import TransactionSettlementStatus
67
68
  from lusid.models.upsert_portfolio_transactions_response import UpsertPortfolioTransactionsResponse
68
69
  from lusid.models.upsert_transaction_properties_response import UpsertTransactionPropertiesResponse
69
70
  from lusid.models.versioned_resource_list_of_a2_b_data_record import VersionedResourceListOfA2BDataRecord
@@ -5664,6 +5665,193 @@ class TransactionPortfoliosApi:
5664
5665
  _request_auth=_params.get('_request_auth'))
5665
5666
 
5666
5667
 
5668
+ @overload
5669
+ async def get_transaction_settlement_status(self, scope : Annotated[StrictStr, Field(..., description="The scope of the transaction portfolio.")], code : Annotated[StrictStr, Field(..., description="The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio.")], transaction_id : Annotated[StrictStr, Field(..., description="The id of the transaction")], effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label for which to get the transaction settlement status. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to get the transaction settlement status. Defaults to return the latest status if not specified.")] = None, **kwargs) -> TransactionSettlementStatus: # noqa: E501
5670
+ ...
5671
+
5672
+ @overload
5673
+ def get_transaction_settlement_status(self, scope : Annotated[StrictStr, Field(..., description="The scope of the transaction portfolio.")], code : Annotated[StrictStr, Field(..., description="The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio.")], transaction_id : Annotated[StrictStr, Field(..., description="The id of the transaction")], effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label for which to get the transaction settlement status. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to get the transaction settlement status. Defaults to return the latest status if not specified.")] = None, async_req: Optional[bool]=True, **kwargs) -> TransactionSettlementStatus: # noqa: E501
5674
+ ...
5675
+
5676
+ @validate_arguments
5677
+ def get_transaction_settlement_status(self, scope : Annotated[StrictStr, Field(..., description="The scope of the transaction portfolio.")], code : Annotated[StrictStr, Field(..., description="The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio.")], transaction_id : Annotated[StrictStr, Field(..., description="The id of the transaction")], effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label for which to get the transaction settlement status. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to get the transaction settlement status. Defaults to return the latest status if not specified.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[TransactionSettlementStatus, Awaitable[TransactionSettlementStatus]]: # noqa: E501
5678
+ """[EARLY ACCESS] GetTransactionSettlementStatus: Gets the Transaction Settlement Status for the requested transaction. # noqa: E501
5679
+
5680
+ Gets the Transaction Settlement Status for the requested transaction. # noqa: E501
5681
+ This method makes a synchronous HTTP request by default. To make an
5682
+ asynchronous HTTP request, please pass async_req=True
5683
+
5684
+ >>> thread = api.get_transaction_settlement_status(scope, code, transaction_id, effective_at, as_at, async_req=True)
5685
+ >>> result = thread.get()
5686
+
5687
+ :param scope: The scope of the transaction portfolio. (required)
5688
+ :type scope: str
5689
+ :param code: The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio. (required)
5690
+ :type code: str
5691
+ :param transaction_id: The id of the transaction (required)
5692
+ :type transaction_id: str
5693
+ :param effective_at: The effective datetime or cut label for which to get the transaction settlement status. Defaults to the current LUSID system datetime if not specified.
5694
+ :type effective_at: str
5695
+ :param as_at: The asAt datetime at which to get the transaction settlement status. Defaults to return the latest status if not specified.
5696
+ :type as_at: datetime
5697
+ :param async_req: Whether to execute the request asynchronously.
5698
+ :type async_req: bool, optional
5699
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
5700
+ :param opts: Configuration options for this request
5701
+ :type opts: ConfigurationOptions, optional
5702
+ :return: Returns the result object.
5703
+ If the method is called asynchronously,
5704
+ returns the request thread.
5705
+ :rtype: TransactionSettlementStatus
5706
+ """
5707
+ kwargs['_return_http_data_only'] = True
5708
+ if '_preload_content' in kwargs:
5709
+ message = "Error! Please call the get_transaction_settlement_status_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
5710
+ raise ValueError(message)
5711
+ if async_req is not None:
5712
+ kwargs['async_req'] = async_req
5713
+ return self.get_transaction_settlement_status_with_http_info(scope, code, transaction_id, effective_at, as_at, **kwargs) # noqa: E501
5714
+
5715
+ @validate_arguments
5716
+ def get_transaction_settlement_status_with_http_info(self, scope : Annotated[StrictStr, Field(..., description="The scope of the transaction portfolio.")], code : Annotated[StrictStr, Field(..., description="The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio.")], transaction_id : Annotated[StrictStr, Field(..., description="The id of the transaction")], effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime or cut label for which to get the transaction settlement status. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to get the transaction settlement status. Defaults to return the latest status if not specified.")] = None, **kwargs) -> ApiResponse: # noqa: E501
5717
+ """[EARLY ACCESS] GetTransactionSettlementStatus: Gets the Transaction Settlement Status for the requested transaction. # noqa: E501
5718
+
5719
+ Gets the Transaction Settlement Status for the requested transaction. # noqa: E501
5720
+ This method makes a synchronous HTTP request by default. To make an
5721
+ asynchronous HTTP request, please pass async_req=True
5722
+
5723
+ >>> thread = api.get_transaction_settlement_status_with_http_info(scope, code, transaction_id, effective_at, as_at, async_req=True)
5724
+ >>> result = thread.get()
5725
+
5726
+ :param scope: The scope of the transaction portfolio. (required)
5727
+ :type scope: str
5728
+ :param code: The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio. (required)
5729
+ :type code: str
5730
+ :param transaction_id: The id of the transaction (required)
5731
+ :type transaction_id: str
5732
+ :param effective_at: The effective datetime or cut label for which to get the transaction settlement status. Defaults to the current LUSID system datetime if not specified.
5733
+ :type effective_at: str
5734
+ :param as_at: The asAt datetime at which to get the transaction settlement status. Defaults to return the latest status if not specified.
5735
+ :type as_at: datetime
5736
+ :param async_req: Whether to execute the request asynchronously.
5737
+ :type async_req: bool, optional
5738
+ :param _preload_content: if False, the ApiResponse.data will
5739
+ be set to none and raw_data will store the
5740
+ HTTP response body without reading/decoding.
5741
+ Default is True.
5742
+ :type _preload_content: bool, optional
5743
+ :param _return_http_data_only: response data instead of ApiResponse
5744
+ object with status code, headers, etc
5745
+ :type _return_http_data_only: bool, optional
5746
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
5747
+ :param opts: Configuration options for this request
5748
+ :type opts: ConfigurationOptions, optional
5749
+ :param _request_auth: set to override the auth_settings for an a single
5750
+ request; this effectively ignores the authentication
5751
+ in the spec for a single request.
5752
+ :type _request_auth: dict, optional
5753
+ :type _content_type: string, optional: force content-type for the request
5754
+ :return: Returns the result object.
5755
+ If the method is called asynchronously,
5756
+ returns the request thread.
5757
+ :rtype: tuple(TransactionSettlementStatus, status_code(int), headers(HTTPHeaderDict))
5758
+ """
5759
+
5760
+ _params = locals()
5761
+
5762
+ _all_params = [
5763
+ 'scope',
5764
+ 'code',
5765
+ 'transaction_id',
5766
+ 'effective_at',
5767
+ 'as_at'
5768
+ ]
5769
+ _all_params.extend(
5770
+ [
5771
+ 'async_req',
5772
+ '_return_http_data_only',
5773
+ '_preload_content',
5774
+ '_request_timeout',
5775
+ '_request_auth',
5776
+ '_content_type',
5777
+ '_headers',
5778
+ 'opts'
5779
+ ]
5780
+ )
5781
+
5782
+ # validate the arguments
5783
+ for _key, _val in _params['kwargs'].items():
5784
+ if _key not in _all_params:
5785
+ raise ApiTypeError(
5786
+ "Got an unexpected keyword argument '%s'"
5787
+ " to method get_transaction_settlement_status" % _key
5788
+ )
5789
+ _params[_key] = _val
5790
+ del _params['kwargs']
5791
+
5792
+ _collection_formats = {}
5793
+
5794
+ # process the path parameters
5795
+ _path_params = {}
5796
+ if _params['scope']:
5797
+ _path_params['scope'] = _params['scope']
5798
+
5799
+ if _params['code']:
5800
+ _path_params['code'] = _params['code']
5801
+
5802
+ if _params['transaction_id']:
5803
+ _path_params['transactionId'] = _params['transaction_id']
5804
+
5805
+
5806
+ # process the query parameters
5807
+ _query_params = []
5808
+ if _params.get('effective_at') is not None: # noqa: E501
5809
+ _query_params.append(('effectiveAt', _params['effective_at']))
5810
+
5811
+ if _params.get('as_at') is not None: # noqa: E501
5812
+ if isinstance(_params['as_at'], datetime):
5813
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
5814
+ else:
5815
+ _query_params.append(('asAt', _params['as_at']))
5816
+
5817
+ # process the header parameters
5818
+ _header_params = dict(_params.get('_headers', {}))
5819
+ # process the form parameters
5820
+ _form_params = []
5821
+ _files = {}
5822
+ # process the body parameter
5823
+ _body_params = None
5824
+ # set the HTTP header `Accept`
5825
+ _header_params['Accept'] = self.api_client.select_header_accept(
5826
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
5827
+
5828
+ # authentication setting
5829
+ _auth_settings = ['oauth2'] # noqa: E501
5830
+
5831
+ _response_types_map = {
5832
+ '200': "TransactionSettlementStatus",
5833
+ '400': "LusidValidationProblemDetails",
5834
+ }
5835
+
5836
+ return self.api_client.call_api(
5837
+ '/api/transactionportfolios/{scope}/{code}/transactions/{transactionId}/settlementstatus', 'GET',
5838
+ _path_params,
5839
+ _query_params,
5840
+ _header_params,
5841
+ body=_body_params,
5842
+ post_params=_form_params,
5843
+ files=_files,
5844
+ response_types_map=_response_types_map,
5845
+ auth_settings=_auth_settings,
5846
+ async_req=_params.get('async_req'),
5847
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
5848
+ _preload_content=_params.get('_preload_content', True),
5849
+ _request_timeout=_params.get('_request_timeout'),
5850
+ opts=_params.get('opts'),
5851
+ collection_formats=_collection_formats,
5852
+ _request_auth=_params.get('_request_auth'))
5853
+
5854
+
5667
5855
  @overload
5668
5856
  async def get_transactions(self, scope : Annotated[StrictStr, Field(..., description="The scope of the transaction portfolio.")], code : Annotated[StrictStr, Field(..., description="The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio.")], from_transaction_date : Annotated[Optional[StrictStr], Field( description="The lower bound effective datetime or cut label (inclusive) from which to retrieve transactions. There is no lower bound if this is not specified.")] = None, to_transaction_date : Annotated[Optional[StrictStr], Field( description="The upper bound effective datetime or cut label (inclusive) from which to retrieve transactions. There is no upper bound if this is not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve transactions. Defaults to returning the latest version of each transaction if not specified.")] = None, filter : Annotated[Optional[StrictStr], Field( description="Expression with which to filter the result set. For example, to return only transactions with a transaction type of 'Buy', specify \"type eq 'Buy'\" For more information about filtering LUSID results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Instrument', 'Transaction', \"LegalEntity\" or \"CustodianAccount\" domain to decorate onto transactions. These must have the format {domain}/{scope}/{code}, for example 'Instrument/system/Name' or 'Transaction/strategy/quantsignal'.")] = None, page : Annotated[Optional[StrictStr], Field( description="The pagination token to use to continue listing transactions from a previous call to GetTransactions.")] = None, limit : Annotated[Optional[StrictInt], Field(description="When paginating, limit the number of returned results to this many. The current behaviour is to return all transactions if possible, but this will change to defaulting to 1000 if not specified in the future. It is recommended to populate this field to enable pagination.")] = None, show_cancelled_transactions : Annotated[Optional[StrictBool], Field(description="Option to specify whether or not to include cancelled transactions, including previous versions of transactions which have since been amended. Defaults to False if not specified.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names or properties to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, data_model_scope : Annotated[Optional[StrictStr], Field( description="The optional scope of a Custom Data Model to use")] = None, data_model_code : Annotated[Optional[StrictStr], Field( description="The optional code of a Custom Data Model to use")] = None, **kwargs) -> VersionedResourceListOfTransaction: # noqa: E501
5669
5857
  ...
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.8196\n"\
448
+ "Version of the API: 0.11.8200\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
@@ -1138,7 +1138,10 @@ from lusid.models.transaction_request import TransactionRequest
1138
1138
  from lusid.models.transaction_roles import TransactionRoles
1139
1139
  from lusid.models.transaction_set_configuration_data import TransactionSetConfigurationData
1140
1140
  from lusid.models.transaction_set_configuration_data_request import TransactionSetConfigurationDataRequest
1141
+ from lusid.models.transaction_settlement_bucket import TransactionSettlementBucket
1141
1142
  from lusid.models.transaction_settlement_instruction import TransactionSettlementInstruction
1143
+ from lusid.models.transaction_settlement_movement import TransactionSettlementMovement
1144
+ from lusid.models.transaction_settlement_status import TransactionSettlementStatus
1142
1145
  from lusid.models.transaction_status import TransactionStatus
1143
1146
  from lusid.models.transaction_template import TransactionTemplate
1144
1147
  from lusid.models.transaction_template_request import TransactionTemplateRequest
@@ -2423,7 +2426,10 @@ __all__ = [
2423
2426
  "TransactionRoles",
2424
2427
  "TransactionSetConfigurationData",
2425
2428
  "TransactionSetConfigurationDataRequest",
2429
+ "TransactionSettlementBucket",
2426
2430
  "TransactionSettlementInstruction",
2431
+ "TransactionSettlementMovement",
2432
+ "TransactionSettlementStatus",
2427
2433
  "TransactionStatus",
2428
2434
  "TransactionTemplate",
2429
2435
  "TransactionTemplateRequest",
@@ -33,11 +33,12 @@ class InterestRateSwaption(LusidInstrument):
33
33
  pay_or_receive_fixed: StrictStr = Field(...,alias="payOrReceiveFixed", description="Pay or Receive the fixed leg of the underlying swap. Supported string (enumeration) values are: [Pay, Receive].")
34
34
  premium: Optional[Premium] = None
35
35
  delivery_method: StrictStr = Field(...,alias="deliveryMethod", description="How does the option settle Supported string (enumeration) values are: [Cash, Physical].")
36
- swap: InterestRateSwap = Field(...)
36
+ swap: Optional[InterestRateSwap] = None
37
37
  time_zone_conventions: Optional[TimeZoneConventions] = Field(None, alias="timeZoneConventions")
38
+ underlying: Optional[LusidInstrument] = None
38
39
  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")
39
40
  additional_properties: Dict[str, Any] = {}
40
- __properties = ["instrumentType", "startDate", "payOrReceiveFixed", "premium", "deliveryMethod", "swap", "timeZoneConventions"]
41
+ __properties = ["instrumentType", "startDate", "payOrReceiveFixed", "premium", "deliveryMethod", "swap", "timeZoneConventions", "underlying"]
41
42
 
42
43
  @validator('instrument_type')
43
44
  def instrument_type_validate_enum(cls, value):
@@ -140,6 +141,9 @@ class InterestRateSwaption(LusidInstrument):
140
141
  # override the default output from pydantic by calling `to_dict()` of time_zone_conventions
141
142
  if self.time_zone_conventions:
142
143
  _dict['timeZoneConventions'] = self.time_zone_conventions.to_dict()
144
+ # override the default output from pydantic by calling `to_dict()` of underlying
145
+ if self.underlying:
146
+ _dict['underlying'] = self.underlying.to_dict()
143
147
  # puts key-value pairs in additional_properties in the top level
144
148
  if self.additional_properties is not None:
145
149
  for _key, _value in self.additional_properties.items():
@@ -163,7 +167,8 @@ class InterestRateSwaption(LusidInstrument):
163
167
  "premium": Premium.from_dict(obj.get("premium")) if obj.get("premium") is not None else None,
164
168
  "delivery_method": obj.get("deliveryMethod"),
165
169
  "swap": InterestRateSwap.from_dict(obj.get("swap")) if obj.get("swap") is not None else None,
166
- "time_zone_conventions": TimeZoneConventions.from_dict(obj.get("timeZoneConventions")) if obj.get("timeZoneConventions") is not None else None
170
+ "time_zone_conventions": TimeZoneConventions.from_dict(obj.get("timeZoneConventions")) if obj.get("timeZoneConventions") is not None else None,
171
+ "underlying": LusidInstrument.from_dict(obj.get("underlying")) if obj.get("underlying") is not None else None
167
172
  })
168
173
  # store additional fields in additional_properties
169
174
  for _key in obj.keys():
@@ -26,7 +26,9 @@ class MarkToMarketConventions(BaseModel):
26
26
  A set of conventions for mark to market. Mark to market is a method that values financial instruments based on current market prices, reflecting their current value, rather than historical cost. # noqa: E501
27
27
  """
28
28
  calendar_code: Optional[StrictStr] = Field(None,alias="calendarCode", description="The calendar to use when generating mark to market cashflows and events.")
29
- __properties = ["calendarCode"]
29
+ hour_offset_tenor: Optional[StrictStr] = Field(None,alias="hourOffsetTenor", description="The hour tenor component of the time offset against the maturity date. This is an optional field, if a value is provided it must be a positive value between '0hour' and '23hour'.")
30
+ minute_offset_tenor: Optional[StrictStr] = Field(None,alias="minuteOffsetTenor", description="The minute tenor component of the time offset against the maturity date. This is an optional field, if a value is provided it must be a positive value between '0min' and '59min'.")
31
+ __properties = ["calendarCode", "hourOffsetTenor", "minuteOffsetTenor"]
30
32
 
31
33
  class Config:
32
34
  """Pydantic configuration"""
@@ -65,6 +67,16 @@ class MarkToMarketConventions(BaseModel):
65
67
  if self.calendar_code is None and "calendar_code" in self.__fields_set__:
66
68
  _dict['calendarCode'] = None
67
69
 
70
+ # set to None if hour_offset_tenor (nullable) is None
71
+ # and __fields_set__ contains the field
72
+ if self.hour_offset_tenor is None and "hour_offset_tenor" in self.__fields_set__:
73
+ _dict['hourOffsetTenor'] = None
74
+
75
+ # set to None if minute_offset_tenor (nullable) is None
76
+ # and __fields_set__ contains the field
77
+ if self.minute_offset_tenor is None and "minute_offset_tenor" in self.__fields_set__:
78
+ _dict['minuteOffsetTenor'] = None
79
+
68
80
  return _dict
69
81
 
70
82
  @classmethod
@@ -77,6 +89,8 @@ class MarkToMarketConventions(BaseModel):
77
89
  return MarkToMarketConventions.parse_obj(obj)
78
90
 
79
91
  _obj = MarkToMarketConventions.parse_obj({
80
- "calendar_code": obj.get("calendarCode")
92
+ "calendar_code": obj.get("calendarCode"),
93
+ "hour_offset_tenor": obj.get("hourOffsetTenor"),
94
+ "minute_offset_tenor": obj.get("minuteOffsetTenor")
81
95
  })
82
96
  return _obj
@@ -0,0 +1,135 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ LUSID API
5
+
6
+ FINBOURNE Technology # noqa: E501
7
+
8
+ Contact: info@finbourne.com
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from datetime import datetime
21
+ from typing import Any, Dict, List, Optional, Union
22
+ from pydantic.v1 import StrictStr, Field, BaseModel, Field, StrictFloat, StrictInt, StrictStr, conlist, constr
23
+ from lusid.models.transaction_settlement_instruction import TransactionSettlementInstruction
24
+ from lusid.models.transaction_settlement_movement import TransactionSettlementMovement
25
+
26
+ class TransactionSettlementBucket(BaseModel):
27
+ """
28
+ TransactionSettlementBucket
29
+ """
30
+ settlement_category: StrictStr = Field(...,alias="settlementCategory", description="A category representing the set of movement types that this instruction applies to.")
31
+ lusid_instrument_id: StrictStr = Field(...,alias="lusidInstrumentId", description="The LusidInstrumentId of the instrument being settled.")
32
+ instrument_scope: StrictStr = Field(...,alias="instrumentScope", description="The Scope of the instrument being settled.")
33
+ contractual_settlement_date: Optional[datetime] = Field(None, alias="contractualSettlementDate", description="The contractual settlement date. Used to match the instruction to the correct settlement bucket.")
34
+ contracted_units: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="contractedUnits", description="The contracted units.")
35
+ settled_units: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="settledUnits", description="The settled units.")
36
+ unsettled_units: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="unsettledUnits", description="The unsettled units.")
37
+ overdue_units: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="overdueUnits", description="The overdue units.")
38
+ configured_settlement: Optional[StrictStr] = Field(None,alias="configuredSettlement", description="The method of settlement for the settlement bucket, as defined in the portfolio's SettlementConfiguration")
39
+ status: StrictStr = Field(...,alias="status", description="The Status of the settlement bucket - 'Settled', 'Part Settled' or 'Unsettled'.")
40
+ settlement_instructions: Optional[conlist(TransactionSettlementInstruction)] = Field(None, alias="settlementInstructions", description="The settlement instructions received for this settlement bucket.")
41
+ movements: Optional[conlist(TransactionSettlementMovement)] = Field(None, description="The movements for the settlement bucket.")
42
+ __properties = ["settlementCategory", "lusidInstrumentId", "instrumentScope", "contractualSettlementDate", "contractedUnits", "settledUnits", "unsettledUnits", "overdueUnits", "configuredSettlement", "status", "settlementInstructions", "movements"]
43
+
44
+ class Config:
45
+ """Pydantic configuration"""
46
+ allow_population_by_field_name = True
47
+ validate_assignment = True
48
+
49
+ def __str__(self):
50
+ """For `print` and `pprint`"""
51
+ return pprint.pformat(self.dict(by_alias=False))
52
+
53
+ def __repr__(self):
54
+ """For `print` and `pprint`"""
55
+ return self.to_str()
56
+
57
+ def to_str(self) -> str:
58
+ """Returns the string representation of the model using alias"""
59
+ return pprint.pformat(self.dict(by_alias=True))
60
+
61
+ def to_json(self) -> str:
62
+ """Returns the JSON representation of the model using alias"""
63
+ return json.dumps(self.to_dict())
64
+
65
+ @classmethod
66
+ def from_json(cls, json_str: str) -> TransactionSettlementBucket:
67
+ """Create an instance of TransactionSettlementBucket from a JSON string"""
68
+ return cls.from_dict(json.loads(json_str))
69
+
70
+ def to_dict(self):
71
+ """Returns the dictionary representation of the model using alias"""
72
+ _dict = self.dict(by_alias=True,
73
+ exclude={
74
+ },
75
+ exclude_none=True)
76
+ # override the default output from pydantic by calling `to_dict()` of each item in settlement_instructions (list)
77
+ _items = []
78
+ if self.settlement_instructions:
79
+ for _item in self.settlement_instructions:
80
+ if _item:
81
+ _items.append(_item.to_dict())
82
+ _dict['settlementInstructions'] = _items
83
+ # override the default output from pydantic by calling `to_dict()` of each item in movements (list)
84
+ _items = []
85
+ if self.movements:
86
+ for _item in self.movements:
87
+ if _item:
88
+ _items.append(_item.to_dict())
89
+ _dict['movements'] = _items
90
+ # set to None if contractual_settlement_date (nullable) is None
91
+ # and __fields_set__ contains the field
92
+ if self.contractual_settlement_date is None and "contractual_settlement_date" in self.__fields_set__:
93
+ _dict['contractualSettlementDate'] = None
94
+
95
+ # set to None if configured_settlement (nullable) is None
96
+ # and __fields_set__ contains the field
97
+ if self.configured_settlement is None and "configured_settlement" in self.__fields_set__:
98
+ _dict['configuredSettlement'] = None
99
+
100
+ # set to None if settlement_instructions (nullable) is None
101
+ # and __fields_set__ contains the field
102
+ if self.settlement_instructions is None and "settlement_instructions" in self.__fields_set__:
103
+ _dict['settlementInstructions'] = None
104
+
105
+ # set to None if movements (nullable) is None
106
+ # and __fields_set__ contains the field
107
+ if self.movements is None and "movements" in self.__fields_set__:
108
+ _dict['movements'] = None
109
+
110
+ return _dict
111
+
112
+ @classmethod
113
+ def from_dict(cls, obj: dict) -> TransactionSettlementBucket:
114
+ """Create an instance of TransactionSettlementBucket from a dict"""
115
+ if obj is None:
116
+ return None
117
+
118
+ if not isinstance(obj, dict):
119
+ return TransactionSettlementBucket.parse_obj(obj)
120
+
121
+ _obj = TransactionSettlementBucket.parse_obj({
122
+ "settlement_category": obj.get("settlementCategory"),
123
+ "lusid_instrument_id": obj.get("lusidInstrumentId"),
124
+ "instrument_scope": obj.get("instrumentScope"),
125
+ "contractual_settlement_date": obj.get("contractualSettlementDate"),
126
+ "contracted_units": obj.get("contractedUnits"),
127
+ "settled_units": obj.get("settledUnits"),
128
+ "unsettled_units": obj.get("unsettledUnits"),
129
+ "overdue_units": obj.get("overdueUnits"),
130
+ "configured_settlement": obj.get("configuredSettlement"),
131
+ "status": obj.get("status"),
132
+ "settlement_instructions": [TransactionSettlementInstruction.from_dict(_item) for _item in obj.get("settlementInstructions")] if obj.get("settlementInstructions") is not None else None,
133
+ "movements": [TransactionSettlementMovement.from_dict(_item) for _item in obj.get("movements")] if obj.get("movements") is not None else None
134
+ })
135
+ return _obj
@@ -38,7 +38,8 @@ class TransactionSettlementInstruction(BaseModel):
38
38
  sub_holding_key_overrides: Optional[Dict[str, PerpetualProperty]] = Field(None, alias="subHoldingKeyOverrides", description="Allows one or more sub-holding keys to be overridden for any movement being settled by an instruction. Providing a key and value will set the sub-holding key to the specified value; Providing a key only will nullify the sub-holding key. Not referenced sub-holding keys will not be impacted. ")
39
39
  custodian_account_override: Optional[ResourceId] = Field(None, alias="custodianAccountOverride")
40
40
  instrument_identifiers: Dict[str, StrictStr] = Field(..., alias="instrumentIdentifiers", description="A set of instrument identifiers that can resolve the settlement instruction to a unique instrument.")
41
- __properties = ["settlementInstructionId", "instructionType", "actualSettlementDate", "units", "transactionId", "settlementCategory", "lusidInstrumentId", "contractualSettlementDate", "subHoldingKeyOverrides", "custodianAccountOverride", "instrumentIdentifiers"]
41
+ status: Optional[StrictStr] = Field(None,alias="status", description="The status of the settlement instruction - 'Invalid', 'Rejected' 'Applied' or 'Orphan'.")
42
+ __properties = ["settlementInstructionId", "instructionType", "actualSettlementDate", "units", "transactionId", "settlementCategory", "lusidInstrumentId", "contractualSettlementDate", "subHoldingKeyOverrides", "custodianAccountOverride", "instrumentIdentifiers", "status"]
42
43
 
43
44
  class Config:
44
45
  """Pydantic configuration"""
@@ -92,6 +93,11 @@ class TransactionSettlementInstruction(BaseModel):
92
93
  if self.sub_holding_key_overrides is None and "sub_holding_key_overrides" in self.__fields_set__:
93
94
  _dict['subHoldingKeyOverrides'] = None
94
95
 
96
+ # set to None if status (nullable) is None
97
+ # and __fields_set__ contains the field
98
+ if self.status is None and "status" in self.__fields_set__:
99
+ _dict['status'] = None
100
+
95
101
  return _dict
96
102
 
97
103
  @classmethod
@@ -119,6 +125,7 @@ class TransactionSettlementInstruction(BaseModel):
119
125
  if obj.get("subHoldingKeyOverrides") is not None
120
126
  else None,
121
127
  "custodian_account_override": ResourceId.from_dict(obj.get("custodianAccountOverride")) if obj.get("custodianAccountOverride") is not None else None,
122
- "instrument_identifiers": obj.get("instrumentIdentifiers")
128
+ "instrument_identifiers": obj.get("instrumentIdentifiers"),
129
+ "status": obj.get("status")
123
130
  })
124
131
  return _obj
@@ -0,0 +1,100 @@
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, Union
22
+ from pydantic.v1 import StrictStr, Field, BaseModel, Field, StrictFloat, StrictInt, StrictStr
23
+
24
+ class TransactionSettlementMovement(BaseModel):
25
+ """
26
+ TransactionSettlementMovement
27
+ """
28
+ name: Optional[StrictStr] = Field(None,alias="name", description="The movement name (optional)")
29
+ type: Optional[StrictStr] = Field(None,alias="type", description="Movement types determine the impact of the movement on the holdings. The available values are: Settlement, Traded, StockMovement, FutureCash, Commitment, Receivable, CashSettlement, CashForward, CashCommitment, CashReceivable, Accrual, CashAccrual, ForwardFx, CashFxForward, Carry, CarryAsPnl, VariationMargin, Capital, Fee, Deferred, CashDeferred.")
30
+ units: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="The number of units for the movement.")
31
+ direction: Optional[StrictInt] = Field(None, description=" A multiplier to apply to Transaction amounts; the values are -1 to indicate to reverse the signs and 1 to indicate to use the signed values from the Transaction directly. For a typical Transaction with unsigned values, 1 means increase, -1 means decrease")
32
+ settlement_mode: Optional[StrictStr] = Field(None,alias="settlementMode", description="The mode of settlement for the movement which can either be Internal or External. An Internal movement will settle automatically on the contractual settlement date using TransactionConfiguration. An External movement will be determined by portfolio configuration and settlement instruction.")
33
+ __properties = ["name", "type", "units", "direction", "settlementMode"]
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) -> TransactionSettlementMovement:
58
+ """Create an instance of TransactionSettlementMovement 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
+ # set to None if name (nullable) is None
68
+ # and __fields_set__ contains the field
69
+ if self.name is None and "name" in self.__fields_set__:
70
+ _dict['name'] = None
71
+
72
+ # set to None if type (nullable) is None
73
+ # and __fields_set__ contains the field
74
+ if self.type is None and "type" in self.__fields_set__:
75
+ _dict['type'] = None
76
+
77
+ # set to None if settlement_mode (nullable) is None
78
+ # and __fields_set__ contains the field
79
+ if self.settlement_mode is None and "settlement_mode" in self.__fields_set__:
80
+ _dict['settlementMode'] = None
81
+
82
+ return _dict
83
+
84
+ @classmethod
85
+ def from_dict(cls, obj: dict) -> TransactionSettlementMovement:
86
+ """Create an instance of TransactionSettlementMovement from a dict"""
87
+ if obj is None:
88
+ return None
89
+
90
+ if not isinstance(obj, dict):
91
+ return TransactionSettlementMovement.parse_obj(obj)
92
+
93
+ _obj = TransactionSettlementMovement.parse_obj({
94
+ "name": obj.get("name"),
95
+ "type": obj.get("type"),
96
+ "units": obj.get("units"),
97
+ "direction": obj.get("direction"),
98
+ "settlement_mode": obj.get("settlementMode")
99
+ })
100
+ return _obj
@@ -0,0 +1,122 @@
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, conlist, constr
23
+ from lusid.models.link import Link
24
+ from lusid.models.transaction_settlement_bucket import TransactionSettlementBucket
25
+ from lusid.models.transaction_settlement_instruction import TransactionSettlementInstruction
26
+
27
+ class TransactionSettlementStatus(BaseModel):
28
+ """
29
+ TransactionSettlementStatus
30
+ """
31
+ transaction_id: StrictStr = Field(...,alias="transactionId", description="The unique identifier for the transaction.")
32
+ settlement_buckets: Optional[conlist(TransactionSettlementBucket)] = Field(None, alias="settlementBuckets", description="The transaction's external movements (ie: with SettlementMode=External) are grouped into buckets with each bucket uniquely defined by the combination of SettlementCategory, LusidInstrumentId, InstrumentScope and ContractualSettlementDate.")
33
+ invalid_instructions: Optional[conlist(TransactionSettlementInstruction)] = Field(None, alias="invalidInstructions", description="Invalid settlement instructions where the referenced transaction exists but the settlement bucket implied by the settlement instruction does not exist.")
34
+ links: Optional[conlist(Link)] = None
35
+ __properties = ["transactionId", "settlementBuckets", "invalidInstructions", "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) -> TransactionSettlementStatus:
60
+ """Create an instance of TransactionSettlementStatus 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 settlement_buckets (list)
70
+ _items = []
71
+ if self.settlement_buckets:
72
+ for _item in self.settlement_buckets:
73
+ if _item:
74
+ _items.append(_item.to_dict())
75
+ _dict['settlementBuckets'] = _items
76
+ # override the default output from pydantic by calling `to_dict()` of each item in invalid_instructions (list)
77
+ _items = []
78
+ if self.invalid_instructions:
79
+ for _item in self.invalid_instructions:
80
+ if _item:
81
+ _items.append(_item.to_dict())
82
+ _dict['invalidInstructions'] = _items
83
+ # override the default output from pydantic by calling `to_dict()` of each item in links (list)
84
+ _items = []
85
+ if self.links:
86
+ for _item in self.links:
87
+ if _item:
88
+ _items.append(_item.to_dict())
89
+ _dict['links'] = _items
90
+ # set to None if settlement_buckets (nullable) is None
91
+ # and __fields_set__ contains the field
92
+ if self.settlement_buckets is None and "settlement_buckets" in self.__fields_set__:
93
+ _dict['settlementBuckets'] = None
94
+
95
+ # set to None if invalid_instructions (nullable) is None
96
+ # and __fields_set__ contains the field
97
+ if self.invalid_instructions is None and "invalid_instructions" in self.__fields_set__:
98
+ _dict['invalidInstructions'] = None
99
+
100
+ # set to None if links (nullable) is None
101
+ # and __fields_set__ contains the field
102
+ if self.links is None and "links" in self.__fields_set__:
103
+ _dict['links'] = None
104
+
105
+ return _dict
106
+
107
+ @classmethod
108
+ def from_dict(cls, obj: dict) -> TransactionSettlementStatus:
109
+ """Create an instance of TransactionSettlementStatus from a dict"""
110
+ if obj is None:
111
+ return None
112
+
113
+ if not isinstance(obj, dict):
114
+ return TransactionSettlementStatus.parse_obj(obj)
115
+
116
+ _obj = TransactionSettlementStatus.parse_obj({
117
+ "transaction_id": obj.get("transactionId"),
118
+ "settlement_buckets": [TransactionSettlementBucket.from_dict(_item) for _item in obj.get("settlementBuckets")] if obj.get("settlementBuckets") is not None else None,
119
+ "invalid_instructions": [TransactionSettlementInstruction.from_dict(_item) for _item in obj.get("invalidInstructions")] if obj.get("invalidInstructions") is not None else None,
120
+ "links": [Link.from_dict(_item) for _item in obj.get("links")] if obj.get("links") is not None else None
121
+ })
122
+ return _obj
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lusid-sdk
3
- Version: 2.1.921
3
+ Version: 2.1.923
4
4
  Summary: LUSID API
5
5
  Home-page: https://github.com/finbourne/lusid-sdk-python
6
6
  License: MIT
@@ -654,6 +654,7 @@ Class | Method | HTTP request | Description
654
654
  *TransactionPortfoliosApi* | [**get_portfolio_cash_ladder**](docs/TransactionPortfoliosApi.md#get_portfolio_cash_ladder) | **GET** /api/transactionportfolios/{scope}/{code}/cashladder | GetPortfolioCashLadder: Get portfolio cash ladder
655
655
  *TransactionPortfoliosApi* | [**get_portfolio_cash_statement**](docs/TransactionPortfoliosApi.md#get_portfolio_cash_statement) | **GET** /api/transactionportfolios/{scope}/{code}/cashstatement | GetPortfolioCashStatement: Get portfolio cash statement
656
656
  *TransactionPortfoliosApi* | [**get_transaction_history**](docs/TransactionPortfoliosApi.md#get_transaction_history) | **GET** /api/transactionportfolios/{scope}/{code}/transactions/{transactionId}/history | GetTransactionHistory: Get the history of a transaction
657
+ *TransactionPortfoliosApi* | [**get_transaction_settlement_status**](docs/TransactionPortfoliosApi.md#get_transaction_settlement_status) | **GET** /api/transactionportfolios/{scope}/{code}/transactions/{transactionId}/settlementstatus | [EARLY ACCESS] GetTransactionSettlementStatus: Gets the Transaction Settlement Status for the requested transaction.
657
658
  *TransactionPortfoliosApi* | [**get_transactions**](docs/TransactionPortfoliosApi.md#get_transactions) | **GET** /api/transactionportfolios/{scope}/{code}/transactions | GetTransactions: Get transactions
658
659
  *TransactionPortfoliosApi* | [**get_upsertable_portfolio_cash_flows**](docs/TransactionPortfoliosApi.md#get_upsertable_portfolio_cash_flows) | **GET** /api/transactionportfolios/{scope}/{code}/upsertablecashflows | GetUpsertablePortfolioCashFlows: Get upsertable portfolio cash flows.
659
660
  *TransactionPortfoliosApi* | [**list_custodian_accounts**](docs/TransactionPortfoliosApi.md#list_custodian_accounts) | **GET** /api/transactionportfolios/{scope}/{code}/custodianaccounts | ListCustodianAccounts: List Custodian Accounts
@@ -1812,7 +1813,10 @@ Class | Method | HTTP request | Description
1812
1813
  - [TransactionRoles](docs/TransactionRoles.md)
1813
1814
  - [TransactionSetConfigurationData](docs/TransactionSetConfigurationData.md)
1814
1815
  - [TransactionSetConfigurationDataRequest](docs/TransactionSetConfigurationDataRequest.md)
1816
+ - [TransactionSettlementBucket](docs/TransactionSettlementBucket.md)
1815
1817
  - [TransactionSettlementInstruction](docs/TransactionSettlementInstruction.md)
1818
+ - [TransactionSettlementMovement](docs/TransactionSettlementMovement.md)
1819
+ - [TransactionSettlementStatus](docs/TransactionSettlementStatus.md)
1816
1820
  - [TransactionStatus](docs/TransactionStatus.md)
1817
1821
  - [TransactionTemplate](docs/TransactionTemplate.md)
1818
1822
  - [TransactionTemplateRequest](docs/TransactionTemplateRequest.md)
@@ -1,4 +1,4 @@
1
- lusid/__init__.py,sha256=n54AObd6qFlD0RELAbs9WWYcqeozjOtYDVOSv5PFmlo,145447
1
+ lusid/__init__.py,sha256=wqp9xJUB-EHXH8emzSuIH5KX3ZBkTzRNS1Z72mp51_0,145807
2
2
  lusid/api/__init__.py,sha256=yCGwgeQBZ1RZovOUo7Jq24Txz4o6naRgnWAzQVGdHAk,6784
3
3
  lusid/api/abor_api.py,sha256=N7Wsh0395mXOvpJI8z0Nrx5OY4nCP5FN9RkbtdHaZbM,165987
4
4
  lusid/api/abor_configuration_api.py,sha256=xQ9HcXm02eDFhCdWUHjqFRWl1oQMxm2LNObJ9kcLauU,84216
@@ -74,13 +74,13 @@ lusid/api/tax_rule_sets_api.py,sha256=ia8zjTdwlgLGC8KDWFBT21agOrfWgn1zC_ik75mNDJ
74
74
  lusid/api/timelines_api.py,sha256=uxSMdLi9dI6y8LSaezsLXEVedy9I7A-k22RAKY0Rw4k,109878
75
75
  lusid/api/transaction_configuration_api.py,sha256=OHs853-U1RWs2oApEO3raiMxixxiMQMcXu566qsm5v4,103968
76
76
  lusid/api/transaction_fees_api.py,sha256=r8Gl44-WYZebyJ_Uw2stLsf3-hPi1bK6Ij64Kx0L6A8,62698
77
- lusid/api/transaction_portfolios_api.py,sha256=5LRYXZIe6eKjzINklTERxThuWu3X3rbMaK3q_dum-rM,656364
77
+ lusid/api/transaction_portfolios_api.py,sha256=nhd5cm-eUcNCnZGyznGvFnbBLRoT6mN627U-ZC1E5nA,668854
78
78
  lusid/api/transfer_agency_api.py,sha256=m-o3srFi7ZcUcWlO_lpOJiYZJvDSt2JLy7QPcXQoPh4,9545
79
79
  lusid/api/translation_api.py,sha256=xpRuTfwQvYBlWe6r_L2EI_uVpXqHFnEOim-i-kVQ85E,20227
80
80
  lusid/api/workspace_api.py,sha256=0pCNi3ZCRbIo0NXKa85XE7vtq0WV5YOKcQKvFlcLUaY,120708
81
81
  lusid/api_client.py,sha256=ewMTmf9SRurY8pYnUx9jy24RdldPCOa4US38pnrVxjA,31140
82
82
  lusid/api_response.py,sha256=6-gnhty6lu8MMAERt3_kTVD7UxQgWFfcjgpcq6iN5IU,855
83
- lusid/configuration.py,sha256=PmwtwZivM7VH6Bmy-ptkP27bP9GeIH5W_UTesm0ML3c,17980
83
+ lusid/configuration.py,sha256=FnetvICx9qsZbGJyvDESuNYHpvd7882DIsu_g8yOg7A,17980
84
84
  lusid/exceptions.py,sha256=HIQwgmQrszLlcVCLaqex8dO0laVuejUyOMz7U2ZWJ6s,5326
85
85
  lusid/extensions/__init__.py,sha256=dzDHEzpn-9smd2-_UMWQzeyX6Ha4jGf6fnqx7qxKxNI,630
86
86
  lusid/extensions/api_client.py,sha256=GzygWg_h603QK1QS2HvAijuE2R1TnvoF6-Yg0CeM3ug,30943
@@ -95,7 +95,7 @@ lusid/extensions/rest.py,sha256=dp-bD_LMR2zAL1tmC3-urhWKLomXx7r5iGN1VteMBVQ,1601
95
95
  lusid/extensions/retry.py,sha256=EhW9OKJmGHipxN3H7eROH5DiMlAnfBVl95NQrttcsdg,14834
96
96
  lusid/extensions/socket_keep_alive.py,sha256=eX5ICvGfVzUCGIm80Q2RknfFZrBQAdnrcpY61M29V_k,1997
97
97
  lusid/extensions/tcp_keep_alive_connector.py,sha256=zaGtUsygRsxB1_4B3x39K3ILwztdhMLDv5bFZV7zmGE,3877
98
- lusid/models/__init__.py,sha256=fhUZklfjKow6VE00-VUE1hykGWUQBdTcRPAUunIvG3w,137631
98
+ lusid/models/__init__.py,sha256=ks7ExEQ6JU6tNW69v7erfHTuKjVKfN69vvUaAHJ0ekA,137991
99
99
  lusid/models/a2_b_breakdown.py,sha256=-FXgILrvtZXQDmvS0ARaJVGBq5LJ4AH-o3HjujFVmS4,3198
100
100
  lusid/models/a2_b_category.py,sha256=WunXUgx-dCnApPeLC8Qo5tVCX8Ywxkehib1vmNqNgNs,2957
101
101
  lusid/models/a2_b_data_record.py,sha256=qANTmV1_HUEo4l72-F8qzZjlQxOe0Onc9WPz7h-WWuY,9993
@@ -666,7 +666,7 @@ lusid/models/instrument_resolution_detail.py,sha256=gi42e6JZRKr8rY9sofRepshFGP4o
666
666
  lusid/models/instrument_search_property.py,sha256=uGrke27tAh7jyIXMIJ-VZ4tX7fk6bbWC0XuORLZLLnc,2535
667
667
  lusid/models/instrument_type.py,sha256=OF57GiV4s6tAav76Ni18uUtwJOm7HqKGMQ7vEFTa93U,2139
668
668
  lusid/models/interest_rate_swap.py,sha256=VYrTB1LaxMF9aJagZ6tEL0Hwd5ECfyp1fxKmm6-GcDk,12924
669
- lusid/models/interest_rate_swaption.py,sha256=PWP3P_rGVatMUUy4RMM83rxap0F-NeN_GY4UBfGoRko,10258
669
+ lusid/models/interest_rate_swaption.py,sha256=9RAxCUnc9veDjvWWX-n6jDcR52UvPmATM-JbzD80zwM,10625
670
670
  lusid/models/intermediate_compliance_step.py,sha256=n_y-NJKd4787d9W5b4_MBJ_9ShzH3q2zTA9AaeowM-Y,7723
671
671
  lusid/models/intermediate_compliance_step_request.py,sha256=Va1ew-xImnr6NuDGT6cvREZoF-WAaXs3LwlNvonnsrs,6829
672
672
  lusid/models/intermediate_securities_distribution_event.py,sha256=zGV1dURu3fWR-N6cePDYo-4Vv6AaScDdMV92B2kqaTY,15126
@@ -709,7 +709,7 @@ lusid/models/lusid_validation_problem_details.py,sha256=7J-d5JmrrZQ-4HF07xp4om47
709
709
  lusid/models/mapped_string.py,sha256=vfLGPIaI21VLxNRjOYjxxMV8PrdWQAqqLA1_JxvA5aM,3248
710
710
  lusid/models/mapping.py,sha256=GFQ3HryJQ6T5WJrBO1GfUwIBrtpqzouqZmM113cPXa0,3477
711
711
  lusid/models/mapping_rule.py,sha256=y6MqGlbd4XEY50xfwT9xQpFXOASxUrVyNOp0RiWZ_6E,5229
712
- lusid/models/mark_to_market_conventions.py,sha256=p7KJh6MPdI762O1zFyu05-wqca7odbIL4u_891fnfVo,2692
712
+ lusid/models/mark_to_market_conventions.py,sha256=i0zKGTgPHcu9XO2-4J-hC4hwC2otXPnNEjurNI_FLkk,3916
713
713
  lusid/models/market_context.py,sha256=N5ePFJA2G33zy1oGgWifd7V1UafKnQKqfEsQeXWa8X0,7828
714
714
  lusid/models/market_context_suppliers.py,sha256=Ew7wwO1kctTrgcz5iwnz3Otl8YXJQgBpjL3---pLHso,2751
715
715
  lusid/models/market_data_key_rule.py,sha256=WnTDRvEUhEXAV1KgjnyfFnrMbzE40nf8-7VywP3zD9A,13125
@@ -1220,7 +1220,10 @@ lusid/models/transaction_request.py,sha256=s6OVPLAxPDbUMU4gLN_XNX9ngdlKdPBgGeRDB
1220
1220
  lusid/models/transaction_roles.py,sha256=1r-BzcchffLl6p4lSUhRAUmsVdrl7Bvce2cCiwxJanE,839
1221
1221
  lusid/models/transaction_set_configuration_data.py,sha256=hgtBUJzYyJlOj11GTpTkY05Sqdcd4SdNY2gFhP3Zzis,4643
1222
1222
  lusid/models/transaction_set_configuration_data_request.py,sha256=Nq8DEDlONeOEJ_XHqKAcKaOlRibqrjfh06xo-RNQdbs,4179
1223
- lusid/models/transaction_settlement_instruction.py,sha256=PKteV30g8tqydcB-qQ2xE6_6wS0AzS_ljQHPKOqri5c,6923
1223
+ lusid/models/transaction_settlement_bucket.py,sha256=dumOzhkFA3xI_KvKoGhXwAeP9qiEy_byo3Gxz3XPsdg,7141
1224
+ lusid/models/transaction_settlement_instruction.py,sha256=H4Tp2xRLf3BR6RBL5bKlDn4EHeE6Ei-Amy0eX_-f7jI,7343
1225
+ lusid/models/transaction_settlement_movement.py,sha256=gJ0hGansWYlriQhQnltje8AEEzXGCzxTCUD9Z0SiQFY,4374
1226
+ lusid/models/transaction_settlement_status.py,sha256=19MqHfQjVhuKw7aMMbWh6LlZ-dpTHYHbvMieZRmmGV0,5437
1224
1227
  lusid/models/transaction_status.py,sha256=8b1pF1I7A3PzeZmStCXvnhqcDsPSlo8fQnnNQFYGZlA,812
1225
1228
  lusid/models/transaction_template.py,sha256=mFZdjodcv7BQZEb4V0chCUiMc7mz_VgYF2CPppev3Fo,4351
1226
1229
  lusid/models/transaction_template_request.py,sha256=5zZKzBg5bl_1XWq4T9rO3HbzRfoQOYz3XDFH0OdXBeY,3088
@@ -1380,6 +1383,6 @@ lusid/models/year_month_day.py,sha256=gwSoxFwlD_wffKdddo1wfvAcLq3Cht3FHQidiaHzAA
1380
1383
  lusid/models/yield_curve_data.py,sha256=I1ZSWxHMgUxj9OQt6i9a4S91KB4_XtmrfFxpN_PV3YQ,9561
1381
1384
  lusid/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1382
1385
  lusid/rest.py,sha256=HQT__5LQEMu6_1sLKvYj-DI4FH1DJXBIPYfZCTTyrY4,13431
1383
- lusid_sdk-2.1.921.dist-info/METADATA,sha256=lw3_uSTi7-PM39l-KsBQRXAwCTaqD5suxK6PTEjnjJA,231223
1384
- lusid_sdk-2.1.921.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
1385
- lusid_sdk-2.1.921.dist-info/RECORD,,
1386
+ lusid_sdk-2.1.923.dist-info/METADATA,sha256=WmOw_wMeGy847dEDUb426pgenD7F47MFzc1auYfkNOk,231791
1387
+ lusid_sdk-2.1.923.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
1388
+ lusid_sdk-2.1.923.dist-info/RECORD,,