lusid-sdk 2.1.322__py3-none-any.whl → 2.1.390__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.
Files changed (106) hide show
  1. lusid/__init__.py +64 -0
  2. lusid/api/__init__.py +5 -1
  3. lusid/api/data_types_api.py +160 -0
  4. lusid/api/entities_api.py +172 -0
  5. lusid/api/funds_api.py +221 -8
  6. lusid/api/group_reconciliations_api.py +378 -0
  7. lusid/api/order_management_api.py +321 -0
  8. lusid/api/workspace_api.py +3433 -0
  9. lusid/configuration.py +16 -7
  10. lusid/models/__init__.py +60 -0
  11. lusid/models/accept_estimate_valuation_point_response.py +100 -0
  12. lusid/models/accumulation_event.py +3 -3
  13. lusid/models/action_id.py +1 -1
  14. lusid/models/amortisation_event.py +3 -3
  15. lusid/models/applicable_instrument_event.py +14 -2
  16. lusid/models/bond_coupon_event.py +3 -3
  17. lusid/models/bond_default_event.py +3 -3
  18. lusid/models/bond_principal_event.py +3 -3
  19. lusid/models/calendar.py +17 -2
  20. lusid/models/capital_distribution_event.py +3 -3
  21. lusid/models/cash_dividend_event.py +3 -3
  22. lusid/models/cash_flow_event.py +3 -3
  23. lusid/models/close_event.py +3 -3
  24. lusid/models/close_period_diary_entry_request.py +1 -1
  25. lusid/models/create_group_reconciliation_comparison_ruleset_request.py +97 -0
  26. lusid/models/custom_entity_definition.py +17 -2
  27. lusid/models/custom_entity_type.py +17 -2
  28. lusid/models/data_type.py +14 -8
  29. lusid/models/data_type_entity.py +131 -0
  30. lusid/models/diary_entry.py +1 -1
  31. lusid/models/diary_entry_request.py +1 -1
  32. lusid/models/dividend_option_event.py +3 -3
  33. lusid/models/dividend_reinvestment_event.py +3 -3
  34. lusid/models/entity_change_item.py +121 -0
  35. lusid/models/exercise_event.py +3 -3
  36. lusid/models/expiry_event.py +3 -3
  37. lusid/models/fee.py +1 -1
  38. lusid/models/fee_request.py +1 -1
  39. lusid/models/flow_conventions.py +1 -1
  40. lusid/models/fund_amount.py +1 -1
  41. lusid/models/fund_configuration.py +6 -6
  42. lusid/models/fund_configuration_request.py +6 -6
  43. lusid/models/fund_details.py +74 -0
  44. lusid/models/future_expiry_event.py +3 -3
  45. lusid/models/futures_contract_details.py +6 -1
  46. lusid/models/fx_forward_settlement_event.py +3 -3
  47. lusid/models/generated_event_diagnostics.py +75 -0
  48. lusid/models/group_reconciliation_aggregate_attribute_rule.py +84 -0
  49. lusid/models/group_reconciliation_aggregate_comparison_rule_operand.py +71 -0
  50. lusid/models/group_reconciliation_comparison_rule_string_value_map.py +73 -0
  51. lusid/models/group_reconciliation_comparison_rule_tolerance.py +71 -0
  52. lusid/models/group_reconciliation_comparison_ruleset.py +125 -0
  53. lusid/models/group_reconciliation_core_attribute_rule.py +95 -0
  54. lusid/models/group_reconciliation_core_comparison_rule_operand.py +71 -0
  55. lusid/models/index_convention.py +1 -1
  56. lusid/models/informational_error_event.py +3 -3
  57. lusid/models/informational_event.py +3 -3
  58. lusid/models/instrument_event.py +7 -5
  59. lusid/models/instrument_event_instruction.py +19 -4
  60. lusid/models/instrument_event_type.py +2 -0
  61. lusid/models/instrument_resolution_detail.py +19 -5
  62. lusid/models/journal_entry_line.py +5 -3
  63. lusid/models/maturity_event.py +3 -3
  64. lusid/models/merger_event.py +3 -3
  65. lusid/models/new_instrument.py +10 -2
  66. lusid/models/open_event.py +3 -3
  67. lusid/models/order_graph_block_order_detail.py +1 -1
  68. lusid/models/order_update_request.py +121 -0
  69. lusid/models/paged_resource_list_of_valuation_point_overview.py +113 -0
  70. lusid/models/paged_resource_list_of_workspace.py +113 -0
  71. lusid/models/paged_resource_list_of_workspace_item.py +113 -0
  72. lusid/models/person.py +17 -2
  73. lusid/models/placement_update_request.py +6 -1
  74. lusid/models/previous_nav.py +3 -3
  75. lusid/models/quote_access_metadata_rule_id.py +2 -2
  76. lusid/models/quote_series_id.py +2 -2
  77. lusid/models/raw_vendor_event.py +3 -3
  78. lusid/models/reset_event.py +3 -3
  79. lusid/models/resource_list_of_entity_change_item.py +113 -0
  80. lusid/models/reverse_stock_split_event.py +3 -3
  81. lusid/models/scrip_dividend_event.py +20 -6
  82. lusid/models/share_class_amount.py +7 -9
  83. lusid/models/share_class_breakdown.py +9 -18
  84. lusid/models/share_class_dealing_breakdown.py +96 -0
  85. lusid/models/share_class_details.py +5 -3
  86. lusid/models/spin_off_event.py +3 -3
  87. lusid/models/stock_dividend_event.py +3 -3
  88. lusid/models/stock_split_event.py +21 -7
  89. lusid/models/swap_cash_flow_event.py +97 -0
  90. lusid/models/swap_principal_event.py +97 -0
  91. lusid/models/transaction_diagnostics.py +71 -0
  92. lusid/models/transition_event.py +3 -3
  93. lusid/models/trigger_event.py +3 -3
  94. lusid/models/update_orders_response.py +153 -0
  95. lusid/models/valuation_point_data_response.py +22 -2
  96. lusid/models/valuation_point_overview.py +125 -0
  97. lusid/models/weighted_instrument.py +9 -2
  98. lusid/models/workspace.py +92 -0
  99. lusid/models/workspace_creation_request.py +78 -0
  100. lusid/models/workspace_item.py +105 -0
  101. lusid/models/workspace_item_creation_request.py +91 -0
  102. lusid/models/workspace_item_update_request.py +82 -0
  103. lusid/models/workspace_update_request.py +69 -0
  104. {lusid_sdk-2.1.322.dist-info → lusid_sdk-2.1.390.dist-info}/METADATA +58 -1
  105. {lusid_sdk-2.1.322.dist-info → lusid_sdk-2.1.390.dist-info}/RECORD +106 -74
  106. {lusid_sdk-2.1.322.dist-info → lusid_sdk-2.1.390.dist-info}/WHEEL +0 -0
