lusid-sdk 2.1.830__py3-none-any.whl → 2.1.831__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
@@ -738,6 +738,7 @@ from lusid.models.option_exercise_election import OptionExerciseElection
738
738
  from lusid.models.option_exercise_physical_event import OptionExercisePhysicalEvent
739
739
  from lusid.models.optionality_schedule import OptionalitySchedule
740
740
  from lusid.models.order import Order
741
+ from lusid.models.order_breach_history import OrderBreachHistory
741
742
  from lusid.models.order_by_spec import OrderBySpec
742
743
  from lusid.models.order_flow_configuration import OrderFlowConfiguration
743
744
  from lusid.models.order_graph_block import OrderGraphBlock
@@ -764,6 +765,7 @@ from lusid.models.order_instruction import OrderInstruction
764
765
  from lusid.models.order_instruction_request import OrderInstructionRequest
765
766
  from lusid.models.order_instruction_set_request import OrderInstructionSetRequest
766
767
  from lusid.models.order_request import OrderRequest
768
+ from lusid.models.order_rule_breach import OrderRuleBreach
767
769
  from lusid.models.order_set_request import OrderSetRequest
768
770
  from lusid.models.order_update_request import OrderUpdateRequest
769
771
  from lusid.models.otc_confirmation import OtcConfirmation
@@ -812,6 +814,7 @@ from lusid.models.paged_resource_list_of_instrument_event_instruction import Pag
812
814
  from lusid.models.paged_resource_list_of_item_and_workspace import PagedResourceListOfItemAndWorkspace
813
815
  from lusid.models.paged_resource_list_of_legal_entity import PagedResourceListOfLegalEntity
814
816
  from lusid.models.paged_resource_list_of_order import PagedResourceListOfOrder
817
+ from lusid.models.paged_resource_list_of_order_breach_history import PagedResourceListOfOrderBreachHistory
815
818
  from lusid.models.paged_resource_list_of_order_graph_block import PagedResourceListOfOrderGraphBlock
816
819
  from lusid.models.paged_resource_list_of_order_graph_placement import PagedResourceListOfOrderGraphPlacement
817
820
  from lusid.models.paged_resource_list_of_order_instruction import PagedResourceListOfOrderInstruction
