scope-client 1.4.1037__py3-none-any.whl → 1.4.1039__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.
@@ -91,6 +91,7 @@ from scope_client.api_bindings.models.connector_spec_schema import ConnectorSpec
91
91
  from scope_client.api_bindings.models.connector_spec_schema_field import ConnectorSpecSchemaField
92
92
  from scope_client.api_bindings.models.connector_type import ConnectorType
93
93
  from scope_client.api_bindings.models.connectors_sort import ConnectorsSort
94
+ from scope_client.api_bindings.models.create_model_link_task_job_spec import CreateModelLinkTaskJobSpec
94
95
  from scope_client.api_bindings.models.create_model_task_job_spec import CreateModelTaskJobSpec
95
96
  from scope_client.api_bindings.models.created_alerts import CreatedAlerts
96
97
  from scope_client.api_bindings.models.credentials import Credentials
@@ -230,6 +231,7 @@ from scope_client.api_bindings.models.post_job import PostJob
230
231
  from scope_client.api_bindings.models.post_job_batch import PostJobBatch
231
232
  from scope_client.api_bindings.models.post_job_kind import PostJobKind
232
233
  from scope_client.api_bindings.models.post_job_spec import PostJobSpec
234
+ from scope_client.api_bindings.models.post_link_task_request import PostLinkTaskRequest
233
235
  from scope_client.api_bindings.models.post_metrics_query import PostMetricsQuery
234
236
  from scope_client.api_bindings.models.post_metrics_query_result_filter import PostMetricsQueryResultFilter
235
237
  from scope_client.api_bindings.models.post_metrics_query_result_filter_and_group import PostMetricsQueryResultFilterAndGroup
@@ -18,6 +18,7 @@ from typing_extensions import Annotated
18
18
 
19
19
  from pydantic import StrictStr
20
20
  from scope_client.api_bindings.models.patch_task_request import PatchTaskRequest
21
+ from scope_client.api_bindings.models.post_link_task_request import PostLinkTaskRequest
21
22
  from scope_client.api_bindings.models.post_task_request import PostTaskRequest
22
23
  from scope_client.api_bindings.models.put_task_connection_info import PutTaskConnectionInfo
23
24
  from scope_client.api_bindings.models.put_task_state_cache_request import PutTaskStateCacheRequest
@@ -1695,6 +1696,307 @@ class TasksV1Api:
1695
1696
 
1696
1697
 
1697
1698
 