@@ -31,12 +31,15 @@ from lusid.models.book_transactions_response import BookTransactionsResponse
31
31
  from lusid.models.cancel_orders_response import CancelOrdersResponse
32
32
  from lusid.models.cancel_placements_response import CancelPlacementsResponse
33
33
  from lusid.models.move_orders_to_different_blocks_request import MoveOrdersToDifferentBlocksRequest
34
+ from lusid.models.order_update_request import OrderUpdateRequest
34
35
  from lusid.models.place_blocks_request import PlaceBlocksRequest
35
36
  from lusid.models.placement_update_request import PlacementUpdateRequest
36
37
  from lusid.models.resource_id import ResourceId
37
38
  from lusid.models.resource_list_of_block_and_orders import ResourceListOfBlockAndOrders
39
+ from lusid.models.resource_list_of_entity_change_item import ResourceListOfEntityChangeItem
38
40
  from lusid.models.resource_list_of_moved_order_to_different_block_response import ResourceListOfMovedOrderToDifferentBlockResponse
39
41
  from lusid.models.resource_list_of_placement import ResourceListOfPlacement
42
+ from lusid.models.update_orders_response import UpdateOrdersResponse
40
43
  from lusid.models.update_placements_response import UpdatePlacementsResponse
41
44
 
42
45
  from lusid.api_client import ApiClient
