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 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.7556\n"\
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.745
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=kHlR516UijAajXglYteUjDH57twtZT_QorwujdyVxpQ,134967
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=zMbTs8l7LUVn7Zgv3nvf2C42D_b5WzQWvOXcWaW0l5Y,47893
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=ks65KUnPe054YZibq6ZVdw2YEcJWBC-FOXbX_c0lFfY,17972
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=aG-JNcd-oxp5HteVVe_fyWBlDigBatl5QEZc-yj6oVc,127731
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.745.dist-info/METADATA,sha256=Qb4P2DzEAnj0x4YciVtjyeUjIOd3Db63B9Tji_kOfjk,219183
1289
- lusid_sdk-2.1.745.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
1290
- lusid_sdk-2.1.745.dist-info/RECORD,,
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,,