@@ -2056,6 +2059,7 @@ __all__ = [
2056
2059
  "OptionExercisePhysicalEvent",
2057
2060
  "OptionalitySchedule",
2058
2061
  "Order",
2062
+ "OrderBreachHistory",
2059
2063
  "OrderBySpec",
2060
2064
  "OrderFlowConfiguration",
2061
2065
  "OrderGraphBlock",
@@ -2082,6 +2086,7 @@ __all__ = [
2082
2086
  "OrderInstructionRequest",
2083
2087
  "OrderInstructionSetRequest",
2084
2088
  "OrderRequest",
2089
+ "OrderRuleBreach",
2085
2090
  "OrderSetRequest",
2086
2091
  "OrderUpdateRequest",
2087
2092
  "OtcConfirmation",
@@ -2130,6 +2135,7 @@ __all__ = [
2130
2135
  "PagedResourceListOfItemAndWorkspace",
2131
2136
  "PagedResourceListOfLegalEntity",
2132
2137
  "PagedResourceListOfOrder",
2138
+ "PagedResourceListOfOrderBreachHistory",
2133
2139
  "PagedResourceListOfOrderGraphBlock",
2134
2140
  "PagedResourceListOfOrderGraphPlacement",
2135
2141
  "PagedResourceListOfOrderInstruction",
@@ -38,6 +38,7 @@ from lusid.models.deleted_entity_response import DeletedEntityResponse
38
38
  from lusid.models.paged_resource_list_of_compliance_rule_response import PagedResourceListOfComplianceRuleResponse
39
39
  from lusid.models.paged_resource_list_of_compliance_run_info_v2 import PagedResourceListOfComplianceRunInfoV2
40
40
  from lusid.models.paged_resource_list_of_compliance_template import PagedResourceListOfComplianceTemplate
41
+ from lusid.models.paged_resource_list_of_order_breach_history import PagedResourceListOfOrderBreachHistory
41
42
  from lusid.models.update_compliance_template_request import UpdateComplianceTemplateRequest
42
43
  from lusid.models.upsert_compliance_rule_request import UpsertComplianceRuleRequest
43
44
  from lusid.models.upsert_compliance_run_summary_request import UpsertComplianceRunSummaryRequest
@@ -1798,6 +1799,194 @@ class ComplianceApi:
1798
1799
  _request_auth=_params.get('_request_auth'))
1799
1800
 
1800
1801
 
1802
+ @overload
1803
+ async def list_order_breach_history(self, as_at : Annotated[Optional[datetime], Field(description="Optional. The time at which to get results from. Default : latest")] = None, page : Annotated[Optional[StrictStr], Field( description="Optional. The pagination token to use to continue listing historical order breaches from a previous call to list historical order breaches. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True)], Field(description="Optional. When paginating, limit the number of returned results to this many.")] = None, filter : Annotated[Optional[StrictStr], Field( description="Optional. Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="Optional. A list of field names to sort by, each suffixed by \"ASC\" or \"DESC\"")] = None, **kwargs) -> PagedResourceListOfOrderBreachHistory: # noqa: E501
1804
+ ...
1805
+
1806
+ @overload
1807
+ def list_order_breach_history(self, as_at : Annotated[Optional[datetime], Field(description="Optional. The time at which to get results from. Default : latest")] = None, page : Annotated[Optional[StrictStr], Field( description="Optional. The pagination token to use to continue listing historical order breaches from a previous call to list historical order breaches. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True)], Field(description="Optional. When paginating, limit the number of returned results to this many.")] = None, filter : Annotated[Optional[StrictStr], Field( description="Optional. Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="Optional. A list of field names to sort by, each suffixed by \"ASC\" or \"DESC\"")] = None, async_req: Optional[bool]=True, **kwargs) -> PagedResourceListOfOrderBreachHistory: # noqa: E501
1808
+ ...
1809
+
1810
+ @validate_arguments
1811
+ def list_order_breach_history(self, as_at : Annotated[Optional[datetime], Field(description="Optional. The time at which to get results from. Default : latest")] = None, page : Annotated[Optional[StrictStr], Field( description="Optional. The pagination token to use to continue listing historical order breaches from a previous call to list historical order breaches. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True)], Field(description="Optional. When paginating, limit the number of returned results to this many.")] = None, filter : Annotated[Optional[StrictStr], Field( description="Optional. Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="Optional. A list of field names to sort by, each suffixed by \"ASC\" or \"DESC\"")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfOrderBreachHistory, Awaitable[PagedResourceListOfOrderBreachHistory]]: # noqa: E501
1812
+ """[EXPERIMENTAL] ListOrderBreachHistory: List Historical Order Breaches. # noqa: E501
1813
+
1814
+ Lists Order Ids and Run Ids of prior compliance runs, with the breached Rules Ids specified, or a subset with a filter. # noqa: E501
1815
+ This method makes a synchronous HTTP request by default. To make an
1816
+ asynchronous HTTP request, please pass async_req=True
1817
+
1818
+ >>> thread = api.list_order_breach_history(as_at, page, limit, filter, sort_by, async_req=True)
1819
+ >>> result = thread.get()
1820
+
1821
+ :param as_at: Optional. The time at which to get results from. Default : latest
1822
+ :type as_at: datetime
1823
+ :param page: Optional. The pagination token to use to continue listing historical order breaches from a previous call to list historical order breaches. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, and asAt fields must not have changed since the original request.
1824
+ :type page: str
1825
+ :param limit: Optional. When paginating, limit the number of returned results to this many.
1826
+ :type limit: int
1827
+ :param filter: Optional. Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.
1828
+ :type filter: str
1829
+ :param sort_by: Optional. A list of field names to sort by, each suffixed by \"ASC\" or \"DESC\"
1830
+ :type sort_by: List[str]
1831
+ :param async_req: Whether to execute the request asynchronously.
1832
+ :type async_req: bool, optional
1833
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
1834
+ :param opts: Configuration options for this request
1835
+ :type opts: ConfigurationOptions, optional
1836
+ :return: Returns the result object.
1837
+ If the method is called asynchronously,
1838
+ returns the request thread.
1839
+ :rtype: PagedResourceListOfOrderBreachHistory
1840
+ """
1841
+ kwargs['_return_http_data_only'] = True
1842
+ if '_preload_content' in kwargs:
1843
+ message = "Error! Please call the list_order_breach_history_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1844
+ raise ValueError(message)
1845
+ if async_req is not None:
1846
+ kwargs['async_req'] = async_req
1847
+ return self.list_order_breach_history_with_http_info(as_at, page, limit, filter, sort_by, **kwargs) # noqa: E501
1848
+
1849
+ @validate_arguments
1850
+ def list_order_breach_history_with_http_info(self, as_at : Annotated[Optional[datetime], Field(description="Optional. The time at which to get results from. Default : latest")] = None, page : Annotated[Optional[StrictStr], Field( description="Optional. The pagination token to use to continue listing historical order breaches from a previous call to list historical order breaches. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True)], Field(description="Optional. When paginating, limit the number of returned results to this many.")] = None, filter : Annotated[Optional[StrictStr], Field( description="Optional. Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="Optional. A list of field names to sort by, each suffixed by \"ASC\" or \"DESC\"")] = None, **kwargs) -> ApiResponse: # noqa: E501
1851
+ """[EXPERIMENTAL] ListOrderBreachHistory: List Historical Order Breaches. # noqa: E501
1852
+
1853
+ Lists Order Ids and Run Ids of prior compliance runs, with the breached Rules Ids specified, or a subset with a filter. # noqa: E501
1854
+ This method makes a synchronous HTTP request by default. To make an
1855
+ asynchronous HTTP request, please pass async_req=True
1856
+
1857
+ >>> thread = api.list_order_breach_history_with_http_info(as_at, page, limit, filter, sort_by, async_req=True)
1858
+ >>> result = thread.get()
1859
+
1860
+ :param as_at: Optional. The time at which to get results from. Default : latest
1861
+ :type as_at: datetime
1862
+ :param page: Optional. The pagination token to use to continue listing historical order breaches from a previous call to list historical order breaches. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, and asAt fields must not have changed since the original request.
1863
+ :type page: str
1864
+ :param limit: Optional. When paginating, limit the number of returned results to this many.
1865
+ :type limit: int
1866
+ :param filter: Optional. Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.
1867
+ :type filter: str
1868
+ :param sort_by: Optional. A list of field names to sort by, each suffixed by \"ASC\" or \"DESC\"
1869
+ :type sort_by: List[str]
1870
+ :param async_req: Whether to execute the request asynchronously.
1871
+ :type async_req: bool, optional
1872
+ :param _preload_content: if False, the ApiResponse.data will
1873
+ be set to none and raw_data will store the
1874
+ HTTP response body without reading/decoding.
1875
+ Default is True.
1876
+ :type _preload_content: bool, optional
1877
+ :param _return_http_data_only: response data instead of ApiResponse
1878
+ object with status code, headers, etc
1879
+ :type _return_http_data_only: bool, optional
1880
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
1881
+ :param opts: Configuration options for this request
1882
+ :type opts: ConfigurationOptions, optional
1883
+ :param _request_auth: set to override the auth_settings for an a single
1884
+ request; this effectively ignores the authentication
1885
+ in the spec for a single request.
1886
+ :type _request_auth: dict, optional
1887
+ :type _content_type: string, optional: force content-type for the request
1888
+ :return: Returns the result object.
1889
+ If the method is called asynchronously,
1890
+ returns the request thread.
1891
+ :rtype: tuple(PagedResourceListOfOrderBreachHistory, status_code(int), headers(HTTPHeaderDict))
1892
+ """
1893
+
1894
+ _params = locals()
1895
+
1896
+ _all_params = [
1897
+ 'as_at',
1898
+ 'page',
1899
+ 'limit',
1900
+ 'filter',
1901
+ 'sort_by'
1902
+ ]
1903
+ _all_params.extend(
1904
+ [
1905
+ 'async_req',
1906
+ '_return_http_data_only',
1907
+ '_preload_content',
1908
+ '_request_timeout',
1909
+ '_request_auth',
1910
+ '_content_type',
1911
+ '_headers',
1912
+ 'opts'
1913
+ ]
1914
+ )
1915
+
1916
+ # validate the arguments
1917
+ for _key, _val in _params['kwargs'].items():
1918
+ if _key not in _all_params:
1919
+ raise ApiTypeError(
1920
+ "Got an unexpected keyword argument '%s'"
1921
+ " to method list_order_breach_history" % _key
1922
+ )
1923
+ _params[_key] = _val
1924
+ del _params['kwargs']
1925
+
1926
+ _collection_formats = {}
1927
+
1928
+ # process the path parameters
1929
+ _path_params = {}
1930
+
1931
+ # process the query parameters
1932
+ _query_params = []
1933
+ if _params.get('as_at') is not None: # noqa: E501
1934
+ if isinstance(_params['as_at'], datetime):
1935
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
1936
+ else:
1937
+ _query_params.append(('asAt', _params['as_at']))
1938
+
1939
+ if _params.get('page') is not None: # noqa: E501
1940
+ _query_params.append(('page', _params['page']))
1941
+
1942
+ if _params.get('limit') is not None: # noqa: E501
1943
+ _query_params.append(('limit', _params['limit']))
1944
+
1945
+ if _params.get('filter') is not None: # noqa: E501
1946
+ _query_params.append(('filter', _params['filter']))
1947
+
1948
+ if _params.get('sort_by') is not None: # noqa: E501
1949
+ _query_params.append(('sortBy', _params['sort_by']))
1950
+ _collection_formats['sortBy'] = 'multi'
1951
+
1952
+ # process the header parameters
1953
+ _header_params = dict(_params.get('_headers', {}))
1954
+ # process the form parameters
1955
+ _form_params = []
1956
+ _files = {}
1957
+ # process the body parameter
1958
+ _body_params = None
1959
+ # set the HTTP header `Accept`
1960
+ _header_params['Accept'] = self.api_client.select_header_accept(
1961
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
1962
+
1963
+ # authentication setting
1964
+ _auth_settings = ['oauth2'] # noqa: E501
1965
+
1966
+ _response_types_map = {
1967
+ '200': "PagedResourceListOfOrderBreachHistory",
1968
+ '400': "LusidValidationProblemDetails",
1969
+ }
1970
+
1971
+ return self.api_client.call_api(
1972
+ '/api/compliance/runs/breaches', 'GET',
1973
+ _path_params,
1974
+ _query_params,
1975
+ _header_params,
1976
+ body=_body_params,
1977
+ post_params=_form_params,
1978
+ files=_files,
1979
+ response_types_map=_response_types_map,
1980
+ auth_settings=_auth_settings,
1981
+ async_req=_params.get('async_req'),
1982
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1983
+ _preload_content=_params.get('_preload_content', True),
1984
+ _request_timeout=_params.get('_request_timeout'),
1985
+ opts=_params.get('opts'),
1986
+ collection_formats=_collection_formats,
1987
+ _request_auth=_params.get('_request_auth'))
1988
+
1989
+
1801
1990
  @overload
1802
1991
  async def run_compliance(self, run_scope : Annotated[StrictStr, Field(..., description="Required: Scope to save the run results in.")], rule_scope : Annotated[StrictStr, Field(..., description="Required: Scope from which to select rules to be run.")], is_pre_trade : Annotated[StrictBool, Field(..., description="Required: Boolean flag indicating if a run should be PreTrade (Including orders). For post-trade only, set to false")], recipe_id_scope : Annotated[StrictStr, Field(..., description="Required: the scope of the recipe to be used")], recipe_id_code : Annotated[StrictStr, Field(..., description="Required: The code of the recipe to be used. If left blank, the default recipe will be used.")], **kwargs) -> ComplianceRunInfoV2: # noqa: E501
1803
1992
  ...
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.7908\n"\
448
+ "Version of the API: 0.11.7910\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
@@ -650,6 +650,7 @@ from lusid.models.option_exercise_election import OptionExerciseElection
650
650
  from lusid.models.option_exercise_physical_event import OptionExercisePhysicalEvent
651
651
  from lusid.models.optionality_schedule import OptionalitySchedule
652
652
  from lusid.models.order import Order
653
+ from lusid.models.order_breach_history import OrderBreachHistory
653
654
  from lusid.models.order_by_spec import OrderBySpec
654
655
  from lusid.models.order_flow_configuration import OrderFlowConfiguration
655
656
  from lusid.models.order_graph_block import OrderGraphBlock
@@ -676,6 +677,7 @@ from lusid.models.order_instruction import OrderInstruction
676
677
  from lusid.models.order_instruction_request import OrderInstructionRequest
677
678
  from lusid.models.order_instruction_set_request import OrderInstructionSetRequest
678
679
  from lusid.models.order_request import OrderRequest
680
+ from lusid.models.order_rule_breach import OrderRuleBreach
679
681
  from lusid.models.order_set_request import OrderSetRequest
680
682
  from lusid.models.order_update_request import OrderUpdateRequest
681
683
  from lusid.models.otc_confirmation import OtcConfirmation
@@ -724,6 +726,7 @@ from lusid.models.paged_resource_list_of_instrument_event_instruction import Pag
724
726
  from lusid.models.paged_resource_list_of_item_and_workspace import PagedResourceListOfItemAndWorkspace
725
727
  from lusid.models.paged_resource_list_of_legal_entity import PagedResourceListOfLegalEntity
726
728
  from lusid.models.paged_resource_list_of_order import PagedResourceListOfOrder
729
+ from lusid.models.paged_resource_list_of_order_breach_history import PagedResourceListOfOrderBreachHistory
727
730
  from lusid.models.paged_resource_list_of_order_graph_block import PagedResourceListOfOrderGraphBlock
728
731
  from lusid.models.paged_resource_list_of_order_graph_placement import PagedResourceListOfOrderGraphPlacement
729
732
  from lusid.models.paged_resource_list_of_order_instruction import PagedResourceListOfOrderInstruction
@@ -1881,6 +1884,7 @@ __all__ = [
1881
1884
  "OptionExercisePhysicalEvent",
1882
1885
  "OptionalitySchedule",
1883
1886
  "Order",
1887
+ "OrderBreachHistory",
1884
1888
  "OrderBySpec",
1885
1889
  "OrderFlowConfiguration",
1886
1890
  "OrderGraphBlock",
@@ -1907,6 +1911,7 @@ __all__ = [
1907
1911
  "OrderInstructionRequest",
1908
1912
  "OrderInstructionSetRequest",
1909
1913
  "OrderRequest",
1914
+ "OrderRuleBreach",
1910
1915
  "OrderSetRequest",
1911
1916
  "OrderUpdateRequest",
1912
1917
  "OtcConfirmation",
@@ -1955,6 +1960,7 @@ __all__ = [
1955
1960
  "PagedResourceListOfItemAndWorkspace",
1956
1961
  "PagedResourceListOfLegalEntity",
1957
1962
  "PagedResourceListOfOrder",
1963
+ "PagedResourceListOfOrderBreachHistory",
1958
1964
  "PagedResourceListOfOrderGraphBlock",
1959
1965
  "PagedResourceListOfOrderGraphPlacement",
1960
1966
  "PagedResourceListOfOrderInstruction",
@@ -22,6 +22,7 @@ from typing import Any, Dict, Optional
22
22
  from pydantic.v1 import StrictStr, Field, BaseModel, Field
23
23
  from lusid.models.custom_data_model_criteria import CustomDataModelCriteria
24
24
  from lusid.models.data_model_summary import DataModelSummary
25
+ from lusid.models.version import Version
25
26
 
26
27
  class CustomDataModel(BaseModel):
27
28
  """
@@ -31,7 +32,8 @@ class CustomDataModel(BaseModel):
31
32
  inherited: Optional[CustomDataModelCriteria] = None
32
33
  incremental: Optional[CustomDataModelCriteria] = None
33
34
  applied: Optional[CustomDataModelCriteria] = None
34
- __properties = ["dataModelSummary", "inherited", "incremental", "applied"]
35
+ version: Optional[Version] = None
36
+ __properties = ["dataModelSummary", "inherited", "incremental", "applied", "version"]
35
37
 
36
38
  class Config:
37
39
  """Pydantic configuration"""
@@ -77,6 +79,9 @@ class CustomDataModel(BaseModel):
77
79
  # override the default output from pydantic by calling `to_dict()` of applied
78
80
  if self.applied:
79
81
  _dict['applied'] = self.applied.to_dict()
82
+ # override the default output from pydantic by calling `to_dict()` of version
83
+ if self.version:
84
+ _dict['version'] = self.version.to_dict()
80
85
  return _dict
81
86
 
82
87
  @classmethod
@@ -92,6 +97,7 @@ class CustomDataModel(BaseModel):
92
97
  "data_model_summary": DataModelSummary.from_dict(obj.get("dataModelSummary")) if obj.get("dataModelSummary") is not None else None,
93
98
  "inherited": CustomDataModelCriteria.from_dict(obj.get("inherited")) if obj.get("inherited") is not None else None,
94
99
  "incremental": CustomDataModelCriteria.from_dict(obj.get("incremental")) if obj.get("incremental") is not None else None,
95
- "applied": CustomDataModelCriteria.from_dict(obj.get("applied")) if obj.get("applied") is not None else None
100
+ "applied": CustomDataModelCriteria.from_dict(obj.get("applied")) if obj.get("applied") is not None else None,
101
+ "version": Version.from_dict(obj.get("version")) if obj.get("version") is not None else None
96
102
  })
97
103
  return _obj
@@ -0,0 +1,117 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ LUSID API
5
+
6
+ FINBOURNE Technology # noqa: E501
7
+
8
+ Contact: info@finbourne.com
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from datetime import datetime
21
+ from typing import Any, Dict, List, Optional
22
+ from pydantic.v1 import StrictStr, Field, BaseModel, Field, conlist
23
+ from lusid.models.order_rule_breach import OrderRuleBreach
24
+ from lusid.models.resource_id import ResourceId
25
+
26
+ class OrderBreachHistory(BaseModel):
27
+ """
28
+ OrderBreachHistory
29
+ """
30
+ id: ResourceId = Field(...)
31
+ order_id: ResourceId = Field(..., alias="orderId")
32
+ run_id: ResourceId = Field(..., alias="runId")
33
+ breaches_by_rule: Optional[Dict[str, conlist(OrderRuleBreach)]] = Field(None, alias="breachesByRule", description="Compliance rule breaches associations with the order and run.")
34
+ as_at: datetime = Field(..., alias="asAt", description="The asAt datetime at which the order breach was created in LUSID.")
35
+ __properties = ["id", "orderId", "runId", "breachesByRule", "asAt"]
36
+
37
+ class Config:
38
+ """Pydantic configuration"""
39
+ allow_population_by_field_name = True
40
+ validate_assignment = True
41
+
42
+ def __str__(self):
43
+ """For `print` and `pprint`"""
44
+ return pprint.pformat(self.dict(by_alias=False))
45
+
46
+ def __repr__(self):
47
+ """For `print` and `pprint`"""
48
+ return self.to_str()
49
+
50
+ def to_str(self) -> str:
51
+ """Returns the string representation of the model using alias"""
52
+ return pprint.pformat(self.dict(by_alias=True))
53
+
54
+ def to_json(self) -> str:
55
+ """Returns the JSON representation of the model using alias"""
56
+ return json.dumps(self.to_dict())
57
+
58
+ @classmethod
59
+ def from_json(cls, json_str: str) -> OrderBreachHistory:
60
+ """Create an instance of OrderBreachHistory from a JSON string"""
61
+ return cls.from_dict(json.loads(json_str))
62
+
63
+ def to_dict(self):
64
+ """Returns the dictionary representation of the model using alias"""
65
+ _dict = self.dict(by_alias=True,
66
+ exclude={
67
+ },
68
+ exclude_none=True)
69
+ # override the default output from pydantic by calling `to_dict()` of id
70
+ if self.id:
71
+ _dict['id'] = self.id.to_dict()
72
+ # override the default output from pydantic by calling `to_dict()` of order_id
73
+ if self.order_id:
74
+ _dict['orderId'] = self.order_id.to_dict()
75
+ # override the default output from pydantic by calling `to_dict()` of run_id
76
+ if self.run_id:
77
+ _dict['runId'] = self.run_id.to_dict()
78
+ # override the default output from pydantic by calling `to_dict()` of each value in breaches_by_rule (dict of array)
79
+ _field_dict_of_array = {}
80
+ if self.breaches_by_rule:
81
+ for _key in self.breaches_by_rule:
82
+ if self.breaches_by_rule[_key]:
83
+ _field_dict_of_array[_key] = [
84
+ _item.to_dict() for _item in self.breaches_by_rule[_key]
85
+ ]
86
+ _dict['breachesByRule'] = _field_dict_of_array
87
+ # set to None if breaches_by_rule (nullable) is None
88
+ # and __fields_set__ contains the field
89
+ if self.breaches_by_rule is None and "breaches_by_rule" in self.__fields_set__:
90
+ _dict['breachesByRule'] = None
91
+
92
+ return _dict
93
+
94
+ @classmethod
95
+ def from_dict(cls, obj: dict) -> OrderBreachHistory:
96
+ """Create an instance of OrderBreachHistory from a dict"""
97
+ if obj is None:
98
+ return None
99
+
100
+ if not isinstance(obj, dict):
101
+ return OrderBreachHistory.parse_obj(obj)
102
+
103
+ _obj = OrderBreachHistory.parse_obj({
104
+ "id": ResourceId.from_dict(obj.get("id")) if obj.get("id") is not None else None,
105
+ "order_id": ResourceId.from_dict(obj.get("orderId")) if obj.get("orderId") is not None else None,
106
+ "run_id": ResourceId.from_dict(obj.get("runId")) if obj.get("runId") is not None else None,
107
+ "breaches_by_rule": dict(
108
+ (_k,
109
+ [OrderRuleBreach.from_dict(_item) for _item in _v]
110
+ if _v is not None
111
+ else None
112
+ )
113
+ for _k, _v in obj.get("breachesByRule").items()
114
+ ),
115
+ "as_at": obj.get("asAt")
116
+ })
117
+ return _obj
@@ -0,0 +1,79 @@
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, constr, validator
23
+
24
+ class OrderRuleBreach(BaseModel):
25
+ """
26
+ OrderRuleBreach
27
+ """
28
+ breach_task_id: StrictStr = Field(...,alias="breachTaskId", description="Uniquely identifies this historical order breach workflow task.")
29
+ compliance_state: StrictStr = Field(...,alias="complianceState", description="The compliance state of this order breach. Possible values are 'Pending', 'Failed', 'Manually approved', 'Passed' and 'Warning'.")
30
+ __properties = ["breachTaskId", "complianceState"]
31
+
32
+ class Config:
33
+ """Pydantic configuration"""
34
+ allow_population_by_field_name = True
35
+ validate_assignment = True
36
+
37
+ def __str__(self):
38
+ """For `print` and `pprint`"""
39
+ return pprint.pformat(self.dict(by_alias=False))
40
+
41
+ def __repr__(self):
42
+ """For `print` and `pprint`"""
43
+ return self.to_str()
44
+
45
+ def to_str(self) -> str:
46
+ """Returns the string representation of the model using alias"""
47
+ return pprint.pformat(self.dict(by_alias=True))
48
+
49
+ def to_json(self) -> str:
50
+ """Returns the JSON representation of the model using alias"""
51
+ return json.dumps(self.to_dict())
52
+
53
+ @classmethod
54
+ def from_json(cls, json_str: str) -> OrderRuleBreach:
55
+ """Create an instance of OrderRuleBreach from a JSON string"""
56
+ return cls.from_dict(json.loads(json_str))
57
+
58
+ def to_dict(self):
59
+ """Returns the dictionary representation of the model using alias"""
60
+ _dict = self.dict(by_alias=True,
61
+ exclude={
62
+ },
63
+ exclude_none=True)
64
+ return _dict
65
+
66
+ @classmethod
67
+ def from_dict(cls, obj: dict) -> OrderRuleBreach:
68
+ """Create an instance of OrderRuleBreach from a dict"""
69
+ if obj is None:
70
+ return None
71
+
72
+ if not isinstance(obj, dict):
73
+ return OrderRuleBreach.parse_obj(obj)
74
+
75
+ _obj = OrderRuleBreach.parse_obj({
76
+ "breach_task_id": obj.get("breachTaskId"),
77
+ "compliance_state": obj.get("complianceState")
78
+ })
79
+ return _obj
@@ -0,0 +1,121 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ LUSID API
5
+
6
+ FINBOURNE Technology # noqa: E501
7
+
8
+ Contact: info@finbourne.com
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+
21
+ from typing import Any, Dict, List, Optional
22
+ from pydantic.v1 import StrictStr, Field, BaseModel, Field, StrictStr, conlist
23
+ from lusid.models.link import Link
24
+ from lusid.models.order_breach_history import OrderBreachHistory
25
+
26
+ class PagedResourceListOfOrderBreachHistory(BaseModel):
27
+ """
28
+ PagedResourceListOfOrderBreachHistory
29
+ """
30
+ next_page: Optional[StrictStr] = Field(None,alias="nextPage")
31
+ previous_page: Optional[StrictStr] = Field(None,alias="previousPage")
32
+ values: conlist(OrderBreachHistory) = Field(...)
33
+ href: Optional[StrictStr] = Field(None,alias="href")
34
+ links: Optional[conlist(Link)] = None
35
+ __properties = ["nextPage", "previousPage", "values", "href", "links"]
36
+
37
+ class Config:
38
+ """Pydantic configuration"""
39
+ allow_population_by_field_name = True
40
+ validate_assignment = True
41
+
42
+ def __str__(self):
43
+ """For `print` and `pprint`"""
44
+ return pprint.pformat(self.dict(by_alias=False))
45
+
46
+ def __repr__(self):
47
+ """For `print` and `pprint`"""
48
+ return self.to_str()
49
+
50
+ def to_str(self) -> str:
51
+ """Returns the string representation of the model using alias"""
52
+ return pprint.pformat(self.dict(by_alias=True))
53
+
54
+ def to_json(self) -> str:
55
+ """Returns the JSON representation of the model using alias"""
56
+ return json.dumps(self.to_dict())
57
+
58
+ @classmethod
59
+ def from_json(cls, json_str: str) -> PagedResourceListOfOrderBreachHistory:
60
+ """Create an instance of PagedResourceListOfOrderBreachHistory from a JSON string"""
61
+ return cls.from_dict(json.loads(json_str))
62
+
63
+ def to_dict(self):
64
+ """Returns the dictionary representation of the model using alias"""
65
+ _dict = self.dict(by_alias=True,
66
+ exclude={
67
+ },
68
+ exclude_none=True)
69
+ # override the default output from pydantic by calling `to_dict()` of each item in values (list)
70
+ _items = []
71
+ if self.values:
72
+ for _item in self.values:
73
+ if _item:
74
+ _items.append(_item.to_dict())
75
+ _dict['values'] = _items
76
+ # override the default output from pydantic by calling `to_dict()` of each item in links (list)
77
+ _items = []
78
+ if self.links:
79
+ for _item in self.links:
80
+ if _item:
81
+ _items.append(_item.to_dict())
82
+ _dict['links'] = _items
83
+ # set to None if next_page (nullable) is None
84
+ # and __fields_set__ contains the field
85
+ if self.next_page is None and "next_page" in self.__fields_set__:
86
+ _dict['nextPage'] = None
87
+
88
+ # set to None if previous_page (nullable) is None
89
+ # and __fields_set__ contains the field
90
+ if self.previous_page is None and "previous_page" in self.__fields_set__:
91
+ _dict['previousPage'] = None
92
+
93
+ # set to None if href (nullable) is None
94
+ # and __fields_set__ contains the field
95
+ if self.href is None and "href" in self.__fields_set__:
96
+ _dict['href'] = None
97
+
98
+ # set to None if links (nullable) is None
99
+ # and __fields_set__ contains the field
100
+ if self.links is None and "links" in self.__fields_set__:
101
+ _dict['links'] = None
102
+
103
+ return _dict
104
+
105
+ @classmethod
106
+ def from_dict(cls, obj: dict) -> PagedResourceListOfOrderBreachHistory:
107
+ """Create an instance of PagedResourceListOfOrderBreachHistory from a dict"""
108
+ if obj is None:
109
+ return None
110
+
111
+ if not isinstance(obj, dict):
112
+ return PagedResourceListOfOrderBreachHistory.parse_obj(obj)
113
+
114
+ _obj = PagedResourceListOfOrderBreachHistory.parse_obj({
115
+ "next_page": obj.get("nextPage"),
116
+ "previous_page": obj.get("previousPage"),
117
+ "values": [OrderBreachHistory.from_dict(_item) for _item in obj.get("values")] if obj.get("values") is not None else None,
118
+ "href": obj.get("href"),
119
+ "links": [Link.from_dict(_item) for _item in obj.get("links")] if obj.get("links") is not None else None
120
+ })
121
+ return _obj
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lusid-sdk
3
- Version: 2.1.830
3
+ Version: 2.1.831
4
4
  Summary: LUSID API
5
5
  Home-page: https://github.com/finbourne/lusid-sdk-python
6
6
  License: MIT
@@ -144,6 +144,7 @@ Class | Method | HTTP request | Description
144
144
  *ComplianceApi* | [**list_compliance_rules**](docs/ComplianceApi.md#list_compliance_rules) | **GET** /api/compliance/rules | [EARLY ACCESS] ListComplianceRules: List compliance rules.
145
145
  *ComplianceApi* | [**list_compliance_runs**](docs/ComplianceApi.md#list_compliance_runs) | **GET** /api/compliance/runs | [EARLY ACCESS] ListComplianceRuns: List historical compliance run identifiers.
146
146
  *ComplianceApi* | [**list_compliance_templates**](docs/ComplianceApi.md#list_compliance_templates) | **GET** /api/compliance/templates | [EARLY ACCESS] ListComplianceTemplates: List compliance templates.
147
+ *ComplianceApi* | [**list_order_breach_history**](docs/ComplianceApi.md#list_order_breach_history) | **GET** /api/compliance/runs/breaches | [EXPERIMENTAL] ListOrderBreachHistory: List Historical Order Breaches.
147
148
  *ComplianceApi* | [**run_compliance**](docs/ComplianceApi.md#run_compliance) | **POST** /api/compliance/runs | [EARLY ACCESS] RunCompliance: Run a compliance check.
148
149
  *ComplianceApi* | [**run_compliance_preview**](docs/ComplianceApi.md#run_compliance_preview) | **POST** /api/compliance/preview/runs | [EARLY ACCESS] RunCompliancePreview: Run a compliance check.
149
150
  *ComplianceApi* | [**update_compliance_template**](docs/ComplianceApi.md#update_compliance_template) | **PUT** /api/compliance/templates/{scope}/{code} | [EARLY ACCESS] UpdateComplianceTemplate: Update a ComplianceRuleTemplate
@@ -1299,6 +1300,7 @@ Class | Method | HTTP request | Description
1299
1300
  - [OptionExercisePhysicalEvent](docs/OptionExercisePhysicalEvent.md)
1300
1301
  - [OptionalitySchedule](docs/OptionalitySchedule.md)
1301
1302
  - [Order](docs/Order.md)
1303
+ - [OrderBreachHistory](docs/OrderBreachHistory.md)
1302
1304
  - [OrderBySpec](docs/OrderBySpec.md)
1303
1305
  - [OrderFlowConfiguration](docs/OrderFlowConfiguration.md)
1304
1306
  - [OrderGraphBlock](docs/OrderGraphBlock.md)
@@ -1325,6 +1327,7 @@ Class | Method | HTTP request | Description
1325
1327
  - [OrderInstructionRequest](docs/OrderInstructionRequest.md)
1326
1328
  - [OrderInstructionSetRequest](docs/OrderInstructionSetRequest.md)
1327
1329
  - [OrderRequest](docs/OrderRequest.md)
1330
+ - [OrderRuleBreach](docs/OrderRuleBreach.md)
1328
1331
  - [OrderSetRequest](docs/OrderSetRequest.md)
1329
1332
  - [OrderUpdateRequest](docs/OrderUpdateRequest.md)
1330
1333
  - [OtcConfirmation](docs/OtcConfirmation.md)
@@ -1373,6 +1376,7 @@ Class | Method | HTTP request | Description
1373
1376
  - [PagedResourceListOfItemAndWorkspace](docs/PagedResourceListOfItemAndWorkspace.md)
1374
1377
  - [PagedResourceListOfLegalEntity](docs/PagedResourceListOfLegalEntity.md)
1375
1378
  - [PagedResourceListOfOrder](docs/PagedResourceListOfOrder.md)
1379
+ - [PagedResourceListOfOrderBreachHistory](docs/PagedResourceListOfOrderBreachHistory.md)
1376
1380
  - [PagedResourceListOfOrderGraphBlock](docs/PagedResourceListOfOrderGraphBlock.md)
1377
1381
  - [PagedResourceListOfOrderGraphPlacement](docs/PagedResourceListOfOrderGraphPlacement.md)
1378
1382
  - [PagedResourceListOfOrderInstruction](docs/PagedResourceListOfOrderInstruction.md)
@@ -1,4 +1,4 @@
1
- lusid/__init__.py,sha256=Zl5vUrcQYtRiFQu6nPEZC_ffOSaIcf_bQmbVEyyojVc,138816
1
+ lusid/__init__.py,sha256=LYGlEVx6i8rhVt3j70bk7GHAmE6prlGzx4JlxseqJK4,139141
2
2
  lusid/api/__init__.py,sha256=rDMCQ5xxj5K43PAE4v9joIu4G8XxM2QNi2Dj0vFQA8A,6471
3
3
  lusid/api/abor_api.py,sha256=N7Wsh0395mXOvpJI8z0Nrx5OY4nCP5FN9RkbtdHaZbM,165987
4
4
  lusid/api/abor_configuration_api.py,sha256=xQ9HcXm02eDFhCdWUHjqFRWl1oQMxm2LNObJ9kcLauU,84216
@@ -12,7 +12,7 @@ lusid/api/blocks_api.py,sha256=WvkS7tK4jY1R_SWV8FqjCr5zpF9Gx1basp62FBdyH_E,43230
12
12
  lusid/api/calendars_api.py,sha256=Z1Zo2PDggpII8e6DyKlun1EZkCqU0I9MtqTsKfu5buI,141755
13
13
  lusid/api/chart_of_accounts_api.py,sha256=cyLfNKPJpBuy61U1HqVGNh1bmwAoTDpaIGQ1SeuMU-I,404270
14
14
  lusid/api/complex_market_data_api.py,sha256=qxhtgdCS0oIctX3T6V90wk7FiTeB_Hubu_yRTUPyGwg,67034
15
- lusid/api/compliance_api.py,sha256=mbq3E4h6nMQp7mowJussYN2f92YDIsjwYQw7wiTjHG4,147595
15
+ lusid/api/compliance_api.py,sha256=zVn3TuZ97PqKKh-b666fHgs3mfVcDD9nELX7zTTsdz0,161480
16
16
  lusid/api/configuration_recipe_api.py,sha256=1hdNB1imRjVzf8KAmqnNJE10jv883s1SCza5dl8fP9Q,99363
17
17
  lusid/api/conventions_api.py,sha256=dsvB_lAcR5oVQLTqVJj9_zruF7Tyn8aGzD9EmEKvfWY,104288
18
18
  lusid/api/corporate_action_sources_api.py,sha256=7Js9dAFi_HOsYjZvYQew8SjK8x45x-Bi3VJxY-dhDKU,98350
@@ -77,7 +77,7 @@ lusid/api/translation_api.py,sha256=xpRuTfwQvYBlWe6r_L2EI_uVpXqHFnEOim-i-kVQ85E,
77
77
  lusid/api/workspace_api.py,sha256=0pCNi3ZCRbIo0NXKa85XE7vtq0WV5YOKcQKvFlcLUaY,120708
78
78
  lusid/api_client.py,sha256=ewMTmf9SRurY8pYnUx9jy24RdldPCOa4US38pnrVxjA,31140
79
79
  lusid/api_response.py,sha256=6-gnhty6lu8MMAERt3_kTVD7UxQgWFfcjgpcq6iN5IU,855
80
- lusid/configuration.py,sha256=hOh-IE7iuG6kh3faFoZLNCR8AgfBTkjmVPm7fcrkT0A,17972
80
+ lusid/configuration.py,sha256=hIbLxOiz0VxCiYQuRQD1oKgD9BqaiMYvhsh_KbuBBuk,17972
81
81
  lusid/exceptions.py,sha256=HIQwgmQrszLlcVCLaqex8dO0laVuejUyOMz7U2ZWJ6s,5326
82
82
  lusid/extensions/__init__.py,sha256=dzDHEzpn-9smd2-_UMWQzeyX6Ha4jGf6fnqx7qxKxNI,630
83
83
  lusid/extensions/api_client.py,sha256=GzygWg_h603QK1QS2HvAijuE2R1TnvoF6-Yg0CeM3ug,30943
@@ -92,7 +92,7 @@ lusid/extensions/rest.py,sha256=dp-bD_LMR2zAL1tmC3-urhWKLomXx7r5iGN1VteMBVQ,1601
92
92
  lusid/extensions/retry.py,sha256=EhW9OKJmGHipxN3H7eROH5DiMlAnfBVl95NQrttcsdg,14834
93
93
  lusid/extensions/socket_keep_alive.py,sha256=eX5ICvGfVzUCGIm80Q2RknfFZrBQAdnrcpY61M29V_k,1997
94
94
  lusid/extensions/tcp_keep_alive_connector.py,sha256=zaGtUsygRsxB1_4B3x39K3ILwztdhMLDv5bFZV7zmGE,3877
95
- lusid/models/__init__.py,sha256=XqU2D6NjtOxyjcvlBMJ_KgKgjQZWvdzwfFgNgfvBC5Q,131313
95
+ lusid/models/__init__.py,sha256=pV5JvdKUkEOTZL7bflYAHdjWjrYJaGvviGudQYUorqc,131638
96
96
  lusid/models/a2_b_breakdown.py,sha256=-FXgILrvtZXQDmvS0ARaJVGBq5LJ4AH-o3HjujFVmS4,3198
97
97
  lusid/models/a2_b_category.py,sha256=WunXUgx-dCnApPeLC8Qo5tVCX8Ywxkehib1vmNqNgNs,2957
98
98
  lusid/models/a2_b_data_record.py,sha256=qANTmV1_HUEo4l72-F8qzZjlQxOe0Onc9WPz7h-WWuY,9993
@@ -364,7 +364,7 @@ lusid/models/custodian_account.py,sha256=eT17O-_F69CVKRGeoil12WW_9XpSeF6lIJcJ_1r
364
364
  lusid/models/custodian_account_properties.py,sha256=1OWHeXZB4tINkDm1-tQsHiiaxK6Q8q0Jb9a3lBTyScs,4610
365
365
  lusid/models/custodian_account_request.py,sha256=ejBV8XPgHE_SijJWKfu6qpSHRXl83AM4GTGbnW3zZFM,5889
366
366
  lusid/models/custodian_accounts_upsert_response.py,sha256=JifiqVoKIwK73PUtx1nMR9e9JH9NiTdnUEaklPAgW_I,4629
367
- lusid/models/custom_data_model.py,sha256=A6sd_p6eT5c8ceOwdg-UqdCkfFN8EcpEdY-PQ00zwUQ,3676
367
+ lusid/models/custom_data_model.py,sha256=CBfqbvkLVR28Q5mG2GWIIm_cHQIj4moZ8rX3wczV25I,4037
368
368
  lusid/models/custom_data_model_criteria.py,sha256=873vt--Yak9_SFcr7LpLBuj8HyJoYXFH-0EHB_SSHwE,6699
369
369
  lusid/models/custom_data_model_identifier_type_specification.py,sha256=OmS062q5I172iV3vOcei9jJPIu_kFdHopaF6MW8OLy8,2596
370
370
  lusid/models/custom_data_model_identifier_type_specification_with_display_name.py,sha256=kosgFBwpz6ZcKmQu3iP4Z-hpvIRhe2gnnamFWXj5F1k,3585
@@ -729,6 +729,7 @@ lusid/models/option_exercise_election.py,sha256=n6rxh81aPTSSXQPZ62IMO4NmSaDZbXpn
729
729
  lusid/models/option_exercise_physical_event.py,sha256=Xh2Pv56ewCvjCgzPygL_gKb58R0U2wD0hI4FyyRJU7Q,15874
730
730
  lusid/models/optionality_schedule.py,sha256=6UAJJyujoLY8b4ujDXMpu-V9WFVyKI-l7inKdmofIqw,8759
731
731
  lusid/models/order.py,sha256=KrLbhRbUKb-JE4yvG3UTZ6RWBZTXCjyjYsPmqKJg-1c,9892
732
+ lusid/models/order_breach_history.py,sha256=1G-1ieqx_4ksW4MjQmU9op9abqRyKvfbWcpJL50N4RU,4511
732
733
  lusid/models/order_by_spec.py,sha256=q-vo1gZt9JhjNeRXez-hfpHV1JMjK6OGf6TKi4wfR9U,5578
733
734
  lusid/models/order_flow_configuration.py,sha256=7iWxrL8fryDbcXrKytM6rzB0xmkCOm3F6-dKoACEBA0,2482
734
735
  lusid/models/order_graph_block.py,sha256=XNHaVjeamkLgKKNgOvDuJ8qaKPujgC3xsiA1681mHnM,5495
@@ -755,6 +756,7 @@ lusid/models/order_instruction.py,sha256=lZHFAJlUK9H_slQO6uILrGPZ9RCMUFqLi3zam7N
755
756
  lusid/models/order_instruction_request.py,sha256=CYvDG505wPlD5a9tdjkCS1q6L9I1yhQScq8gr-buH_U,5741
756
757
  lusid/models/order_instruction_set_request.py,sha256=HFlDichvpwgPsPZj6awIo6ofn066RP1rosX7kgUQ7FI,2996
757
758
  lusid/models/order_request.py,sha256=vA90s8q8Y58x--4KpJJ6O5fWtoauOBBhusMdpherXDA,8088
759
+ lusid/models/order_rule_breach.py,sha256=FFEoFnUVuL-fcVjfokHKvMDOaSa--of5qN7wYj0B31E,2486
758
760
  lusid/models/order_set_request.py,sha256=b7FHKZWawLGR83gRHpShjtdYxvlvyMdLhQGLi2HTjmQ,2948
759
761
  lusid/models/order_update_request.py,sha256=eXPD9g6f-W5C42JGpNyOijrnPO7jmYERWNgXMfu46VU,5371
760
762
  lusid/models/otc_confirmation.py,sha256=05mvXvcPLgyCNIHXN7g9L5nqAZORKrQA_wHW-fHe2O0,2651
@@ -803,6 +805,7 @@ lusid/models/paged_resource_list_of_instrument_event_instruction.py,sha256=j7vW0
803
805
  lusid/models/paged_resource_list_of_item_and_workspace.py,sha256=3tb3XW-kvPvu15o-YiDPRonZv2ptfeUisWJmIMCiWX4,4424
804
806
  lusid/models/paged_resource_list_of_legal_entity.py,sha256=kc__KlK_idJw8g0be1HUtCbEFo-l3OH1ZH5Abmp6JJo,4363
805
807
  lusid/models/paged_resource_list_of_order.py,sha256=fNxwZBrLsNnp1fVcvbrNxh7zeKtybdgfC0hFfxaRePI,4290
808
+ lusid/models/paged_resource_list_of_order_breach_history.py,sha256=a6YHr8Q_ifjQ77wEKGSwA7609RSS-XNBUIrDRC9Aza4,4448
806
809
  lusid/models/paged_resource_list_of_order_graph_block.py,sha256=69pMcdJ21oPEl80Nev5PfVZ_jCewGXbJKgAn58Ji7a8,4412
807
810
  lusid/models/paged_resource_list_of_order_graph_placement.py,sha256=axEjiRs6iYi_PYrNTWIfexn9Aj5SGbKnvkWqrHkgCOE,4460
808
811
  lusid/models/paged_resource_list_of_order_instruction.py,sha256=HHbiTxZ94xTeKhlFTmRMdyWsYBTwexWyXPTuLQW1Kjs,4423
@@ -1323,6 +1326,6 @@ lusid/models/year_month_day.py,sha256=gwSoxFwlD_wffKdddo1wfvAcLq3Cht3FHQidiaHzAA
1323
1326
  lusid/models/yield_curve_data.py,sha256=I1ZSWxHMgUxj9OQt6i9a4S91KB4_XtmrfFxpN_PV3YQ,9561
1324
1327
  lusid/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1325
1328
  lusid/rest.py,sha256=HQT__5LQEMu6_1sLKvYj-DI4FH1DJXBIPYfZCTTyrY4,13431
1326
- lusid_sdk-2.1.830.dist-info/METADATA,sha256=HNkpOlmZa07xpLnuQibojWTYgzdzGFg63MfzA7X676c,221539
1327
- lusid_sdk-2.1.830.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
1328
- lusid_sdk-2.1.830.dist-info/RECORD,,
1329
+ lusid_sdk-2.1.831.dist-info/METADATA,sha256=wNe6lAGzL5SBRTiAu8XsOFf9nLmuve8O59xRusR_wa0,221939
1330
+ lusid_sdk-2.1.831.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
1331
+ lusid_sdk-2.1.831.dist-info/RECORD,,