@@ -699,6 +702,166 @@ class OrderManagementApi:
699
702
  collection_formats=_collection_formats,
700
703
  _request_auth=_params.get('_request_auth'))
701
704
 
705
+ @overload
706
+ async def get_order_history(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the order.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the order.")], **kwargs) -> ResourceListOfEntityChangeItem: # noqa: E501
707
+ ...
708
+
709
+ @overload
710
+ def get_order_history(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the order.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the order.")], async_req: Optional[bool]=True, **kwargs) -> ResourceListOfEntityChangeItem: # noqa: E501
711
+ ...
712
+
713
+ @validate_arguments
714
+ def get_order_history(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the order.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the order.")], async_req: Optional[bool]=None, **kwargs) -> Union[ResourceListOfEntityChangeItem, Awaitable[ResourceListOfEntityChangeItem]]: # noqa: E501
715
+ """[EXPERIMENTAL] GetOrderHistory: Get the history of an order and related entity changes # noqa: E501
716
+
717
+ Get the changes that have happened to an order and related entities. # noqa: E501
718
+ This method makes a synchronous HTTP request by default. To make an
719
+ asynchronous HTTP request, please pass async_req=True
720
+
721
+ >>> thread = api.get_order_history(scope, code, async_req=True)
722
+ >>> result = thread.get()
723
+
724
+ :param scope: The scope of the order. (required)
725
+ :type scope: str
726
+ :param code: The code of the order. (required)
727
+ :type code: str
728
+ :param async_req: Whether to execute the request asynchronously.
729
+ :type async_req: bool, optional
730
+ :param _request_timeout: timeout setting for this request.
731
+ If one number provided, it will be total request
732
+ timeout. It can also be a pair (tuple) of
733
+ (connection, read) timeouts.
734
+ :return: Returns the result object.
735
+ If the method is called asynchronously,
736
+ returns the request thread.
737
+ :rtype: ResourceListOfEntityChangeItem
738
+ """
739
+ kwargs['_return_http_data_only'] = True
740
+ if '_preload_content' in kwargs:
741
+ message = "Error! Please call the get_order_history_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
742
+ raise ValueError(message)
743
+ if async_req is not None:
744
+ kwargs['async_req'] = async_req
745
+ return self.get_order_history_with_http_info(scope, code, **kwargs) # noqa: E501
746
+
747
+ @validate_arguments
748
+ def get_order_history_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the order.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the order.")], **kwargs) -> ApiResponse: # noqa: E501
749
+ """[EXPERIMENTAL] GetOrderHistory: Get the history of an order and related entity changes # noqa: E501
750
+
751
+ Get the changes that have happened to an order and related entities. # noqa: E501
752
+ This method makes a synchronous HTTP request by default. To make an
753
+ asynchronous HTTP request, please pass async_req=True
754
+
755
+ >>> thread = api.get_order_history_with_http_info(scope, code, async_req=True)
756
+ >>> result = thread.get()
757
+
758
+ :param scope: The scope of the order. (required)
759
+ :type scope: str
760
+ :param code: The code of the order. (required)
761
+ :type code: str
762
+ :param async_req: Whether to execute the request asynchronously.
763
+ :type async_req: bool, optional
764
+ :param _preload_content: if False, the ApiResponse.data will
765
+ be set to none and raw_data will store the
766
+ HTTP response body without reading/decoding.
767
+ Default is True.
768
+ :type _preload_content: bool, optional
769
+ :param _return_http_data_only: response data instead of ApiResponse
770
+ object with status code, headers, etc
771
+ :type _return_http_data_only: bool, optional
772
+ :param _request_timeout: timeout setting for this request. If one
773
+ number provided, it will be total request
774
+ timeout. It can also be a pair (tuple) of
775
+ (connection, read) timeouts.
776
+ :param _request_auth: set to override the auth_settings for an a single
777
+ request; this effectively ignores the authentication
778
+ in the spec for a single request.
779
+ :type _request_auth: dict, optional
780
+ :type _content_type: string, optional: force content-type for the request
781
+ :return: Returns the result object.
782
+ If the method is called asynchronously,
783
+ returns the request thread.
784
+ :rtype: tuple(ResourceListOfEntityChangeItem, status_code(int), headers(HTTPHeaderDict))
785
+ """
786
+
787
+ _params = locals()
788
+
789
+ _all_params = [
790
+ 'scope',
791
+ 'code'
792
+ ]
793
+ _all_params.extend(
794
+ [
795
+ 'async_req',
796
+ '_return_http_data_only',
797
+ '_preload_content',
798
+ '_request_timeout',
799
+ '_request_auth',
800
+ '_content_type',
801
+ '_headers'
802
+ ]
803
+ )
804
+
805
+ # validate the arguments
806
+ for _key, _val in _params['kwargs'].items():
807
+ if _key not in _all_params:
808
+ raise ApiTypeError(
809
+ "Got an unexpected keyword argument '%s'"
810
+ " to method get_order_history" % _key
811
+ )
812
+ _params[_key] = _val
813
+ del _params['kwargs']
814
+
815
+ _collection_formats = {}
816
+
817
+ # process the path parameters
818
+ _path_params = {}
819
+ if _params['scope']:
820
+ _path_params['scope'] = _params['scope']
821
+
822
+ if _params['code']:
823
+ _path_params['code'] = _params['code']
824
+
825
+
826
+ # process the query parameters
827
+ _query_params = []
828
+ # process the header parameters
829
+ _header_params = dict(_params.get('_headers', {}))
830
+ # process the form parameters
831
+ _form_params = []
832
+ _files = {}
833
+ # process the body parameter
834
+ _body_params = None
835
+ # set the HTTP header `Accept`
836
+ _header_params['Accept'] = self.api_client.select_header_accept(
837
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
838
+
839
+ # authentication setting
840
+ _auth_settings = ['oauth2'] # noqa: E501
841
+
842
+ _response_types_map = {
843
+ '200': "ResourceListOfEntityChangeItem",
844
+ '400': "LusidValidationProblemDetails",
845
+ '404': "str",
846
+ }
847
+
848
+ return self.api_client.call_api(
849
+ '/api/ordermanagement/order/{scope}/{code}/$history', 'GET',
850
+ _path_params,
851
+ _query_params,
852
+ _header_params,
853
+ body=_body_params,
854
+ post_params=_form_params,
855
+ files=_files,
856
+ response_types_map=_response_types_map,
857
+ auth_settings=_auth_settings,
858
+ async_req=_params.get('async_req'),
859
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
860
+ _preload_content=_params.get('_preload_content', True),
861
+ _request_timeout=_params.get('_request_timeout'),
862
+ collection_formats=_collection_formats,
863
+ _request_auth=_params.get('_request_auth'))
864
+
702
865
  @overload
703
866
  async def move_orders(self, move_orders_to_different_blocks_request : Annotated[MoveOrdersToDifferentBlocksRequest, Field(..., description="The collection of order and destination block ids.")], **kwargs) -> ResourceListOfMovedOrderToDifferentBlockResponse: # noqa: E501
704
867
  ...
@@ -1181,6 +1344,164 @@ class OrderManagementApi:
1181
1344
  collection_formats=_collection_formats,
1182
1345
  _request_auth=_params.get('_request_auth'))
1183
1346
 
1347
+ @overload
1348
+ async def update_orders(self, request_body : Annotated[Dict[str, OrderUpdateRequest], Field(..., description="The request containing the orders to be updated.")], **kwargs) -> UpdateOrdersResponse: # noqa: E501
1349
+ ...
1350
+
1351
+ @overload
1352
+ def update_orders(self, request_body : Annotated[Dict[str, OrderUpdateRequest], Field(..., description="The request containing the orders to be updated.")], async_req: Optional[bool]=True, **kwargs) -> UpdateOrdersResponse: # noqa: E501
1353
+ ...
1354
+
1355
+ @validate_arguments
1356
+ def update_orders(self, request_body : Annotated[Dict[str, OrderUpdateRequest], Field(..., description="The request containing the orders to be updated.")], async_req: Optional[bool]=None, **kwargs) -> Union[UpdateOrdersResponse, Awaitable[UpdateOrdersResponse]]: # noqa: E501
1357
+ """[EARLY ACCESS] UpdateOrders: Update existing orders # noqa: E501
1358
+
1359
+ The response returns both the collection of successfully updated orders, as well as those that failed. For each failure, a reason is provided. It is important to check the failed set for unsuccessful results. # noqa: E501
1360
+ This method makes a synchronous HTTP request by default. To make an
1361
+ asynchronous HTTP request, please pass async_req=True
1362
+
1363
+ >>> thread = api.update_orders(request_body, async_req=True)
1364
+ >>> result = thread.get()
1365
+
1366
+ :param request_body: The request containing the orders to be updated. (required)
1367
+ :type request_body: Dict[str, OrderUpdateRequest]
1368
+ :param async_req: Whether to execute the request asynchronously.
1369
+ :type async_req: bool, optional
1370
+ :param _request_timeout: timeout setting for this request.
1371
+ If one number provided, it will be total request
1372
+ timeout. It can also be a pair (tuple) of
1373
+ (connection, read) timeouts.
1374
+ :return: Returns the result object.
1375
+ If the method is called asynchronously,
1376
+ returns the request thread.
1377
+ :rtype: UpdateOrdersResponse
1378
+ """
1379
+ kwargs['_return_http_data_only'] = True
1380
+ if '_preload_content' in kwargs:
1381
+ message = "Error! Please call the update_orders_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1382
+ raise ValueError(message)
1383
+ if async_req is not None:
1384
+ kwargs['async_req'] = async_req
1385
+ return self.update_orders_with_http_info(request_body, **kwargs) # noqa: E501
1386
+
1387
+ @validate_arguments
1388
+ def update_orders_with_http_info(self, request_body : Annotated[Dict[str, OrderUpdateRequest], Field(..., description="The request containing the orders to be updated.")], **kwargs) -> ApiResponse: # noqa: E501
1389
+ """[EARLY ACCESS] UpdateOrders: Update existing orders # noqa: E501
1390
+
1391
+ The response returns both the collection of successfully updated orders, as well as those that failed. For each failure, a reason is provided. It is important to check the failed set for unsuccessful results. # noqa: E501
1392
+ This method makes a synchronous HTTP request by default. To make an
1393
+ asynchronous HTTP request, please pass async_req=True
1394
+
1395
+ >>> thread = api.update_orders_with_http_info(request_body, async_req=True)
1396
+ >>> result = thread.get()
1397
+
1398
+ :param request_body: The request containing the orders to be updated. (required)
1399
+ :type request_body: Dict[str, OrderUpdateRequest]
1400
+ :param async_req: Whether to execute the request asynchronously.
1401
+ :type async_req: bool, optional
1402
+ :param _preload_content: if False, the ApiResponse.data will
1403
+ be set to none and raw_data will store the
1404
+ HTTP response body without reading/decoding.
1405
+ Default is True.
1406
+ :type _preload_content: bool, optional
1407
+ :param _return_http_data_only: response data instead of ApiResponse
1408
+ object with status code, headers, etc
1409
+ :type _return_http_data_only: bool, optional
1410
+ :param _request_timeout: timeout setting for this request. If one
1411
+ number provided, it will be total request
1412
+ timeout. It can also be a pair (tuple) of
1413
+ (connection, read) timeouts.
1414
+ :param _request_auth: set to override the auth_settings for an a single
1415
+ request; this effectively ignores the authentication
1416
+ in the spec for a single request.
1417
+ :type _request_auth: dict, optional
1418
+ :type _content_type: string, optional: force content-type for the request
1419
+ :return: Returns the result object.
1420
+ If the method is called asynchronously,
1421
+ returns the request thread.
1422
+ :rtype: tuple(UpdateOrdersResponse, status_code(int), headers(HTTPHeaderDict))
1423
+ """
1424
+
1425
+ _params = locals()
1426
+
1427
+ _all_params = [
1428
+ 'request_body'
1429
+ ]
1430
+ _all_params.extend(
1431
+ [
1432
+ 'async_req',
1433
+ '_return_http_data_only',
1434
+ '_preload_content',
1435
+ '_request_timeout',
1436
+ '_request_auth',
1437
+ '_content_type',
1438
+ '_headers'
1439
+ ]
1440
+ )
1441
+
1442
+ # validate the arguments
1443
+ for _key, _val in _params['kwargs'].items():
1444
+ if _key not in _all_params:
1445
+ raise ApiTypeError(
1446
+ "Got an unexpected keyword argument '%s'"
1447
+ " to method update_orders" % _key
1448
+ )
1449
+ _params[_key] = _val
1450
+ del _params['kwargs']
1451
+
1452
+ _collection_formats = {}
1453
+
1454
+ # process the path parameters
1455
+ _path_params = {}
1456
+
1457
+ # process the query parameters
1458
+ _query_params = []
1459
+ # process the header parameters
1460
+ _header_params = dict(_params.get('_headers', {}))
1461
+ # process the form parameters
1462
+ _form_params = []
1463
+ _files = {}
1464
+ # process the body parameter
1465
+ _body_params = None
1466
+ if _params['request_body'] is not None:
1467
+ _body_params = _params['request_body']
1468
+
1469
+ # set the HTTP header `Accept`
1470
+ _header_params['Accept'] = self.api_client.select_header_accept(
1471
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
1472
+
1473
+ # set the HTTP header `Content-Type`
1474
+ _content_types_list = _params.get('_content_type',
1475
+ self.api_client.select_header_content_type(
1476
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
1477
+ if _content_types_list:
1478
+ _header_params['Content-Type'] = _content_types_list
1479
+
1480
+ # authentication setting
1481
+ _auth_settings = ['oauth2'] # noqa: E501
1482
+
1483
+ _response_types_map = {
1484
+ '200': "UpdateOrdersResponse",
1485
+ '400': "LusidValidationProblemDetails",
1486
+ }
1487
+
1488
+ return self.api_client.call_api(
1489
+ '/api/ordermanagement/updateorders', 'POST',
1490
+ _path_params,
1491
+ _query_params,
1492
+ _header_params,
1493
+ body=_body_params,
1494
+ post_params=_form_params,
1495
+ files=_files,
1496
+ response_types_map=_response_types_map,
1497
+ auth_settings=_auth_settings,
1498
+ async_req=_params.get('async_req'),
1499
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1500
+ _preload_content=_params.get('_preload_content', True),
1501
+ _request_timeout=_params.get('_request_timeout'),
1502
+ collection_formats=_collection_formats,
1503
+ _request_auth=_params.get('_request_auth'))
1504
+
1184
1505
  @overload
1185
1506
  async def update_placements(self, request_body : Annotated[Dict[str, PlacementUpdateRequest], Field(..., description="The request containing the placements to be updated.")], **kwargs) -> UpdatePlacementsResponse: # noqa: E501
1186
1507
  ...