lusid-sdk 2.1.110__py3-none-any.whl → 2.1.131__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.
Potentially problematic release.
This version of lusid-sdk might be problematic. Click here for more details.
- lusid/__init__.py +40 -0
- lusid/api/__init__.py +2 -0
- lusid/api/amortisation_rule_sets_api.py +175 -0
- lusid/api/compliance_api.py +502 -0
- lusid/api/fee_types_api.py +909 -0
- lusid/api/instrument_events_api.py +189 -0
- lusid/api/portfolio_groups_api.py +16 -8
- lusid/api/portfolios_api.py +212 -0
- lusid/api/transaction_portfolios_api.py +32 -16
- lusid/configuration.py +1 -1
- lusid/models/__init__.py +38 -0
- lusid/models/amortisation_rule_set.py +7 -11
- lusid/models/applicable_instrument_event.py +106 -0
- lusid/models/compliance_rule_template.py +153 -0
- lusid/models/compliance_step_request.py +76 -0
- lusid/models/compliance_step_type_request.py +42 -0
- lusid/models/compliance_template_variation_dto.py +112 -0
- lusid/models/compliance_template_variation_request.py +112 -0
- lusid/models/create_compliance_template_request.py +95 -0
- lusid/models/create_derived_property_definition_request.py +3 -3
- lusid/models/create_property_definition_request.py +3 -3
- lusid/models/diary_entry_request.py +1 -1
- lusid/models/fee_accrual.py +83 -0
- lusid/models/fee_type.py +115 -0
- lusid/models/fee_type_request.py +105 -0
- lusid/models/flow_conventions.py +1 -1
- lusid/models/operation.py +2 -2
- lusid/models/paged_resource_list_of_fee_type.py +113 -0
- lusid/models/paged_resource_list_of_instrument_event_instruction.py +113 -0
- lusid/models/portfolio_entity_id.py +2 -18
- lusid/models/portfolio_holding.py +19 -4
- lusid/models/property_definition.py +3 -3
- lusid/models/property_definition_search_result.py +3 -3
- lusid/models/property_domain.py +1 -0
- lusid/models/query_applicable_instrument_events_request.py +89 -0
- lusid/models/quote_access_metadata_rule_id.py +1 -1
- lusid/models/quote_series_id.py +1 -1
- lusid/models/resource_list_of_applicable_instrument_event.py +113 -0
- lusid/models/rules_interval.py +83 -0
- lusid/models/set_amortisation_rules_request.py +73 -0
- lusid/models/settlement_schedule.py +78 -0
- lusid/models/update_compliance_template_request.py +95 -0
- lusid/models/update_fee_type_request.py +96 -0
- lusid/models/valuation_point_data_response.py +15 -2
- {lusid_sdk-2.1.110.dist-info → lusid_sdk-2.1.131.dist-info}/METADATA +34 -4
- {lusid_sdk-2.1.110.dist-info → lusid_sdk-2.1.131.dist-info}/RECORD +47 -27
- {lusid_sdk-2.1.110.dist-info → lusid_sdk-2.1.131.dist-info}/WHEEL +0 -0
|
@@ -3314,22 +3314,22 @@ class TransactionPortfoliosApi:
|
|
|
3314
3314
|
_request_auth=_params.get('_request_auth'))
|
|
3315
3315
|
|
|
3316
3316
|
@overload
|
|
3317
|
-
async def get_holdings(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the transaction portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of the transaction portfolio. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the holdings of the transaction portfolio. Defaults to return the latest version if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. For example, to filter on the Holding Type, use \"holdingType eq 'p'\". 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\", \"Holding\", \"Custodian Account\" or \"Portfolio\" domain to decorate onto holdings. These must have the format {domain}/{scope}/{code}, for example \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, **kwargs) -> VersionedResourceListOfPortfolioHolding: # noqa: E501
|
|
3317
|
+
async def get_holdings(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the transaction portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of the transaction portfolio. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the holdings of the transaction portfolio. Defaults to return the latest version if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. For example, to filter on the Holding Type, use \"holdingType eq 'p'\". 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\", \"Holding\", \"Custodian Account\" or \"Portfolio\" domain to decorate onto holdings. These must have the format {domain}/{scope}/{code}, for example \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, include_settlement_events_after_days : Annotated[Optional[StrictInt], Field(description="Number of days ahead to bring back settlements from, in relation to the specified effectiveAt")] = None, **kwargs) -> VersionedResourceListOfPortfolioHolding: # noqa: E501
|
|
3318
3318
|
...
|
|
3319
3319
|
|
|
3320
3320
|
@overload
|
|
3321
|
-
def get_holdings(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the transaction portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of the transaction portfolio. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the holdings of the transaction portfolio. Defaults to return the latest version if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. For example, to filter on the Holding Type, use \"holdingType eq 'p'\". 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\", \"Holding\", \"Custodian Account\" or \"Portfolio\" domain to decorate onto holdings. These must have the format {domain}/{scope}/{code}, for example \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, async_req: Optional[bool]=True, **kwargs) -> VersionedResourceListOfPortfolioHolding: # noqa: E501
|
|
3321
|
+
def get_holdings(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the transaction portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of the transaction portfolio. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the holdings of the transaction portfolio. Defaults to return the latest version if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. For example, to filter on the Holding Type, use \"holdingType eq 'p'\". 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\", \"Holding\", \"Custodian Account\" or \"Portfolio\" domain to decorate onto holdings. These must have the format {domain}/{scope}/{code}, for example \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, include_settlement_events_after_days : Annotated[Optional[StrictInt], Field(description="Number of days ahead to bring back settlements from, in relation to the specified effectiveAt")] = None, async_req: Optional[bool]=True, **kwargs) -> VersionedResourceListOfPortfolioHolding: # noqa: E501
|
|
3322
3322
|
...
|
|
3323
3323
|
|
|
3324
3324
|
@validate_arguments
|
|
3325
|
-
def get_holdings(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the transaction portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of the transaction portfolio. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the holdings of the transaction portfolio. Defaults to return the latest version if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. For example, to filter on the Holding Type, use \"holdingType eq 'p'\". 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\", \"Holding\", \"Custodian Account\" or \"Portfolio\" domain to decorate onto holdings. These must have the format {domain}/{scope}/{code}, for example \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[VersionedResourceListOfPortfolioHolding, Awaitable[VersionedResourceListOfPortfolioHolding]]: # noqa: E501
|
|
3325
|
+
def get_holdings(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the transaction portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of the transaction portfolio. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the holdings of the transaction portfolio. Defaults to return the latest version if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. For example, to filter on the Holding Type, use \"holdingType eq 'p'\". 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\", \"Holding\", \"Custodian Account\" or \"Portfolio\" domain to decorate onto holdings. These must have the format {domain}/{scope}/{code}, for example \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, include_settlement_events_after_days : Annotated[Optional[StrictInt], Field(description="Number of days ahead to bring back settlements from, in relation to the specified effectiveAt")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[VersionedResourceListOfPortfolioHolding, Awaitable[VersionedResourceListOfPortfolioHolding]]: # noqa: E501
|
|
3326
3326
|
"""GetHoldings: Get holdings # noqa: E501
|
|
3327
3327
|
|
|
3328
3328
|
Calculate holdings for a transaction portfolio. # noqa: E501
|
|
3329
3329
|
This method makes a synchronous HTTP request by default. To make an
|
|
3330
3330
|
asynchronous HTTP request, please pass async_req=True
|
|
3331
3331
|
|
|
3332
|
-
>>> thread = api.get_holdings(scope, code, effective_at, as_at, filter, property_keys, by_taxlots, async_req=True)
|
|
3332
|
+
>>> thread = api.get_holdings(scope, code, effective_at, as_at, filter, property_keys, by_taxlots, include_settlement_events_after_days, async_req=True)
|
|
3333
3333
|
>>> result = thread.get()
|
|
3334
3334
|
|
|
3335
3335
|
:param scope: The scope of the transaction portfolio. (required)
|
|
@@ -3346,6 +3346,8 @@ class TransactionPortfoliosApi:
|
|
|
3346
3346
|
:type property_keys: List[str]
|
|
3347
3347
|
:param by_taxlots: Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.
|
|
3348
3348
|
:type by_taxlots: bool
|
|
3349
|
+
:param include_settlement_events_after_days: Number of days ahead to bring back settlements from, in relation to the specified effectiveAt
|
|
3350
|
+
:type include_settlement_events_after_days: int
|
|
3349
3351
|
:param async_req: Whether to execute the request asynchronously.
|
|
3350
3352
|
:type async_req: bool, optional
|
|
3351
3353
|
:param _request_timeout: timeout setting for this request.
|
|
@@ -3363,17 +3365,17 @@ class TransactionPortfoliosApi:
|
|
|
3363
3365
|
raise ValueError(message)
|
|
3364
3366
|
if async_req is not None:
|
|
3365
3367
|
kwargs['async_req'] = async_req
|
|
3366
|
-
return self.get_holdings_with_http_info(scope, code, effective_at, as_at, filter, property_keys, by_taxlots, **kwargs) # noqa: E501
|
|
3368
|
+
return self.get_holdings_with_http_info(scope, code, effective_at, as_at, filter, property_keys, by_taxlots, include_settlement_events_after_days, **kwargs) # noqa: E501
|
|
3367
3369
|
|
|
3368
3370
|
@validate_arguments
|
|
3369
|
-
def get_holdings_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the transaction portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of the transaction portfolio. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the holdings of the transaction portfolio. Defaults to return the latest version if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. For example, to filter on the Holding Type, use \"holdingType eq 'p'\". 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\", \"Holding\", \"Custodian Account\" or \"Portfolio\" domain to decorate onto holdings. These must have the format {domain}/{scope}/{code}, for example \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, **kwargs) -> ApiResponse: # noqa: E501
|
|
3371
|
+
def get_holdings_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the transaction portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of the transaction portfolio. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the holdings of the transaction portfolio. Defaults to return the latest version if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. For example, to filter on the Holding Type, use \"holdingType eq 'p'\". 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\", \"Holding\", \"Custodian Account\" or \"Portfolio\" domain to decorate onto holdings. These must have the format {domain}/{scope}/{code}, for example \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, include_settlement_events_after_days : Annotated[Optional[StrictInt], Field(description="Number of days ahead to bring back settlements from, in relation to the specified effectiveAt")] = None, **kwargs) -> ApiResponse: # noqa: E501
|
|
3370
3372
|
"""GetHoldings: Get holdings # noqa: E501
|
|
3371
3373
|
|
|
3372
3374
|
Calculate holdings for a transaction portfolio. # noqa: E501
|
|
3373
3375
|
This method makes a synchronous HTTP request by default. To make an
|
|
3374
3376
|
asynchronous HTTP request, please pass async_req=True
|
|
3375
3377
|
|
|
3376
|
-
>>> thread = api.get_holdings_with_http_info(scope, code, effective_at, as_at, filter, property_keys, by_taxlots, async_req=True)
|
|
3378
|
+
>>> thread = api.get_holdings_with_http_info(scope, code, effective_at, as_at, filter, property_keys, by_taxlots, include_settlement_events_after_days, async_req=True)
|
|
3377
3379
|
>>> result = thread.get()
|
|
3378
3380
|
|
|
3379
3381
|
:param scope: The scope of the transaction portfolio. (required)
|
|
@@ -3390,6 +3392,8 @@ class TransactionPortfoliosApi:
|
|
|
3390
3392
|
:type property_keys: List[str]
|
|
3391
3393
|
:param by_taxlots: Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.
|
|
3392
3394
|
:type by_taxlots: bool
|
|
3395
|
+
:param include_settlement_events_after_days: Number of days ahead to bring back settlements from, in relation to the specified effectiveAt
|
|
3396
|
+
:type include_settlement_events_after_days: int
|
|
3393
3397
|
:param async_req: Whether to execute the request asynchronously.
|
|
3394
3398
|
:type async_req: bool, optional
|
|
3395
3399
|
:param _preload_content: if False, the ApiResponse.data will
|
|
@@ -3424,7 +3428,8 @@ class TransactionPortfoliosApi:
|
|
|
3424
3428
|
'as_at',
|
|
3425
3429
|
'filter',
|
|
3426
3430
|
'property_keys',
|
|
3427
|
-
'by_taxlots'
|
|
3431
|
+
'by_taxlots',
|
|
3432
|
+
'include_settlement_events_after_days'
|
|
3428
3433
|
]
|
|
3429
3434
|
_all_params.extend(
|
|
3430
3435
|
[
|
|
@@ -3480,6 +3485,9 @@ class TransactionPortfoliosApi:
|
|
|
3480
3485
|
if _params.get('by_taxlots') is not None: # noqa: E501
|
|
3481
3486
|
_query_params.append(('byTaxlots', _params['by_taxlots']))
|
|
3482
3487
|
|
|
3488
|
+
if _params.get('include_settlement_events_after_days') is not None: # noqa: E501
|
|
3489
|
+
_query_params.append(('includeSettlementEventsAfterDays', _params['include_settlement_events_after_days']))
|
|
3490
|
+
|
|
3483
3491
|
# process the header parameters
|
|
3484
3492
|
_header_params = dict(_params.get('_headers', {}))
|
|
3485
3493
|
# process the form parameters
|
|
@@ -3704,22 +3712,22 @@ class TransactionPortfoliosApi:
|
|
|
3704
3712
|
_request_auth=_params.get('_request_auth'))
|
|
3705
3713
|
|
|
3706
3714
|
@overload
|
|
3707
|
-
async def get_holdings_with_orders(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the transaction portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of the transaction portfolio. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the holdings of the transaction portfolio. Defaults to return the latest version of the holdings if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. For example, to filter on the Holding Type, use \"holdingType eq 'p'\" 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\", \"Holding\" or \"Portfolio\" domain to decorate onto the holdings. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, recipe_id_scope : Annotated[Optional[StrictStr], Field(description="The scope of the given recipeId")] = None, recipe_id_code : Annotated[Optional[StrictStr], Field(description="The code of the given recipeId")] = None, **kwargs) -> VersionedResourceListWithWarningsOfPortfolioHolding: # noqa: E501
|
|
3715
|
+
async def get_holdings_with_orders(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the transaction portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of the transaction portfolio. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the holdings of the transaction portfolio. Defaults to return the latest version of the holdings if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. For example, to filter on the Holding Type, use \"holdingType eq 'p'\" 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\", \"Holding\" or \"Portfolio\" domain to decorate onto the holdings. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, recipe_id_scope : Annotated[Optional[StrictStr], Field(description="The scope of the given recipeId")] = None, recipe_id_code : Annotated[Optional[StrictStr], Field(description="The code of the given recipeId")] = None, include_settlement_events_after_days : Annotated[Optional[StrictInt], Field(description="Number of days ahead to bring back settlements from, in relation to the specified effectiveAt")] = None, **kwargs) -> VersionedResourceListWithWarningsOfPortfolioHolding: # noqa: E501
|
|
3708
3716
|
...
|
|
3709
3717
|
|
|
3710
3718
|
@overload
|
|
3711
|
-
def get_holdings_with_orders(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the transaction portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of the transaction portfolio. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the holdings of the transaction portfolio. Defaults to return the latest version of the holdings if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. For example, to filter on the Holding Type, use \"holdingType eq 'p'\" 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\", \"Holding\" or \"Portfolio\" domain to decorate onto the holdings. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, recipe_id_scope : Annotated[Optional[StrictStr], Field(description="The scope of the given recipeId")] = None, recipe_id_code : Annotated[Optional[StrictStr], Field(description="The code of the given recipeId")] = None, async_req: Optional[bool]=True, **kwargs) -> VersionedResourceListWithWarningsOfPortfolioHolding: # noqa: E501
|
|
3719
|
+
def get_holdings_with_orders(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the transaction portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of the transaction portfolio. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the holdings of the transaction portfolio. Defaults to return the latest version of the holdings if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. For example, to filter on the Holding Type, use \"holdingType eq 'p'\" 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\", \"Holding\" or \"Portfolio\" domain to decorate onto the holdings. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, recipe_id_scope : Annotated[Optional[StrictStr], Field(description="The scope of the given recipeId")] = None, recipe_id_code : Annotated[Optional[StrictStr], Field(description="The code of the given recipeId")] = None, include_settlement_events_after_days : Annotated[Optional[StrictInt], Field(description="Number of days ahead to bring back settlements from, in relation to the specified effectiveAt")] = None, async_req: Optional[bool]=True, **kwargs) -> VersionedResourceListWithWarningsOfPortfolioHolding: # noqa: E501
|
|
3712
3720
|
...
|
|
3713
3721
|
|
|
3714
3722
|
@validate_arguments
|
|
3715
|
-
def get_holdings_with_orders(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the transaction portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of the transaction portfolio. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the holdings of the transaction portfolio. Defaults to return the latest version of the holdings if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. For example, to filter on the Holding Type, use \"holdingType eq 'p'\" 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\", \"Holding\" or \"Portfolio\" domain to decorate onto the holdings. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, recipe_id_scope : Annotated[Optional[StrictStr], Field(description="The scope of the given recipeId")] = None, recipe_id_code : Annotated[Optional[StrictStr], Field(description="The code of the given recipeId")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[VersionedResourceListWithWarningsOfPortfolioHolding, Awaitable[VersionedResourceListWithWarningsOfPortfolioHolding]]: # noqa: E501
|
|
3723
|
+
def get_holdings_with_orders(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the transaction portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of the transaction portfolio. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the holdings of the transaction portfolio. Defaults to return the latest version of the holdings if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. For example, to filter on the Holding Type, use \"holdingType eq 'p'\" 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\", \"Holding\" or \"Portfolio\" domain to decorate onto the holdings. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, recipe_id_scope : Annotated[Optional[StrictStr], Field(description="The scope of the given recipeId")] = None, recipe_id_code : Annotated[Optional[StrictStr], Field(description="The code of the given recipeId")] = None, include_settlement_events_after_days : Annotated[Optional[StrictInt], Field(description="Number of days ahead to bring back settlements from, in relation to the specified effectiveAt")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[VersionedResourceListWithWarningsOfPortfolioHolding, Awaitable[VersionedResourceListWithWarningsOfPortfolioHolding]]: # noqa: E501
|
|
3716
3724
|
"""[EXPERIMENTAL] GetHoldingsWithOrders: Get holdings with orders # noqa: E501
|
|
3717
3725
|
|
|
3718
3726
|
Get the holdings of a transaction portfolio. Create virtual holdings for any outstanding orders, and account for order state/fulfillment; that is, treat outstanding orders (and related records) as if they had been realised at moment of query. # noqa: E501
|
|
3719
3727
|
This method makes a synchronous HTTP request by default. To make an
|
|
3720
3728
|
asynchronous HTTP request, please pass async_req=True
|
|
3721
3729
|
|
|
3722
|
-
>>> thread = api.get_holdings_with_orders(scope, code, effective_at, as_at, filter, property_keys, by_taxlots, recipe_id_scope, recipe_id_code, async_req=True)
|
|
3730
|
+
>>> thread = api.get_holdings_with_orders(scope, code, effective_at, as_at, filter, property_keys, by_taxlots, recipe_id_scope, recipe_id_code, include_settlement_events_after_days, async_req=True)
|
|
3723
3731
|
>>> result = thread.get()
|
|
3724
3732
|
|
|
3725
3733
|
:param scope: The scope of the transaction portfolio. (required)
|
|
@@ -3740,6 +3748,8 @@ class TransactionPortfoliosApi:
|
|
|
3740
3748
|
:type recipe_id_scope: str
|
|
3741
3749
|
:param recipe_id_code: The code of the given recipeId
|
|
3742
3750
|
:type recipe_id_code: str
|
|
3751
|
+
:param include_settlement_events_after_days: Number of days ahead to bring back settlements from, in relation to the specified effectiveAt
|
|
3752
|
+
:type include_settlement_events_after_days: int
|
|
3743
3753
|
:param async_req: Whether to execute the request asynchronously.
|
|
3744
3754
|
:type async_req: bool, optional
|
|
3745
3755
|
:param _request_timeout: timeout setting for this request.
|
|
@@ -3757,17 +3767,17 @@ class TransactionPortfoliosApi:
|
|
|
3757
3767
|
raise ValueError(message)
|
|
3758
3768
|
if async_req is not None:
|
|
3759
3769
|
kwargs['async_req'] = async_req
|
|
3760
|
-
return self.get_holdings_with_orders_with_http_info(scope, code, effective_at, as_at, filter, property_keys, by_taxlots, recipe_id_scope, recipe_id_code, **kwargs) # noqa: E501
|
|
3770
|
+
return self.get_holdings_with_orders_with_http_info(scope, code, effective_at, as_at, filter, property_keys, by_taxlots, recipe_id_scope, recipe_id_code, include_settlement_events_after_days, **kwargs) # noqa: E501
|
|
3761
3771
|
|
|
3762
3772
|
@validate_arguments
|
|
3763
|
-
def get_holdings_with_orders_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the transaction portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of the transaction portfolio. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the holdings of the transaction portfolio. Defaults to return the latest version of the holdings if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. For example, to filter on the Holding Type, use \"holdingType eq 'p'\" 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\", \"Holding\" or \"Portfolio\" domain to decorate onto the holdings. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, recipe_id_scope : Annotated[Optional[StrictStr], Field(description="The scope of the given recipeId")] = None, recipe_id_code : Annotated[Optional[StrictStr], Field(description="The code of the given recipeId")] = None, **kwargs) -> ApiResponse: # noqa: E501
|
|
3773
|
+
def get_holdings_with_orders_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the transaction portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of the transaction portfolio. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the holdings of the transaction portfolio. Defaults to return the latest version of the holdings if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. For example, to filter on the Holding Type, use \"holdingType eq 'p'\" 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\", \"Holding\" or \"Portfolio\" domain to decorate onto the holdings. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, recipe_id_scope : Annotated[Optional[StrictStr], Field(description="The scope of the given recipeId")] = None, recipe_id_code : Annotated[Optional[StrictStr], Field(description="The code of the given recipeId")] = None, include_settlement_events_after_days : Annotated[Optional[StrictInt], Field(description="Number of days ahead to bring back settlements from, in relation to the specified effectiveAt")] = None, **kwargs) -> ApiResponse: # noqa: E501
|
|
3764
3774
|
"""[EXPERIMENTAL] GetHoldingsWithOrders: Get holdings with orders # noqa: E501
|
|
3765
3775
|
|
|
3766
3776
|
Get the holdings of a transaction portfolio. Create virtual holdings for any outstanding orders, and account for order state/fulfillment; that is, treat outstanding orders (and related records) as if they had been realised at moment of query. # noqa: E501
|
|
3767
3777
|
This method makes a synchronous HTTP request by default. To make an
|
|
3768
3778
|
asynchronous HTTP request, please pass async_req=True
|
|
3769
3779
|
|
|
3770
|
-
>>> thread = api.get_holdings_with_orders_with_http_info(scope, code, effective_at, as_at, filter, property_keys, by_taxlots, recipe_id_scope, recipe_id_code, async_req=True)
|
|
3780
|
+
>>> thread = api.get_holdings_with_orders_with_http_info(scope, code, effective_at, as_at, filter, property_keys, by_taxlots, recipe_id_scope, recipe_id_code, include_settlement_events_after_days, async_req=True)
|
|
3771
3781
|
>>> result = thread.get()
|
|
3772
3782
|
|
|
3773
3783
|
:param scope: The scope of the transaction portfolio. (required)
|
|
@@ -3788,6 +3798,8 @@ class TransactionPortfoliosApi:
|
|
|
3788
3798
|
:type recipe_id_scope: str
|
|
3789
3799
|
:param recipe_id_code: The code of the given recipeId
|
|
3790
3800
|
:type recipe_id_code: str
|
|
3801
|
+
:param include_settlement_events_after_days: Number of days ahead to bring back settlements from, in relation to the specified effectiveAt
|
|
3802
|
+
:type include_settlement_events_after_days: int
|
|
3791
3803
|
:param async_req: Whether to execute the request asynchronously.
|
|
3792
3804
|
:type async_req: bool, optional
|
|
3793
3805
|
:param _preload_content: if False, the ApiResponse.data will
|
|
@@ -3824,7 +3836,8 @@ class TransactionPortfoliosApi:
|
|
|
3824
3836
|
'property_keys',
|
|
3825
3837
|
'by_taxlots',
|
|
3826
3838
|
'recipe_id_scope',
|
|
3827
|
-
'recipe_id_code'
|
|
3839
|
+
'recipe_id_code',
|
|
3840
|
+
'include_settlement_events_after_days'
|
|
3828
3841
|
]
|
|
3829
3842
|
_all_params.extend(
|
|
3830
3843
|
[
|
|
@@ -3886,6 +3899,9 @@ class TransactionPortfoliosApi:
|
|
|
3886
3899
|
if _params.get('recipe_id_code') is not None: # noqa: E501
|
|
3887
3900
|
_query_params.append(('recipeIdCode', _params['recipe_id_code']))
|
|
3888
3901
|
|
|
3902
|
+
if _params.get('include_settlement_events_after_days') is not None: # noqa: E501
|
|
3903
|
+
_query_params.append(('includeSettlementEventsAfterDays', _params['include_settlement_events_after_days']))
|
|
3904
|
+
|
|
3889
3905
|
# process the header parameters
|
|
3890
3906
|
_header_params = dict(_params.get('_headers', {}))
|
|
3891
3907
|
# process the form parameters
|
lusid/configuration.py
CHANGED
|
@@ -373,7 +373,7 @@ class Configuration:
|
|
|
373
373
|
return "Python SDK Debug Report:\n"\
|
|
374
374
|
"OS: {env}\n"\
|
|
375
375
|
"Python Version: {pyversion}\n"\
|
|
376
|
-
"Version of the API: 0.11.
|
|
376
|
+
"Version of the API: 0.11.6565\n"\
|
|
377
377
|
"SDK Package Version: {package_version}".\
|
|
378
378
|
format(env=sys.platform, pyversion=sys.version, package_version=package_version)
|
|
379
379
|
|
lusid/models/__init__.py
CHANGED
|
@@ -69,6 +69,7 @@ from lusid.models.amortisation_rule_set import AmortisationRuleSet
|
|
|
69
69
|
from lusid.models.annul_quotes_response import AnnulQuotesResponse
|
|
70
70
|
from lusid.models.annul_single_structured_data_response import AnnulSingleStructuredDataResponse
|
|
71
71
|
from lusid.models.annul_structured_data_response import AnnulStructuredDataResponse
|
|
72
|
+
from lusid.models.applicable_instrument_event import ApplicableInstrumentEvent
|
|
72
73
|
from lusid.models.asset_class import AssetClass
|
|
73
74
|
from lusid.models.asset_leg import AssetLeg
|
|
74
75
|
from lusid.models.barrier import Barrier
|
|
@@ -149,17 +150,22 @@ from lusid.models.compliance_rule_result import ComplianceRuleResult
|
|
|
149
150
|
from lusid.models.compliance_rule_result_detail import ComplianceRuleResultDetail
|
|
150
151
|
from lusid.models.compliance_rule_result_portfolio_detail import ComplianceRuleResultPortfolioDetail
|
|
151
152
|
from lusid.models.compliance_rule_result_v2 import ComplianceRuleResultV2
|
|
153
|
+
from lusid.models.compliance_rule_template import ComplianceRuleTemplate
|
|
152
154
|
from lusid.models.compliance_rule_upsert_request import ComplianceRuleUpsertRequest
|
|
153
155
|
from lusid.models.compliance_rule_upsert_response import ComplianceRuleUpsertResponse
|
|
154
156
|
from lusid.models.compliance_run_info import ComplianceRunInfo
|
|
155
157
|
from lusid.models.compliance_run_info_v2 import ComplianceRunInfoV2
|
|
156
158
|
from lusid.models.compliance_step import ComplianceStep
|
|
159
|
+
from lusid.models.compliance_step_request import ComplianceStepRequest
|
|
157
160
|
from lusid.models.compliance_step_type import ComplianceStepType
|
|
161
|
+
from lusid.models.compliance_step_type_request import ComplianceStepTypeRequest
|
|
158
162
|
from lusid.models.compliance_summary_rule_result import ComplianceSummaryRuleResult
|
|
159
163
|
from lusid.models.compliance_summary_rule_result_request import ComplianceSummaryRuleResultRequest
|
|
160
164
|
from lusid.models.compliance_template import ComplianceTemplate
|
|
161
165
|
from lusid.models.compliance_template_parameter import ComplianceTemplateParameter
|
|
162
166
|
from lusid.models.compliance_template_variation import ComplianceTemplateVariation
|
|
167
|
+
from lusid.models.compliance_template_variation_dto import ComplianceTemplateVariationDto
|
|
168
|
+
from lusid.models.compliance_template_variation_request import ComplianceTemplateVariationRequest
|
|
163
169
|
from lusid.models.component_transaction import ComponentTransaction
|
|
164
170
|
from lusid.models.composite_breakdown import CompositeBreakdown
|
|
165
171
|
from lusid.models.composite_breakdown_request import CompositeBreakdownRequest
|
|
@@ -183,6 +189,7 @@ from lusid.models.counterparty_signatory import CounterpartySignatory
|
|
|
183
189
|
from lusid.models.create_address_key_definition_request import CreateAddressKeyDefinitionRequest
|
|
184
190
|
from lusid.models.create_amortisation_rule_set_request import CreateAmortisationRuleSetRequest
|
|
185
191
|
from lusid.models.create_calendar_request import CreateCalendarRequest
|
|
192
|
+
from lusid.models.create_compliance_template_request import CreateComplianceTemplateRequest
|
|
186
193
|
from lusid.models.create_corporate_action_source_request import CreateCorporateActionSourceRequest
|
|
187
194
|
from lusid.models.create_custom_entity_type_request import CreateCustomEntityTypeRequest
|
|
188
195
|
from lusid.models.create_cut_label_definition_request import CreateCutLabelDefinitionRequest
|
|
@@ -297,9 +304,12 @@ from lusid.models.exercise_event import ExerciseEvent
|
|
|
297
304
|
from lusid.models.exotic_instrument import ExoticInstrument
|
|
298
305
|
from lusid.models.expanded_group import ExpandedGroup
|
|
299
306
|
from lusid.models.expiry_event import ExpiryEvent
|
|
307
|
+
from lusid.models.fee_accrual import FeeAccrual
|
|
300
308
|
from lusid.models.fee_rule import FeeRule
|
|
301
309
|
from lusid.models.fee_rule_upsert_request import FeeRuleUpsertRequest
|
|
302
310
|
from lusid.models.fee_rule_upsert_response import FeeRuleUpsertResponse
|
|
311
|
+
from lusid.models.fee_type import FeeType
|
|
312
|
+
from lusid.models.fee_type_request import FeeTypeRequest
|
|
303
313
|
from lusid.models.field_definition import FieldDefinition
|
|
304
314
|
from lusid.models.field_schema import FieldSchema
|
|
305
315
|
from lusid.models.field_value import FieldValue
|
|
@@ -537,10 +547,12 @@ from lusid.models.paged_resource_list_of_data_type_summary import PagedResourceL
|
|
|
537
547
|
from lusid.models.paged_resource_list_of_dialect_id import PagedResourceListOfDialectId
|
|
538
548
|
from lusid.models.paged_resource_list_of_diary_entry import PagedResourceListOfDiaryEntry
|
|
539
549
|
from lusid.models.paged_resource_list_of_execution import PagedResourceListOfExecution
|
|
550
|
+
from lusid.models.paged_resource_list_of_fee_type import PagedResourceListOfFeeType
|
|
540
551
|
from lusid.models.paged_resource_list_of_fund import PagedResourceListOfFund
|
|
541
552
|
from lusid.models.paged_resource_list_of_general_ledger_profile_response import PagedResourceListOfGeneralLedgerProfileResponse
|
|
542
553
|
from lusid.models.paged_resource_list_of_instrument import PagedResourceListOfInstrument
|
|
543
554
|
from lusid.models.paged_resource_list_of_instrument_event_holder import PagedResourceListOfInstrumentEventHolder
|
|
555
|
+
from lusid.models.paged_resource_list_of_instrument_event_instruction import PagedResourceListOfInstrumentEventInstruction
|
|
544
556
|
from lusid.models.paged_resource_list_of_legal_entity import PagedResourceListOfLegalEntity
|
|
545
557
|
from lusid.models.paged_resource_list_of_order import PagedResourceListOfOrder
|
|
546
558
|
from lusid.models.paged_resource_list_of_order_graph_block import PagedResourceListOfOrderGraphBlock
|
|
@@ -633,6 +645,7 @@ from lusid.models.property_type import PropertyType
|
|
|
633
645
|
from lusid.models.property_value import PropertyValue
|
|
634
646
|
from lusid.models.property_value_equals import PropertyValueEquals
|
|
635
647
|
from lusid.models.property_value_in import PropertyValueIn
|
|
648
|
+
from lusid.models.query_applicable_instrument_events_request import QueryApplicableInstrumentEventsRequest
|
|
636
649
|
from lusid.models.query_bucketed_cash_flows_request import QueryBucketedCashFlowsRequest
|
|
637
650
|
from lusid.models.query_cash_flows_request import QueryCashFlowsRequest
|
|
638
651
|
from lusid.models.query_instrument_events_request import QueryInstrumentEventsRequest
|
|
@@ -694,6 +707,7 @@ from lusid.models.resource_list_of_address_key_definition import ResourceListOfA
|
|
|
694
707
|
from lusid.models.resource_list_of_aggregated_return import ResourceListOfAggregatedReturn
|
|
695
708
|
from lusid.models.resource_list_of_aggregation_query import ResourceListOfAggregationQuery
|
|
696
709
|
from lusid.models.resource_list_of_allocation import ResourceListOfAllocation
|
|
710
|
+
from lusid.models.resource_list_of_applicable_instrument_event import ResourceListOfApplicableInstrumentEvent
|
|
697
711
|
from lusid.models.resource_list_of_block import ResourceListOfBlock
|
|
698
712
|
from lusid.models.resource_list_of_block_and_orders import ResourceListOfBlockAndOrders
|
|
699
713
|
from lusid.models.resource_list_of_calendar_date import ResourceListOfCalendarDate
|
|
@@ -771,6 +785,7 @@ from lusid.models.reverse_stock_split_event import ReverseStockSplitEvent
|
|
|
771
785
|
from lusid.models.rounding_configuration import RoundingConfiguration
|
|
772
786
|
from lusid.models.rounding_configuration_component import RoundingConfigurationComponent
|
|
773
787
|
from lusid.models.rounding_convention import RoundingConvention
|
|
788
|
+
from lusid.models.rules_interval import RulesInterval
|
|
774
789
|
from lusid.models.scaling_methodology import ScalingMethodology
|
|
775
790
|
from lusid.models.schedule import Schedule
|
|
776
791
|
from lusid.models.schedule_type import ScheduleType
|
|
@@ -779,6 +794,7 @@ from lusid.models.scrip_dividend_event import ScripDividendEvent
|
|
|
779
794
|
from lusid.models.script_map_reference import ScriptMapReference
|
|
780
795
|
from lusid.models.security_election import SecurityElection
|
|
781
796
|
from lusid.models.sequence_definition import SequenceDefinition
|
|
797
|
+
from lusid.models.set_amortisation_rules_request import SetAmortisationRulesRequest
|
|
782
798
|
from lusid.models.set_legal_entity_identifiers_request import SetLegalEntityIdentifiersRequest
|
|
783
799
|
from lusid.models.set_legal_entity_properties_request import SetLegalEntityPropertiesRequest
|
|
784
800
|
from lusid.models.set_person_identifiers_request import SetPersonIdentifiersRequest
|
|
@@ -786,6 +802,7 @@ from lusid.models.set_person_properties_request import SetPersonPropertiesReques
|
|
|
786
802
|
from lusid.models.set_share_class_instruments_request import SetShareClassInstrumentsRequest
|
|
787
803
|
from lusid.models.set_transaction_configuration_alias import SetTransactionConfigurationAlias
|
|
788
804
|
from lusid.models.set_transaction_configuration_source_request import SetTransactionConfigurationSourceRequest
|
|
805
|
+
from lusid.models.settlement_schedule import SettlementSchedule
|
|
789
806
|
from lusid.models.side_configuration_data import SideConfigurationData
|
|
790
807
|
from lusid.models.side_configuration_data_request import SideConfigurationDataRequest
|
|
791
808
|
from lusid.models.side_definition import SideDefinition
|
|
@@ -882,11 +899,13 @@ from lusid.models.units_ratio import UnitsRatio
|
|
|
882
899
|
from lusid.models.unmatched_holding_method import UnmatchedHoldingMethod
|
|
883
900
|
from lusid.models.update_amortisation_rule_set_details_request import UpdateAmortisationRuleSetDetailsRequest
|
|
884
901
|
from lusid.models.update_calendar_request import UpdateCalendarRequest
|
|
902
|
+
from lusid.models.update_compliance_template_request import UpdateComplianceTemplateRequest
|
|
885
903
|
from lusid.models.update_custom_entity_definition_request import UpdateCustomEntityDefinitionRequest
|
|
886
904
|
from lusid.models.update_custom_entity_type_request import UpdateCustomEntityTypeRequest
|
|
887
905
|
from lusid.models.update_cut_label_definition_request import UpdateCutLabelDefinitionRequest
|
|
888
906
|
from lusid.models.update_data_type_request import UpdateDataTypeRequest
|
|
889
907
|
from lusid.models.update_derived_property_definition_request import UpdateDerivedPropertyDefinitionRequest
|
|
908
|
+
from lusid.models.update_fee_type_request import UpdateFeeTypeRequest
|
|
890
909
|
from lusid.models.update_instrument_identifier_request import UpdateInstrumentIdentifierRequest
|
|
891
910
|
from lusid.models.update_portfolio_group_request import UpdatePortfolioGroupRequest
|
|
892
911
|
from lusid.models.update_portfolio_request import UpdatePortfolioRequest
|
|
@@ -1027,6 +1046,7 @@ __all__ = [
|
|
|
1027
1046
|
"AnnulQuotesResponse",
|
|
1028
1047
|
"AnnulSingleStructuredDataResponse",
|
|
1029
1048
|
"AnnulStructuredDataResponse",
|
|
1049
|
+
"ApplicableInstrumentEvent",
|
|
1030
1050
|
"AssetClass",
|
|
1031
1051
|
"AssetLeg",
|
|
1032
1052
|
"Barrier",
|
|
@@ -1107,17 +1127,22 @@ __all__ = [
|
|
|
1107
1127
|
"ComplianceRuleResultDetail",
|
|
1108
1128
|
"ComplianceRuleResultPortfolioDetail",
|
|
1109
1129
|
"ComplianceRuleResultV2",
|
|
1130
|
+
"ComplianceRuleTemplate",
|
|
1110
1131
|
"ComplianceRuleUpsertRequest",
|
|
1111
1132
|
"ComplianceRuleUpsertResponse",
|
|
1112
1133
|
"ComplianceRunInfo",
|
|
1113
1134
|
"ComplianceRunInfoV2",
|
|
1114
1135
|
"ComplianceStep",
|
|
1136
|
+
"ComplianceStepRequest",
|
|
1115
1137
|
"ComplianceStepType",
|
|
1138
|
+
"ComplianceStepTypeRequest",
|
|
1116
1139
|
"ComplianceSummaryRuleResult",
|
|
1117
1140
|
"ComplianceSummaryRuleResultRequest",
|
|
1118
1141
|
"ComplianceTemplate",
|
|
1119
1142
|
"ComplianceTemplateParameter",
|
|
1120
1143
|
"ComplianceTemplateVariation",
|
|
1144
|
+
"ComplianceTemplateVariationDto",
|
|
1145
|
+
"ComplianceTemplateVariationRequest",
|
|
1121
1146
|
"ComponentTransaction",
|
|
1122
1147
|
"CompositeBreakdown",
|
|
1123
1148
|
"CompositeBreakdownRequest",
|
|
@@ -1141,6 +1166,7 @@ __all__ = [
|
|
|
1141
1166
|
"CreateAddressKeyDefinitionRequest",
|
|
1142
1167
|
"CreateAmortisationRuleSetRequest",
|
|
1143
1168
|
"CreateCalendarRequest",
|
|
1169
|
+
"CreateComplianceTemplateRequest",
|
|
1144
1170
|
"CreateCorporateActionSourceRequest",
|
|
1145
1171
|
"CreateCustomEntityTypeRequest",
|
|
1146
1172
|
"CreateCutLabelDefinitionRequest",
|
|
@@ -1255,9 +1281,12 @@ __all__ = [
|
|
|
1255
1281
|
"ExoticInstrument",
|
|
1256
1282
|
"ExpandedGroup",
|
|
1257
1283
|
"ExpiryEvent",
|
|
1284
|
+
"FeeAccrual",
|
|
1258
1285
|
"FeeRule",
|
|
1259
1286
|
"FeeRuleUpsertRequest",
|
|
1260
1287
|
"FeeRuleUpsertResponse",
|
|
1288
|
+
"FeeType",
|
|
1289
|
+
"FeeTypeRequest",
|
|
1261
1290
|
"FieldDefinition",
|
|
1262
1291
|
"FieldSchema",
|
|
1263
1292
|
"FieldValue",
|
|
@@ -1495,10 +1524,12 @@ __all__ = [
|
|
|
1495
1524
|
"PagedResourceListOfDialectId",
|
|
1496
1525
|
"PagedResourceListOfDiaryEntry",
|
|
1497
1526
|
"PagedResourceListOfExecution",
|
|
1527
|
+
"PagedResourceListOfFeeType",
|
|
1498
1528
|
"PagedResourceListOfFund",
|
|
1499
1529
|
"PagedResourceListOfGeneralLedgerProfileResponse",
|
|
1500
1530
|
"PagedResourceListOfInstrument",
|
|
1501
1531
|
"PagedResourceListOfInstrumentEventHolder",
|
|
1532
|
+
"PagedResourceListOfInstrumentEventInstruction",
|
|
1502
1533
|
"PagedResourceListOfLegalEntity",
|
|
1503
1534
|
"PagedResourceListOfOrder",
|
|
1504
1535
|
"PagedResourceListOfOrderGraphBlock",
|
|
@@ -1591,6 +1622,7 @@ __all__ = [
|
|
|
1591
1622
|
"PropertyValue",
|
|
1592
1623
|
"PropertyValueEquals",
|
|
1593
1624
|
"PropertyValueIn",
|
|
1625
|
+
"QueryApplicableInstrumentEventsRequest",
|
|
1594
1626
|
"QueryBucketedCashFlowsRequest",
|
|
1595
1627
|
"QueryCashFlowsRequest",
|
|
1596
1628
|
"QueryInstrumentEventsRequest",
|
|
@@ -1652,6 +1684,7 @@ __all__ = [
|
|
|
1652
1684
|
"ResourceListOfAggregatedReturn",
|
|
1653
1685
|
"ResourceListOfAggregationQuery",
|
|
1654
1686
|
"ResourceListOfAllocation",
|
|
1687
|
+
"ResourceListOfApplicableInstrumentEvent",
|
|
1655
1688
|
"ResourceListOfBlock",
|
|
1656
1689
|
"ResourceListOfBlockAndOrders",
|
|
1657
1690
|
"ResourceListOfCalendarDate",
|
|
@@ -1729,6 +1762,7 @@ __all__ = [
|
|
|
1729
1762
|
"RoundingConfiguration",
|
|
1730
1763
|
"RoundingConfigurationComponent",
|
|
1731
1764
|
"RoundingConvention",
|
|
1765
|
+
"RulesInterval",
|
|
1732
1766
|
"ScalingMethodology",
|
|
1733
1767
|
"Schedule",
|
|
1734
1768
|
"ScheduleType",
|
|
@@ -1737,6 +1771,7 @@ __all__ = [
|
|
|
1737
1771
|
"ScriptMapReference",
|
|
1738
1772
|
"SecurityElection",
|
|
1739
1773
|
"SequenceDefinition",
|
|
1774
|
+
"SetAmortisationRulesRequest",
|
|
1740
1775
|
"SetLegalEntityIdentifiersRequest",
|
|
1741
1776
|
"SetLegalEntityPropertiesRequest",
|
|
1742
1777
|
"SetPersonIdentifiersRequest",
|
|
@@ -1744,6 +1779,7 @@ __all__ = [
|
|
|
1744
1779
|
"SetShareClassInstrumentsRequest",
|
|
1745
1780
|
"SetTransactionConfigurationAlias",
|
|
1746
1781
|
"SetTransactionConfigurationSourceRequest",
|
|
1782
|
+
"SettlementSchedule",
|
|
1747
1783
|
"SideConfigurationData",
|
|
1748
1784
|
"SideConfigurationDataRequest",
|
|
1749
1785
|
"SideDefinition",
|
|
@@ -1840,11 +1876,13 @@ __all__ = [
|
|
|
1840
1876
|
"UnmatchedHoldingMethod",
|
|
1841
1877
|
"UpdateAmortisationRuleSetDetailsRequest",
|
|
1842
1878
|
"UpdateCalendarRequest",
|
|
1879
|
+
"UpdateComplianceTemplateRequest",
|
|
1843
1880
|
"UpdateCustomEntityDefinitionRequest",
|
|
1844
1881
|
"UpdateCustomEntityTypeRequest",
|
|
1845
1882
|
"UpdateCutLabelDefinitionRequest",
|
|
1846
1883
|
"UpdateDataTypeRequest",
|
|
1847
1884
|
"UpdateDerivedPropertyDefinitionRequest",
|
|
1885
|
+
"UpdateFeeTypeRequest",
|
|
1848
1886
|
"UpdateInstrumentIdentifierRequest",
|
|
1849
1887
|
"UpdatePortfolioGroupRequest",
|
|
1850
1888
|
"UpdatePortfolioRequest",
|
|
@@ -20,9 +20,9 @@ import json
|
|
|
20
20
|
|
|
21
21
|
from typing import Any, Dict, List, Optional
|
|
22
22
|
from pydantic.v1 import BaseModel, Field, StrictStr, conlist, constr, validator
|
|
23
|
-
from lusid.models.amortisation_rule import AmortisationRule
|
|
24
23
|
from lusid.models.link import Link
|
|
25
24
|
from lusid.models.resource_id import ResourceId
|
|
25
|
+
from lusid.models.rules_interval import RulesInterval
|
|
26
26
|
from lusid.models.version import Version
|
|
27
27
|
|
|
28
28
|
class AmortisationRuleSet(BaseModel):
|
|
@@ -33,10 +33,10 @@ class AmortisationRuleSet(BaseModel):
|
|
|
33
33
|
id: ResourceId = Field(...)
|
|
34
34
|
display_name: constr(strict=True, max_length=256, min_length=1) = Field(..., alias="displayName", description="A user-friendly name.")
|
|
35
35
|
description: Optional[constr(strict=True, max_length=1024, min_length=0)] = Field(None, description="A description of what this rule set is for.")
|
|
36
|
-
|
|
36
|
+
rules_interval: RulesInterval = Field(..., alias="rulesInterval")
|
|
37
37
|
version: Optional[Version] = None
|
|
38
38
|
links: Optional[conlist(Link)] = None
|
|
39
|
-
__properties = ["href", "id", "displayName", "description", "
|
|
39
|
+
__properties = ["href", "id", "displayName", "description", "rulesInterval", "version", "links"]
|
|
40
40
|
|
|
41
41
|
@validator('display_name')
|
|
42
42
|
def display_name_validate_regular_expression(cls, value):
|
|
@@ -82,13 +82,9 @@ class AmortisationRuleSet(BaseModel):
|
|
|
82
82
|
# override the default output from pydantic by calling `to_dict()` of id
|
|
83
83
|
if self.id:
|
|
84
84
|
_dict['id'] = self.id.to_dict()
|
|
85
|
-
# override the default output from pydantic by calling `to_dict()` of
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
for _item in self.rules:
|
|
89
|
-
if _item:
|
|
90
|
-
_items.append(_item.to_dict())
|
|
91
|
-
_dict['rules'] = _items
|
|
85
|
+
# override the default output from pydantic by calling `to_dict()` of rules_interval
|
|
86
|
+
if self.rules_interval:
|
|
87
|
+
_dict['rulesInterval'] = self.rules_interval.to_dict()
|
|
92
88
|
# override the default output from pydantic by calling `to_dict()` of version
|
|
93
89
|
if self.version:
|
|
94
90
|
_dict['version'] = self.version.to_dict()
|
|
@@ -130,7 +126,7 @@ class AmortisationRuleSet(BaseModel):
|
|
|
130
126
|
"id": ResourceId.from_dict(obj.get("id")) if obj.get("id") is not None else None,
|
|
131
127
|
"display_name": obj.get("displayName"),
|
|
132
128
|
"description": obj.get("description"),
|
|
133
|
-
"
|
|
129
|
+
"rules_interval": RulesInterval.from_dict(obj.get("rulesInterval")) if obj.get("rulesInterval") is not None else None,
|
|
134
130
|
"version": Version.from_dict(obj.get("version")) if obj.get("version") is not None else None,
|
|
135
131
|
"links": [Link.from_dict(_item) for _item in obj.get("links")] if obj.get("links") is not None else None
|
|
136
132
|
})
|
|
@@ -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, List
|
|
22
|
+
from pydantic.v1 import BaseModel, Field, StrictInt, conlist, constr
|
|
23
|
+
from lusid.models.instrument_event_holder import InstrumentEventHolder
|
|
24
|
+
from lusid.models.resource_id import ResourceId
|
|
25
|
+
from lusid.models.transaction import Transaction
|
|
26
|
+
|
|
27
|
+
class ApplicableInstrumentEvent(BaseModel):
|
|
28
|
+
"""
|
|
29
|
+
Represents applicable instrument event. # noqa: E501
|
|
30
|
+
"""
|
|
31
|
+
portfolio_id: ResourceId = Field(..., alias="portfolioId")
|
|
32
|
+
holding_id: StrictInt = Field(..., alias="holdingId")
|
|
33
|
+
lusid_instrument_id: constr(strict=True, min_length=1) = Field(..., alias="lusidInstrumentId")
|
|
34
|
+
instrument_scope: constr(strict=True, min_length=1) = Field(..., alias="instrumentScope")
|
|
35
|
+
instrument_type: constr(strict=True, min_length=1) = Field(..., alias="instrumentType")
|
|
36
|
+
instrument_event_type: constr(strict=True, min_length=1) = Field(..., alias="instrumentEventType")
|
|
37
|
+
instrument_event_id: constr(strict=True, min_length=1) = Field(..., alias="instrumentEventId")
|
|
38
|
+
generated_event: InstrumentEventHolder = Field(..., alias="generatedEvent")
|
|
39
|
+
loaded_event: InstrumentEventHolder = Field(..., alias="loadedEvent")
|
|
40
|
+
transactions: conlist(Transaction) = Field(...)
|
|
41
|
+
__properties = ["portfolioId", "holdingId", "lusidInstrumentId", "instrumentScope", "instrumentType", "instrumentEventType", "instrumentEventId", "generatedEvent", "loadedEvent", "transactions"]
|
|
42
|
+
|
|
43
|
+
class Config:
|
|
44
|
+
"""Pydantic configuration"""
|
|
45
|
+
allow_population_by_field_name = True
|
|
46
|
+
validate_assignment = True
|
|
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) -> ApplicableInstrumentEvent:
|
|
58
|
+
"""Create an instance of ApplicableInstrumentEvent 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 portfolio_id
|
|
68
|
+
if self.portfolio_id:
|
|
69
|
+
_dict['portfolioId'] = self.portfolio_id.to_dict()
|
|
70
|
+
# override the default output from pydantic by calling `to_dict()` of generated_event
|
|
71
|
+
if self.generated_event:
|
|
72
|
+
_dict['generatedEvent'] = self.generated_event.to_dict()
|
|
73
|
+
# override the default output from pydantic by calling `to_dict()` of loaded_event
|
|
74
|
+
if self.loaded_event:
|
|
75
|
+
_dict['loadedEvent'] = self.loaded_event.to_dict()
|
|
76
|
+
# override the default output from pydantic by calling `to_dict()` of each item in transactions (list)
|
|
77
|
+
_items = []
|
|
78
|
+
if self.transactions:
|
|
79
|
+
for _item in self.transactions:
|
|
80
|
+
if _item:
|
|
81
|
+
_items.append(_item.to_dict())
|
|
82
|
+
_dict['transactions'] = _items
|
|
83
|
+
return _dict
|
|
84
|
+
|
|
85
|
+
@classmethod
|
|
86
|
+
def from_dict(cls, obj: dict) -> ApplicableInstrumentEvent:
|
|
87
|
+
"""Create an instance of ApplicableInstrumentEvent from a dict"""
|
|
88
|
+
if obj is None:
|
|
89
|
+
return None
|
|
90
|
+
|
|
91
|
+
if not isinstance(obj, dict):
|
|
92
|
+
return ApplicableInstrumentEvent.parse_obj(obj)
|
|
93
|
+
|
|
94
|
+
_obj = ApplicableInstrumentEvent.parse_obj({
|
|
95
|
+
"portfolio_id": ResourceId.from_dict(obj.get("portfolioId")) if obj.get("portfolioId") is not None else None,
|
|
96
|
+
"holding_id": obj.get("holdingId"),
|
|
97
|
+
"lusid_instrument_id": obj.get("lusidInstrumentId"),
|
|
98
|
+
"instrument_scope": obj.get("instrumentScope"),
|
|
99
|
+
"instrument_type": obj.get("instrumentType"),
|
|
100
|
+
"instrument_event_type": obj.get("instrumentEventType"),
|
|
101
|
+
"instrument_event_id": obj.get("instrumentEventId"),
|
|
102
|
+
"generated_event": InstrumentEventHolder.from_dict(obj.get("generatedEvent")) if obj.get("generatedEvent") is not None else None,
|
|
103
|
+
"loaded_event": InstrumentEventHolder.from_dict(obj.get("loadedEvent")) if obj.get("loadedEvent") is not None else None,
|
|
104
|
+
"transactions": [Transaction.from_dict(_item) for _item in obj.get("transactions")] if obj.get("transactions") is not None else None
|
|
105
|
+
})
|
|
106
|
+
return _obj
|