lusid-sdk 2.1.286__py3-none-any.whl → 2.1.308__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 +4 -0
- lusid/api/compliance_api.py +191 -0
- lusid/api/scopes_api.py +38 -9
- lusid/configuration.py +1 -1
- lusid/models/__init__.py +4 -0
- lusid/models/compliance_run_configuration.py +73 -0
- lusid/models/fund_configuration.py +6 -6
- lusid/models/fund_configuration_request.py +6 -6
- lusid/models/pre_trade_configuration.py +69 -0
- lusid/models/staged_modification.py +8 -1
- lusid/models/transaction_configuration_movement_data.py +2 -2
- lusid/models/transaction_configuration_movement_data_request.py +1 -1
- lusid/models/transaction_type_movement.py +2 -2
- {lusid_sdk-2.1.286.dist-info → lusid_sdk-2.1.308.dist-info}/METADATA +6 -3
- {lusid_sdk-2.1.286.dist-info → lusid_sdk-2.1.308.dist-info}/RECORD +16 -14
- {lusid_sdk-2.1.286.dist-info → lusid_sdk-2.1.308.dist-info}/WHEEL +0 -0
lusid/__init__.py
CHANGED
@@ -241,6 +241,7 @@ from lusid.models.compliance_rule_result_v2 import ComplianceRuleResultV2
|
|
241
241
|
from lusid.models.compliance_rule_template import ComplianceRuleTemplate
|
242
242
|
from lusid.models.compliance_rule_upsert_request import ComplianceRuleUpsertRequest
|
243
243
|
from lusid.models.compliance_rule_upsert_response import ComplianceRuleUpsertResponse
|
244
|
+
from lusid.models.compliance_run_configuration import ComplianceRunConfiguration
|
244
245
|
from lusid.models.compliance_run_info import ComplianceRunInfo
|
245
246
|
from lusid.models.compliance_run_info_v2 import ComplianceRunInfoV2
|
246
247
|
from lusid.models.compliance_step import ComplianceStep
|
@@ -738,6 +739,7 @@ from lusid.models.posting_module_request import PostingModuleRequest
|
|
738
739
|
from lusid.models.posting_module_response import PostingModuleResponse
|
739
740
|
from lusid.models.posting_module_rule import PostingModuleRule
|
740
741
|
from lusid.models.posting_module_rules_updated_response import PostingModuleRulesUpdatedResponse
|
742
|
+
from lusid.models.pre_trade_configuration import PreTradeConfiguration
|
741
743
|
from lusid.models.premium import Premium
|
742
744
|
from lusid.models.previous_fund_valuation_point_data import PreviousFundValuationPointData
|
743
745
|
from lusid.models.previous_nav import PreviousNAV
|
@@ -1344,6 +1346,7 @@ __all__ = [
|
|
1344
1346
|
"ComplianceRuleTemplate",
|
1345
1347
|
"ComplianceRuleUpsertRequest",
|
1346
1348
|
"ComplianceRuleUpsertResponse",
|
1349
|
+
"ComplianceRunConfiguration",
|
1347
1350
|
"ComplianceRunInfo",
|
1348
1351
|
"ComplianceRunInfoV2",
|
1349
1352
|
"ComplianceStep",
|
@@ -1841,6 +1844,7 @@ __all__ = [
|
|
1841
1844
|
"PostingModuleResponse",
|
1842
1845
|
"PostingModuleRule",
|
1843
1846
|
"PostingModuleRulesUpdatedResponse",
|
1847
|
+
"PreTradeConfiguration",
|
1844
1848
|
"Premium",
|
1845
1849
|
"PreviousFundValuationPointData",
|
1846
1850
|
"PreviousNAV",
|
lusid/api/compliance_api.py
CHANGED
@@ -29,6 +29,7 @@ from typing import Optional
|
|
29
29
|
from lusid.models.compliance_rule_response import ComplianceRuleResponse
|
30
30
|
from lusid.models.compliance_rule_result_v2 import ComplianceRuleResultV2
|
31
31
|
from lusid.models.compliance_rule_template import ComplianceRuleTemplate
|
32
|
+
from lusid.models.compliance_run_configuration import ComplianceRunConfiguration
|
32
33
|
from lusid.models.compliance_run_info_v2 import ComplianceRunInfoV2
|
33
34
|
from lusid.models.compliance_template import ComplianceTemplate
|
34
35
|
from lusid.models.create_compliance_template_request import CreateComplianceTemplateRequest
|
@@ -1964,6 +1965,196 @@ class ComplianceApi:
|
|
1964
1965
|
collection_formats=_collection_formats,
|
1965
1966
|
_request_auth=_params.get('_request_auth'))
|
1966
1967
|
|
1968
|
+
@overload
|
1969
|
+
async def run_compliance_preview(self, run_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: Scope to save the run results in.")], rule_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: Scope from which to select rules to be run.")], recipe_id_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: the scope of the recipe to be used")], recipe_id_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: The code of the recipe to be used. If left blank, the default recipe will be used.")], compliance_run_configuration : Annotated[Optional[ComplianceRunConfiguration], Field(description="Configuration options for the compliance run.")] = None, **kwargs) -> ComplianceRunInfoV2: # noqa: E501
|
1970
|
+
...
|
1971
|
+
|
1972
|
+
@overload
|
1973
|
+
def run_compliance_preview(self, run_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: Scope to save the run results in.")], rule_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: Scope from which to select rules to be run.")], recipe_id_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: the scope of the recipe to be used")], recipe_id_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: The code of the recipe to be used. If left blank, the default recipe will be used.")], compliance_run_configuration : Annotated[Optional[ComplianceRunConfiguration], Field(description="Configuration options for the compliance run.")] = None, async_req: Optional[bool]=True, **kwargs) -> ComplianceRunInfoV2: # noqa: E501
|
1974
|
+
...
|
1975
|
+
|
1976
|
+
@validate_arguments
|
1977
|
+
def run_compliance_preview(self, run_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: Scope to save the run results in.")], rule_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: Scope from which to select rules to be run.")], recipe_id_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: the scope of the recipe to be used")], recipe_id_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: The code of the recipe to be used. If left blank, the default recipe will be used.")], compliance_run_configuration : Annotated[Optional[ComplianceRunConfiguration], Field(description="Configuration options for the compliance run.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ComplianceRunInfoV2, Awaitable[ComplianceRunInfoV2]]: # noqa: E501
|
1978
|
+
"""[EARLY ACCESS] RunCompliancePreview: Run a compliance check. # noqa: E501
|
1979
|
+
|
1980
|
+
Use this endpoint to run a compliance check using rules from a specific scope. # noqa: E501
|
1981
|
+
This method makes a synchronous HTTP request by default. To make an
|
1982
|
+
asynchronous HTTP request, please pass async_req=True
|
1983
|
+
|
1984
|
+
>>> thread = api.run_compliance_preview(run_scope, rule_scope, recipe_id_scope, recipe_id_code, compliance_run_configuration, async_req=True)
|
1985
|
+
>>> result = thread.get()
|
1986
|
+
|
1987
|
+
:param run_scope: Required: Scope to save the run results in. (required)
|
1988
|
+
:type run_scope: str
|
1989
|
+
:param rule_scope: Required: Scope from which to select rules to be run. (required)
|
1990
|
+
:type rule_scope: str
|
1991
|
+
:param recipe_id_scope: Required: the scope of the recipe to be used (required)
|
1992
|
+
:type recipe_id_scope: str
|
1993
|
+
:param recipe_id_code: Required: The code of the recipe to be used. If left blank, the default recipe will be used. (required)
|
1994
|
+
:type recipe_id_code: str
|
1995
|
+
:param compliance_run_configuration: Configuration options for the compliance run.
|
1996
|
+
:type compliance_run_configuration: ComplianceRunConfiguration
|
1997
|
+
:param async_req: Whether to execute the request asynchronously.
|
1998
|
+
:type async_req: bool, optional
|
1999
|
+
:param _request_timeout: timeout setting for this request.
|
2000
|
+
If one number provided, it will be total request
|
2001
|
+
timeout. It can also be a pair (tuple) of
|
2002
|
+
(connection, read) timeouts.
|
2003
|
+
:return: Returns the result object.
|
2004
|
+
If the method is called asynchronously,
|
2005
|
+
returns the request thread.
|
2006
|
+
:rtype: ComplianceRunInfoV2
|
2007
|
+
"""
|
2008
|
+
kwargs['_return_http_data_only'] = True
|
2009
|
+
if '_preload_content' in kwargs:
|
2010
|
+
message = "Error! Please call the run_compliance_preview_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
|
2011
|
+
raise ValueError(message)
|
2012
|
+
if async_req is not None:
|
2013
|
+
kwargs['async_req'] = async_req
|
2014
|
+
return self.run_compliance_preview_with_http_info(run_scope, rule_scope, recipe_id_scope, recipe_id_code, compliance_run_configuration, **kwargs) # noqa: E501
|
2015
|
+
|
2016
|
+
@validate_arguments
|
2017
|
+
def run_compliance_preview_with_http_info(self, run_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: Scope to save the run results in.")], rule_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: Scope from which to select rules to be run.")], recipe_id_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: the scope of the recipe to be used")], recipe_id_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: The code of the recipe to be used. If left blank, the default recipe will be used.")], compliance_run_configuration : Annotated[Optional[ComplianceRunConfiguration], Field(description="Configuration options for the compliance run.")] = None, **kwargs) -> ApiResponse: # noqa: E501
|
2018
|
+
"""[EARLY ACCESS] RunCompliancePreview: Run a compliance check. # noqa: E501
|
2019
|
+
|
2020
|
+
Use this endpoint to run a compliance check using rules from a specific scope. # noqa: E501
|
2021
|
+
This method makes a synchronous HTTP request by default. To make an
|
2022
|
+
asynchronous HTTP request, please pass async_req=True
|
2023
|
+
|
2024
|
+
>>> thread = api.run_compliance_preview_with_http_info(run_scope, rule_scope, recipe_id_scope, recipe_id_code, compliance_run_configuration, async_req=True)
|
2025
|
+
>>> result = thread.get()
|
2026
|
+
|
2027
|
+
:param run_scope: Required: Scope to save the run results in. (required)
|
2028
|
+
:type run_scope: str
|
2029
|
+
:param rule_scope: Required: Scope from which to select rules to be run. (required)
|
2030
|
+
:type rule_scope: str
|
2031
|
+
:param recipe_id_scope: Required: the scope of the recipe to be used (required)
|
2032
|
+
:type recipe_id_scope: str
|
2033
|
+
:param recipe_id_code: Required: The code of the recipe to be used. If left blank, the default recipe will be used. (required)
|
2034
|
+
:type recipe_id_code: str
|
2035
|
+
:param compliance_run_configuration: Configuration options for the compliance run.
|
2036
|
+
:type compliance_run_configuration: ComplianceRunConfiguration
|
2037
|
+
:param async_req: Whether to execute the request asynchronously.
|
2038
|
+
:type async_req: bool, optional
|
2039
|
+
:param _preload_content: if False, the ApiResponse.data will
|
2040
|
+
be set to none and raw_data will store the
|
2041
|
+
HTTP response body without reading/decoding.
|
2042
|
+
Default is True.
|
2043
|
+
:type _preload_content: bool, optional
|
2044
|
+
:param _return_http_data_only: response data instead of ApiResponse
|
2045
|
+
object with status code, headers, etc
|
2046
|
+
:type _return_http_data_only: bool, optional
|
2047
|
+
:param _request_timeout: timeout setting for this request. If one
|
2048
|
+
number provided, it will be total request
|
2049
|
+
timeout. It can also be a pair (tuple) of
|
2050
|
+
(connection, read) timeouts.
|
2051
|
+
:param _request_auth: set to override the auth_settings for an a single
|
2052
|
+
request; this effectively ignores the authentication
|
2053
|
+
in the spec for a single request.
|
2054
|
+
:type _request_auth: dict, optional
|
2055
|
+
:type _content_type: string, optional: force content-type for the request
|
2056
|
+
:return: Returns the result object.
|
2057
|
+
If the method is called asynchronously,
|
2058
|
+
returns the request thread.
|
2059
|
+
:rtype: tuple(ComplianceRunInfoV2, status_code(int), headers(HTTPHeaderDict))
|
2060
|
+
"""
|
2061
|
+
|
2062
|
+
_params = locals()
|
2063
|
+
|
2064
|
+
_all_params = [
|
2065
|
+
'run_scope',
|
2066
|
+
'rule_scope',
|
2067
|
+
'recipe_id_scope',
|
2068
|
+
'recipe_id_code',
|
2069
|
+
'compliance_run_configuration'
|
2070
|
+
]
|
2071
|
+
_all_params.extend(
|
2072
|
+
[
|
2073
|
+
'async_req',
|
2074
|
+
'_return_http_data_only',
|
2075
|
+
'_preload_content',
|
2076
|
+
'_request_timeout',
|
2077
|
+
'_request_auth',
|
2078
|
+
'_content_type',
|
2079
|
+
'_headers'
|
2080
|
+
]
|
2081
|
+
)
|
2082
|
+
|
2083
|
+
# validate the arguments
|
2084
|
+
for _key, _val in _params['kwargs'].items():
|
2085
|
+
if _key not in _all_params:
|
2086
|
+
raise ApiTypeError(
|
2087
|
+
"Got an unexpected keyword argument '%s'"
|
2088
|
+
" to method run_compliance_preview" % _key
|
2089
|
+
)
|
2090
|
+
_params[_key] = _val
|
2091
|
+
del _params['kwargs']
|
2092
|
+
|
2093
|
+
_collection_formats = {}
|
2094
|
+
|
2095
|
+
# process the path parameters
|
2096
|
+
_path_params = {}
|
2097
|
+
|
2098
|
+
# process the query parameters
|
2099
|
+
_query_params = []
|
2100
|
+
if _params.get('run_scope') is not None: # noqa: E501
|
2101
|
+
_query_params.append(('runScope', _params['run_scope']))
|
2102
|
+
|
2103
|
+
if _params.get('rule_scope') is not None: # noqa: E501
|
2104
|
+
_query_params.append(('ruleScope', _params['rule_scope']))
|
2105
|
+
|
2106
|
+
if _params.get('recipe_id_scope') is not None: # noqa: E501
|
2107
|
+
_query_params.append(('recipeIdScope', _params['recipe_id_scope']))
|
2108
|
+
|
2109
|
+
if _params.get('recipe_id_code') is not None: # noqa: E501
|
2110
|
+
_query_params.append(('recipeIdCode', _params['recipe_id_code']))
|
2111
|
+
|
2112
|
+
# process the header parameters
|
2113
|
+
_header_params = dict(_params.get('_headers', {}))
|
2114
|
+
# process the form parameters
|
2115
|
+
_form_params = []
|
2116
|
+
_files = {}
|
2117
|
+
# process the body parameter
|
2118
|
+
_body_params = None
|
2119
|
+
if _params['compliance_run_configuration'] is not None:
|
2120
|
+
_body_params = _params['compliance_run_configuration']
|
2121
|
+
|
2122
|
+
# set the HTTP header `Accept`
|
2123
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
2124
|
+
['text/plain', 'application/json', 'text/json']) # noqa: E501
|
2125
|
+
|
2126
|
+
# set the HTTP header `Content-Type`
|
2127
|
+
_content_types_list = _params.get('_content_type',
|
2128
|
+
self.api_client.select_header_content_type(
|
2129
|
+
['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
|
2130
|
+
if _content_types_list:
|
2131
|
+
_header_params['Content-Type'] = _content_types_list
|
2132
|
+
|
2133
|
+
# authentication setting
|
2134
|
+
_auth_settings = ['oauth2'] # noqa: E501
|
2135
|
+
|
2136
|
+
_response_types_map = {
|
2137
|
+
'200': "ComplianceRunInfoV2",
|
2138
|
+
'400': "LusidValidationProblemDetails",
|
2139
|
+
}
|
2140
|
+
|
2141
|
+
return self.api_client.call_api(
|
2142
|
+
'/api/compliance/preview/runs', 'POST',
|
2143
|
+
_path_params,
|
2144
|
+
_query_params,
|
2145
|
+
_header_params,
|
2146
|
+
body=_body_params,
|
2147
|
+
post_params=_form_params,
|
2148
|
+
files=_files,
|
2149
|
+
response_types_map=_response_types_map,
|
2150
|
+
auth_settings=_auth_settings,
|
2151
|
+
async_req=_params.get('async_req'),
|
2152
|
+
_return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
|
2153
|
+
_preload_content=_params.get('_preload_content', True),
|
2154
|
+
_request_timeout=_params.get('_request_timeout'),
|
2155
|
+
collection_formats=_collection_formats,
|
2156
|
+
_request_auth=_params.get('_request_auth'))
|
2157
|
+
|
1967
2158
|
@overload
|
1968
2159
|
async def update_compliance_template(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Compliance Rule Template.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Compliance Rule Template.")], update_compliance_template_request : Annotated[UpdateComplianceTemplateRequest, Field(..., description="Request to update a compliance rule template.")], **kwargs) -> ComplianceRuleTemplate: # noqa: E501
|
1969
2160
|
...
|
lusid/api/scopes_api.py
CHANGED
@@ -20,7 +20,9 @@ from pydantic.v1 import validate_arguments, ValidationError
|
|
20
20
|
from typing import overload, Optional, Union, Awaitable
|
21
21
|
|
22
22
|
from typing_extensions import Annotated
|
23
|
-
from
|
23
|
+
from datetime import datetime
|
24
|
+
|
25
|
+
from pydantic.v1 import Field, conint, constr, validator
|
24
26
|
|
25
27
|
from typing import Optional
|
26
28
|
|
@@ -47,26 +49,32 @@ class ScopesApi:
|
|
47
49
|
self.api_client = api_client
|
48
50
|
|
49
51
|
@overload
|
50
|
-
async def list_entity_scopes(self, entity_type : Annotated[constr(strict=True, max_length=100, min_length=0), Field(..., description="The entity type to list scopes for.")], **kwargs) -> ResourceListOfScopeDefinition: # noqa: E501
|
52
|
+
async def list_entity_scopes(self, entity_type : Annotated[constr(strict=True, max_length=100, min_length=0), Field(..., description="The entity type to list scopes for.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve scopes. Defaults to latest datetime if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing scopes from a previous call to list scopes. This value is returned from the previous call. If a pagination token is provided, the limit and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this number. Defaults to 100 if not specified.")] = None, **kwargs) -> ResourceListOfScopeDefinition: # noqa: E501
|
51
53
|
...
|
52
54
|
|
53
55
|
@overload
|
54
|
-
def list_entity_scopes(self, entity_type : Annotated[constr(strict=True, max_length=100, min_length=0), Field(..., description="The entity type to list scopes for.")], async_req: Optional[bool]=True, **kwargs) -> ResourceListOfScopeDefinition: # noqa: E501
|
56
|
+
def list_entity_scopes(self, entity_type : Annotated[constr(strict=True, max_length=100, min_length=0), Field(..., description="The entity type to list scopes for.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve scopes. Defaults to latest datetime if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing scopes from a previous call to list scopes. This value is returned from the previous call. If a pagination token is provided, the limit and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this number. Defaults to 100 if not specified.")] = None, async_req: Optional[bool]=True, **kwargs) -> ResourceListOfScopeDefinition: # noqa: E501
|
55
57
|
...
|
56
58
|
|
57
59
|
@validate_arguments
|
58
|
-
def list_entity_scopes(self, entity_type : Annotated[constr(strict=True, max_length=100, min_length=0), Field(..., description="The entity type to list scopes for.")], async_req: Optional[bool]=None, **kwargs) -> Union[ResourceListOfScopeDefinition, Awaitable[ResourceListOfScopeDefinition]]: # noqa: E501
|
60
|
+
def list_entity_scopes(self, entity_type : Annotated[constr(strict=True, max_length=100, min_length=0), Field(..., description="The entity type to list scopes for.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve scopes. Defaults to latest datetime if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing scopes from a previous call to list scopes. This value is returned from the previous call. If a pagination token is provided, the limit and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this number. Defaults to 100 if not specified.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ResourceListOfScopeDefinition, Awaitable[ResourceListOfScopeDefinition]]: # noqa: E501
|
59
61
|
"""ListEntityScopes: List Entity Scopes # noqa: E501
|
60
62
|
|
61
63
|
List all the scopes for a given entity type that contain data. # noqa: E501
|
62
64
|
This method makes a synchronous HTTP request by default. To make an
|
63
65
|
asynchronous HTTP request, please pass async_req=True
|
64
66
|
|
65
|
-
>>> thread = api.list_entity_scopes(entity_type, async_req=True)
|
67
|
+
>>> thread = api.list_entity_scopes(entity_type, as_at, page, limit, async_req=True)
|
66
68
|
>>> result = thread.get()
|
67
69
|
|
68
70
|
:param entity_type: The entity type to list scopes for. (required)
|
69
71
|
:type entity_type: str
|
72
|
+
:param as_at: The asAt datetime at which to retrieve scopes. Defaults to latest datetime if not specified.
|
73
|
+
:type as_at: datetime
|
74
|
+
:param page: The pagination token to use to continue listing scopes from a previous call to list scopes. This value is returned from the previous call. If a pagination token is provided, the limit and asAt fields must not have changed since the original request.
|
75
|
+
:type page: str
|
76
|
+
:param limit: When paginating, limit the number of returned results to this number. Defaults to 100 if not specified.
|
77
|
+
:type limit: int
|
70
78
|
:param async_req: Whether to execute the request asynchronously.
|
71
79
|
:type async_req: bool, optional
|
72
80
|
:param _request_timeout: timeout setting for this request.
|
@@ -84,21 +92,27 @@ class ScopesApi:
|
|
84
92
|
raise ValueError(message)
|
85
93
|
if async_req is not None:
|
86
94
|
kwargs['async_req'] = async_req
|
87
|
-
return self.list_entity_scopes_with_http_info(entity_type, **kwargs) # noqa: E501
|
95
|
+
return self.list_entity_scopes_with_http_info(entity_type, as_at, page, limit, **kwargs) # noqa: E501
|
88
96
|
|
89
97
|
@validate_arguments
|
90
|
-
def list_entity_scopes_with_http_info(self, entity_type : Annotated[constr(strict=True, max_length=100, min_length=0), Field(..., description="The entity type to list scopes for.")], **kwargs) -> ApiResponse: # noqa: E501
|
98
|
+
def list_entity_scopes_with_http_info(self, entity_type : Annotated[constr(strict=True, max_length=100, min_length=0), Field(..., description="The entity type to list scopes for.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve scopes. Defaults to latest datetime if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing scopes from a previous call to list scopes. This value is returned from the previous call. If a pagination token is provided, the limit and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this number. Defaults to 100 if not specified.")] = None, **kwargs) -> ApiResponse: # noqa: E501
|
91
99
|
"""ListEntityScopes: List Entity Scopes # noqa: E501
|
92
100
|
|
93
101
|
List all the scopes for a given entity type that contain data. # noqa: E501
|
94
102
|
This method makes a synchronous HTTP request by default. To make an
|
95
103
|
asynchronous HTTP request, please pass async_req=True
|
96
104
|
|
97
|
-
>>> thread = api.list_entity_scopes_with_http_info(entity_type, async_req=True)
|
105
|
+
>>> thread = api.list_entity_scopes_with_http_info(entity_type, as_at, page, limit, async_req=True)
|
98
106
|
>>> result = thread.get()
|
99
107
|
|
100
108
|
:param entity_type: The entity type to list scopes for. (required)
|
101
109
|
:type entity_type: str
|
110
|
+
:param as_at: The asAt datetime at which to retrieve scopes. Defaults to latest datetime if not specified.
|
111
|
+
:type as_at: datetime
|
112
|
+
:param page: The pagination token to use to continue listing scopes from a previous call to list scopes. This value is returned from the previous call. If a pagination token is provided, the limit and asAt fields must not have changed since the original request.
|
113
|
+
:type page: str
|
114
|
+
:param limit: When paginating, limit the number of returned results to this number. Defaults to 100 if not specified.
|
115
|
+
:type limit: int
|
102
116
|
:param async_req: Whether to execute the request asynchronously.
|
103
117
|
:type async_req: bool, optional
|
104
118
|
:param _preload_content: if False, the ApiResponse.data will
|
@@ -127,7 +141,10 @@ class ScopesApi:
|
|
127
141
|
_params = locals()
|
128
142
|
|
129
143
|
_all_params = [
|
130
|
-
'entity_type'
|
144
|
+
'entity_type',
|
145
|
+
'as_at',
|
146
|
+
'page',
|
147
|
+
'limit'
|
131
148
|
]
|
132
149
|
_all_params.extend(
|
133
150
|
[
|
@@ -161,6 +178,18 @@ class ScopesApi:
|
|
161
178
|
|
162
179
|
# process the query parameters
|
163
180
|
_query_params = []
|
181
|
+
if _params.get('as_at') is not None: # noqa: E501
|
182
|
+
if isinstance(_params['as_at'], datetime):
|
183
|
+
_query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
|
184
|
+
else:
|
185
|
+
_query_params.append(('asAt', _params['as_at']))
|
186
|
+
|
187
|
+
if _params.get('page') is not None: # noqa: E501
|
188
|
+
_query_params.append(('page', _params['page']))
|
189
|
+
|
190
|
+
if _params.get('limit') is not None: # noqa: E501
|
191
|
+
_query_params.append(('limit', _params['limit']))
|
192
|
+
|
164
193
|
# process the header parameters
|
165
194
|
_header_params = dict(_params.get('_headers', {}))
|
166
195
|
# 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.6739\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
@@ -162,6 +162,7 @@ from lusid.models.compliance_rule_result_v2 import ComplianceRuleResultV2
|
|
162
162
|
from lusid.models.compliance_rule_template import ComplianceRuleTemplate
|
163
163
|
from lusid.models.compliance_rule_upsert_request import ComplianceRuleUpsertRequest
|
164
164
|
from lusid.models.compliance_rule_upsert_response import ComplianceRuleUpsertResponse
|
165
|
+
from lusid.models.compliance_run_configuration import ComplianceRunConfiguration
|
165
166
|
from lusid.models.compliance_run_info import ComplianceRunInfo
|
166
167
|
from lusid.models.compliance_run_info_v2 import ComplianceRunInfoV2
|
167
168
|
from lusid.models.compliance_step import ComplianceStep
|
@@ -659,6 +660,7 @@ from lusid.models.posting_module_request import PostingModuleRequest
|
|
659
660
|
from lusid.models.posting_module_response import PostingModuleResponse
|
660
661
|
from lusid.models.posting_module_rule import PostingModuleRule
|
661
662
|
from lusid.models.posting_module_rules_updated_response import PostingModuleRulesUpdatedResponse
|
663
|
+
from lusid.models.pre_trade_configuration import PreTradeConfiguration
|
662
664
|
from lusid.models.premium import Premium
|
663
665
|
from lusid.models.previous_fund_valuation_point_data import PreviousFundValuationPointData
|
664
666
|
from lusid.models.previous_nav import PreviousNAV
|
@@ -1187,6 +1189,7 @@ __all__ = [
|
|
1187
1189
|
"ComplianceRuleTemplate",
|
1188
1190
|
"ComplianceRuleUpsertRequest",
|
1189
1191
|
"ComplianceRuleUpsertResponse",
|
1192
|
+
"ComplianceRunConfiguration",
|
1190
1193
|
"ComplianceRunInfo",
|
1191
1194
|
"ComplianceRunInfoV2",
|
1192
1195
|
"ComplianceStep",
|
@@ -1684,6 +1687,7 @@ __all__ = [
|
|
1684
1687
|
"PostingModuleResponse",
|
1685
1688
|
"PostingModuleRule",
|
1686
1689
|
"PostingModuleRulesUpdatedResponse",
|
1690
|
+
"PreTradeConfiguration",
|
1687
1691
|
"Premium",
|
1688
1692
|
"PreviousFundValuationPointData",
|
1689
1693
|
"PreviousNAV",
|
@@ -0,0 +1,73 @@
|
|
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
|
22
|
+
from pydantic.v1 import BaseModel, Field
|
23
|
+
from lusid.models.pre_trade_configuration import PreTradeConfiguration
|
24
|
+
|
25
|
+
class ComplianceRunConfiguration(BaseModel):
|
26
|
+
"""
|
27
|
+
Specification object for the configuration parameters of a compliance run # noqa: E501
|
28
|
+
"""
|
29
|
+
pre_trade_configuration: PreTradeConfiguration = Field(..., alias="preTradeConfiguration")
|
30
|
+
__properties = ["preTradeConfiguration"]
|
31
|
+
|
32
|
+
class Config:
|
33
|
+
"""Pydantic configuration"""
|
34
|
+
allow_population_by_field_name = True
|
35
|
+
validate_assignment = True
|
36
|
+
|
37
|
+
def to_str(self) -> str:
|
38
|
+
"""Returns the string representation of the model using alias"""
|
39
|
+
return pprint.pformat(self.dict(by_alias=True))
|
40
|
+
|
41
|
+
def to_json(self) -> str:
|
42
|
+
"""Returns the JSON representation of the model using alias"""
|
43
|
+
return json.dumps(self.to_dict())
|
44
|
+
|
45
|
+
@classmethod
|
46
|
+
def from_json(cls, json_str: str) -> ComplianceRunConfiguration:
|
47
|
+
"""Create an instance of ComplianceRunConfiguration from a JSON string"""
|
48
|
+
return cls.from_dict(json.loads(json_str))
|
49
|
+
|
50
|
+
def to_dict(self):
|
51
|
+
"""Returns the dictionary representation of the model using alias"""
|
52
|
+
_dict = self.dict(by_alias=True,
|
53
|
+
exclude={
|
54
|
+
},
|
55
|
+
exclude_none=True)
|
56
|
+
# override the default output from pydantic by calling `to_dict()` of pre_trade_configuration
|
57
|
+
if self.pre_trade_configuration:
|
58
|
+
_dict['preTradeConfiguration'] = self.pre_trade_configuration.to_dict()
|
59
|
+
return _dict
|
60
|
+
|
61
|
+
@classmethod
|
62
|
+
def from_dict(cls, obj: dict) -> ComplianceRunConfiguration:
|
63
|
+
"""Create an instance of ComplianceRunConfiguration from a dict"""
|
64
|
+
if obj is None:
|
65
|
+
return None
|
66
|
+
|
67
|
+
if not isinstance(obj, dict):
|
68
|
+
return ComplianceRunConfiguration.parse_obj(obj)
|
69
|
+
|
70
|
+
_obj = ComplianceRunConfiguration.parse_obj({
|
71
|
+
"pre_trade_configuration": PreTradeConfiguration.from_dict(obj.get("preTradeConfiguration")) if obj.get("preTradeConfiguration") is not None else None
|
72
|
+
})
|
73
|
+
return _obj
|
@@ -35,12 +35,12 @@ class FundConfiguration(BaseModel):
|
|
35
35
|
display_name: Optional[StrictStr] = Field(None, alias="displayName", description="The name of the FundConfiguration.")
|
36
36
|
description: Optional[StrictStr] = Field(None, description="A description for the FundConfiguration.")
|
37
37
|
dealing_rule: Optional[ComponentRule] = Field(None, alias="dealingRule")
|
38
|
-
|
38
|
+
fund_pnl_rule: Optional[ComponentRule] = Field(None, alias="fundPnlRule")
|
39
39
|
back_out_rule: Optional[ComponentRule] = Field(None, alias="backOutRule")
|
40
40
|
properties: Optional[Dict[str, ModelProperty]] = Field(None, description="A set of properties for the Fund Configuration.")
|
41
41
|
version: Optional[Version] = None
|
42
42
|
links: Optional[conlist(Link)] = None
|
43
|
-
__properties = ["href", "id", "displayName", "description", "dealingRule", "
|
43
|
+
__properties = ["href", "id", "displayName", "description", "dealingRule", "fundPnlRule", "backOutRule", "properties", "version", "links"]
|
44
44
|
|
45
45
|
class Config:
|
46
46
|
"""Pydantic configuration"""
|
@@ -72,9 +72,9 @@ class FundConfiguration(BaseModel):
|
|
72
72
|
# override the default output from pydantic by calling `to_dict()` of dealing_rule
|
73
73
|
if self.dealing_rule:
|
74
74
|
_dict['dealingRule'] = self.dealing_rule.to_dict()
|
75
|
-
# override the default output from pydantic by calling `to_dict()` of
|
76
|
-
if self.
|
77
|
-
_dict['
|
75
|
+
# override the default output from pydantic by calling `to_dict()` of fund_pnl_rule
|
76
|
+
if self.fund_pnl_rule:
|
77
|
+
_dict['fundPnlRule'] = self.fund_pnl_rule.to_dict()
|
78
78
|
# override the default output from pydantic by calling `to_dict()` of back_out_rule
|
79
79
|
if self.back_out_rule:
|
80
80
|
_dict['backOutRule'] = self.back_out_rule.to_dict()
|
@@ -137,7 +137,7 @@ class FundConfiguration(BaseModel):
|
|
137
137
|
"display_name": obj.get("displayName"),
|
138
138
|
"description": obj.get("description"),
|
139
139
|
"dealing_rule": ComponentRule.from_dict(obj.get("dealingRule")) if obj.get("dealingRule") is not None else None,
|
140
|
-
"
|
140
|
+
"fund_pnl_rule": ComponentRule.from_dict(obj.get("fundPnlRule")) if obj.get("fundPnlRule") is not None else None,
|
141
141
|
"back_out_rule": ComponentRule.from_dict(obj.get("backOutRule")) if obj.get("backOutRule") is not None else None,
|
142
142
|
"properties": dict(
|
143
143
|
(_k, ModelProperty.from_dict(_v))
|
@@ -31,10 +31,10 @@ class FundConfigurationRequest(BaseModel):
|
|
31
31
|
display_name: Optional[constr(strict=True, max_length=256, min_length=1)] = Field(None, alias="displayName", description="The name of the Fund.")
|
32
32
|
description: Optional[constr(strict=True, max_length=1024, min_length=0)] = Field(None, description="A description for the Fund.")
|
33
33
|
dealing_rule: ComponentRule = Field(..., alias="dealingRule")
|
34
|
-
|
34
|
+
fund_pnl_rule: ComponentRule = Field(..., alias="fundPnlRule")
|
35
35
|
back_out_rule: ComponentRule = Field(..., alias="backOutRule")
|
36
36
|
properties: Optional[Dict[str, ModelProperty]] = Field(None, description="A set of properties for the Fund Configuration.")
|
37
|
-
__properties = ["code", "displayName", "description", "dealingRule", "
|
37
|
+
__properties = ["code", "displayName", "description", "dealingRule", "fundPnlRule", "backOutRule", "properties"]
|
38
38
|
|
39
39
|
@validator('code')
|
40
40
|
def code_validate_regular_expression(cls, value):
|
@@ -80,9 +80,9 @@ class FundConfigurationRequest(BaseModel):
|
|
80
80
|
# override the default output from pydantic by calling `to_dict()` of dealing_rule
|
81
81
|
if self.dealing_rule:
|
82
82
|
_dict['dealingRule'] = self.dealing_rule.to_dict()
|
83
|
-
# override the default output from pydantic by calling `to_dict()` of
|
84
|
-
if self.
|
85
|
-
_dict['
|
83
|
+
# override the default output from pydantic by calling `to_dict()` of fund_pnl_rule
|
84
|
+
if self.fund_pnl_rule:
|
85
|
+
_dict['fundPnlRule'] = self.fund_pnl_rule.to_dict()
|
86
86
|
# override the default output from pydantic by calling `to_dict()` of back_out_rule
|
87
87
|
if self.back_out_rule:
|
88
88
|
_dict['backOutRule'] = self.back_out_rule.to_dict()
|
@@ -124,7 +124,7 @@ class FundConfigurationRequest(BaseModel):
|
|
124
124
|
"display_name": obj.get("displayName"),
|
125
125
|
"description": obj.get("description"),
|
126
126
|
"dealing_rule": ComponentRule.from_dict(obj.get("dealingRule")) if obj.get("dealingRule") is not None else None,
|
127
|
-
"
|
127
|
+
"fund_pnl_rule": ComponentRule.from_dict(obj.get("fundPnlRule")) if obj.get("fundPnlRule") is not None else None,
|
128
128
|
"back_out_rule": ComponentRule.from_dict(obj.get("backOutRule")) if obj.get("backOutRule") is not None else None,
|
129
129
|
"properties": dict(
|
130
130
|
(_k, ModelProperty.from_dict(_v))
|
@@ -0,0 +1,69 @@
|
|
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
|
22
|
+
from pydantic.v1 import BaseModel, Field, constr
|
23
|
+
|
24
|
+
class PreTradeConfiguration(BaseModel):
|
25
|
+
"""
|
26
|
+
Specification object for the pre trade configuration parameters of a compliance run # noqa: E501
|
27
|
+
"""
|
28
|
+
include_entity_types: constr(strict=True, min_length=1) = Field(..., alias="includeEntityTypes", description="Controls whether Orders and Allocations orders are included in the Portfolio valuation done for this compliance run. Valid values are: None (to account for Transactions only), Allocations (to include Allocations and Transactions) and OrdersAndAllocations (to include Orders, Allocations and Transactions).")
|
29
|
+
__properties = ["includeEntityTypes"]
|
30
|
+
|
31
|
+
class Config:
|
32
|
+
"""Pydantic configuration"""
|
33
|
+
allow_population_by_field_name = True
|
34
|
+
validate_assignment = True
|
35
|
+
|
36
|
+
def to_str(self) -> str:
|
37
|
+
"""Returns the string representation of the model using alias"""
|
38
|
+
return pprint.pformat(self.dict(by_alias=True))
|
39
|
+
|
40
|
+
def to_json(self) -> str:
|
41
|
+
"""Returns the JSON representation of the model using alias"""
|
42
|
+
return json.dumps(self.to_dict())
|
43
|
+
|
44
|
+
@classmethod
|
45
|
+
def from_json(cls, json_str: str) -> PreTradeConfiguration:
|
46
|
+
"""Create an instance of PreTradeConfiguration from a JSON string"""
|
47
|
+
return cls.from_dict(json.loads(json_str))
|
48
|
+
|
49
|
+
def to_dict(self):
|
50
|
+
"""Returns the dictionary representation of the model using alias"""
|
51
|
+
_dict = self.dict(by_alias=True,
|
52
|
+
exclude={
|
53
|
+
},
|
54
|
+
exclude_none=True)
|
55
|
+
return _dict
|
56
|
+
|
57
|
+
@classmethod
|
58
|
+
def from_dict(cls, obj: dict) -> PreTradeConfiguration:
|
59
|
+
"""Create an instance of PreTradeConfiguration from a dict"""
|
60
|
+
if obj is None:
|
61
|
+
return None
|
62
|
+
|
63
|
+
if not isinstance(obj, dict):
|
64
|
+
return PreTradeConfiguration.parse_obj(obj)
|
65
|
+
|
66
|
+
_obj = PreTradeConfiguration.parse_obj({
|
67
|
+
"include_entity_types": obj.get("includeEntityTypes")
|
68
|
+
})
|
69
|
+
return _obj
|
@@ -44,8 +44,9 @@ class StagedModification(BaseModel):
|
|
44
44
|
entity_unique_id: Optional[StrictStr] = Field(None, alias="entityUniqueId", description="The unique Id of the entity the staged modification applies to.")
|
45
45
|
requested_changes: Optional[RequestedChanges] = Field(None, alias="requestedChanges")
|
46
46
|
entity_hrefs: Optional[StagedModificationsEntityHrefs] = Field(None, alias="entityHrefs")
|
47
|
+
display_name: Optional[StrictStr] = Field(None, alias="displayName", description="The display name of the entity the staged modification applies to.")
|
47
48
|
links: Optional[conlist(Link)] = None
|
48
|
-
__properties = ["id", "asAtStaged", "userIdStaged", "requestedIdStaged", "action", "stagingRule", "decisions", "decisionsCount", "status", "entityType", "scope", "entityUniqueId", "requestedChanges", "entityHrefs", "links"]
|
49
|
+
__properties = ["id", "asAtStaged", "userIdStaged", "requestedIdStaged", "action", "stagingRule", "decisions", "decisionsCount", "status", "entityType", "scope", "entityUniqueId", "requestedChanges", "entityHrefs", "displayName", "links"]
|
49
50
|
|
50
51
|
class Config:
|
51
52
|
"""Pydantic configuration"""
|
@@ -139,6 +140,11 @@ class StagedModification(BaseModel):
|
|
139
140
|
if self.entity_unique_id is None and "entity_unique_id" in self.__fields_set__:
|
140
141
|
_dict['entityUniqueId'] = None
|
141
142
|
|
143
|
+
# set to None if display_name (nullable) is None
|
144
|
+
# and __fields_set__ contains the field
|
145
|
+
if self.display_name is None and "display_name" in self.__fields_set__:
|
146
|
+
_dict['displayName'] = None
|
147
|
+
|
142
148
|
# set to None if links (nullable) is None
|
143
149
|
# and __fields_set__ contains the field
|
144
150
|
if self.links is None and "links" in self.__fields_set__:
|
@@ -170,6 +176,7 @@ class StagedModification(BaseModel):
|
|
170
176
|
"entity_unique_id": obj.get("entityUniqueId"),
|
171
177
|
"requested_changes": RequestedChanges.from_dict(obj.get("requestedChanges")) if obj.get("requestedChanges") is not None else None,
|
172
178
|
"entity_hrefs": StagedModificationsEntityHrefs.from_dict(obj.get("entityHrefs")) if obj.get("entityHrefs") is not None else None,
|
179
|
+
"display_name": obj.get("displayName"),
|
173
180
|
"links": [Link.from_dict(_item) for _item in obj.get("links")] if obj.get("links") is not None else None
|
174
181
|
})
|
175
182
|
return _obj
|
@@ -27,13 +27,13 @@ class TransactionConfigurationMovementData(BaseModel):
|
|
27
27
|
"""
|
28
28
|
TransactionConfigurationMovementData
|
29
29
|
"""
|
30
|
-
movement_types: StrictStr = Field(..., alias="movementTypes", description=". The available values are: Settlement, Traded, StockMovement, FutureCash, Commitment, Receivable, CashSettlement, CashForward, CashCommitment, CashReceivable, Accrual, CashAccrual, ForwardFx, CashFxForward, UnsettledCashTypes, Carry, CarryAsPnl, VariationMargin, Capital, Fee")
|
30
|
+
movement_types: StrictStr = Field(..., alias="movementTypes", 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, UnsettledCashTypes, Carry, CarryAsPnl, VariationMargin, Capital, Fee. The available values are: Settlement, Traded, StockMovement, FutureCash, Commitment, Receivable, CashSettlement, CashForward, CashCommitment, CashReceivable, Accrual, CashAccrual, ForwardFx, CashFxForward, UnsettledCashTypes, Carry, CarryAsPnl, VariationMargin, Capital, Fee")
|
31
31
|
side: constr(strict=True, min_length=1) = Field(..., description="The Side determines which of the fields from our transaction are used to generate the Movement. Side1 means the 'security' side of the transaction, ie the Instrument and Units; Side2 means the 'cash' side, ie the Total Consideration")
|
32
32
|
direction: StrictInt = Field(..., 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")
|
33
33
|
properties: Optional[Dict[str, PerpetualProperty]] = Field(None, description="The properties associated with the underlying Movement")
|
34
34
|
mappings: Optional[conlist(TransactionPropertyMapping)] = Field(None, description="This allows you to map a transaction property to a property on the underlying holding")
|
35
35
|
name: Optional[StrictStr] = Field(None, description="The movement name (optional)")
|
36
|
-
movement_options: Optional[conlist(StrictStr)] = Field(None, alias="movementOptions", description="Allows extra specifications for the movement. The options currently available are 'DirectAdjustment' and '
|
36
|
+
movement_options: Optional[conlist(StrictStr)] = Field(None, alias="movementOptions", description="Allows extra specifications for the movement. The options currently available are 'DirectAdjustment', 'IncludesTradedInterest' and 'Virtual' (works only with the movement type 'StockMovement'). A movement type of 'StockMovement' with an option of 'DirectAdjusment' will allow you to adjust the units of a holding without affecting its cost base. You will, therefore, be able to reflect the impact of a stock split by loading a Transaction.")
|
37
37
|
__properties = ["movementTypes", "side", "direction", "properties", "mappings", "name", "movementOptions"]
|
38
38
|
|
39
39
|
@validator('movement_types')
|
@@ -33,7 +33,7 @@ class TransactionConfigurationMovementDataRequest(BaseModel):
|
|
33
33
|
properties: Optional[Dict[str, PerpetualProperty]] = Field(None, description="The properties associated with the underlying Movement.")
|
34
34
|
mappings: Optional[conlist(TransactionPropertyMappingRequest)] = Field(None, description="This allows you to map a transaction property to a property on the underlying holding.")
|
35
35
|
name: Optional[StrictStr] = Field(None, description="The movement name (optional)")
|
36
|
-
movement_options: Optional[conlist(StrictStr)] = Field(None, alias="movementOptions", description="Allows extra specifications for the movement. The options currently available are 'DirectAdjustment' and '
|
36
|
+
movement_options: Optional[conlist(StrictStr)] = Field(None, alias="movementOptions", description="Allows extra specifications for the movement. The options currently available are 'DirectAdjustment', 'IncludesTradedInterest' and 'Virtual' (works only with the movement type 'StockMovement'). A movement type of 'StockMovement' with an option of 'DirectAdjusment' will allow you to adjust the units of a holding without affecting its cost base. You will, therefore, be able to reflect the impact of a stock split by loading a Transaction.")
|
37
37
|
__properties = ["movementTypes", "side", "direction", "properties", "mappings", "name", "movementOptions"]
|
38
38
|
|
39
39
|
@validator('movement_types')
|
@@ -27,13 +27,13 @@ class TransactionTypeMovement(BaseModel):
|
|
27
27
|
"""
|
28
28
|
TransactionTypeMovement
|
29
29
|
"""
|
30
|
-
movement_types: constr(strict=True, min_length=1) = Field(..., alias="movementTypes", description="Movement types determine the impact of the movement on the holdings")
|
30
|
+
movement_types: constr(strict=True, min_length=1) = Field(..., alias="movementTypes", 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, UnsettledCashTypes, Carry, CarryAsPnl, VariationMargin, Capital, Fee.")
|
31
31
|
side: constr(strict=True, max_length=64, min_length=1) = Field(..., description="The Side determines which of the fields from our transaction are used to generate the Movement. Side1 means the 'security' side of the transaction, ie the Instrument and Units; Side2 means the 'cash' side, ie the Total Consideration")
|
32
32
|
direction: StrictInt = Field(..., 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")
|
33
33
|
properties: Optional[Dict[str, PerpetualProperty]] = Field(None, description="The properties associated with the underlying Movement")
|
34
34
|
mappings: Optional[conlist(TransactionTypePropertyMapping, max_items=5000)] = Field(None, description="This allows you to map a transaction property to a property on the underlying holding")
|
35
35
|
name: Optional[constr(strict=True, max_length=512, min_length=1)] = Field(None, description="The movement name (optional)")
|
36
|
-
movement_options: Optional[conlist(StrictStr)] = Field(None, alias="movementOptions", description="Allows extra specifications for the movement. The options currently available are 'DirectAdjustment' and '
|
36
|
+
movement_options: Optional[conlist(StrictStr)] = Field(None, alias="movementOptions", description="Allows extra specifications for the movement. The options currently available are 'DirectAdjustment', 'IncludesTradedInterest' and 'Virtual' (works only with the movement type 'StockMovement'). A movement type of 'StockMovement' with an option of 'DirectAdjusment' will allow you to adjust the units of a holding without affecting its cost base. You will, therefore, be able to reflect the impact of a stock split by loading a Transaction.")
|
37
37
|
settlement_date_override: Optional[StrictStr] = Field(None, alias="settlementDateOverride", description="Optional property key that must be in the Transaction domain when specified. When the movement is processed and the transaction has this property set to a valid date, then the property value will override the SettlementDate of the transaction.")
|
38
38
|
condition: Optional[constr(strict=True, max_length=16384, min_length=0)] = Field(None, description="The condition that the transaction must satisfy to generate the movement, such as: Portfolio.BaseCurrency eq 'GBP'. The condition can contain fields and properties from transactions and portfolios. If no condition is provided, the movement will apply for all transactions of this type.")
|
39
39
|
__properties = ["movementTypes", "side", "direction", "properties", "mappings", "name", "movementOptions", "settlementDateOverride", "condition"]
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: lusid-sdk
|
3
|
-
Version: 2.1.
|
3
|
+
Version: 2.1.308
|
4
4
|
Summary: LUSID API
|
5
5
|
Home-page: https://github.com/finbourne/lusid-sdk-python
|
6
6
|
License: MIT
|
@@ -29,8 +29,8 @@ FINBOURNE Technology
|
|
29
29
|
|
30
30
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
31
31
|
|
32
|
-
- API version: 0.11.
|
33
|
-
- Package version: 2.1.
|
32
|
+
- API version: 0.11.6739
|
33
|
+
- Package version: 2.1.308
|
34
34
|
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
|
35
35
|
For more information, please visit [https://www.finbourne.com](https://www.finbourne.com)
|
36
36
|
|
@@ -318,6 +318,7 @@ Class | Method | HTTP request | Description
|
|
318
318
|
*ComplianceApi* | [**list_compliance_runs**](docs/ComplianceApi.md#list_compliance_runs) | **GET** /api/compliance/runs | [EARLY ACCESS] ListComplianceRuns: List historical compliance run identifiers.
|
319
319
|
*ComplianceApi* | [**list_compliance_templates**](docs/ComplianceApi.md#list_compliance_templates) | **GET** /api/compliance/templates | [EARLY ACCESS] ListComplianceTemplates: List compliance templates.
|
320
320
|
*ComplianceApi* | [**run_compliance**](docs/ComplianceApi.md#run_compliance) | **POST** /api/compliance/runs | [EARLY ACCESS] RunCompliance: Run a compliance check.
|
321
|
+
*ComplianceApi* | [**run_compliance_preview**](docs/ComplianceApi.md#run_compliance_preview) | **POST** /api/compliance/preview/runs | [EARLY ACCESS] RunCompliancePreview: Run a compliance check.
|
321
322
|
*ComplianceApi* | [**update_compliance_template**](docs/ComplianceApi.md#update_compliance_template) | **PUT** /api/compliance/templates/{scope}/{code} | [EARLY ACCESS] UpdateComplianceTemplate: Update a ComplianceRuleTemplate
|
322
323
|
*ComplianceApi* | [**upsert_compliance_rule**](docs/ComplianceApi.md#upsert_compliance_rule) | **POST** /api/compliance/rules | [EARLY ACCESS] UpsertComplianceRule: Upsert a compliance rule.
|
323
324
|
*ComplianceApi* | [**upsert_compliance_run_summary**](docs/ComplianceApi.md#upsert_compliance_run_summary) | **POST** /api/compliance/runs/summary | [EARLY ACCESS] UpsertComplianceRunSummary: Upsert a compliance run summary.
|
@@ -906,6 +907,7 @@ Class | Method | HTTP request | Description
|
|
906
907
|
- [ComplianceRuleTemplate](docs/ComplianceRuleTemplate.md)
|
907
908
|
- [ComplianceRuleUpsertRequest](docs/ComplianceRuleUpsertRequest.md)
|
908
909
|
- [ComplianceRuleUpsertResponse](docs/ComplianceRuleUpsertResponse.md)
|
910
|
+
- [ComplianceRunConfiguration](docs/ComplianceRunConfiguration.md)
|
909
911
|
- [ComplianceRunInfo](docs/ComplianceRunInfo.md)
|
910
912
|
- [ComplianceRunInfoV2](docs/ComplianceRunInfoV2.md)
|
911
913
|
- [ComplianceStep](docs/ComplianceStep.md)
|
@@ -1403,6 +1405,7 @@ Class | Method | HTTP request | Description
|
|
1403
1405
|
- [PostingModuleResponse](docs/PostingModuleResponse.md)
|
1404
1406
|
- [PostingModuleRule](docs/PostingModuleRule.md)
|
1405
1407
|
- [PostingModuleRulesUpdatedResponse](docs/PostingModuleRulesUpdatedResponse.md)
|
1408
|
+
- [PreTradeConfiguration](docs/PreTradeConfiguration.md)
|
1406
1409
|
- [Premium](docs/Premium.md)
|
1407
1410
|
- [PreviousFundValuationPointData](docs/PreviousFundValuationPointData.md)
|
1408
1411
|
- [PreviousNAV](docs/PreviousNAV.md)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
lusid/__init__.py,sha256=
|
1
|
+
lusid/__init__.py,sha256=DK7MQXQVc3LyFRUWNVJcJ6zM6-F-G3yoZK9wRipZWdY,113615
|
2
2
|
lusid/api/__init__.py,sha256=EuHJI-4kmmibn1IVmY9akKMT-R1Bnth9msFll5hlBGY,5652
|
3
3
|
lusid/api/abor_api.py,sha256=AvgsHuWE7qRSYJhKveBE2htSjHpqqS0VNJrysAfwME0,159655
|
4
4
|
lusid/api/abor_configuration_api.py,sha256=G2bKPtMYOZ2GhUrg-nPJtCa9XIZdZYK7oafcbJWDMP8,64033
|
@@ -11,7 +11,7 @@ lusid/api/blocks_api.py,sha256=Gpm_8fKo6xRVmpN_1kkpUrrZp7RgL-cuWUkXCz88koI,43529
|
|
11
11
|
lusid/api/calendars_api.py,sha256=tpLX1Tazzy-_HlFpnFxqwluJPWTzCWQzF_cP8xxZ-rk,126864
|
12
12
|
lusid/api/chart_of_accounts_api.py,sha256=FhElAjmMguluXl8D-LZkEbrdYvxcpCVhhUlQcng4xSs,386384
|
13
13
|
lusid/api/complex_market_data_api.py,sha256=51XMZq9VzRXOLJxxyqTor5Jbjm-64AeURDB78RQseSI,48558
|
14
|
-
lusid/api/compliance_api.py,sha256=
|
14
|
+
lusid/api/compliance_api.py,sha256=emRbgGqr0Eevwts8WWTDdc9NMkg6LaocMNlAzad5_B8,153085
|
15
15
|
lusid/api/configuration_recipe_api.py,sha256=FxqzoH-8_iIxi84Nq3yMJO1ueNX8cATg-h9SMwvg2Zc,101713
|
16
16
|
lusid/api/conventions_api.py,sha256=EFDtbR8rhb3sFkuNAh7r8ND0Mqj3BXf_54zYaUeMBiA,106475
|
17
17
|
lusid/api/corporate_action_sources_api.py,sha256=zsB_oU6OmxQCRAa8tHxvrc_nLDYM1sqsXQt7GoAATv0,102152
|
@@ -53,7 +53,7 @@ lusid/api/relations_api.py,sha256=ka5L0sQkPNLiQS8vXhcOk0EYkJu2LIuqInmLGnoZSLA,22
|
|
53
53
|
lusid/api/relationship_definitions_api.py,sha256=30MXQITMjIYXdedMRYH7lrj-rPhkIhhJN-yfB_rWAtU,54693
|
54
54
|
lusid/api/relationships_api.py,sha256=CkqKKRKJm39FJXIKUgMa6py12fq1HN1iLC8v9MIBf_8,19956
|
55
55
|
lusid/api/schemas_api.py,sha256=RrFrHu6dNw060nLQ6kpWa-eRPBlv8prk-ldGi04mgEU,30928
|
56
|
-
lusid/api/scopes_api.py,sha256=
|
56
|
+
lusid/api/scopes_api.py,sha256=RZQAp2jCrG_uwd9wccrvmXs5ekoIie7WdfzARBwXRR0,21317
|
57
57
|
lusid/api/scripted_translation_api.py,sha256=jOeKhCjDpq3M1FU9mAH-2sbW_O3NhVuirKPtJrDbEgo,84048
|
58
58
|
lusid/api/search_api.py,sha256=Y6wgyv5H6EDEICDYERU_jXdAFmr0GPEe8r2BnM0KzXI,58533
|
59
59
|
lusid/api/sequences_api.py,sha256=NUACzaG_zcloEMFwuIxI2c2MiQNmkBULUq7qeNvZ0GQ,37460
|
@@ -68,7 +68,7 @@ lusid/api/transaction_portfolios_api.py,sha256=7G5m6iTQXTKCc6ASdxnlVJjvFascHxEgD
|
|
68
68
|
lusid/api/translation_api.py,sha256=xTAaKEW96JTDIZBXCjxSguCa7Gz4oVd5jdObUE2egwo,20092
|
69
69
|
lusid/api_client.py,sha256=dF6l9RAsdxdQjf6Qn4ny6LB-QXlJmsscWiozCvyyBFA,30709
|
70
70
|
lusid/api_response.py,sha256=6-gnhty6lu8MMAERt3_kTVD7UxQgWFfcjgpcq6iN5IU,855
|
71
|
-
lusid/configuration.py,sha256=
|
71
|
+
lusid/configuration.py,sha256=QzrEjTcALmtWMm6T8UFgG9n-BEJAEluQ5jISLxkQA1Q,14404
|
72
72
|
lusid/exceptions.py,sha256=HIQwgmQrszLlcVCLaqex8dO0laVuejUyOMz7U2ZWJ6s,5326
|
73
73
|
lusid/extensions/__init__.py,sha256=dzDHEzpn-9smd2-_UMWQzeyX6Ha4jGf6fnqx7qxKxNI,630
|
74
74
|
lusid/extensions/api_client.py,sha256=Ob06urm4Em3MLzgP_geyeeGsPCkU225msW_1kpIeABM,30567
|
@@ -82,7 +82,7 @@ lusid/extensions/rest.py,sha256=tjVCu-cRrYcjp-ttB975vebPKtBNyBWaeoAdO3QXG2I,1269
|
|
82
82
|
lusid/extensions/retry.py,sha256=orBJ1uF1iT1IncjWX1iGHVqsCgTh0SBe9rtiV_sPnwk,11564
|
83
83
|
lusid/extensions/socket_keep_alive.py,sha256=NGlqsv-E25IjJOLGZhXZY6kUdx51nEF8qCQyVdzayRk,1653
|
84
84
|
lusid/extensions/tcp_keep_alive_connector.py,sha256=zaGtUsygRsxB1_4B3x39K3ILwztdhMLDv5bFZV7zmGE,3877
|
85
|
-
lusid/models/__init__.py,sha256=
|
85
|
+
lusid/models/__init__.py,sha256=g0_5oFHveza3kSXyQDwbIEbZeofj6FbyGgPctzg3Sow,106931
|
86
86
|
lusid/models/a2_b_breakdown.py,sha256=Txi12EIQw3mH6NM-25QkOnHSQc3BVAWrP7yl9bZswSY,2947
|
87
87
|
lusid/models/a2_b_category.py,sha256=k6NPAACi0CUjKyhdQac4obQSrPmp2PXD6lkAtCnyEFM,2725
|
88
88
|
lusid/models/a2_b_data_record.py,sha256=zKGS2P4fzNpzdcGJiSIpkY4P3d_jAcawYfyuPCDeQgk,9737
|
@@ -231,6 +231,7 @@ lusid/models/compliance_rule_result_v2.py,sha256=LjNimUWqoOQR7np1_WGtLxG92lUOb4p
|
|
231
231
|
lusid/models/compliance_rule_template.py,sha256=3Bp2MCRKIWY4RBxsfAfwGtjt5JlFLllDQ11yeQglEBI,6358
|
232
232
|
lusid/models/compliance_rule_upsert_request.py,sha256=xBJDzaTMJsoUltHJ3_qbBwGff5BH6R877MHepb01p8M,7163
|
233
233
|
lusid/models/compliance_rule_upsert_response.py,sha256=XMXmAkYSvIBvV8w12TjvhIkCBNBtCzYA3OQ64zN7lJw,2503
|
234
|
+
lusid/models/compliance_run_configuration.py,sha256=8rP4EyJcv7fKrFPuvAD7JezkC7XqZR4siqUwMaAyxsM,2456
|
234
235
|
lusid/models/compliance_run_info.py,sha256=8wPXKyXzX3Mu2UFZd84qI2c9Wl7nG2ihcFuU2k-UPpE,3437
|
235
236
|
lusid/models/compliance_run_info_v2.py,sha256=z6OnjF92yy5bqqfJg3r4qJ7RgH_t7FIGBZJ8lMpX518,2703
|
236
237
|
lusid/models/compliance_step.py,sha256=gnrckVEVPWDFYQDQs_4s7k1SWiAUvemXzwew0h2uzZU,3943
|
@@ -413,9 +414,9 @@ lusid/models/forward_rate_agreement.py,sha256=PrTWedcDD8Zr3c7_Z6UrDMKwVtwAFtq5yW
|
|
413
414
|
lusid/models/from_recipe.py,sha256=paSou6poZf5CHkswKhZXc8jXmVcxj7s7kJXRw4ucbfQ,2261
|
414
415
|
lusid/models/fund.py,sha256=4FENDtVBRDI59lTQ_LdffuIYIPGj7C-LUkL0Wtzn0cc,8958
|
415
416
|
lusid/models/fund_amount.py,sha256=F298PikXvooYgorqtdWwwOmSclzxqNfu6Q1BUK5Yt_E,1879
|
416
|
-
lusid/models/fund_configuration.py,sha256=
|
417
|
+
lusid/models/fund_configuration.py,sha256=LjXCL02_v9d2MlAFq_a2lHZPMwCTLQKHszt0yHSk5y0,6659
|
417
418
|
lusid/models/fund_configuration_properties.py,sha256=hqKaBSMkSYC5UcWxkgDos41GYnm__6-Q23Z6SDsBgM4,4373
|
418
|
-
lusid/models/fund_configuration_request.py,sha256=
|
419
|
+
lusid/models/fund_configuration_request.py,sha256=pE74oPYKgMuNVGANRIqUV5I4j47VMQc7swDHIHFScNo,5681
|
419
420
|
lusid/models/fund_previous_nav.py,sha256=Vd6qd-nvikHAMjutM1QSYA4xYGWz45NGyLyg2v8pAsE,1930
|
420
421
|
lusid/models/fund_properties.py,sha256=f2PxknZIPrfAXR1MHSJxO1sdj_wNJfmulzYYEqdCByA,4242
|
421
422
|
lusid/models/fund_request.py,sha256=fBU3prGytCvKWfAzP0gHj4VUANarueKwB7r9evPoIEI,8345
|
@@ -728,6 +729,7 @@ lusid/models/posting_module_request.py,sha256=x6aq23t1GtSpg60mAe3gXTRBjgIkOVqUp4
|
|
728
729
|
lusid/models/posting_module_response.py,sha256=HPPZHdC6hVr5F6ZHaZUW6s095XnCPDA_IamSkTaOMjQ,6104
|
729
730
|
lusid/models/posting_module_rule.py,sha256=ts9EcdU97sCixCMSmZQuYTT1hkRm-sU_-wYK5FRVb8E,4632
|
730
731
|
lusid/models/posting_module_rules_updated_response.py,sha256=qGQSPvvIjNJJr-F9YOXkQAEXYlsflzcaxMNzOX1tF3k,4288
|
732
|
+
lusid/models/pre_trade_configuration.py,sha256=OjyrngvMxxnF3Qf_a-YCF2Pe8URzV87s0WC3PsxcBVo,2371
|
731
733
|
lusid/models/premium.py,sha256=R2eYbrUmKAmxdWdmWGuUqg78Hm07y1iVBW7IRu4C92I,2200
|
732
734
|
lusid/models/previous_fund_valuation_point_data.py,sha256=4uzpfU2DKzh_Rk5VufpsDNcxM_wT1vSBY-J53OLXFAA,2676
|
733
735
|
lusid/models/previous_nav.py,sha256=C9Iqas6Z2GeiuW7Wwm7E0dSxax0pUWpMk-rD7B1YxFY,2102
|
@@ -925,7 +927,7 @@ lusid/models/simple_cash_flow_loan.py,sha256=9iHHvivjXERGxq5TlRj48zHzDmpjka83V11
|
|
925
927
|
lusid/models/simple_instrument.py,sha256=Cerk4RI9xGwP59xF19u0ar6JVMqHcEqC9mAysPCIlps,6849
|
926
928
|
lusid/models/sort_order.py,sha256=tx9hNHkrcdw2gQkSLTGQ-JED7cqZoFJ60abVdqkD-GM,644
|
927
929
|
lusid/models/spin_off_event.py,sha256=g-Xm433_Few87wFC_nG0FtCjCFQbk4rUn7fHCFugUzI,8534
|
928
|
-
lusid/models/staged_modification.py,sha256=
|
930
|
+
lusid/models/staged_modification.py,sha256=SMPrCbKed3JZ8Sv5qOzdCY_S41tA37PcO5jv2QZ7ij8,9179
|
929
931
|
lusid/models/staged_modification_decision.py,sha256=IUIpOwYjk41vLP_nMWDzZgI354cCtM9L6Yrf-K_DP4s,3544
|
930
932
|
lusid/models/staged_modification_decision_request.py,sha256=6PlH7coUQUIJe1-2GcwpatO3tpcqHIBelpgrd_BZ8qQ,2257
|
931
933
|
lusid/models/staged_modification_effective_range.py,sha256=G9oChBwQ_358d41tVDab-j1dGqOwiaRj_wDSDJYcsIU,2256
|
@@ -961,8 +963,8 @@ lusid/models/trade_ticket_type.py,sha256=j7f2bfiA_cxaFtjZpT3Natl4BoaGAaEXF6E0ltE
|
|
961
963
|
lusid/models/transaction.py,sha256=s_t93axEEHXHIFkmTCqeWWbJ0b2IuaP465yBvQGtK2w,11577
|
962
964
|
lusid/models/transaction_configuration_data.py,sha256=BSHXnMn6TWaubn2zTxPvbRUOsRtGYb0N4sDNUcf1SaY,4318
|
963
965
|
lusid/models/transaction_configuration_data_request.py,sha256=mypVKRfltmkG5NEUGqDDyBYdIir3S1nkYzGL8BwHWgo,4398
|
964
|
-
lusid/models/transaction_configuration_movement_data.py,sha256=
|
965
|
-
lusid/models/transaction_configuration_movement_data_request.py,sha256=
|
966
|
+
lusid/models/transaction_configuration_movement_data.py,sha256=ofaJZQOHloSpT4Y09Sgw-JtQq3RWNwkBl-JLMGg_yYo,7418
|
967
|
+
lusid/models/transaction_configuration_movement_data_request.py,sha256=Dw52ClN9G_Tln13YQuzW7DOP7mfpuFQ3h2E8F-HCVQ8,6713
|
966
968
|
lusid/models/transaction_configuration_type_alias.py,sha256=YXhlJeoClTMcY0KmAfqGGV6mkYQFP2YF6B4PXOLjQt0,4750
|
967
969
|
lusid/models/transaction_currency_and_amount.py,sha256=us7dfLcpX_55r_K3EjDeTha0k2NTDl0FkkWg9LhX6Lo,2524
|
968
970
|
lusid/models/transaction_field_map.py,sha256=hhb6KeyDpqY-8AFeI7sFIVk0PLqOR5qrQPyriX1njJ8,4591
|
@@ -987,7 +989,7 @@ lusid/models/transaction_template_specification.py,sha256=dggD7J8ZSUTznJddC_Sn65
|
|
987
989
|
lusid/models/transaction_type.py,sha256=zcWUQPVY5JKEOzNWQls7TjTiKOB7QVY8iFh1zgJXYUc,5765
|
988
990
|
lusid/models/transaction_type_alias.py,sha256=xL9k8kjgAcEPe5sfK8asHscvz7gLcAa6pC_eGgVvXlY,3532
|
989
991
|
lusid/models/transaction_type_calculation.py,sha256=Re4rt0IuLxo1hgjDz-VyIgQhVat6w7Fh-DwUF19nYYs,2846
|
990
|
-
lusid/models/transaction_type_movement.py,sha256=
|
992
|
+
lusid/models/transaction_type_movement.py,sha256=eG4MQrMi0P_ihxOcfsqPAnkYuOmwbho9xQDoAJWH2ro,8695
|
991
993
|
lusid/models/transaction_type_property_mapping.py,sha256=2fmP3IJH-44GXE5-jt4Fd55xQscWTrEa76yjQJIUs_4,3249
|
992
994
|
lusid/models/transaction_type_request.py,sha256=tuoF4_cUe0KLjF4FN_un_wGtraNfJAXoNrfudvA0zIc,5121
|
993
995
|
lusid/models/transactions_reconciliations_response.py,sha256=ogcMW8W4vgIDqEdggwJDA0tH-SInrqIFCLved7SZ-VM,3083
|
@@ -1107,6 +1109,6 @@ lusid/models/weighted_instruments.py,sha256=1y_y_vw4-LPsbkQx4FOzWdZc5fJnzhVkf1D3
|
|
1107
1109
|
lusid/models/yield_curve_data.py,sha256=SbxvdJ4-GWK9kpMdw4Fnxc7_kvIMwgsRsd_31UJn7nw,6330
|
1108
1110
|
lusid/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1109
1111
|
lusid/rest.py,sha256=TNUzQ3yLNT2L053EdR7R0vNzQh2J3TlYD1T56Dye0W0,10138
|
1110
|
-
lusid_sdk-2.1.
|
1111
|
-
lusid_sdk-2.1.
|
1112
|
-
lusid_sdk-2.1.
|
1112
|
+
lusid_sdk-2.1.308.dist-info/METADATA,sha256=EXKwonmIUM9d0IrFY74n29REAcKLJc-7b1Hgup3gRoA,193452
|
1113
|
+
lusid_sdk-2.1.308.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
1114
|
+
lusid_sdk-2.1.308.dist-info/RECORD,,
|
File without changes
|