1699
+ @validate_call
1700
+ def project_create_model_link_task(
1701
+ self,
1702
+ project_id: StrictStr,
1703
+ post_link_task_request: PostLinkTaskRequest,
1704
+ _request_timeout: Union[
1705
+ None,
1706
+ Annotated[StrictFloat, Field(gt=0)],
1707
+ Tuple[
1708
+ Annotated[StrictFloat, Field(gt=0)],
1709
+ Annotated[StrictFloat, Field(gt=0)]
1710
+ ]
1711
+ ] = None,
1712
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1713
+ _content_type: Optional[StrictStr] = None,
1714
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1715
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1716
+ ) -> TaskMutationResponse:
1717
+ """Link An Existing Task To A New Model.
1718
+
1719
+ Submits a job to link an existing task to a new model in the project and returns a job ID. When the job finishes, it will upload a copy of the task state. Requires the project_create_model_link_task permission.
1720
+
1721
+ :param project_id: (required)
1722
+ :type project_id: str
1723
+ :param post_link_task_request: (required)
1724
+ :type post_link_task_request: PostLinkTaskRequest
1725
+ :param _request_timeout: timeout setting for this request. If one
1726
+ number provided, it will be total request
1727
+ timeout. It can also be a pair (tuple) of
1728
+ (connection, read) timeouts.
1729
+ :type _request_timeout: int, tuple(int, int), optional
1730
+ :param _request_auth: set to override the auth_settings for an a single
1731
+ request; this effectively ignores the
1732
+ authentication in the spec for a single request.
1733
+ :type _request_auth: dict, optional
1734
+ :param _content_type: force content-type for the request.
1735
+ :type _content_type: str, Optional
1736
+ :param _headers: set to override the headers for a single
1737
+ request; this effectively ignores the headers
1738
+ in the spec for a single request.
1739
+ :type _headers: dict, optional
1740
+ :param _host_index: set to override the host_index for a single
1741
+ request; this effectively ignores the host_index
1742
+ in the spec for a single request.
1743
+ :type _host_index: int, optional
1744
+ :return: Returns the result object.
1745
+ """ # noqa: E501
1746
+
1747
+ _param = self._project_create_model_link_task_serialize(
1748
+ project_id=project_id,
1749
+ post_link_task_request=post_link_task_request,
1750
+ _request_auth=_request_auth,
1751
+ _content_type=_content_type,
1752
+ _headers=_headers,
1753
+ _host_index=_host_index
1754
+ )
1755
+
1756
+ _response_types_map: Dict[str, Optional[str]] = {
1757
+ '200': "TaskMutationResponse",
1758
+ '500': "InternalServerError",
1759
+ '400': "BadRequestError",
1760
+ '404': "NotFoundError",
1761
+ '422': "HTTPValidationError",
1762
+ }
1763
+ response_data = self.api_client.call_api(
1764
+ *_param,
1765
+ _request_timeout=_request_timeout
1766
+ )
1767
+ response_data.read()
1768
+ return self.api_client.response_deserialize(
1769
+ response_data=response_data,
1770
+ response_types_map=_response_types_map,
1771
+ ).data
1772
+
1773
+
1774
+ @validate_call
1775
+ def project_create_model_link_task_with_http_info(
1776
+ self,
1777
+ project_id: StrictStr,
1778
+ post_link_task_request: PostLinkTaskRequest,
1779
+ _request_timeout: Union[
1780
+ None,
1781
+ Annotated[StrictFloat, Field(gt=0)],
1782
+ Tuple[
1783
+ Annotated[StrictFloat, Field(gt=0)],
1784
+ Annotated[StrictFloat, Field(gt=0)]
1785
+ ]
1786
+ ] = None,
1787
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1788
+ _content_type: Optional[StrictStr] = None,
1789
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1790
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1791
+ ) -> ApiResponse[TaskMutationResponse]:
1792
+ """Link An Existing Task To A New Model.
1793
+
1794
+ Submits a job to link an existing task to a new model in the project and returns a job ID. When the job finishes, it will upload a copy of the task state. Requires the project_create_model_link_task permission.
1795
+
1796
+ :param project_id: (required)
1797
+ :type project_id: str
1798
+ :param post_link_task_request: (required)
1799
+ :type post_link_task_request: PostLinkTaskRequest
1800
+ :param _request_timeout: timeout setting for this request. If one
1801
+ number provided, it will be total request
1802
+ timeout. It can also be a pair (tuple) of
1803
+ (connection, read) timeouts.
1804
+ :type _request_timeout: int, tuple(int, int), optional
1805
+ :param _request_auth: set to override the auth_settings for an a single
1806
+ request; this effectively ignores the
1807
+ authentication in the spec for a single request.
1808
+ :type _request_auth: dict, optional
1809
+ :param _content_type: force content-type for the request.
1810
+ :type _content_type: str, Optional
1811
+ :param _headers: set to override the headers for a single
1812
+ request; this effectively ignores the headers
1813
+ in the spec for a single request.
1814
+ :type _headers: dict, optional
1815
+ :param _host_index: set to override the host_index for a single
1816
+ request; this effectively ignores the host_index
1817
+ in the spec for a single request.
1818
+ :type _host_index: int, optional
1819
+ :return: Returns the result object.
1820
+ """ # noqa: E501
1821
+
1822
+ _param = self._project_create_model_link_task_serialize(
1823
+ project_id=project_id,
1824
+ post_link_task_request=post_link_task_request,
1825
+ _request_auth=_request_auth,
1826
+ _content_type=_content_type,
1827
+ _headers=_headers,
1828
+ _host_index=_host_index
1829
+ )
1830
+
1831
+ _response_types_map: Dict[str, Optional[str]] = {
1832
+ '200': "TaskMutationResponse",
1833
+ '500': "InternalServerError",
1834
+ '400': "BadRequestError",
1835
+ '404': "NotFoundError",
1836
+ '422': "HTTPValidationError",
1837
+ }
1838
+ response_data = self.api_client.call_api(
1839
+ *_param,
1840
+ _request_timeout=_request_timeout
1841
+ )
1842
+ response_data.read()
1843
+ return self.api_client.response_deserialize(
1844
+ response_data=response_data,
1845
+ response_types_map=_response_types_map,
1846
+ )
1847
+
1848
+
1849
+ @validate_call
1850
+ def project_create_model_link_task_without_preload_content(
1851
+ self,
1852
+ project_id: StrictStr,
1853
+ post_link_task_request: PostLinkTaskRequest,
1854
+ _request_timeout: Union[
1855
+ None,
1856
+ Annotated[StrictFloat, Field(gt=0)],
1857
+ Tuple[
1858
+ Annotated[StrictFloat, Field(gt=0)],
1859
+ Annotated[StrictFloat, Field(gt=0)]
1860
+ ]
1861
+ ] = None,
1862
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1863
+ _content_type: Optional[StrictStr] = None,
1864
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1865
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1866
+ ) -> RESTResponseType:
1867
+ """Link An Existing Task To A New Model.
1868
+
1869
+ Submits a job to link an existing task to a new model in the project and returns a job ID. When the job finishes, it will upload a copy of the task state. Requires the project_create_model_link_task permission.
1870
+
1871
+ :param project_id: (required)
1872
+ :type project_id: str
1873
+ :param post_link_task_request: (required)
1874
+ :type post_link_task_request: PostLinkTaskRequest
1875
+ :param _request_timeout: timeout setting for this request. If one
1876
+ number provided, it will be total request
1877
+ timeout. It can also be a pair (tuple) of
1878
+ (connection, read) timeouts.
1879
+ :type _request_timeout: int, tuple(int, int), optional
1880
+ :param _request_auth: set to override the auth_settings for an a single
1881
+ request; this effectively ignores the
1882
+ authentication in the spec for a single request.
1883
+ :type _request_auth: dict, optional
1884
+ :param _content_type: force content-type for the request.
1885
+ :type _content_type: str, Optional
1886
+ :param _headers: set to override the headers for a single
1887
+ request; this effectively ignores the headers
1888
+ in the spec for a single request.
1889
+ :type _headers: dict, optional
1890
+ :param _host_index: set to override the host_index for a single
1891
+ request; this effectively ignores the host_index
1892
+ in the spec for a single request.
1893
+ :type _host_index: int, optional
1894
+ :return: Returns the result object.
1895
+ """ # noqa: E501
1896
+
1897
+ _param = self._project_create_model_link_task_serialize(
1898
+ project_id=project_id,
1899
+ post_link_task_request=post_link_task_request,
1900
+ _request_auth=_request_auth,
1901
+ _content_type=_content_type,
1902
+ _headers=_headers,
1903
+ _host_index=_host_index
1904
+ )
1905
+
1906
+ _response_types_map: Dict[str, Optional[str]] = {
1907
+ '200': "TaskMutationResponse",
1908
+ '500': "InternalServerError",
1909
+ '400': "BadRequestError",
1910
+ '404': "NotFoundError",
1911
+ '422': "HTTPValidationError",
1912
+ }
1913
+ response_data = self.api_client.call_api(
1914
+ *_param,
1915
+ _request_timeout=_request_timeout
1916
+ )
1917
+ return response_data.response
1918
+
1919
+
1920
+ def _project_create_model_link_task_serialize(
1921
+ self,
1922
+ project_id,
1923
+ post_link_task_request,
1924
+ _request_auth,
1925
+ _content_type,
1926
+ _headers,
1927
+ _host_index,
1928
+ ) -> RequestSerialized:
1929
+
1930
+ _host = None
1931
+
1932
+ _collection_formats: Dict[str, str] = {
1933
+ }
1934
+
1935
+ _path_params: Dict[str, str] = {}
1936
+ _query_params: List[Tuple[str, str]] = []
1937
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1938
+ _form_params: List[Tuple[str, str]] = []
1939
+ _files: Dict[
1940
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1941
+ ] = {}
1942
+ _body_params: Optional[bytes] = None
1943
+
1944
+ # process the path parameters
1945
+ if project_id is not None:
1946
+ _path_params['project_id'] = project_id
1947
+ # process the query parameters
1948
+ # process the header parameters
1949
+ # process the form parameters
1950
+ # process the body parameter
1951
+ if post_link_task_request is not None:
1952
+ _body_params = post_link_task_request
1953
+
1954
+
1955
+ # set the HTTP header `Accept`
1956
+ if 'Accept' not in _header_params:
1957
+ _header_params['Accept'] = self.api_client.select_header_accept(
1958
+ [
1959
+ 'application/json'
1960
+ ]
1961
+ )
1962
+
1963
+ # set the HTTP header `Content-Type`
1964
+ if _content_type:
1965
+ _header_params['Content-Type'] = _content_type
1966
+ else:
1967
+ _default_content_type = (
1968
+ self.api_client.select_header_content_type(
1969
+ [
1970
+ 'application/json'
1971
+ ]
1972
+ )
1973
+ )
1974
+ if _default_content_type is not None:
1975
+ _header_params['Content-Type'] = _default_content_type
1976
+
1977
+ # authentication setting
1978
+ _auth_settings: List[str] = [
1979
+ 'OAuth2AuthorizationCode'
1980
+ ]
1981
+
1982
+ return self.api_client.param_serialize(
1983
+ method='POST',
1984
+ resource_path='/api/v1/projects/{project_id}/link_task',
1985
+ path_params=_path_params,
1986
+ query_params=_query_params,
1987
+ header_params=_header_params,
1988
+ body=_body_params,
1989
+ post_params=_form_params,
1990
+ files=_files,
1991
+ auth_settings=_auth_settings,
1992
+ collection_formats=_collection_formats,
1993
+ _host=_host,
1994
+ _request_auth=_request_auth
1995
+ )
1996
+
1997
+
1998
+
1999
+
1698
2000
  @validate_call
