lusid-sdk 2.1.745__py3-none-any.whl → 2.1.746__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 +16 -0
- lusid/api/complex_market_data_api.py +188 -0
- lusid/configuration.py +1 -1
- lusid/models/__init__.py +16 -0
- lusid/models/append_complex_market_data_request.py +87 -0
- lusid/models/append_fx_forward_curve_by_quote_reference.py +101 -0
- lusid/models/append_fx_forward_curve_data.py +101 -0
- lusid/models/append_fx_forward_pips_curve_data.py +101 -0
- lusid/models/append_fx_forward_tenor_curve_data.py +101 -0
- lusid/models/append_fx_forward_tenor_pips_curve_data.py +101 -0
- lusid/models/append_market_data.py +105 -0
- lusid/models/append_market_data_type.py +41 -0
- {lusid_sdk-2.1.745.dist-info → lusid_sdk-2.1.746.dist-info}/METADATA +10 -1
- {lusid_sdk-2.1.745.dist-info → lusid_sdk-2.1.746.dist-info}/RECORD +15 -7
- {lusid_sdk-2.1.745.dist-info → lusid_sdk-2.1.746.dist-info}/WHEEL +0 -0
lusid/__init__.py
CHANGED
@@ -159,6 +159,14 @@ from lusid.models.amount import Amount
|
|
159
159
|
from lusid.models.annul_quotes_response import AnnulQuotesResponse
|
160
160
|
from lusid.models.annul_single_structured_data_response import AnnulSingleStructuredDataResponse
|
161
161
|
from lusid.models.annul_structured_data_response import AnnulStructuredDataResponse
|
162
|
+
from lusid.models.append_complex_market_data_request import AppendComplexMarketDataRequest
|
163
|
+
from lusid.models.append_fx_forward_curve_by_quote_reference import AppendFxForwardCurveByQuoteReference
|
164
|
+
from lusid.models.append_fx_forward_curve_data import AppendFxForwardCurveData
|
165
|
+
from lusid.models.append_fx_forward_pips_curve_data import AppendFxForwardPipsCurveData
|
166
|
+
from lusid.models.append_fx_forward_tenor_curve_data import AppendFxForwardTenorCurveData
|
167
|
+
from lusid.models.append_fx_forward_tenor_pips_curve_data import AppendFxForwardTenorPipsCurveData
|
168
|
+
from lusid.models.append_market_data import AppendMarketData
|
169
|
+
from lusid.models.append_market_data_type import AppendMarketDataType
|
162
170
|
from lusid.models.applicable_instrument_event import ApplicableInstrumentEvent
|
163
171
|
from lusid.models.asset_class import AssetClass
|
164
172
|
from lusid.models.asset_leg import AssetLeg
|
@@ -1439,6 +1447,14 @@ __all__ = [
|
|
1439
1447
|
"AnnulQuotesResponse",
|
1440
1448
|
"AnnulSingleStructuredDataResponse",
|
1441
1449
|
"AnnulStructuredDataResponse",
|
1450
|
+
"AppendComplexMarketDataRequest",
|
1451
|
+
"AppendFxForwardCurveByQuoteReference",
|
1452
|
+
"AppendFxForwardCurveData",
|
1453
|
+
"AppendFxForwardPipsCurveData",
|
1454
|
+
"AppendFxForwardTenorCurveData",
|
1455
|
+
"AppendFxForwardTenorPipsCurveData",
|
1456
|
+
"AppendMarketData",
|
1457
|
+
"AppendMarketDataType",
|
1442
1458
|
"ApplicableInstrumentEvent",
|
1443
1459
|
"AssetClass",
|
1444
1460
|
"AssetLeg",
|
@@ -27,10 +27,12 @@ from pydantic.v1 import Field, StrictStr, constr, validator
|
|
27
27
|
from typing import Dict, Optional
|
28
28
|
|
29
29
|
from lusid.models.annul_structured_data_response import AnnulStructuredDataResponse
|
30
|
+
from lusid.models.append_complex_market_data_request import AppendComplexMarketDataRequest
|
30
31
|
from lusid.models.complex_market_data_id import ComplexMarketDataId
|
31
32
|
from lusid.models.get_complex_market_data_response import GetComplexMarketDataResponse
|
32
33
|
from lusid.models.resource_list_of_list_complex_market_data_with_meta_data_response import ResourceListOfListComplexMarketDataWithMetaDataResponse
|
33
34
|
from lusid.models.upsert_complex_market_data_request import UpsertComplexMarketDataRequest
|
35
|
+
from lusid.models.upsert_single_structured_data_response import UpsertSingleStructuredDataResponse
|
34
36
|
from lusid.models.upsert_structured_data_response import UpsertStructuredDataResponse
|
35
37
|
|
36
38
|
from lusid.api_client import ApiClient
|
@@ -575,6 +577,192 @@ class ComplexMarketDataApi:
|
|
575
577
|
_request_auth=_params.get('_request_auth'))
|
576
578
|
|
577
579
|
|
580
|
+
@overload
|
581
|
+
async def upsert_append_complex_market_data(self, scope : Annotated[StrictStr, Field(..., description="The scope of the complex market data to append.")], append_complex_market_data_request : Annotated[AppendComplexMarketDataRequest, Field(..., description="Request definition of the point to append.")], effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime at which to retrieve the complex market data. Defaults to the current LUSID system datetime if not specified. Must match the effectiveAt of the ComplexMarketDataId given in the request body.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the complex market data. Defaults to return the latest version if not specified.")] = None, **kwargs) -> UpsertSingleStructuredDataResponse: # noqa: E501
|
582
|
+
...
|
583
|
+
|
584
|
+
@overload
|
585
|
+
def upsert_append_complex_market_data(self, scope : Annotated[StrictStr, Field(..., description="The scope of the complex market data to append.")], append_complex_market_data_request : Annotated[AppendComplexMarketDataRequest, Field(..., description="Request definition of the point to append.")], effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime at which to retrieve the complex market data. Defaults to the current LUSID system datetime if not specified. Must match the effectiveAt of the ComplexMarketDataId given in the request body.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the complex market data. Defaults to return the latest version if not specified.")] = None, async_req: Optional[bool]=True, **kwargs) -> UpsertSingleStructuredDataResponse: # noqa: E501
|
586
|
+
...
|
587
|
+
|
588
|
+
@validate_arguments
|
589
|
+
def upsert_append_complex_market_data(self, scope : Annotated[StrictStr, Field(..., description="The scope of the complex market data to append.")], append_complex_market_data_request : Annotated[AppendComplexMarketDataRequest, Field(..., description="Request definition of the point to append.")], effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime at which to retrieve the complex market data. Defaults to the current LUSID system datetime if not specified. Must match the effectiveAt of the ComplexMarketDataId given in the request body.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the complex market data. Defaults to return the latest version if not specified.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[UpsertSingleStructuredDataResponse, Awaitable[UpsertSingleStructuredDataResponse]]: # noqa: E501
|
590
|
+
"""[EARLY ACCESS] UpsertAppendComplexMarketData: Appends a new point to the end of a ComplexMarketData definition. # noqa: E501
|
591
|
+
|
592
|
+
Update a complex market data item in a single scope by appending a new point onto the end. NOTE: This operation is only supported for FX curves with one of the following data types: FxForwardCurveByQuoteReference, FxForwardCurveData, FxForwardPipsCurveData, FxForwardTenorCurveData, FxForwardTenorPipsCurveData # noqa: E501
|
593
|
+
This method makes a synchronous HTTP request by default. To make an
|
594
|
+
asynchronous HTTP request, please pass async_req=True
|
595
|
+
|
596
|
+
>>> thread = api.upsert_append_complex_market_data(scope, append_complex_market_data_request, effective_at, as_at, async_req=True)
|
597
|
+
>>> result = thread.get()
|
598
|
+
|
599
|
+
:param scope: The scope of the complex market data to append. (required)
|
600
|
+
:type scope: str
|
601
|
+
:param append_complex_market_data_request: Request definition of the point to append. (required)
|
602
|
+
:type append_complex_market_data_request: AppendComplexMarketDataRequest
|
603
|
+
:param effective_at: The effective datetime at which to retrieve the complex market data. Defaults to the current LUSID system datetime if not specified. Must match the effectiveAt of the ComplexMarketDataId given in the request body.
|
604
|
+
:type effective_at: str
|
605
|
+
:param as_at: The asAt datetime at which to retrieve the complex market data. Defaults to return the latest version if not specified.
|
606
|
+
:type as_at: datetime
|
607
|
+
:param async_req: Whether to execute the request asynchronously.
|
608
|
+
:type async_req: bool, optional
|
609
|
+
:param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
|
610
|
+
:param opts: Configuration options for this request
|
611
|
+
:type opts: ConfigurationOptions, optional
|
612
|
+
:return: Returns the result object.
|
613
|
+
If the method is called asynchronously,
|
614
|
+
returns the request thread.
|
615
|
+
:rtype: UpsertSingleStructuredDataResponse
|
616
|
+
"""
|
617
|
+
kwargs['_return_http_data_only'] = True
|
618
|
+
if '_preload_content' in kwargs:
|
619
|
+
message = "Error! Please call the upsert_append_complex_market_data_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
|
620
|
+
raise ValueError(message)
|
621
|
+
if async_req is not None:
|
622
|
+
kwargs['async_req'] = async_req
|
623
|
+
return self.upsert_append_complex_market_data_with_http_info(scope, append_complex_market_data_request, effective_at, as_at, **kwargs) # noqa: E501
|
624
|
+
|
625
|
+
@validate_arguments
|
626
|
+
def upsert_append_complex_market_data_with_http_info(self, scope : Annotated[StrictStr, Field(..., description="The scope of the complex market data to append.")], append_complex_market_data_request : Annotated[AppendComplexMarketDataRequest, Field(..., description="Request definition of the point to append.")], effective_at : Annotated[Optional[StrictStr], Field( description="The effective datetime at which to retrieve the complex market data. Defaults to the current LUSID system datetime if not specified. Must match the effectiveAt of the ComplexMarketDataId given in the request body.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the complex market data. Defaults to return the latest version if not specified.")] = None, **kwargs) -> ApiResponse: # noqa: E501
|
627
|
+
"""[EARLY ACCESS] UpsertAppendComplexMarketData: Appends a new point to the end of a ComplexMarketData definition. # noqa: E501
|
628
|
+
|
629
|
+
Update a complex market data item in a single scope by appending a new point onto the end. NOTE: This operation is only supported for FX curves with one of the following data types: FxForwardCurveByQuoteReference, FxForwardCurveData, FxForwardPipsCurveData, FxForwardTenorCurveData, FxForwardTenorPipsCurveData # noqa: E501
|
630
|
+
This method makes a synchronous HTTP request by default. To make an
|
631
|
+
asynchronous HTTP request, please pass async_req=True
|
632
|
+
|
633
|
+
>>> thread = api.upsert_append_complex_market_data_with_http_info(scope, append_complex_market_data_request, effective_at, as_at, async_req=True)
|
634
|
+
>>> result = thread.get()
|
635
|
+
|
636
|
+
:param scope: The scope of the complex market data to append. (required)
|
637
|
+
:type scope: str
|
638
|
+
:param append_complex_market_data_request: Request definition of the point to append. (required)
|
639
|
+
:type append_complex_market_data_request: AppendComplexMarketDataRequest
|
640
|
+
:param effective_at: The effective datetime at which to retrieve the complex market data. Defaults to the current LUSID system datetime if not specified. Must match the effectiveAt of the ComplexMarketDataId given in the request body.
|
641
|
+
:type effective_at: str
|
642
|
+
:param as_at: The asAt datetime at which to retrieve the complex market data. Defaults to return the latest version if not specified.
|
643
|
+
:type as_at: datetime
|
644
|
+
:param async_req: Whether to execute the request asynchronously.
|
645
|
+
:type async_req: bool, optional
|
646
|
+
:param _preload_content: if False, the ApiResponse.data will
|
647
|
+
be set to none and raw_data will store the
|
648
|
+
HTTP response body without reading/decoding.
|
649
|
+
Default is True.
|
650
|
+
:type _preload_content: bool, optional
|
651
|
+
:param _return_http_data_only: response data instead of ApiResponse
|
652
|
+
object with status code, headers, etc
|
653
|
+
:type _return_http_data_only: bool, optional
|
654
|
+
:param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
|
655
|
+
:param opts: Configuration options for this request
|
656
|
+
:type opts: ConfigurationOptions, optional
|
657
|
+
:param _request_auth: set to override the auth_settings for an a single
|
658
|
+
request; this effectively ignores the authentication
|
659
|
+
in the spec for a single request.
|
660
|
+
:type _request_auth: dict, optional
|
661
|
+
:type _content_type: string, optional: force content-type for the request
|
662
|
+
:return: Returns the result object.
|
663
|
+
If the method is called asynchronously,
|
664
|
+
returns the request thread.
|
665
|
+
:rtype: tuple(UpsertSingleStructuredDataResponse, status_code(int), headers(HTTPHeaderDict))
|
666
|
+
"""
|
667
|
+
|
668
|
+
_params = locals()
|
669
|
+
|
670
|
+
_all_params = [
|
671
|
+
'scope',
|
672
|
+
'append_complex_market_data_request',
|
673
|
+
'effective_at',
|
674
|
+
'as_at'
|
675
|
+
]
|
676
|
+
_all_params.extend(
|
677
|
+
[
|
678
|
+
'async_req',
|
679
|
+
'_return_http_data_only',
|
680
|
+
'_preload_content',
|
681
|
+
'_request_timeout',
|
682
|
+
'_request_auth',
|
683
|
+
'_content_type',
|
684
|
+
'_headers',
|
685
|
+
'opts'
|
686
|
+
]
|
687
|
+
)
|
688
|
+
|
689
|
+
# validate the arguments
|
690
|
+
for _key, _val in _params['kwargs'].items():
|
691
|
+
if _key not in _all_params:
|
692
|
+
raise ApiTypeError(
|
693
|
+
"Got an unexpected keyword argument '%s'"
|
694
|
+
" to method upsert_append_complex_market_data" % _key
|
695
|
+
)
|
696
|
+
_params[_key] = _val
|
697
|
+
del _params['kwargs']
|
698
|
+
|
699
|
+
_collection_formats = {}
|
700
|
+
|
701
|
+
# process the path parameters
|
702
|
+
_path_params = {}
|
703
|
+
if _params['scope']:
|
704
|
+
_path_params['scope'] = _params['scope']
|
705
|
+
|
706
|
+
|
707
|
+
# process the query parameters
|
708
|
+
_query_params = []
|
709
|
+
if _params.get('effective_at') is not None: # noqa: E501
|
710
|
+
_query_params.append(('effectiveAt', _params['effective_at']))
|
711
|
+
|
712
|
+
if _params.get('as_at') is not None: # noqa: E501
|
713
|
+
if isinstance(_params['as_at'], datetime):
|
714
|
+
_query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
|
715
|
+
else:
|
716
|
+
_query_params.append(('asAt', _params['as_at']))
|
717
|
+
|
718
|
+
# process the header parameters
|
719
|
+
_header_params = dict(_params.get('_headers', {}))
|
720
|
+
# process the form parameters
|
721
|
+
_form_params = []
|
722
|
+
_files = {}
|
723
|
+
# process the body parameter
|
724
|
+
_body_params = None
|
725
|
+
if _params['append_complex_market_data_request'] is not None:
|
726
|
+
_body_params = _params['append_complex_market_data_request']
|
727
|
+
|
728
|
+
# set the HTTP header `Accept`
|
729
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
730
|
+
['text/plain', 'application/json', 'text/json']) # noqa: E501
|
731
|
+
|
732
|
+
# set the HTTP header `Content-Type`
|
733
|
+
_content_types_list = _params.get('_content_type',
|
734
|
+
self.api_client.select_header_content_type(
|
735
|
+
['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
|
736
|
+
if _content_types_list:
|
737
|
+
_header_params['Content-Type'] = _content_types_list
|
738
|
+
|
739
|
+
# authentication setting
|
740
|
+
_auth_settings = ['oauth2'] # noqa: E501
|
741
|
+
|
742
|
+
_response_types_map = {
|
743
|
+
'200': "UpsertSingleStructuredDataResponse",
|
744
|
+
'400': "LusidValidationProblemDetails",
|
745
|
+
}
|
746
|
+
|
747
|
+
return self.api_client.call_api(
|
748
|
+
'/api/complexmarketdata/{scope}/$append', 'POST',
|
749
|
+
_path_params,
|
750
|
+
_query_params,
|
751
|
+
_header_params,
|
752
|
+
body=_body_params,
|
753
|
+
post_params=_form_params,
|
754
|
+
files=_files,
|
755
|
+
response_types_map=_response_types_map,
|
756
|
+
auth_settings=_auth_settings,
|
757
|
+
async_req=_params.get('async_req'),
|
758
|
+
_return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
|
759
|
+
_preload_content=_params.get('_preload_content', True),
|
760
|
+
_request_timeout=_params.get('_request_timeout'),
|
761
|
+
opts=_params.get('opts'),
|
762
|
+
collection_formats=_collection_formats,
|
763
|
+
_request_auth=_params.get('_request_auth'))
|
764
|
+
|
765
|
+
|
578
766
|
@overload
|
579
767
|
async def upsert_complex_market_data(self, scope : Annotated[StrictStr, Field(..., description="The scope to use when updating or inserting the complex market data.")], request_body : Annotated[Dict[str, UpsertComplexMarketDataRequest], Field(..., description="The set of complex market data items to update or insert keyed by a unique correlation id.")], **kwargs) -> UpsertStructuredDataResponse: # noqa: E501
|
580
768
|
...
|
lusid/configuration.py
CHANGED
@@ -445,7 +445,7 @@ class Configuration:
|
|
445
445
|
return "Python SDK Debug Report:\n"\
|
446
446
|
"OS: {env}\n"\
|
447
447
|
"Python Version: {pyversion}\n"\
|
448
|
-
"Version of the API: 0.11.
|
448
|
+
"Version of the API: 0.11.7557\n"\
|
449
449
|
"SDK Package Version: {package_version}".\
|
450
450
|
format(env=sys.platform, pyversion=sys.version, package_version=package_version)
|
451
451
|
|
lusid/models/__init__.py
CHANGED
@@ -74,6 +74,14 @@ from lusid.models.amount import Amount
|
|
74
74
|
from lusid.models.annul_quotes_response import AnnulQuotesResponse
|
75
75
|
from lusid.models.annul_single_structured_data_response import AnnulSingleStructuredDataResponse
|
76
76
|
from lusid.models.annul_structured_data_response import AnnulStructuredDataResponse
|
77
|
+
from lusid.models.append_complex_market_data_request import AppendComplexMarketDataRequest
|
78
|
+
from lusid.models.append_fx_forward_curve_by_quote_reference import AppendFxForwardCurveByQuoteReference
|
79
|
+
from lusid.models.append_fx_forward_curve_data import AppendFxForwardCurveData
|
80
|
+
from lusid.models.append_fx_forward_pips_curve_data import AppendFxForwardPipsCurveData
|
81
|
+
from lusid.models.append_fx_forward_tenor_curve_data import AppendFxForwardTenorCurveData
|
82
|
+
from lusid.models.append_fx_forward_tenor_pips_curve_data import AppendFxForwardTenorPipsCurveData
|
83
|
+
from lusid.models.append_market_data import AppendMarketData
|
84
|
+
from lusid.models.append_market_data_type import AppendMarketDataType
|
77
85
|
from lusid.models.applicable_instrument_event import ApplicableInstrumentEvent
|
78
86
|
from lusid.models.asset_class import AssetClass
|
79
87
|
from lusid.models.asset_leg import AssetLeg
|
@@ -1270,6 +1278,14 @@ __all__ = [
|
|
1270
1278
|
"AnnulQuotesResponse",
|
1271
1279
|
"AnnulSingleStructuredDataResponse",
|
1272
1280
|
"AnnulStructuredDataResponse",
|
1281
|
+
"AppendComplexMarketDataRequest",
|
1282
|
+
"AppendFxForwardCurveByQuoteReference",
|
1283
|
+
"AppendFxForwardCurveData",
|
1284
|
+
"AppendFxForwardPipsCurveData",
|
1285
|
+
"AppendFxForwardTenorCurveData",
|
1286
|
+
"AppendFxForwardTenorPipsCurveData",
|
1287
|
+
"AppendMarketData",
|
1288
|
+
"AppendMarketDataType",
|
1273
1289
|
"ApplicableInstrumentEvent",
|
1274
1290
|
"AssetClass",
|
1275
1291
|
"AssetLeg",
|
@@ -0,0 +1,87 @@
|
|
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 StrictStr, Field, BaseModel, Field
|
23
|
+
from lusid.models.append_market_data import AppendMarketData
|
24
|
+
from lusid.models.complex_market_data_id import ComplexMarketDataId
|
25
|
+
|
26
|
+
class AppendComplexMarketDataRequest(BaseModel):
|
27
|
+
"""
|
28
|
+
The details of the point to be appended to a complex market data item. # noqa: E501
|
29
|
+
"""
|
30
|
+
market_data_id: ComplexMarketDataId = Field(..., alias="marketDataId")
|
31
|
+
append_market_data: AppendMarketData = Field(..., alias="appendMarketData")
|
32
|
+
__properties = ["marketDataId", "appendMarketData"]
|
33
|
+
|
34
|
+
class Config:
|
35
|
+
"""Pydantic configuration"""
|
36
|
+
allow_population_by_field_name = True
|
37
|
+
validate_assignment = True
|
38
|
+
|
39
|
+
def __str__(self):
|
40
|
+
"""For `print` and `pprint`"""
|
41
|
+
return pprint.pformat(self.dict(by_alias=False))
|
42
|
+
|
43
|
+
def __repr__(self):
|
44
|
+
"""For `print` and `pprint`"""
|
45
|
+
return self.to_str()
|
46
|
+
|
47
|
+
def to_str(self) -> str:
|
48
|
+
"""Returns the string representation of the model using alias"""
|
49
|
+
return pprint.pformat(self.dict(by_alias=True))
|
50
|
+
|
51
|
+
def to_json(self) -> str:
|
52
|
+
"""Returns the JSON representation of the model using alias"""
|
53
|
+
return json.dumps(self.to_dict())
|
54
|
+
|
55
|
+
@classmethod
|
56
|
+
def from_json(cls, json_str: str) -> AppendComplexMarketDataRequest:
|
57
|
+
"""Create an instance of AppendComplexMarketDataRequest from a JSON string"""
|
58
|
+
return cls.from_dict(json.loads(json_str))
|
59
|
+
|
60
|
+
def to_dict(self):
|
61
|
+
"""Returns the dictionary representation of the model using alias"""
|
62
|
+
_dict = self.dict(by_alias=True,
|
63
|
+
exclude={
|
64
|
+
},
|
65
|
+
exclude_none=True)
|
66
|
+
# override the default output from pydantic by calling `to_dict()` of market_data_id
|
67
|
+
if self.market_data_id:
|
68
|
+
_dict['marketDataId'] = self.market_data_id.to_dict()
|
69
|
+
# override the default output from pydantic by calling `to_dict()` of append_market_data
|
70
|
+
if self.append_market_data:
|
71
|
+
_dict['appendMarketData'] = self.append_market_data.to_dict()
|
72
|
+
return _dict
|
73
|
+
|
74
|
+
@classmethod
|
75
|
+
def from_dict(cls, obj: dict) -> AppendComplexMarketDataRequest:
|
76
|
+
"""Create an instance of AppendComplexMarketDataRequest from a dict"""
|
77
|
+
if obj is None:
|
78
|
+
return None
|
79
|
+
|
80
|
+
if not isinstance(obj, dict):
|
81
|
+
return AppendComplexMarketDataRequest.parse_obj(obj)
|
82
|
+
|
83
|
+
_obj = AppendComplexMarketDataRequest.parse_obj({
|
84
|
+
"market_data_id": ComplexMarketDataId.from_dict(obj.get("marketDataId")) if obj.get("marketDataId") is not None else None,
|
85
|
+
"append_market_data": AppendMarketData.from_dict(obj.get("appendMarketData")) if obj.get("appendMarketData") is not None else None
|
86
|
+
})
|
87
|
+
return _obj
|
@@ -0,0 +1,101 @@
|
|
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 StrictStr, Field, Field, StrictStr, constr, validator
|
23
|
+
from lusid.models.append_market_data import AppendMarketData
|
24
|
+
|
25
|
+
class AppendFxForwardCurveByQuoteReference(AppendMarketData):
|
26
|
+
"""
|
27
|
+
Used to append a new point to an FX curve defined using `FxForwardCurveByQuoteReference`. # noqa: E501
|
28
|
+
"""
|
29
|
+
tenor: StrictStr = Field(...,alias="tenor", description="Tenor for which the forward rate applies.")
|
30
|
+
quote_reference: Dict[str, StrictStr] = Field(..., alias="quoteReference", description="A collection of identifiers for the tenor, which will be used to query the LUSID Quote Store to resolve the actual rates. The keys must be chosen from the following enumeration: [LusidInstrumentId, Isin, Sedol, Cusip, ClientInternal, Figi, RIC, QuotePermId, REDCode, BBGId, ICECode]. For example: \"quoteReference\": {\"ClientInternal\": \"SomeIdentifierForTenor\"}")
|
31
|
+
market_data_type: StrictStr = Field(...,alias="marketDataType", description="The available values are: AppendFxForwardCurveByQuoteReference, AppendFxForwardCurveData, AppendFxForwardPipsCurveData, AppendFxForwardTenorCurveData, AppendFxForwardTenorPipsCurveData")
|
32
|
+
additional_properties: Dict[str, Any] = {}
|
33
|
+
__properties = ["marketDataType", "tenor", "quoteReference"]
|
34
|
+
|
35
|
+
@validator('market_data_type')
|
36
|
+
def market_data_type_validate_enum(cls, value):
|
37
|
+
"""Validates the enum"""
|
38
|
+
if value not in ('AppendFxForwardCurveByQuoteReference', 'AppendFxForwardCurveData', 'AppendFxForwardPipsCurveData', 'AppendFxForwardTenorCurveData', 'AppendFxForwardTenorPipsCurveData'):
|
39
|
+
raise ValueError("must be one of enum values ('AppendFxForwardCurveByQuoteReference', 'AppendFxForwardCurveData', 'AppendFxForwardPipsCurveData', 'AppendFxForwardTenorCurveData', 'AppendFxForwardTenorPipsCurveData')")
|
40
|
+
return value
|
41
|
+
|
42
|
+
class Config:
|
43
|
+
"""Pydantic configuration"""
|
44
|
+
allow_population_by_field_name = True
|
45
|
+
validate_assignment = True
|
46
|
+
|
47
|
+
def __str__(self):
|
48
|
+
"""For `print` and `pprint`"""
|
49
|
+
return pprint.pformat(self.dict(by_alias=False))
|
50
|
+
|
51
|
+
def __repr__(self):
|
52
|
+
"""For `print` and `pprint`"""
|
53
|
+
return self.to_str()
|
54
|
+
|
55
|
+
def to_str(self) -> str:
|
56
|
+
"""Returns the string representation of the model using alias"""
|
57
|
+
return pprint.pformat(self.dict(by_alias=True))
|
58
|
+
|
59
|
+
def to_json(self) -> str:
|
60
|
+
"""Returns the JSON representation of the model using alias"""
|
61
|
+
return json.dumps(self.to_dict())
|
62
|
+
|
63
|
+
@classmethod
|
64
|
+
def from_json(cls, json_str: str) -> AppendFxForwardCurveByQuoteReference:
|
65
|
+
"""Create an instance of AppendFxForwardCurveByQuoteReference from a JSON string"""
|
66
|
+
return cls.from_dict(json.loads(json_str))
|
67
|
+
|
68
|
+
def to_dict(self):
|
69
|
+
"""Returns the dictionary representation of the model using alias"""
|
70
|
+
_dict = self.dict(by_alias=True,
|
71
|
+
exclude={
|
72
|
+
"additional_properties"
|
73
|
+
},
|
74
|
+
exclude_none=True)
|
75
|
+
# puts key-value pairs in additional_properties in the top level
|
76
|
+
if self.additional_properties is not None:
|
77
|
+
for _key, _value in self.additional_properties.items():
|
78
|
+
_dict[_key] = _value
|
79
|
+
|
80
|
+
return _dict
|
81
|
+
|
82
|
+
@classmethod
|
83
|
+
def from_dict(cls, obj: dict) -> AppendFxForwardCurveByQuoteReference:
|
84
|
+
"""Create an instance of AppendFxForwardCurveByQuoteReference from a dict"""
|
85
|
+
if obj is None:
|
86
|
+
return None
|
87
|
+
|
88
|
+
if not isinstance(obj, dict):
|
89
|
+
return AppendFxForwardCurveByQuoteReference.parse_obj(obj)
|
90
|
+
|
91
|
+
_obj = AppendFxForwardCurveByQuoteReference.parse_obj({
|
92
|
+
"market_data_type": obj.get("marketDataType"),
|
93
|
+
"tenor": obj.get("tenor"),
|
94
|
+
"quote_reference": obj.get("quoteReference")
|
95
|
+
})
|
96
|
+
# store additional fields in additional_properties
|
97
|
+
for _key in obj.keys():
|
98
|
+
if _key not in cls.__properties:
|
99
|
+
_obj.additional_properties[_key] = obj.get(_key)
|
100
|
+
|
101
|
+
return _obj
|
@@ -0,0 +1,101 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
"""
|
4
|
+
LUSID API
|
5
|
+
|
6
|
+
FINBOURNE Technology # noqa: E501
|
7
|
+
|
8
|
+
Contact: info@finbourne.com
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
10
|
+
|
11
|
+
Do not edit the class manually.
|
12
|
+
"""
|
13
|
+
|
14
|
+
|
15
|
+
from __future__ import annotations
|
16
|
+
import pprint
|
17
|
+
import re # noqa: F401
|
18
|
+
import json
|
19
|
+
|
20
|
+
from datetime import datetime
|
21
|
+
from typing import Any, Dict, Union
|
22
|
+
from pydantic.v1 import StrictStr, Field, Field, StrictFloat, StrictInt, StrictStr, validator
|
23
|
+
from lusid.models.append_market_data import AppendMarketData
|
24
|
+
|
25
|
+
class AppendFxForwardCurveData(AppendMarketData):
|
26
|
+
"""
|
27
|
+
Used to append a new point to an FX curve defined using `FxForwardCurveData`. # noqa: E501
|
28
|
+
"""
|
29
|
+
var_date: datetime = Field(..., alias="date", description="Date for which the forward rate applies.")
|
30
|
+
rate: Union[StrictFloat, StrictInt] = Field(..., description="Rate provided for the fx forward (price in FgnCcy per unit of DomCcy).")
|
31
|
+
market_data_type: StrictStr = Field(...,alias="marketDataType", description="The available values are: AppendFxForwardCurveByQuoteReference, AppendFxForwardCurveData, AppendFxForwardPipsCurveData, AppendFxForwardTenorCurveData, AppendFxForwardTenorPipsCurveData")
|
32
|
+
additional_properties: Dict[str, Any] = {}
|
33
|
+
__properties = ["marketDataType", "date", "rate"]
|
34
|
+
|
35
|
+
@validator('market_data_type')
|
36
|
+
def market_data_type_validate_enum(cls, value):
|
37
|
+
"""Validates the enum"""
|
38
|
+
if value not in ('AppendFxForwardCurveByQuoteReference', 'AppendFxForwardCurveData', 'AppendFxForwardPipsCurveData', 'AppendFxForwardTenorCurveData', 'AppendFxForwardTenorPipsCurveData'):
|
39
|
+
raise ValueError("must be one of enum values ('AppendFxForwardCurveByQuoteReference', 'AppendFxForwardCurveData', 'AppendFxForwardPipsCurveData', 'AppendFxForwardTenorCurveData', 'AppendFxForwardTenorPipsCurveData')")
|
40
|
+
return value
|
41
|
+
|
42
|
+
class Config:
|
43
|
+
"""Pydantic configuration"""
|
44
|
+
allow_population_by_field_name = True
|
45
|
+
validate_assignment = True
|
46
|
+
|
47
|
+
def __str__(self):
|
48
|
+
"""For `print` and `pprint`"""
|
49
|
+
return pprint.pformat(self.dict(by_alias=False))
|
50
|
+
|
51
|
+
def __repr__(self):
|
52
|
+
"""For `print` and `pprint`"""
|
53
|
+
return self.to_str()
|
54
|
+
|
55
|
+
def to_str(self) -> str:
|
56
|
+
"""Returns the string representation of the model using alias"""
|
57
|
+
return pprint.pformat(self.dict(by_alias=True))
|
58
|
+
|
59
|
+
def to_json(self) -> str:
|
60
|
+
"""Returns the JSON representation of the model using alias"""
|
61
|
+
return json.dumps(self.to_dict())
|
62
|
+
|
63
|
+
@classmethod
|
64
|
+
def from_json(cls, json_str: str) -> AppendFxForwardCurveData:
|
65
|
+
"""Create an instance of AppendFxForwardCurveData from a JSON string"""
|
66
|
+
return cls.from_dict(json.loads(json_str))
|
67
|
+
|
68
|
+
def to_dict(self):
|
69
|
+
"""Returns the dictionary representation of the model using alias"""
|
70
|
+
_dict = self.dict(by_alias=True,
|
71
|
+
exclude={
|
72
|
+
"additional_properties"
|
73
|
+
},
|
74
|
+
exclude_none=True)
|
75
|
+
# puts key-value pairs in additional_properties in the top level
|
76
|
+
if self.additional_properties is not None:
|
77
|
+
for _key, _value in self.additional_properties.items():
|
78
|
+
_dict[_key] = _value
|
79
|
+
|
80
|
+
return _dict
|
81
|
+
|
82
|
+
@classmethod
|
83
|
+
def from_dict(cls, obj: dict) -> AppendFxForwardCurveData:
|
84
|
+
"""Create an instance of AppendFxForwardCurveData from a dict"""
|
85
|
+
if obj is None:
|
86
|
+
return None
|
87
|
+
|
88
|
+
if not isinstance(obj, dict):
|
89
|
+
return AppendFxForwardCurveData.parse_obj(obj)
|
90
|
+
|
91
|
+
_obj = AppendFxForwardCurveData.parse_obj({
|
92
|
+
"market_data_type": obj.get("marketDataType"),
|
93
|
+
"var_date": obj.get("date"),
|
94
|
+
"rate": obj.get("rate")
|
95
|
+
})
|
96
|
+
# store additional fields in additional_properties
|
97
|
+
for _key in obj.keys():
|
98
|
+
if _key not in cls.__properties:
|
99
|
+
_obj.additional_properties[_key] = obj.get(_key)
|
100
|
+
|
101
|
+
return _obj
|
@@ -0,0 +1,101 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
"""
|
4
|
+
LUSID API
|
5
|
+
|
6
|
+
FINBOURNE Technology # noqa: E501
|
7
|
+
|
8
|
+
Contact: info@finbourne.com
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
10
|
+
|
11
|
+
Do not edit the class manually.
|
12
|
+
"""
|
13
|
+
|
14
|
+
|
15
|
+
from __future__ import annotations
|
16
|
+
import pprint
|
17
|
+
import re # noqa: F401
|
18
|
+
import json
|
19
|
+
|
20
|
+
from datetime import datetime
|
21
|
+
from typing import Any, Dict, Union
|
22
|
+
from pydantic.v1 import StrictStr, Field, Field, StrictFloat, StrictInt, StrictStr, validator
|
23
|
+
from lusid.models.append_market_data import AppendMarketData
|
24
|
+
|
25
|
+
class AppendFxForwardPipsCurveData(AppendMarketData):
|
26
|
+
"""
|
27
|
+
Used to append a new point to an FX curve defined using `FxForwardPipsCurveData`. # noqa: E501
|
28
|
+
"""
|
29
|
+
var_date: datetime = Field(..., alias="date", description="Date for which the forward rate applies.")
|
30
|
+
pip_rate: Union[StrictFloat, StrictInt] = Field(..., alias="pipRate", description="Rate provided for the fx forward (price in FgnCcy per unit of DomCcy), expressed in pips.")
|
31
|
+
market_data_type: StrictStr = Field(...,alias="marketDataType", description="The available values are: AppendFxForwardCurveByQuoteReference, AppendFxForwardCurveData, AppendFxForwardPipsCurveData, AppendFxForwardTenorCurveData, AppendFxForwardTenorPipsCurveData")
|
32
|
+
additional_properties: Dict[str, Any] = {}
|
33
|
+
__properties = ["marketDataType", "date", "pipRate"]
|
34
|
+
|
35
|
+
@validator('market_data_type')
|
36
|
+
def market_data_type_validate_enum(cls, value):
|
37
|
+
"""Validates the enum"""
|
38
|
+
if value not in ('AppendFxForwardCurveByQuoteReference', 'AppendFxForwardCurveData', 'AppendFxForwardPipsCurveData', 'AppendFxForwardTenorCurveData', 'AppendFxForwardTenorPipsCurveData'):
|
39
|
+
raise ValueError("must be one of enum values ('AppendFxForwardCurveByQuoteReference', 'AppendFxForwardCurveData', 'AppendFxForwardPipsCurveData', 'AppendFxForwardTenorCurveData', 'AppendFxForwardTenorPipsCurveData')")
|
40
|
+
return value
|
41
|
+
|
42
|
+
class Config:
|
43
|
+
"""Pydantic configuration"""
|
44
|
+
allow_population_by_field_name = True
|
45
|
+
validate_assignment = True
|
46
|
+
|
47
|
+
def __str__(self):
|
48
|
+
"""For `print` and `pprint`"""
|
49
|
+
return pprint.pformat(self.dict(by_alias=False))
|
50
|
+
|
51
|
+
def __repr__(self):
|
52
|
+
"""For `print` and `pprint`"""
|
53
|
+
return self.to_str()
|
54
|
+
|
55
|
+
def to_str(self) -> str:
|
56
|
+
"""Returns the string representation of the model using alias"""
|
57
|
+
return pprint.pformat(self.dict(by_alias=True))
|
58
|
+
|
59
|
+
def to_json(self) -> str:
|
60
|
+
"""Returns the JSON representation of the model using alias"""
|
61
|
+
return json.dumps(self.to_dict())
|
62
|
+
|
63
|
+
@classmethod
|
64
|
+
def from_json(cls, json_str: str) -> AppendFxForwardPipsCurveData:
|
65
|
+
"""Create an instance of AppendFxForwardPipsCurveData from a JSON string"""
|
66
|
+
return cls.from_dict(json.loads(json_str))
|
67
|
+
|
68
|
+
def to_dict(self):
|
69
|
+
"""Returns the dictionary representation of the model using alias"""
|
70
|
+
_dict = self.dict(by_alias=True,
|
71
|
+
exclude={
|
72
|
+
"additional_properties"
|
73
|
+
},
|
74
|
+
exclude_none=True)
|
75
|
+
# puts key-value pairs in additional_properties in the top level
|
76
|
+
if self.additional_properties is not None:
|
77
|
+
for _key, _value in self.additional_properties.items():
|
78
|
+
_dict[_key] = _value
|
79
|
+
|
80
|
+
return _dict
|
81
|
+
|
82
|
+
@classmethod
|
83
|
+
def from_dict(cls, obj: dict) -> AppendFxForwardPipsCurveData:
|
84
|
+
"""Create an instance of AppendFxForwardPipsCurveData from a dict"""
|
85
|
+
if obj is None:
|
86
|
+
return None
|
87
|
+
|
88
|
+
if not isinstance(obj, dict):
|
89
|
+
return AppendFxForwardPipsCurveData.parse_obj(obj)
|
90
|
+
|
91
|
+
_obj = AppendFxForwardPipsCurveData.parse_obj({
|
92
|
+
"market_data_type": obj.get("marketDataType"),
|
93
|
+
"var_date": obj.get("date"),
|
94
|
+
"pip_rate": obj.get("pipRate")
|
95
|
+
})
|
96
|
+
# store additional fields in additional_properties
|
97
|
+
for _key in obj.keys():
|
98
|
+
if _key not in cls.__properties:
|
99
|
+
_obj.additional_properties[_key] = obj.get(_key)
|
100
|
+
|
101
|
+
return _obj
|
@@ -0,0 +1,101 @@
|
|
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, Union
|
22
|
+
from pydantic.v1 import StrictStr, Field, Field, StrictFloat, StrictInt, StrictStr, constr, validator
|
23
|
+
from lusid.models.append_market_data import AppendMarketData
|
24
|
+
|
25
|
+
class AppendFxForwardTenorCurveData(AppendMarketData):
|
26
|
+
"""
|
27
|
+
Used to append a new point to an FX curve defined using `FxForwardTenorCurveData`. # noqa: E501
|
28
|
+
"""
|
29
|
+
tenor: StrictStr = Field(...,alias="tenor", description="Tenor for which the forward rate applies.")
|
30
|
+
rate: Union[StrictFloat, StrictInt] = Field(..., description="Rate provided for the fx forward (price in FgnCcy per unit of DomCcy).")
|
31
|
+
market_data_type: StrictStr = Field(...,alias="marketDataType", description="The available values are: AppendFxForwardCurveByQuoteReference, AppendFxForwardCurveData, AppendFxForwardPipsCurveData, AppendFxForwardTenorCurveData, AppendFxForwardTenorPipsCurveData")
|
32
|
+
additional_properties: Dict[str, Any] = {}
|
33
|
+
__properties = ["marketDataType", "tenor", "rate"]
|
34
|
+
|
35
|
+
@validator('market_data_type')
|
36
|
+
def market_data_type_validate_enum(cls, value):
|
37
|
+
"""Validates the enum"""
|
38
|
+
if value not in ('AppendFxForwardCurveByQuoteReference', 'AppendFxForwardCurveData', 'AppendFxForwardPipsCurveData', 'AppendFxForwardTenorCurveData', 'AppendFxForwardTenorPipsCurveData'):
|
39
|
+
raise ValueError("must be one of enum values ('AppendFxForwardCurveByQuoteReference', 'AppendFxForwardCurveData', 'AppendFxForwardPipsCurveData', 'AppendFxForwardTenorCurveData', 'AppendFxForwardTenorPipsCurveData')")
|
40
|
+
return value
|
41
|
+
|
42
|
+
class Config:
|
43
|
+
"""Pydantic configuration"""
|
44
|
+
allow_population_by_field_name = True
|
45
|
+
validate_assignment = True
|
46
|
+
|
47
|
+
def __str__(self):
|
48
|
+
"""For `print` and `pprint`"""
|
49
|
+
return pprint.pformat(self.dict(by_alias=False))
|
50
|
+
|
51
|
+
def __repr__(self):
|
52
|
+
"""For `print` and `pprint`"""
|
53
|
+
return self.to_str()
|
54
|
+
|
55
|
+
def to_str(self) -> str:
|
56
|
+
"""Returns the string representation of the model using alias"""
|
57
|
+
return pprint.pformat(self.dict(by_alias=True))
|
58
|
+
|
59
|
+
def to_json(self) -> str:
|
60
|
+
"""Returns the JSON representation of the model using alias"""
|
61
|
+
return json.dumps(self.to_dict())
|
62
|
+
|
63
|
+
@classmethod
|
64
|
+
def from_json(cls, json_str: str) -> AppendFxForwardTenorCurveData:
|
65
|
+
"""Create an instance of AppendFxForwardTenorCurveData from a JSON string"""
|
66
|
+
return cls.from_dict(json.loads(json_str))
|
67
|
+
|
68
|
+
def to_dict(self):
|
69
|
+
"""Returns the dictionary representation of the model using alias"""
|
70
|
+
_dict = self.dict(by_alias=True,
|
71
|
+
exclude={
|
72
|
+
"additional_properties"
|
73
|
+
},
|
74
|
+
exclude_none=True)
|
75
|
+
# puts key-value pairs in additional_properties in the top level
|
76
|
+
if self.additional_properties is not None:
|
77
|
+
for _key, _value in self.additional_properties.items():
|
78
|
+
_dict[_key] = _value
|
79
|
+
|
80
|
+
return _dict
|
81
|
+
|
82
|
+
@classmethod
|
83
|
+
def from_dict(cls, obj: dict) -> AppendFxForwardTenorCurveData:
|
84
|
+
"""Create an instance of AppendFxForwardTenorCurveData from a dict"""
|
85
|
+
if obj is None:
|
86
|
+
return None
|
87
|
+
|
88
|
+
if not isinstance(obj, dict):
|
89
|
+
return AppendFxForwardTenorCurveData.parse_obj(obj)
|
90
|
+
|
91
|
+
_obj = AppendFxForwardTenorCurveData.parse_obj({
|
92
|
+
"market_data_type": obj.get("marketDataType"),
|
93
|
+
"tenor": obj.get("tenor"),
|
94
|
+
"rate": obj.get("rate")
|
95
|
+
})
|
96
|
+
# store additional fields in additional_properties
|
97
|
+
for _key in obj.keys():
|
98
|
+
if _key not in cls.__properties:
|
99
|
+
_obj.additional_properties[_key] = obj.get(_key)
|
100
|
+
|
101
|
+
return _obj
|
@@ -0,0 +1,101 @@
|
|
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, Union
|
22
|
+
from pydantic.v1 import StrictStr, Field, Field, StrictFloat, StrictInt, StrictStr, constr, validator
|
23
|
+
from lusid.models.append_market_data import AppendMarketData
|
24
|
+
|
25
|
+
class AppendFxForwardTenorPipsCurveData(AppendMarketData):
|
26
|
+
"""
|
27
|
+
Used to append a new point to an FX curve defined using `FxForwardTenorPipsCurveData`. # noqa: E501
|
28
|
+
"""
|
29
|
+
tenor: StrictStr = Field(...,alias="tenor", description="Tenor for which the forward rate applies.")
|
30
|
+
pip_rate: Union[StrictFloat, StrictInt] = Field(..., alias="pipRate", description="Rate provided for the fx forward (price in FgnCcy per unit of DomCcy), expressed in pips.")
|
31
|
+
market_data_type: StrictStr = Field(...,alias="marketDataType", description="The available values are: AppendFxForwardCurveByQuoteReference, AppendFxForwardCurveData, AppendFxForwardPipsCurveData, AppendFxForwardTenorCurveData, AppendFxForwardTenorPipsCurveData")
|
32
|
+
additional_properties: Dict[str, Any] = {}
|
33
|
+
__properties = ["marketDataType", "tenor", "pipRate"]
|
34
|
+
|
35
|
+
@validator('market_data_type')
|
36
|
+
def market_data_type_validate_enum(cls, value):
|
37
|
+
"""Validates the enum"""
|
38
|
+
if value not in ('AppendFxForwardCurveByQuoteReference', 'AppendFxForwardCurveData', 'AppendFxForwardPipsCurveData', 'AppendFxForwardTenorCurveData', 'AppendFxForwardTenorPipsCurveData'):
|
39
|
+
raise ValueError("must be one of enum values ('AppendFxForwardCurveByQuoteReference', 'AppendFxForwardCurveData', 'AppendFxForwardPipsCurveData', 'AppendFxForwardTenorCurveData', 'AppendFxForwardTenorPipsCurveData')")
|
40
|
+
return value
|
41
|
+
|
42
|
+
class Config:
|
43
|
+
"""Pydantic configuration"""
|
44
|
+
allow_population_by_field_name = True
|
45
|
+
validate_assignment = True
|
46
|
+
|
47
|
+
def __str__(self):
|
48
|
+
"""For `print` and `pprint`"""
|
49
|
+
return pprint.pformat(self.dict(by_alias=False))
|
50
|
+
|
51
|
+
def __repr__(self):
|
52
|
+
"""For `print` and `pprint`"""
|
53
|
+
return self.to_str()
|
54
|
+
|
55
|
+
def to_str(self) -> str:
|
56
|
+
"""Returns the string representation of the model using alias"""
|
57
|
+
return pprint.pformat(self.dict(by_alias=True))
|
58
|
+
|
59
|
+
def to_json(self) -> str:
|
60
|
+
"""Returns the JSON representation of the model using alias"""
|
61
|
+
return json.dumps(self.to_dict())
|
62
|
+
|
63
|
+
@classmethod
|
64
|
+
def from_json(cls, json_str: str) -> AppendFxForwardTenorPipsCurveData:
|
65
|
+
"""Create an instance of AppendFxForwardTenorPipsCurveData from a JSON string"""
|
66
|
+
return cls.from_dict(json.loads(json_str))
|
67
|
+
|
68
|
+
def to_dict(self):
|
69
|
+
"""Returns the dictionary representation of the model using alias"""
|
70
|
+
_dict = self.dict(by_alias=True,
|
71
|
+
exclude={
|
72
|
+
"additional_properties"
|
73
|
+
},
|
74
|
+
exclude_none=True)
|
75
|
+
# puts key-value pairs in additional_properties in the top level
|
76
|
+
if self.additional_properties is not None:
|
77
|
+
for _key, _value in self.additional_properties.items():
|
78
|
+
_dict[_key] = _value
|
79
|
+
|
80
|
+
return _dict
|
81
|
+
|
82
|
+
@classmethod
|
83
|
+
def from_dict(cls, obj: dict) -> AppendFxForwardTenorPipsCurveData:
|
84
|
+
"""Create an instance of AppendFxForwardTenorPipsCurveData from a dict"""
|
85
|
+
if obj is None:
|
86
|
+
return None
|
87
|
+
|
88
|
+
if not isinstance(obj, dict):
|
89
|
+
return AppendFxForwardTenorPipsCurveData.parse_obj(obj)
|
90
|
+
|
91
|
+
_obj = AppendFxForwardTenorPipsCurveData.parse_obj({
|
92
|
+
"market_data_type": obj.get("marketDataType"),
|
93
|
+
"tenor": obj.get("tenor"),
|
94
|
+
"pip_rate": obj.get("pipRate")
|
95
|
+
})
|
96
|
+
# store additional fields in additional_properties
|
97
|
+
for _key in obj.keys():
|
98
|
+
if _key not in cls.__properties:
|
99
|
+
_obj.additional_properties[_key] = obj.get(_key)
|
100
|
+
|
101
|
+
return _obj
|
@@ -0,0 +1,105 @@
|
|
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, Union
|
22
|
+
from pydantic.v1 import StrictStr, Field, BaseModel, Field, StrictStr, validator
|
23
|
+
import lusid.models
|
24
|
+
|
25
|
+
class AppendMarketData(BaseModel):
|
26
|
+
"""
|
27
|
+
Base class for types containing required data to append to complex market data. # noqa: E501
|
28
|
+
"""
|
29
|
+
market_data_type: StrictStr = Field(...,alias="marketDataType", description="The available values are: AppendFxForwardCurveByQuoteReference, AppendFxForwardCurveData, AppendFxForwardPipsCurveData, AppendFxForwardTenorCurveData, AppendFxForwardTenorPipsCurveData")
|
30
|
+
__properties = ["marketDataType"]
|
31
|
+
|
32
|
+
@validator('market_data_type')
|
33
|
+
def market_data_type_validate_enum(cls, value):
|
34
|
+
"""Validates the enum"""
|
35
|
+
if value not in ('AppendFxForwardCurveByQuoteReference', 'AppendFxForwardCurveData', 'AppendFxForwardPipsCurveData', 'AppendFxForwardTenorCurveData', 'AppendFxForwardTenorPipsCurveData'):
|
36
|
+
raise ValueError("must be one of enum values ('AppendFxForwardCurveByQuoteReference', 'AppendFxForwardCurveData', 'AppendFxForwardPipsCurveData', 'AppendFxForwardTenorCurveData', 'AppendFxForwardTenorPipsCurveData')")
|
37
|
+
return value
|
38
|
+
|
39
|
+
class Config:
|
40
|
+
"""Pydantic configuration"""
|
41
|
+
allow_population_by_field_name = True
|
42
|
+
validate_assignment = True
|
43
|
+
|
44
|
+
# JSON field name that stores the object type
|
45
|
+
__discriminator_property_name = 'marketDataType'
|
46
|
+
|
47
|
+
# discriminator mappings
|
48
|
+
__discriminator_value_class_map = {
|
49
|
+
'AppendFxForwardCurveByQuoteReference': 'AppendFxForwardCurveByQuoteReference',
|
50
|
+
'AppendFxForwardCurveData': 'AppendFxForwardCurveData',
|
51
|
+
'AppendFxForwardPipsCurveData': 'AppendFxForwardPipsCurveData',
|
52
|
+
'AppendFxForwardTenorCurveData': 'AppendFxForwardTenorCurveData',
|
53
|
+
'AppendFxForwardTenorPipsCurveData': 'AppendFxForwardTenorPipsCurveData'
|
54
|
+
}
|
55
|
+
|
56
|
+
@classmethod
|
57
|
+
def get_discriminator_value(cls, obj: dict) -> str:
|
58
|
+
"""Returns the discriminator value (object type) of the data"""
|
59
|
+
discriminator_value = obj[cls.__discriminator_property_name]
|
60
|
+
if discriminator_value:
|
61
|
+
return cls.__discriminator_value_class_map.get(discriminator_value)
|
62
|
+
else:
|
63
|
+
return None
|
64
|
+
|
65
|
+
def __str__(self):
|
66
|
+
"""For `print` and `pprint`"""
|
67
|
+
return pprint.pformat(self.dict(by_alias=False))
|
68
|
+
|
69
|
+
def __repr__(self):
|
70
|
+
"""For `print` and `pprint`"""
|
71
|
+
return self.to_str()
|
72
|
+
|
73
|
+
def to_str(self) -> str:
|
74
|
+
"""Returns the string representation of the model using alias"""
|
75
|
+
return pprint.pformat(self.dict(by_alias=True))
|
76
|
+
|
77
|
+
def to_json(self) -> str:
|
78
|
+
"""Returns the JSON representation of the model using alias"""
|
79
|
+
return json.dumps(self.to_dict())
|
80
|
+
|
81
|
+
@classmethod
|
82
|
+
def from_json(cls, json_str: str) -> Union(AppendFxForwardCurveByQuoteReference, AppendFxForwardCurveData, AppendFxForwardPipsCurveData, AppendFxForwardTenorCurveData, AppendFxForwardTenorPipsCurveData):
|
83
|
+
"""Create an instance of AppendMarketData from a JSON string"""
|
84
|
+
return cls.from_dict(json.loads(json_str))
|
85
|
+
|
86
|
+
def to_dict(self):
|
87
|
+
"""Returns the dictionary representation of the model using alias"""
|
88
|
+
_dict = self.dict(by_alias=True,
|
89
|
+
exclude={
|
90
|
+
},
|
91
|
+
exclude_none=True)
|
92
|
+
return _dict
|
93
|
+
|
94
|
+
@classmethod
|
95
|
+
def from_dict(cls, obj: dict) -> Union(AppendFxForwardCurveByQuoteReference, AppendFxForwardCurveData, AppendFxForwardPipsCurveData, AppendFxForwardTenorCurveData, AppendFxForwardTenorPipsCurveData):
|
96
|
+
"""Create an instance of AppendMarketData from a dict"""
|
97
|
+
# look up the object type based on discriminator mapping
|
98
|
+
object_type = cls.get_discriminator_value(obj)
|
99
|
+
if object_type:
|
100
|
+
klass = getattr(lusid.models, object_type)
|
101
|
+
return klass.from_dict(obj)
|
102
|
+
else:
|
103
|
+
raise ValueError("AppendMarketData failed to lookup discriminator value from " +
|
104
|
+
json.dumps(obj) + ". Discriminator property name: " + cls.__discriminator_property_name +
|
105
|
+
", mapping: " + json.dumps(cls.__discriminator_value_class_map))
|
@@ -0,0 +1,41 @@
|
|
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
|
+
import json
|
16
|
+
import pprint
|
17
|
+
import re # noqa: F401
|
18
|
+
from aenum import Enum, no_arg
|
19
|
+
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
|
24
|
+
class AppendMarketDataType(str, Enum):
|
25
|
+
"""
|
26
|
+
The supported complex market data types which can be appended to.
|
27
|
+
"""
|
28
|
+
|
29
|
+
"""
|
30
|
+
allowed enum values
|
31
|
+
"""
|
32
|
+
APPENDFXFORWARDCURVEBYQUOTEREFERENCE = 'AppendFxForwardCurveByQuoteReference'
|
33
|
+
APPENDFXFORWARDCURVEDATA = 'AppendFxForwardCurveData'
|
34
|
+
APPENDFXFORWARDPIPSCURVEDATA = 'AppendFxForwardPipsCurveData'
|
35
|
+
APPENDFXFORWARDTENORCURVEDATA = 'AppendFxForwardTenorCurveData'
|
36
|
+
APPENDFXFORWARDTENORPIPSCURVEDATA = 'AppendFxForwardTenorPipsCurveData'
|
37
|
+
|
38
|
+
@classmethod
|
39
|
+
def from_json(cls, json_str: str) -> AppendMarketDataType:
|
40
|
+
"""Create an instance of AppendMarketDataType from a JSON string"""
|
41
|
+
return AppendMarketDataType(json.loads(json_str))
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: lusid-sdk
|
3
|
-
Version: 2.1.
|
3
|
+
Version: 2.1.746
|
4
4
|
Summary: LUSID API
|
5
5
|
Home-page: https://github.com/finbourne/lusid-sdk-python
|
6
6
|
License: MIT
|
@@ -127,6 +127,7 @@ Class | Method | HTTP request | Description
|
|
127
127
|
*ComplexMarketDataApi* | [**delete_complex_market_data**](docs/ComplexMarketDataApi.md#delete_complex_market_data) | **POST** /api/complexmarketdata/{scope}/$delete | DeleteComplexMarketData: Delete one or more items of complex market data, assuming they are present.
|
128
128
|
*ComplexMarketDataApi* | [**get_complex_market_data**](docs/ComplexMarketDataApi.md#get_complex_market_data) | **POST** /api/complexmarketdata/{scope}/$get | GetComplexMarketData: Get complex market data
|
129
129
|
*ComplexMarketDataApi* | [**list_complex_market_data**](docs/ComplexMarketDataApi.md#list_complex_market_data) | **GET** /api/complexmarketdata | ListComplexMarketData: List the set of ComplexMarketData
|
130
|
+
*ComplexMarketDataApi* | [**upsert_append_complex_market_data**](docs/ComplexMarketDataApi.md#upsert_append_complex_market_data) | **POST** /api/complexmarketdata/{scope}/$append | [EARLY ACCESS] UpsertAppendComplexMarketData: Appends a new point to the end of a ComplexMarketData definition.
|
130
131
|
*ComplexMarketDataApi* | [**upsert_complex_market_data**](docs/ComplexMarketDataApi.md#upsert_complex_market_data) | **POST** /api/complexmarketdata/{scope} | UpsertComplexMarketData: Upsert a set of complex market data items. This creates or updates the data in Lusid.
|
131
132
|
*ComplianceApi* | [**create_compliance_template**](docs/ComplianceApi.md#create_compliance_template) | **POST** /api/compliance/templates/{scope} | [EARLY ACCESS] CreateComplianceTemplate: Create a Compliance Rule Template
|
132
133
|
*ComplianceApi* | [**delete_compliance_rule**](docs/ComplianceApi.md#delete_compliance_rule) | **DELETE** /api/compliance/rules/{scope}/{code} | [EARLY ACCESS] DeleteComplianceRule: Delete compliance rule.
|
@@ -720,6 +721,14 @@ Class | Method | HTTP request | Description
|
|
720
721
|
- [AnnulQuotesResponse](docs/AnnulQuotesResponse.md)
|
721
722
|
- [AnnulSingleStructuredDataResponse](docs/AnnulSingleStructuredDataResponse.md)
|
722
723
|
- [AnnulStructuredDataResponse](docs/AnnulStructuredDataResponse.md)
|
724
|
+
- [AppendComplexMarketDataRequest](docs/AppendComplexMarketDataRequest.md)
|
725
|
+
- [AppendFxForwardCurveByQuoteReference](docs/AppendFxForwardCurveByQuoteReference.md)
|
726
|
+
- [AppendFxForwardCurveData](docs/AppendFxForwardCurveData.md)
|
727
|
+
- [AppendFxForwardPipsCurveData](docs/AppendFxForwardPipsCurveData.md)
|
728
|
+
- [AppendFxForwardTenorCurveData](docs/AppendFxForwardTenorCurveData.md)
|
729
|
+
- [AppendFxForwardTenorPipsCurveData](docs/AppendFxForwardTenorPipsCurveData.md)
|
730
|
+
- [AppendMarketData](docs/AppendMarketData.md)
|
731
|
+
- [AppendMarketDataType](docs/AppendMarketDataType.md)
|
723
732
|
- [ApplicableInstrumentEvent](docs/ApplicableInstrumentEvent.md)
|
724
733
|
- [AssetClass](docs/AssetClass.md)
|
725
734
|
- [AssetLeg](docs/AssetLeg.md)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
lusid/__init__.py,sha256=
|
1
|
+
lusid/__init__.py,sha256=jp_9cGtuxZulAsSAtG-x6aohwipaDMlNWZ4a5L7yrnU,135930
|
2
2
|
lusid/api/__init__.py,sha256=b9BsX0qfl4jZSlEid6ihux1dyYgNwjtKQZk23veBuc0,6204
|
3
3
|
lusid/api/abor_api.py,sha256=oAvtx9mQGWa5ZQRKjhzkJJH110GiIqiPIefIYNoiT14,166017
|
4
4
|
lusid/api/abor_configuration_api.py,sha256=3Y3KwOOJqPsCsl7rfP-ScCYrKvVsQSP5adbsAsJ9G1s,74238
|
@@ -10,7 +10,7 @@ lusid/api/application_metadata_api.py,sha256=GdueWnWdBjIhbyb6gfBgLYqQ7_UerR0J68T
|
|
10
10
|
lusid/api/blocks_api.py,sha256=WvkS7tK4jY1R_SWV8FqjCr5zpF9Gx1basp62FBdyH_E,43230
|
11
11
|
lusid/api/calendars_api.py,sha256=Z1Zo2PDggpII8e6DyKlun1EZkCqU0I9MtqTsKfu5buI,141755
|
12
12
|
lusid/api/chart_of_accounts_api.py,sha256=IjcmZkafnygX94B-Efv43JzCBPVkrambPnOvAbhmOzk,404308
|
13
|
-
lusid/api/complex_market_data_api.py,sha256=
|
13
|
+
lusid/api/complex_market_data_api.py,sha256=drK_yzRLmdbgXlbavPB3_ygdG8kIWCKvV65VbZ_e1rc,61051
|
14
14
|
lusid/api/compliance_api.py,sha256=mbq3E4h6nMQp7mowJussYN2f92YDIsjwYQw7wiTjHG4,147595
|
15
15
|
lusid/api/configuration_recipe_api.py,sha256=UIiHuWdWVhe4tcHXYjQpAHqsOhEFYQIexIjDoA2Gii0,99181
|
16
16
|
lusid/api/conventions_api.py,sha256=dsvB_lAcR5oVQLTqVJj9_zruF7Tyn8aGzD9EmEKvfWY,104288
|
@@ -74,7 +74,7 @@ lusid/api/translation_api.py,sha256=xpRuTfwQvYBlWe6r_L2EI_uVpXqHFnEOim-i-kVQ85E,
|
|
74
74
|
lusid/api/workspace_api.py,sha256=RplAKcky_SrK0V3nhh2K0UmWGeXggr6RQ4-g9Hqy7hw,190986
|
75
75
|
lusid/api_client.py,sha256=ewMTmf9SRurY8pYnUx9jy24RdldPCOa4US38pnrVxjA,31140
|
76
76
|
lusid/api_response.py,sha256=6-gnhty6lu8MMAERt3_kTVD7UxQgWFfcjgpcq6iN5IU,855
|
77
|
-
lusid/configuration.py,sha256=
|
77
|
+
lusid/configuration.py,sha256=cp4scTdQPIkVbVXx6nuVSYyipg8-hqVBioQCQ19RzzM,17972
|
78
78
|
lusid/exceptions.py,sha256=HIQwgmQrszLlcVCLaqex8dO0laVuejUyOMz7U2ZWJ6s,5326
|
79
79
|
lusid/extensions/__init__.py,sha256=dzDHEzpn-9smd2-_UMWQzeyX6Ha4jGf6fnqx7qxKxNI,630
|
80
80
|
lusid/extensions/api_client.py,sha256=GzygWg_h603QK1QS2HvAijuE2R1TnvoF6-Yg0CeM3ug,30943
|
@@ -89,7 +89,7 @@ lusid/extensions/rest.py,sha256=dp-bD_LMR2zAL1tmC3-urhWKLomXx7r5iGN1VteMBVQ,1601
|
|
89
89
|
lusid/extensions/retry.py,sha256=EhW9OKJmGHipxN3H7eROH5DiMlAnfBVl95NQrttcsdg,14834
|
90
90
|
lusid/extensions/socket_keep_alive.py,sha256=NGlqsv-E25IjJOLGZhXZY6kUdx51nEF8qCQyVdzayRk,1653
|
91
91
|
lusid/extensions/tcp_keep_alive_connector.py,sha256=zaGtUsygRsxB1_4B3x39K3ILwztdhMLDv5bFZV7zmGE,3877
|
92
|
-
lusid/models/__init__.py,sha256=
|
92
|
+
lusid/models/__init__.py,sha256=Bjyqlnv_H-ricS6MOSg6fkXAO3v9k-fgy8pFReAXP-4,128694
|
93
93
|
lusid/models/a2_b_breakdown.py,sha256=-FXgILrvtZXQDmvS0ARaJVGBq5LJ4AH-o3HjujFVmS4,3198
|
94
94
|
lusid/models/a2_b_category.py,sha256=WunXUgx-dCnApPeLC8Qo5tVCX8Ywxkehib1vmNqNgNs,2957
|
95
95
|
lusid/models/a2_b_data_record.py,sha256=qANTmV1_HUEo4l72-F8qzZjlQxOe0Onc9WPz7h-WWuY,9993
|
@@ -150,6 +150,14 @@ lusid/models/amount.py,sha256=fDUp4Da2iLPrxVxKWWR-iAF4f4xGTyRAQC5qDSsLNEY,2025
|
|
150
150
|
lusid/models/annul_quotes_response.py,sha256=Xc0G7wHGrzyB6NuvIK1CSp7MD0XUe79YzQyeo48Uh-g,4594
|
151
151
|
lusid/models/annul_single_structured_data_response.py,sha256=xdtEUZbi2rklM1brkvv46ua-J6Vogq2QHzB_nfcSVLA,3575
|
152
152
|
lusid/models/annul_structured_data_response.py,sha256=7n66EMbMj7wL_VwRRzvfm2nWi20-r5SvmRXlRSzVTkQ,4746
|
153
|
+
lusid/models/append_complex_market_data_request.py,sha256=XTZLEQ-jd9bkDBfpehlEPf2slwrfzIY6elA3XGHrflE,3128
|
154
|
+
lusid/models/append_fx_forward_curve_by_quote_reference.py,sha256=Z2ZjgUiMlIXCFgRG2zvUKWa2Z9c0UncqDkOzcGnJxo0,4424
|
155
|
+
lusid/models/append_fx_forward_curve_data.py,sha256=UGZ4FRoH9EqrZrSGjaKGnqoQdndATtN8QP8HlMgAjK0,4020
|
156
|
+
lusid/models/append_fx_forward_pips_curve_data.py,sha256=DSGqUVB78YaPEeJIwNMMCkSwVrfYvirsVj40FlIA5BQ,4102
|
157
|
+
lusid/models/append_fx_forward_tenor_curve_data.py,sha256=ZCvlDpj0TkHBdXd0eHvAqCmFN4qRN9Q5W7O3vbCALFQ,4039
|
158
|
+
lusid/models/append_fx_forward_tenor_pips_curve_data.py,sha256=CRrdXZ1iyNUu-I6PtNX9o0qRfCQBMFV8_9N0TuFz-rE,4121
|
159
|
+
lusid/models/append_market_data.py,sha256=f5z0KYKH-vXQWRnfuKAB0CAZDhpQRz0aGITjSVfgvrE,4515
|
160
|
+
lusid/models/append_market_data_type.py,sha256=GS-6IYAIcnqdk5HeDunGvz4a_OB71jR7Lmnv3FSlkAU,1036
|
153
161
|
lusid/models/applicable_instrument_event.py,sha256=XT10BwbXdWKfQOZON1MLEouLyHyEKCNy2G1sDRDunwg,7064
|
154
162
|
lusid/models/asset_class.py,sha256=yurc1IbYS3HCMRBncPFfIl8pBiYnt64MP4tiBYJ8usU,793
|
155
163
|
lusid/models/asset_leg.py,sha256=zsJ_nkV4KuTtqNrBgb18Wf-g86Bgbr8NKKCcMyIWXuU,2834
|
@@ -1285,6 +1293,6 @@ lusid/models/workspace_update_request.py,sha256=ihKnBY685hfgs9uoyAXQNt1w7iOF-6Jc
|
|
1285
1293
|
lusid/models/yield_curve_data.py,sha256=eDxj1qjChju3anFaQzywjFOuchX5i0pOTh5N-zcvJzg,6540
|
1286
1294
|
lusid/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1287
1295
|
lusid/rest.py,sha256=HQT__5LQEMu6_1sLKvYj-DI4FH1DJXBIPYfZCTTyrY4,13431
|
1288
|
-
lusid_sdk-2.1.
|
1289
|
-
lusid_sdk-2.1.
|
1290
|
-
lusid_sdk-2.1.
|
1296
|
+
lusid_sdk-2.1.746.dist-info/METADATA,sha256=GaGCzn7_UupH8cJFrYh8bv7miPW8fyAS6hp6pQHQFI4,220036
|
1297
|
+
lusid_sdk-2.1.746.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
1298
|
+
lusid_sdk-2.1.746.dist-info/RECORD,,
|
File without changes
|