1699
2001
  def project_create_model_task(
1700
2002
  self,
@@ -49,6 +49,7 @@ from scope_client.api_bindings.models.connector_spec_schema import ConnectorSpec
49
49
  from scope_client.api_bindings.models.connector_spec_schema_field import ConnectorSpecSchemaField
50
50
  from scope_client.api_bindings.models.connector_type import ConnectorType
51
51
  from scope_client.api_bindings.models.connectors_sort import ConnectorsSort
52
+ from scope_client.api_bindings.models.create_model_link_task_job_spec import CreateModelLinkTaskJobSpec
52
53
  from scope_client.api_bindings.models.create_model_task_job_spec import CreateModelTaskJobSpec
53
54
  from scope_client.api_bindings.models.created_alerts import CreatedAlerts
54
55
  from scope_client.api_bindings.models.credentials import Credentials
@@ -188,6 +189,7 @@ from scope_client.api_bindings.models.post_job import PostJob
188
189
  from scope_client.api_bindings.models.post_job_batch import PostJobBatch
189
190
  from scope_client.api_bindings.models.post_job_kind import PostJobKind
190
191
  from scope_client.api_bindings.models.post_job_spec import PostJobSpec
192
+ from scope_client.api_bindings.models.post_link_task_request import PostLinkTaskRequest
191
193
  from scope_client.api_bindings.models.post_metrics_query import PostMetricsQuery
192
194
  from scope_client.api_bindings.models.post_metrics_query_result_filter import PostMetricsQueryResultFilter
193
195
  from scope_client.api_bindings.models.post_metrics_query_result_filter_and_group import PostMetricsQueryResultFilterAndGroup
@@ -0,0 +1,108 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Arthur Scope
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: 0.1.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class CreateModelLinkTaskJobSpec(BaseModel):
26
+ """
27
+ CreateModelLinkTaskJobSpec
28
+ """ # noqa: E501
29
+ job_type: Optional[StrictStr] = 'link_model_task'
30
+ task_id: StrictStr = Field(description="The id of the Shield task to link when creating the new model.")
31
+ connector_id: StrictStr = Field(description="The id of the engine internal connector to use to link the task.")
32
+ onboarding_identifier: Optional[StrictStr] = None
33
+ __properties: ClassVar[List[str]] = ["job_type", "task_id", "connector_id", "onboarding_identifier"]
34
+
35
+ @field_validator('job_type')
36
+ def job_type_validate_enum(cls, value):
37
+ """Validates the enum"""
38
+ if value is None:
39
+ return value
40
+
41
+ if value not in set(['link_model_task']):
42
+ raise ValueError("must be one of enum values ('link_model_task')")
43
+ return value
44
+
45
+ model_config = ConfigDict(
46
+ populate_by_name=True,
47
+ validate_assignment=True,
48
+ protected_namespaces=(),
49
+ )
50
+
51
+
52
+ def to_str(self) -> str:
53
+ """Returns the string representation of the model using alias"""
54
+ return pprint.pformat(self.model_dump(by_alias=True))
55
+
56
+ def to_json(self) -> str:
57
+ """Returns the JSON representation of the model using alias"""
58
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
59
+ return json.dumps(self.to_dict())
60
+
61
+ @classmethod
62
+ def from_json(cls, json_str: str) -> Optional[Self]:
63
+ """Create an instance of CreateModelLinkTaskJobSpec from a JSON string"""
64
+ return cls.from_dict(json.loads(json_str))
65
+
66
+ def to_dict(self) -> Dict[str, Any]:
67
+ """Return the dictionary representation of the model using alias.
68
+
69
+ This has the following differences from calling pydantic's
70
+ `self.model_dump(by_alias=True)`:
71
+
72
+ * `None` is only added to the output dict for nullable fields that
73
+ were set at model initialization. Other fields with value `None`
74
+ are ignored.
75
+ """
76
+ excluded_fields: Set[str] = set([
77
+ ])
78
+
79
+ _dict = self.model_dump(
80
+ by_alias=True,
81
+ exclude=excluded_fields,
82
+ exclude_none=True,
83
+ )
84
+ # set to None if onboarding_identifier (nullable) is None
85
+ # and model_fields_set contains the field
86
+ if self.onboarding_identifier is None and "onboarding_identifier" in self.model_fields_set:
87
+ _dict['onboarding_identifier'] = None
88
+
89
+ return _dict
90
+
91
+ @classmethod
92
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
93
+ """Create an instance of CreateModelLinkTaskJobSpec from a dict"""
94
+ if obj is None:
95
+ return None
96
+
97
+ if not isinstance(obj, dict):
98
+ return cls.model_validate(obj)
99
+
100
+ _obj = cls.model_validate({
101
+ "job_type": obj.get("job_type") if obj.get("job_type") is not None else 'link_model_task',
102
+ "task_id": obj.get("task_id"),
103
+ "connector_id": obj.get("connector_id"),
104
+ "onboarding_identifier": obj.get("onboarding_identifier")
105
+ })
106
+ return _obj
107
+
108
+
@@ -28,7 +28,7 @@ class CreateModelTaskJobSpec(BaseModel):
28
28
  CreateModelTaskJobSpec
29
29
  """ # noqa: E501
30
30
  job_type: Optional[StrictStr] = 'create_model_task'
31
- connector_id: StrictStr = Field(description="The id of the Shield connector to use to create the task.")
31
+ connector_id: StrictStr = Field(description="The id of the engine internal connector to use to create the task.")
32
32
  task_name: StrictStr = Field(description="The name of the task.")
33
33
  onboarding_identifier: Optional[StrictStr] = None
34
34
  initial_rules: List[NewRuleRequest] = Field(description="The initial rules to apply to the created model.")
@@ -34,6 +34,7 @@ class JobKind(str, Enum):
34
34
  ALERT_CHECK = 'alert_check'
35
35
  SCHEDULE_JOBS = 'schedule_jobs'
36
36
  CREATE_MODEL_TASK = 'create_model_task'
37
+ CREATE_MODEL_LINK_TASK = 'create_model_link_task'
37
38
  UPDATE_MODEL_TASK_RULES = 'update_model_task_rules'
38
39
  DELETE_MODEL_TASK = 'delete_model_task'
39
40
  FETCH_MODEL_TASK = 'fetch_model_task'
@@ -21,6 +21,7 @@ from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, f
21
21
  from typing import Optional
22
22
  from scope_client.api_bindings.models.alert_check_job_spec import AlertCheckJobSpec
23
23
  from scope_client.api_bindings.models.connector_check_job_spec import ConnectorCheckJobSpec
24
+ from scope_client.api_bindings.models.create_model_link_task_job_spec import CreateModelLinkTaskJobSpec
24
25
  from scope_client.api_bindings.models.create_model_task_job_spec import CreateModelTaskJobSpec
25
26
  from scope_client.api_bindings.models.delete_model_task_job_spec import DeleteModelTaskJobSpec
26
27
  from scope_client.api_bindings.models.fetch_data_job_spec import FetchDataJobSpec
@@ -35,7 +36,7 @@ from typing import Union, Any, List, Set, TYPE_CHECKING, Optional, Dict
35
36
  from typing_extensions import Literal, Self
36
37
  from pydantic import Field
37
38
 
38
- JOBSPEC_ANY_OF_SCHEMAS = ["AlertCheckJobSpec", "ConnectorCheckJobSpec", "CreateModelTaskJobSpec", "DeleteModelTaskJobSpec", "FetchDataJobSpec", "FetchModelTaskJobSpec", "ListDatasetsJobSpec", "MetricsCalculationJobSpec", "RegenerateTaskValidationKeyJobSpec", "ScheduleJobsJobSpec", "SchemaInspectionJobSpec", "UpdateModelTaskRulesJobSpec"]
39
+ JOBSPEC_ANY_OF_SCHEMAS = ["AlertCheckJobSpec", "ConnectorCheckJobSpec", "CreateModelLinkTaskJobSpec", "CreateModelTaskJobSpec", "DeleteModelTaskJobSpec", "FetchDataJobSpec", "FetchModelTaskJobSpec", "ListDatasetsJobSpec", "MetricsCalculationJobSpec", "RegenerateTaskValidationKeyJobSpec", "ScheduleJobsJobSpec", "SchemaInspectionJobSpec", "UpdateModelTaskRulesJobSpec"]
39
40
 
40
41
  class JobSpec(BaseModel):
41
42
  """
@@ -66,11 +67,13 @@ class JobSpec(BaseModel):
66
67
  anyof_schema_11_validator: Optional[FetchModelTaskJobSpec] = None
67
68
  # data type: RegenerateTaskValidationKeyJobSpec
68
69
  anyof_schema_12_validator: Optional[RegenerateTaskValidationKeyJobSpec] = None
70
+ # data type: CreateModelLinkTaskJobSpec
71
+ anyof_schema_13_validator: Optional[CreateModelLinkTaskJobSpec] = None
69
72
  if TYPE_CHECKING:
70
- actual_instance: Optional[Union[AlertCheckJobSpec, ConnectorCheckJobSpec, CreateModelTaskJobSpec, DeleteModelTaskJobSpec, FetchDataJobSpec, FetchModelTaskJobSpec, ListDatasetsJobSpec, MetricsCalculationJobSpec, RegenerateTaskValidationKeyJobSpec, ScheduleJobsJobSpec, SchemaInspectionJobSpec, UpdateModelTaskRulesJobSpec]] = None
73
+ actual_instance: Optional[Union[AlertCheckJobSpec, ConnectorCheckJobSpec, CreateModelLinkTaskJobSpec, CreateModelTaskJobSpec, DeleteModelTaskJobSpec, FetchDataJobSpec, FetchModelTaskJobSpec, ListDatasetsJobSpec, MetricsCalculationJobSpec, RegenerateTaskValidationKeyJobSpec, ScheduleJobsJobSpec, SchemaInspectionJobSpec, UpdateModelTaskRulesJobSpec]] = None
71
74
  else:
72
75
  actual_instance: Any = None
73
- any_of_schemas: Set[str] = { "AlertCheckJobSpec", "ConnectorCheckJobSpec", "CreateModelTaskJobSpec", "DeleteModelTaskJobSpec", "FetchDataJobSpec", "FetchModelTaskJobSpec", "ListDatasetsJobSpec", "MetricsCalculationJobSpec", "RegenerateTaskValidationKeyJobSpec", "ScheduleJobsJobSpec", "SchemaInspectionJobSpec", "UpdateModelTaskRulesJobSpec" }
76
+ any_of_schemas: Set[str] = { "AlertCheckJobSpec", "ConnectorCheckJobSpec", "CreateModelLinkTaskJobSpec", "CreateModelTaskJobSpec", "DeleteModelTaskJobSpec", "FetchDataJobSpec", "FetchModelTaskJobSpec", "ListDatasetsJobSpec", "MetricsCalculationJobSpec", "RegenerateTaskValidationKeyJobSpec", "ScheduleJobsJobSpec", "SchemaInspectionJobSpec", "UpdateModelTaskRulesJobSpec" }
74
77
 
75
78
  model_config = {
76
79
  "validate_assignment": True,
@@ -163,9 +166,15 @@ class JobSpec(BaseModel):
163
166
  else:
164
167
  return v
165
168
 
169
+ # validate data type: CreateModelLinkTaskJobSpec
170
+ if not isinstance(v, CreateModelLinkTaskJobSpec):
171
+ error_messages.append(f"Error! Input type `{type(v)}` is not `CreateModelLinkTaskJobSpec`")
172
+ else:
173
+ return v
174
+
166
175
  if error_messages:
167
176
  # no match
168
- raise ValueError("No match found when setting the actual_instance in JobSpec with anyOf schemas: AlertCheckJobSpec, ConnectorCheckJobSpec, CreateModelTaskJobSpec, DeleteModelTaskJobSpec, FetchDataJobSpec, FetchModelTaskJobSpec, ListDatasetsJobSpec, MetricsCalculationJobSpec, RegenerateTaskValidationKeyJobSpec, ScheduleJobsJobSpec, SchemaInspectionJobSpec, UpdateModelTaskRulesJobSpec. Details: " + ", ".join(error_messages))
177
+ raise ValueError("No match found when setting the actual_instance in JobSpec with anyOf schemas: AlertCheckJobSpec, ConnectorCheckJobSpec, CreateModelLinkTaskJobSpec, CreateModelTaskJobSpec, DeleteModelTaskJobSpec, FetchDataJobSpec, FetchModelTaskJobSpec, ListDatasetsJobSpec, MetricsCalculationJobSpec, RegenerateTaskValidationKeyJobSpec, ScheduleJobsJobSpec, SchemaInspectionJobSpec, UpdateModelTaskRulesJobSpec. Details: " + ", ".join(error_messages))
169
178
  else:
170
179
  return v
171
180
 
@@ -250,10 +259,16 @@ class JobSpec(BaseModel):
250
259
  return instance
251
260
  except (ValidationError, ValueError) as e:
252
261
  error_messages.append(str(e))
262
+ # anyof_schema_13_validator: Optional[CreateModelLinkTaskJobSpec] = None
263
+ try:
264
+ instance.actual_instance = CreateModelLinkTaskJobSpec.from_json(json_str)
265
+ return instance
266
+ except (ValidationError, ValueError) as e:
267
+ error_messages.append(str(e))
253
268
 
254
269
  if error_messages:
255
270
  # no match
256
- raise ValueError("No match found when deserializing the JSON string into JobSpec with anyOf schemas: AlertCheckJobSpec, ConnectorCheckJobSpec, CreateModelTaskJobSpec, DeleteModelTaskJobSpec, FetchDataJobSpec, FetchModelTaskJobSpec, ListDatasetsJobSpec, MetricsCalculationJobSpec, RegenerateTaskValidationKeyJobSpec, ScheduleJobsJobSpec, SchemaInspectionJobSpec, UpdateModelTaskRulesJobSpec. Details: " + ", ".join(error_messages))
271
+ raise ValueError("No match found when deserializing the JSON string into JobSpec with anyOf schemas: AlertCheckJobSpec, ConnectorCheckJobSpec, CreateModelLinkTaskJobSpec, CreateModelTaskJobSpec, DeleteModelTaskJobSpec, FetchDataJobSpec, FetchModelTaskJobSpec, ListDatasetsJobSpec, MetricsCalculationJobSpec, RegenerateTaskValidationKeyJobSpec, ScheduleJobsJobSpec, SchemaInspectionJobSpec, UpdateModelTaskRulesJobSpec. Details: " + ", ".join(error_messages))
257
272
  else:
258
273
  return instance
259
274
 
@@ -267,7 +282,7 @@ class JobSpec(BaseModel):
267
282
  else:
268
283
  return json.dumps(self.actual_instance)
269
284
 
270
- def to_dict(self) -> Optional[Union[Dict[str, Any], AlertCheckJobSpec, ConnectorCheckJobSpec, CreateModelTaskJobSpec, DeleteModelTaskJobSpec, FetchDataJobSpec, FetchModelTaskJobSpec, ListDatasetsJobSpec, MetricsCalculationJobSpec, RegenerateTaskValidationKeyJobSpec, ScheduleJobsJobSpec, SchemaInspectionJobSpec, UpdateModelTaskRulesJobSpec]]:
285
+ def to_dict(self) -> Optional[Union[Dict[str, Any], AlertCheckJobSpec, ConnectorCheckJobSpec, CreateModelLinkTaskJobSpec, CreateModelTaskJobSpec, DeleteModelTaskJobSpec, FetchDataJobSpec, FetchModelTaskJobSpec, ListDatasetsJobSpec, MetricsCalculationJobSpec, RegenerateTaskValidationKeyJobSpec, ScheduleJobsJobSpec, SchemaInspectionJobSpec, UpdateModelTaskRulesJobSpec]]:
271
286
  """Returns the dict representation of the actual instance"""
272
287
  if self.actual_instance is None:
273
288
  return None
@@ -86,6 +86,7 @@ class PermissionName(str, Enum):
86
86
  PROJECT_LIST_ROLE_BINDINGS = 'project_list_role_bindings'
87
87
  PROJECT_GENERATE_METRICS_SPEC = 'project_generate_metrics_spec'
88
88
  PROJECT_CREATE_MODEL_TASK = 'project_create_model_task'
89
+ PROJECT_CREATE_MODEL_LINK_TASK = 'project_create_model_link_task'
89
90
  MODEL_READ = 'model_read'
90
91
  MODEL_UPDATE = 'model_update'
91
92
  MODEL_DELETE = 'model_delete'
@@ -0,0 +1,96 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Arthur Scope
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: 0.1.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class PostLinkTaskRequest(BaseModel):
26
+ """
27
+ PostLinkTaskRequest
28
+ """ # noqa: E501
29
+ task_id: StrictStr = Field(description="The id of the Shield task to link when creating the new model.")
30
+ connector_id: StrictStr = Field(description="The id of the connector with the task to link. The connector must be an engine internal connector.")
31
+ onboarding_identifier: Optional[StrictStr] = None
32
+ __properties: ClassVar[List[str]] = ["task_id", "connector_id", "onboarding_identifier"]
33
+
34
+ model_config = ConfigDict(
35
+ populate_by_name=True,
36
+ validate_assignment=True,
37
+ protected_namespaces=(),
38
+ )
39
+
40
+
41
+ def to_str(self) -> str:
42
+ """Returns the string representation of the model using alias"""
43
+ return pprint.pformat(self.model_dump(by_alias=True))
44
+
45
+ def to_json(self) -> str:
46
+ """Returns the JSON representation of the model using alias"""
47
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
48
+ return json.dumps(self.to_dict())
49
+
50
+ @classmethod
51
+ def from_json(cls, json_str: str) -> Optional[Self]:
52
+ """Create an instance of PostLinkTaskRequest from a JSON string"""
53
+ return cls.from_dict(json.loads(json_str))
54
+
55
+ def to_dict(self) -> Dict[str, Any]:
56
+ """Return the dictionary representation of the model using alias.
57
+
58
+ This has the following differences from calling pydantic's
59
+ `self.model_dump(by_alias=True)`:
60
+
61
+ * `None` is only added to the output dict for nullable fields that
62
+ were set at model initialization. Other fields with value `None`
63
+ are ignored.
64
+ """
65
+ excluded_fields: Set[str] = set([
66
+ ])
67
+
68
+ _dict = self.model_dump(
69
+ by_alias=True,
70
+ exclude=excluded_fields,
71
+ exclude_none=True,
72
+ )
73
+ # set to None if onboarding_identifier (nullable) is None
74
+ # and model_fields_set contains the field
75
+ if self.onboarding_identifier is None and "onboarding_identifier" in self.model_fields_set:
76
+ _dict['onboarding_identifier'] = None
77
+
78
+ return _dict
79
+
80
+ @classmethod
81
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
82
+ """Create an instance of PostLinkTaskRequest from a dict"""
83
+ if obj is None:
84
+ return None
85
+
86
+ if not isinstance(obj, dict):
87
+ return cls.model_validate(obj)
88
+
89
+ _obj = cls.model_validate({
90
+ "task_id": obj.get("task_id"),
91
+ "connector_id": obj.get("connector_id"),
92
+ "onboarding_identifier": obj.get("onboarding_identifier")
93
+ })
94
+ return _obj
95
+
96
+
@@ -29,7 +29,7 @@ class PostTaskRequest(BaseModel):
29
29
  PostTaskRequest
30
30
  """ # noqa: E501
31
31
  name: Annotated[str, Field(min_length=1, strict=True)] = Field(description="The name of the task")
32
- connector_id: StrictStr = Field(description="The id of the connector where the task will be created. The connector must be a Shield connector.")
32
+ connector_id: StrictStr = Field(description="The id of the connector where the task will be created. The connector must be an engine internal connector.")
33
33
  onboarding_identifier: Optional[StrictStr] = None
34
34
  rules_to_add: Optional[List[NewRuleRequest]] = Field(default=None, description="List of rules to add to the task.")
35
35
  __properties: ClassVar[List[str]] = ["name", "connector_id", "onboarding_identifier", "rules_to_add"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scope_client
3
- Version: 1.4.1037
3
+ Version: 1.4.1039
4
4
  Summary: Arthur Python API Client Library
5
5
  Author-email: Arthur <info@arthur.ai>
6
6
  License: MIT
@@ -1,5 +1,5 @@
1
1
  scope_client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- scope_client/api_bindings/__init__.py,sha256=ILOt9ZkFvrJzDDeOgVNkSCVKILJqQSDRZcqEXVO6d1w,25038
2
+ scope_client/api_bindings/__init__.py,sha256=A7yO7rsjAFzoH0tUwxpKAr0WapNHNnTi4EacGQZgIbY,25230
3
3
  scope_client/api_bindings/api_client.py,sha256=nkt88XDyPiuURu94lnI4MtOfMeYXd_jazGUde0T4xVU,27538
4
4
  scope_client/api_bindings/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
5
5
  scope_client/api_bindings/configuration.py,sha256=a0o2OhNYo7GdZscfNtFKW2kfgoln1mcWE-8E_UeiWv8,15338
@@ -27,12 +27,12 @@ scope_client/api_bindings/api/organizations_v1_api.py,sha256=qASaaC_sSMmY97VKhop
27
27
  scope_client/api_bindings/api/projects_v1_api.py,sha256=wFqaLcwwxQDrF10VtOgaa8PbOE5VaC6ERNCSrRJaUFQ,59391
28
28
  scope_client/api_bindings/api/registration_v1_api.py,sha256=cPmagSOgnne2cZNgYDKm2L7SZmy8tsaL_xZBFekmnH8,12175
29
29
  scope_client/api_bindings/api/roles_v1_api.py,sha256=LnlGL0BhhNAsXpIIkCyoBV765rw2bcIwWPz3EsyQi18,11234
30
- scope_client/api_bindings/api/tasks_v1_api.py,sha256=S8OJq5hruP6ikL8i5OHTEqIaOOtgGXCxfgjl1eQn_0w,112279
30
+ scope_client/api_bindings/api/tasks_v1_api.py,sha256=Ckd-_i1VnCwncMBXiZsA-so0lwX6X3Xzs6s8gOxTMcI,124663
31
31
  scope_client/api_bindings/api/upsolve_v1_api.py,sha256=Vdep9x-_lIJq_kOwtsGqYqkssgSaCEy45_WDupKwrgA,12230
32
32
  scope_client/api_bindings/api/users_v1_api.py,sha256=3DpuXoHuWZvN8hU409AuyltBBwfK1PEBTeF5kKnlaek,114510
33
33
  scope_client/api_bindings/api/webhooks_v1_api.py,sha256=86tRi7pgwICshf8WVyYA1WrJggThpnsTaON9Mx8R-0M,71286
34
34
  scope_client/api_bindings/api/workspaces_v1_api.py,sha256=OjMc-pJe2JAGgv5ZGTD8_TkQxw82vz2e381-5m37vJ4,58653
35
- scope_client/api_bindings/models/__init__.py,sha256=At8dc4zzFcKSvIDrWx5B3g-KCI5Xd2DqNwIGrkJZlvI,22451
35
+ scope_client/api_bindings/models/__init__.py,sha256=tFtW65j6Xei193ySuUIOq3Dbj3-OGJXzdDvdbd0xTOU,22643
36
36
  scope_client/api_bindings/models/aggregation_metric_type.py,sha256=USKpDqhX4TQ4lqIoHOp3q70mydsf1u_zc1EKus9QhYo,783
37
37
  scope_client/api_bindings/models/aggregation_spec.py,sha256=gWFTgLqxNdiIw4iXwbNqKAnAwDpbcgeoFfQ_7VxtKOQ,4109
38
38
  scope_client/api_bindings/models/aggregation_spec_schema.py,sha256=MHGlB9eF8NfOasOHiqj1ZzYiBaIl8y8J2SmQysoSWVU,4624
@@ -68,7 +68,8 @@ scope_client/api_bindings/models/connector_spec_schema.py,sha256=JH998qMIcyEKRrN
68
68
  scope_client/api_bindings/models/connector_spec_schema_field.py,sha256=KA_WA-6L4pf4ePSxXnHvr7VWxgDEX36cqb_xxdwp3iA,3660
69
69
  scope_client/api_bindings/models/connector_type.py,sha256=FmpXqfN_1iw3iSU9KOhcQiPayi_OoEV1A7JMc3dl1fk,831
70
70
  scope_client/api_bindings/models/connectors_sort.py,sha256=F3uMScMW0SrVBscHsUczrwRjEQlpc1cnIZgkds3N-qo,794
71
- scope_client/api_bindings/models/create_model_task_job_spec.py,sha256=WqQPt8I5nA8l0j5YE-u56qLuq6w482nfuINJUY2XnP4,4418
71
+ scope_client/api_bindings/models/create_model_link_task_job_spec.py,sha256=i3zJ5gakSoRlzsUDbyginzkvsu0C70ggOCb5-bHgHUU,3741
72
+ scope_client/api_bindings/models/create_model_task_job_spec.py,sha256=NJFYYgk6XNTa0ssT5Lg8ALFkdQj2Zvlrs-0y8iXrS-E,4427
72
73
  scope_client/api_bindings/models/created_alerts.py,sha256=HEU8jGJvowCbwZgU7wUn410lNiJAAox5SYRyDd2uglw,3949
73
74
  scope_client/api_bindings/models/credentials.py,sha256=z1kk6SelBNpHCC78wW0-feiY6I0Q9sxFD3Bo3C0j_zI,5118
74
75
  scope_client/api_bindings/models/d_type.py,sha256=sg1LfWA05rBStEo9VIEgimHRpk8sCcrx63c8WUDCj6Y,869
@@ -124,13 +125,13 @@ scope_client/api_bindings/models/job.py,sha256=3dpiy8u05WFEV082bMw5FtbLQU___89Z7
124
125
  scope_client/api_bindings/models/job_dequeue_parameters.py,sha256=oy6URXFQWXSBnow7H7x1gD0Mema2WhkYAIx538dQJPE,2623
125
126
  scope_client/api_bindings/models/job_error.py,sha256=zaCcZargRPJIMo1jv7jk8NUKMxRqgo8uA5cseLS1T3Y,2521
126
127
  scope_client/api_bindings/models/job_errors.py,sha256=8mMGVItmGeqS9zTG3o1DR9RY3ZVWLoLrn92WSzxN0Iw,3008
127
- scope_client/api_bindings/models/job_kind.py,sha256=pBuKDwq4nw9W67Zoybfe9NAvjisVpoK5e9SbORB600U,1217
128
+ scope_client/api_bindings/models/job_kind.py,sha256=BEudKSQ__DHymmPO2FVVExWW6nB5OYDQhnQoeV4_Adg,1271
128
129
  scope_client/api_bindings/models/job_log.py,sha256=FhUjGBR3Y6Ki9N0EMmnrEg28GAB-tQQbl7a_Y6zvGOY,2876
129
130
  scope_client/api_bindings/models/job_log_level.py,sha256=SwmLnCkMw7FpGyTwamut6sNxq3H9LElS4NGIjgS3Oy4,815
130
131
  scope_client/api_bindings/models/job_logs.py,sha256=UqhK5mHLKemIKDdSC3hmzC46CL7mproK3KRe4EK6cuc,2971
131
132
  scope_client/api_bindings/models/job_priority.py,sha256=Lm7NAjSrdjA6FNR9dK9Pcc_idNpCsuKTTV4kv9usxPM,791
132
133
  scope_client/api_bindings/models/job_run.py,sha256=leSujxhY9zIM2M58T06Ha4rmIZ72eJ2RkIN5KJ4q9DE,3533
133
- scope_client/api_bindings/models/job_spec.py,sha256=VawlBv5o4p71tEl5-cM4EvCHzWcWdPN5FzqeWLiQWNM,14098
134
+ scope_client/api_bindings/models/job_spec.py,sha256=MjpAn0OtArpdZt5tEyPukVHVETyyLFSyRdIX1oz9MXw,15050
134
135
  scope_client/api_bindings/models/job_state.py,sha256=vi7T966HQ3RDEzqccvJNHycb0JCSH4rc6VpWPkRzam0,822
135
136
  scope_client/api_bindings/models/job_trigger.py,sha256=ngtU8po-kDVQv8tAHCcLNsfETd-9Lc0i8QKBea50F8E,768
136
137
  scope_client/api_bindings/models/jobs_batch.py,sha256=hQmSvADV9szYbLmdlfCiCtR295FTKRzljhsP1BCs74g,2924
@@ -184,7 +185,7 @@ scope_client/api_bindings/models/patch_user.py,sha256=Q_RqYiqCFjWsHfTWK0RqpdKpJu
184
185
  scope_client/api_bindings/models/patch_webhook.py,sha256=Nck18gezSVXn3Tsn2FgbmaVWvlajrm_rRY1Lt7XKRtU,3571
185
186
  scope_client/api_bindings/models/patch_workspace.py,sha256=oX4U-aAgTlCZr5Xor8tyZWBZBll5BwgCeqNXyfC4rAc,2530
186
187
  scope_client/api_bindings/models/permission.py,sha256=uxCnKjgZwGxr_-BidbwKWt_TVRnDhtliWd6uq9qI7yU,3002
187
- scope_client/api_bindings/models/permission_name.py,sha256=9GoOn0qgpmgSmBcWvKxGwshp3VrEYLOV_QSbc8eMwmI,8018
188
+ scope_client/api_bindings/models/permission_name.py,sha256=4hlD73IMLekqfcxv2NYWIvl8owpA4yGaWWh8zUpUtng,8088
188
189
  scope_client/api_bindings/models/permission_request_item.py,sha256=czzZsHDgvFOyZe8mjnPJtYO-eDz42jzqjzPtGfPketc,3084
189
190
  scope_client/api_bindings/models/permission_response_item.py,sha256=7D0mG1etQeYIYE9U6if8zIgJh0JEQOruk5aH6TtiNtw,3262
190
191
  scope_client/api_bindings/models/permissions_request.py,sha256=dbh_2kJdTzuZzZ8UjQAdfxnDtOXwFeDIzvdflOaU_3A,3311
@@ -207,6 +208,7 @@ scope_client/api_bindings/models/post_job.py,sha256=Se-f7PDR21gQZqssBhV3h0gVNa90
207
208
  scope_client/api_bindings/models/post_job_batch.py,sha256=F-iF4EuSuFENVNnaT42A3VxVllVFW_jFtZzZO6qXGz4,2963
208
209
  scope_client/api_bindings/models/post_job_kind.py,sha256=lBG5zzx--Fiwg--cgt923O7r91lK_7dTkYnlOjqmXXY,1090
209
210
  scope_client/api_bindings/models/post_job_spec.py,sha256=yEb1gZy8Y1UX7hY__DcsOTRSB2r7HJE1bdnIuIRC_gU,8627
211
+ scope_client/api_bindings/models/post_link_task_request.py,sha256=3YwcBRU45tOr6IoFpp9qYlFO3jFsNrOoq2poWDuX_9c,3248
210
212
  scope_client/api_bindings/models/post_metrics_query.py,sha256=cvU5kMZOCubGSfYmSXjzopwwlrFFcMlMM2yrXiGyZG0,3992
211
213
  scope_client/api_bindings/models/post_metrics_query_result_filter.py,sha256=g1RxGTaBvqiFxRpADR-UZufw-KrZz-7al1PAyZMaJqg,3235
212
214
  scope_client/api_bindings/models/post_metrics_query_result_filter_and_group.py,sha256=g4GDNqfjpNT6J-y9JiATrvfY2fc7G3WXr5A2x5tPm_g,3413
@@ -219,7 +221,7 @@ scope_client/api_bindings/models/post_model.py,sha256=Di6lIz6Fer2bT-ro5kt5zEvgZ8
219
221
  scope_client/api_bindings/models/post_project.py,sha256=8yrNEepmtdckb75U32g9A9pZrXv4RJV7aG-PsemrmXw,2863
220
222
  scope_client/api_bindings/models/post_role_binding.py,sha256=eaw4eELQLRNlBJoMaK6Sb8WcikYqc7NR1shQKMhr2RE,3173
221
223
  scope_client/api_bindings/models/post_service_account.py,sha256=KaOLpnB_kI0Cj1XMFVV3-HYBBhnMFkU9Q7dIhcIuOug,2551
222
- scope_client/api_bindings/models/post_task_request.py,sha256=Y80glGQl7viuzp2a7tw6WpFUN65DefO0QY5xOoOMsZ8,3978
224
+ scope_client/api_bindings/models/post_task_request.py,sha256=zpMydhNW4IPJBw2jwEEl3cJXHSVdotEofDHeZo11x4o,3988
223
225
  scope_client/api_bindings/models/post_task_validation_api_key.py,sha256=ri3QbNmVtxOPAFzmf_vLxmGz6jrw-0SDdnUgSir9CRw,2807
224
226
  scope_client/api_bindings/models/post_upsolve_tenant.py,sha256=irDLUIOXKXX5DDS-0U0NixgFC1R9R5_OD3H94DctzsU,2869
225
227
  scope_client/api_bindings/models/post_webhook.py,sha256=DRcXlSxpJHbtHbBhyWHMtfkw5pv4XJGQyR4xUgkw_uc,2909
@@ -309,7 +311,7 @@ scope_client/auth/device_authorizer.py,sha256=bJMIZRjkwQwoSWTLEp7OoXM2MytO3ADSD9
309
311
  scope_client/auth/discovery.py,sha256=hR0MglzRWHdwyi72If5hTnjO50fDJhquP_DD7OzjIQQ,1188
310
312
  scope_client/auth/oauth_api_config.py,sha256=wcEslusOFKr0oTzW0Ku2MhM1mvc-nm4BEJU8LHo1uXA,1347
311
313
  scope_client/auth/session.py,sha256=wCriib5ajfm1e1WTL_QXVCJmEOrGwQg_0v91e5qrC6g,2649
312
- scope_client-1.4.1037.dist-info/METADATA,sha256=K_00acQXcoyW3qDHhtZ0uu-uYOvrE5pMvuqdg1HMzbQ,1777
313
- scope_client-1.4.1037.dist-info/WHEEL,sha256=0CuiUZ_p9E4cD6NyLD6UG80LBXYyiSYZOKDm5lp32xk,91
314
- scope_client-1.4.1037.dist-info/top_level.txt,sha256=x6MngS09hi-TUDoUGb3SLzmnf8_cf8IVAVNPSqtTzAY,13
315
- scope_client-1.4.1037.dist-info/RECORD,,
314
+ scope_client-1.4.1039.dist-info/METADATA,sha256=ksiQf8qnmuT4c3WRas7V0SmA2WpSJkeFYupG38jQC2c,1777
315
+ scope_client-1.4.1039.dist-info/WHEEL,sha256=0CuiUZ_p9E4cD6NyLD6UG80LBXYyiSYZOKDm5lp32xk,91
316
+ scope_client-1.4.1039.dist-info/top_level.txt,sha256=x6MngS09hi-TUDoUGb3SLzmnf8_cf8IVAVNPSqtTzAY,13
317
+ scope_client-1.4.1039.dist-info/RECORD,,