flypix 1.1.5__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 (160) hide show
  1. flypix/__init__.py +17 -0
  2. flypix/_hooks/__init__.py +4 -0
  3. flypix/_hooks/sdkhooks.py +74 -0
  4. flypix/_hooks/types.py +124 -0
  5. flypix/_version.py +15 -0
  6. flypix/auth.py +382 -0
  7. flypix/basesdk.py +392 -0
  8. flypix/errors/__init__.py +34 -0
  9. flypix/errors/flypixdefaulterror.py +40 -0
  10. flypix/errors/flypixerror.py +30 -0
  11. flypix/errors/no_response_error.py +17 -0
  12. flypix/errors/responsevalidationerror.py +27 -0
  13. flypix/files.py +2140 -0
  14. flypix/folders.py +752 -0
  15. flypix/geosense.py +790 -0
  16. flypix/httpclient.py +125 -0
  17. flypix/inferences.py +540 -0
  18. flypix/models/__init__.py +677 -0
  19. flypix/models/annotationgeometrypayload.py +18 -0
  20. flypix/models/anymessagecontext.py +28 -0
  21. flypix/models/applymodelrequest.py +15 -0
  22. flypix/models/applymodelresponse.py +49 -0
  23. flypix/models/artifactresponse.py +42 -0
  24. flypix/models/artifacttype.py +7 -0
  25. flypix/models/balanceresponse.py +18 -0
  26. flypix/models/body_upload_geojson_vectors_vector_id_upload_geojson_post.py +14 -0
  27. flypix/models/body_upload_geopkg.py +14 -0
  28. flypix/models/body_upload_shapefile.py +14 -0
  29. flypix/models/chatmessageresponse.py +53 -0
  30. flypix/models/classresponse.py +21 -0
  31. flypix/models/cogsource.py +49 -0
  32. flypix/models/createannotationsrequest.py +23 -0
  33. flypix/models/createartifactrequest.py +18 -0
  34. flypix/models/createclassrequest.py +38 -0
  35. flypix/models/createmanyregionsrequest.py +15 -0
  36. flypix/models/createregionpayload.py +27 -0
  37. flypix/models/createvectorforvisiblefile.py +38 -0
  38. flypix/models/datacontext.py +31 -0
  39. flypix/models/entitydeletionresponse.py +19 -0
  40. flypix/models/estimatemodelresponse.py +16 -0
  41. flypix/models/filelinkresponse.py +13 -0
  42. flypix/models/fileresponse.py +79 -0
  43. flypix/models/files_deleteop.py +16 -0
  44. flypix/models/files_get_download_linkop.py +16 -0
  45. flypix/models/files_get_storage_usageop.py +16 -0
  46. flypix/models/files_get_visible_rasterop.py +16 -0
  47. flypix/models/files_getop.py +16 -0
  48. flypix/models/files_list_for_folderop.py +16 -0
  49. flypix/models/files_list_for_projectop.py +16 -0
  50. flypix/models/files_upload_from_urlop.py +63 -0
  51. flypix/models/files_upload_v2op.py +63 -0
  52. flypix/models/files_uploadop.py +63 -0
  53. flypix/models/filestatus.py +16 -0
  54. flypix/models/filetype.py +17 -0
  55. flypix/models/foldercreationrequest.py +41 -0
  56. flypix/models/folderresponse.py +36 -0
  57. flypix/models/folders_deleteop.py +16 -0
  58. flypix/models/folders_list_for_folderop.py +16 -0
  59. flypix/models/folders_list_for_projectop.py +16 -0
  60. flypix/models/geosense_create_artifactop.py +23 -0
  61. flypix/models/geosense_create_sessionop.py +16 -0
  62. flypix/models/geosense_get_artifactop.py +21 -0
  63. flypix/models/geosense_send_messageop.py +23 -0
  64. flypix/models/inferenceresponse.py +51 -0
  65. flypix/models/inferences_list_for_fileop.py +16 -0
  66. flypix/models/inferences_list_for_projectop.py +16 -0
  67. flypix/models/inferences_list_for_tenantop.py +16 -0
  68. flypix/models/inferencestatus.py +17 -0
  69. flypix/models/loginrequest.py +16 -0
  70. flypix/models/loginresponse.py +48 -0
  71. flypix/models/models_applyop.py +23 -0
  72. flypix/models/models_deleteop.py +16 -0
  73. flypix/models/models_estimate_applicationop.py +23 -0
  74. flypix/models/models_get_inference_statusop.py +16 -0
  75. flypix/models/models_list_for_projectop.py +16 -0
  76. flypix/models/models_list_for_tenantop.py +16 -0
  77. flypix/models/modelstatus.py +15 -0
  78. flypix/models/officialmodelresponse.py +45 -0
  79. flypix/models/payments_get_balanceop.py +16 -0
  80. flypix/models/privatemodelresponse.py +58 -0
  81. flypix/models/projectcreationrequest.py +18 -0
  82. flypix/models/projectresponse.py +27 -0
  83. flypix/models/projects_deleteop.py +16 -0
  84. flypix/models/projects_list_for_tenantop.py +16 -0
  85. flypix/models/rasterresponse.py +69 -0
  86. flypix/models/rasters_list_for_fileop.py +16 -0
  87. flypix/models/rasters_list_for_projectop.py +16 -0
  88. flypix/models/rasters_list_for_tenantop.py +16 -0
  89. flypix/models/rastersource.py +17 -0
  90. flypix/models/rasterstatus.py +16 -0
  91. flypix/models/reason.py +21 -0
  92. flypix/models/refreshrequest.py +13 -0
  93. flypix/models/regioninferencebehavior.py +14 -0
  94. flypix/models/regionmetadata.py +47 -0
  95. flypix/models/regionresponse.py +47 -0
  96. flypix/models/regions_createop.py +26 -0
  97. flypix/models/regions_list_for_fileop.py +16 -0
  98. flypix/models/regiontrainingbehavior.py +16 -0
  99. flypix/models/responsestatus.py +16 -0
  100. flypix/models/security.py +42 -0
  101. flypix/models/sendmessagerequest.py +49 -0
  102. flypix/models/tenantresponse.py +18 -0
  103. flypix/models/transaction.py +56 -0
  104. flypix/models/transactiontype.py +15 -0
  105. flypix/models/uploadannotationsresponse.py +23 -0
  106. flypix/models/uploadfileresponsestatus.py +19 -0
  107. flypix/models/uploadsource.py +60 -0
  108. flypix/models/usageresponse.py +28 -0
  109. flypix/models/vectorcreationsource.py +14 -0
  110. flypix/models/vectorfeatures.py +36 -0
  111. flypix/models/vectorfeaturesdict.py +26 -0
  112. flypix/models/vectormetadata.py +14 -0
  113. flypix/models/vectorresponse.py +32 -0
  114. flypix/models/vectors_create_annotationsop.py +26 -0
  115. flypix/models/vectors_create_classop.py +23 -0
  116. flypix/models/vectors_deleteop.py +16 -0
  117. flypix/models/vectors_get_featuresop.py +16 -0
  118. flypix/models/vectors_list_classes_for_projectop.py +16 -0
  119. flypix/models/vectors_list_for_fileop.py +16 -0
  120. flypix/models/vectors_upload_geojsonop.py +26 -0
  121. flypix/models/vectors_upload_gpkgop.py +23 -0
  122. flypix/models/vectors_upload_shapefileop.py +23 -0
  123. flypix/models/wmtssource.py +49 -0
  124. flypix/models_.py +1266 -0
  125. flypix/payments.py +188 -0
  126. flypix/projects.py +556 -0
  127. flypix/py.typed +1 -0
  128. flypix/rasters.py +540 -0
  129. flypix/regions.py +598 -0
  130. flypix/sdk.py +246 -0
  131. flypix/sdkconfiguration.py +49 -0
  132. flypix/types/__init__.py +24 -0
  133. flypix/types/base64fileinput.py +43 -0
  134. flypix/types/basemodel.py +77 -0
  135. flypix/users.py +174 -0
  136. flypix/utils/__init__.py +180 -0
  137. flypix/utils/annotations.py +79 -0
  138. flypix/utils/datetimes.py +37 -0
  139. flypix/utils/dynamic_imports.py +54 -0
  140. flypix/utils/enums.py +134 -0
  141. flypix/utils/eventstreaming.py +326 -0
  142. flypix/utils/forms.py +239 -0
  143. flypix/utils/headers.py +136 -0
  144. flypix/utils/logger.py +22 -0
  145. flypix/utils/metadata.py +119 -0
  146. flypix/utils/queryparams.py +217 -0
  147. flypix/utils/requestbodies.py +67 -0
  148. flypix/utils/retries.py +356 -0
  149. flypix/utils/security.py +198 -0
  150. flypix/utils/serializers.py +306 -0
  151. flypix/utils/unions.py +41 -0
  152. flypix/utils/unmarshal_json_response.py +38 -0
  153. flypix/utils/url.py +155 -0
  154. flypix/utils/values.py +137 -0
  155. flypix/vectors.py +1912 -0
  156. flypix-1.1.5.dist-info/METADATA +587 -0
  157. flypix-1.1.5.dist-info/RECORD +160 -0
  158. flypix-1.1.5.dist-info/WHEEL +5 -0
  159. flypix-1.1.5.dist-info/licenses/LICENSE +21 -0
  160. flypix-1.1.5.dist-info/top_level.txt +1 -0
flypix/__init__.py ADDED
@@ -0,0 +1,17 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from ._version import (
4
+ __title__,
5
+ __version__,
6
+ __openapi_doc_version__,
7
+ __gen_version__,
8
+ __user_agent__,
9
+ )
10
+ from .sdk import *
11
+ from .sdkconfiguration import *
12
+
13
+
14
+ VERSION: str = __version__
15
+ OPENAPI_DOC_VERSION = __openapi_doc_version__
16
+ SPEAKEASY_GENERATOR_VERSION = __gen_version__
17
+ USER_AGENT = __user_agent__
@@ -0,0 +1,4 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from .sdkhooks import *
4
+ from .types import *
@@ -0,0 +1,74 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ import httpx
4
+ from .types import (
5
+ SDKInitHook,
6
+ BeforeRequestContext,
7
+ BeforeRequestHook,
8
+ AfterSuccessContext,
9
+ AfterSuccessHook,
10
+ AfterErrorContext,
11
+ AfterErrorHook,
12
+ Hooks,
13
+ )
14
+ from typing import List, Optional, Tuple
15
+ from flypix.sdkconfiguration import SDKConfiguration
16
+
17
+
18
+ class SDKHooks(Hooks):
19
+ def __init__(self) -> None:
20
+ self.sdk_init_hooks: List[SDKInitHook] = []
21
+ self.before_request_hooks: List[BeforeRequestHook] = []
22
+ self.after_success_hooks: List[AfterSuccessHook] = []
23
+ self.after_error_hooks: List[AfterErrorHook] = []
24
+
25
+ def register_sdk_init_hook(self, hook: SDKInitHook) -> None:
26
+ self.sdk_init_hooks.append(hook)
27
+
28
+ def register_before_request_hook(self, hook: BeforeRequestHook) -> None:
29
+ self.before_request_hooks.append(hook)
30
+
31
+ def register_after_success_hook(self, hook: AfterSuccessHook) -> None:
32
+ self.after_success_hooks.append(hook)
33
+
34
+ def register_after_error_hook(self, hook: AfterErrorHook) -> None:
35
+ self.after_error_hooks.append(hook)
36
+
37
+ def sdk_init(self, config: SDKConfiguration) -> SDKConfiguration:
38
+ for hook in self.sdk_init_hooks:
39
+ config = hook.sdk_init(config)
40
+ return config
41
+
42
+ def before_request(
43
+ self, hook_ctx: BeforeRequestContext, request: httpx.Request
44
+ ) -> httpx.Request:
45
+ for hook in self.before_request_hooks:
46
+ out = hook.before_request(hook_ctx, request)
47
+ if isinstance(out, Exception):
48
+ raise out
49
+ request = out
50
+
51
+ return request
52
+
53
+ def after_success(
54
+ self, hook_ctx: AfterSuccessContext, response: httpx.Response
55
+ ) -> httpx.Response:
56
+ for hook in self.after_success_hooks:
57
+ out = hook.after_success(hook_ctx, response)
58
+ if isinstance(out, Exception):
59
+ raise out
60
+ response = out
61
+ return response
62
+
63
+ def after_error(
64
+ self,
65
+ hook_ctx: AfterErrorContext,
66
+ response: Optional[httpx.Response],
67
+ error: Optional[Exception],
68
+ ) -> Tuple[Optional[httpx.Response], Optional[Exception]]:
69
+ for hook in self.after_error_hooks:
70
+ result = hook.after_error(hook_ctx, response, error)
71
+ if isinstance(result, Exception):
72
+ raise result
73
+ response, error = result
74
+ return response, error
flypix/_hooks/types.py ADDED
@@ -0,0 +1,124 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from abc import ABC, abstractmethod
4
+ from flypix.sdkconfiguration import SDKConfiguration
5
+ import httpx
6
+ from typing import Any, Callable, Dict, List, Optional, Tuple, Union
7
+
8
+
9
+ class HookContext:
10
+ config: SDKConfiguration
11
+ base_url: str
12
+ operation_id: str
13
+ oauth2_scopes: Optional[List[str]] = None
14
+ security_source: Optional[Union[Any, Callable[[], Any]]] = None
15
+ tags: Optional[List[str]] = None
16
+ extensions: Optional[Dict[str, Any]] = None
17
+
18
+ def __init__(
19
+ self,
20
+ config: SDKConfiguration,
21
+ base_url: str,
22
+ operation_id: str,
23
+ oauth2_scopes: Optional[List[str]],
24
+ security_source: Optional[Union[Any, Callable[[], Any]]],
25
+ tags: Optional[List[str]],
26
+ extensions: Optional[Dict[str, Any]],
27
+ ):
28
+ self.config = config
29
+ self.base_url = base_url
30
+ self.operation_id = operation_id
31
+ self.oauth2_scopes = oauth2_scopes
32
+ self.security_source = security_source
33
+ self.tags = tags
34
+ self.extensions = extensions
35
+
36
+
37
+ class BeforeRequestContext(HookContext):
38
+ def __init__(self, hook_ctx: HookContext):
39
+ super().__init__(
40
+ hook_ctx.config,
41
+ hook_ctx.base_url,
42
+ hook_ctx.operation_id,
43
+ hook_ctx.oauth2_scopes,
44
+ hook_ctx.security_source,
45
+ hook_ctx.tags,
46
+ hook_ctx.extensions,
47
+ )
48
+
49
+
50
+ class AfterSuccessContext(HookContext):
51
+ def __init__(self, hook_ctx: HookContext):
52
+ super().__init__(
53
+ hook_ctx.config,
54
+ hook_ctx.base_url,
55
+ hook_ctx.operation_id,
56
+ hook_ctx.oauth2_scopes,
57
+ hook_ctx.security_source,
58
+ hook_ctx.tags,
59
+ hook_ctx.extensions,
60
+ )
61
+
62
+
63
+ class AfterErrorContext(HookContext):
64
+ def __init__(self, hook_ctx: HookContext):
65
+ super().__init__(
66
+ hook_ctx.config,
67
+ hook_ctx.base_url,
68
+ hook_ctx.operation_id,
69
+ hook_ctx.oauth2_scopes,
70
+ hook_ctx.security_source,
71
+ hook_ctx.tags,
72
+ hook_ctx.extensions,
73
+ )
74
+
75
+
76
+ class SDKInitHook(ABC):
77
+ @abstractmethod
78
+ def sdk_init(self, config: SDKConfiguration) -> SDKConfiguration:
79
+ pass
80
+
81
+
82
+ class BeforeRequestHook(ABC):
83
+ @abstractmethod
84
+ def before_request(
85
+ self, hook_ctx: BeforeRequestContext, request: httpx.Request
86
+ ) -> Union[httpx.Request, Exception]:
87
+ pass
88
+
89
+
90
+ class AfterSuccessHook(ABC):
91
+ @abstractmethod
92
+ def after_success(
93
+ self, hook_ctx: AfterSuccessContext, response: httpx.Response
94
+ ) -> Union[httpx.Response, Exception]:
95
+ pass
96
+
97
+
98
+ class AfterErrorHook(ABC):
99
+ @abstractmethod
100
+ def after_error(
101
+ self,
102
+ hook_ctx: AfterErrorContext,
103
+ response: Optional[httpx.Response],
104
+ error: Optional[Exception],
105
+ ) -> Union[Tuple[Optional[httpx.Response], Optional[Exception]], Exception]:
106
+ pass
107
+
108
+
109
+ class Hooks(ABC):
110
+ @abstractmethod
111
+ def register_sdk_init_hook(self, hook: SDKInitHook):
112
+ pass
113
+
114
+ @abstractmethod
115
+ def register_before_request_hook(self, hook: BeforeRequestHook):
116
+ pass
117
+
118
+ @abstractmethod
119
+ def register_after_success_hook(self, hook: AfterSuccessHook):
120
+ pass
121
+
122
+ @abstractmethod
123
+ def register_after_error_hook(self, hook: AfterErrorHook):
124
+ pass
flypix/_version.py ADDED
@@ -0,0 +1,15 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ import importlib.metadata
4
+
5
+ __title__: str = "flypix"
6
+ __version__: str = "1.1.5"
7
+ __openapi_doc_version__: str = "0.1.0"
8
+ __gen_version__: str = "2.918.1"
9
+ __user_agent__: str = "speakeasy-sdk/python 1.1.5 2.918.1 0.1.0 flypix"
10
+
11
+ try:
12
+ if __package__ is not None:
13
+ __version__ = importlib.metadata.version(__package__)
14
+ except importlib.metadata.PackageNotFoundError:
15
+ pass
flypix/auth.py ADDED
@@ -0,0 +1,382 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from .basesdk import BaseSDK
4
+ from flypix import errors, models, utils
5
+ from flypix._hooks import HookContext
6
+ from flypix.types import OptionalNullable, UNSET
7
+ from flypix.utils.unmarshal_json_response import unmarshal_json_response
8
+ from typing import Mapping, Optional
9
+
10
+
11
+ class Auth(BaseSDK):
12
+ r"""Obtain and refresh API access tokens."""
13
+
14
+ def login_with_password(
15
+ self,
16
+ *,
17
+ username: str,
18
+ password: str,
19
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
20
+ server_url: Optional[str] = None,
21
+ timeout_ms: Optional[int] = None,
22
+ http_headers: Optional[Mapping[str, str]] = None,
23
+ ) -> models.LoginResponse:
24
+ r"""Login With Password
25
+
26
+ Retrieve a short lived auth token using your username and password.
27
+ Only accounts created directly in the app are supported, third party accounts (Google, Linkedin) are not supported
28
+
29
+ :param username:
30
+ :param password:
31
+ :param retries: Override the default retry configuration for this method
32
+ :param server_url: Override the default server URL for this method
33
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
34
+ :param http_headers: Additional headers to set or replace on requests.
35
+ """
36
+ base_url = None
37
+ url_variables = None
38
+ if timeout_ms is None:
39
+ timeout_ms = self.sdk_configuration.timeout_ms
40
+
41
+ if server_url is not None:
42
+ base_url = server_url
43
+ else:
44
+ base_url = self._get_url(base_url, url_variables)
45
+
46
+ request = models.LoginRequest(
47
+ username=username,
48
+ password=password,
49
+ )
50
+
51
+ req = self._build_request(
52
+ method="POST",
53
+ path="/auth/login/password",
54
+ base_url=base_url,
55
+ url_variables=url_variables,
56
+ request=request,
57
+ request_body_required=True,
58
+ request_has_path_params=False,
59
+ request_has_query_params=False,
60
+ user_agent_header="user-agent",
61
+ accept_header_value="application/json",
62
+ http_headers=http_headers,
63
+ get_serialized_body=lambda: utils.serialize_request_body(
64
+ request, False, False, "json", models.LoginRequest
65
+ ),
66
+ allow_empty_value=None,
67
+ timeout_ms=timeout_ms,
68
+ )
69
+
70
+ if retries == UNSET:
71
+ if self.sdk_configuration.retry_config is not UNSET:
72
+ retries = self.sdk_configuration.retry_config
73
+
74
+ retry_config = None
75
+ if isinstance(retries, utils.RetryConfig):
76
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
77
+
78
+ http_res = self.do_request(
79
+ hook_ctx=HookContext(
80
+ config=self.sdk_configuration,
81
+ base_url=base_url or "",
82
+ operation_id="auth_login_with_password",
83
+ oauth2_scopes=None,
84
+ security_source=None,
85
+ tags=["Auth"],
86
+ extensions=None,
87
+ ),
88
+ request=req,
89
+ is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c),
90
+ retry_config=retry_config,
91
+ )
92
+
93
+ if utils.match_response(http_res, "200", "application/json"):
94
+ return unmarshal_json_response(models.LoginResponse, http_res)
95
+ if utils.match_response(http_res, "4XX", "*"):
96
+ http_res_text = utils.stream_to_text(http_res)
97
+ raise errors.FlyPixDefaultError(
98
+ "API error occurred", http_res, http_res_text
99
+ )
100
+ if utils.match_response(http_res, "5XX", "*"):
101
+ http_res_text = utils.stream_to_text(http_res)
102
+ raise errors.FlyPixDefaultError(
103
+ "API error occurred", http_res, http_res_text
104
+ )
105
+
106
+ raise errors.FlyPixDefaultError("Unexpected response received", http_res)
107
+
108
+ async def login_with_password_async(
109
+ self,
110
+ *,
111
+ username: str,
112
+ password: str,
113
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
114
+ server_url: Optional[str] = None,
115
+ timeout_ms: Optional[int] = None,
116
+ http_headers: Optional[Mapping[str, str]] = None,
117
+ ) -> models.LoginResponse:
118
+ r"""Login With Password
119
+
120
+ Retrieve a short lived auth token using your username and password.
121
+ Only accounts created directly in the app are supported, third party accounts (Google, Linkedin) are not supported
122
+
123
+ :param username:
124
+ :param password:
125
+ :param retries: Override the default retry configuration for this method
126
+ :param server_url: Override the default server URL for this method
127
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
128
+ :param http_headers: Additional headers to set or replace on requests.
129
+ """
130
+ base_url = None
131
+ url_variables = None
132
+ if timeout_ms is None:
133
+ timeout_ms = self.sdk_configuration.timeout_ms
134
+
135
+ if server_url is not None:
136
+ base_url = server_url
137
+ else:
138
+ base_url = self._get_url(base_url, url_variables)
139
+
140
+ request = models.LoginRequest(
141
+ username=username,
142
+ password=password,
143
+ )
144
+
145
+ req = self._build_request_async(
146
+ method="POST",
147
+ path="/auth/login/password",
148
+ base_url=base_url,
149
+ url_variables=url_variables,
150
+ request=request,
151
+ request_body_required=True,
152
+ request_has_path_params=False,
153
+ request_has_query_params=False,
154
+ user_agent_header="user-agent",
155
+ accept_header_value="application/json",
156
+ http_headers=http_headers,
157
+ get_serialized_body=lambda: utils.serialize_request_body(
158
+ request, False, False, "json", models.LoginRequest
159
+ ),
160
+ allow_empty_value=None,
161
+ timeout_ms=timeout_ms,
162
+ )
163
+
164
+ if retries == UNSET:
165
+ if self.sdk_configuration.retry_config is not UNSET:
166
+ retries = self.sdk_configuration.retry_config
167
+
168
+ retry_config = None
169
+ if isinstance(retries, utils.RetryConfig):
170
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
171
+
172
+ http_res = await self.do_request_async(
173
+ hook_ctx=HookContext(
174
+ config=self.sdk_configuration,
175
+ base_url=base_url or "",
176
+ operation_id="auth_login_with_password",
177
+ oauth2_scopes=None,
178
+ security_source=None,
179
+ tags=["Auth"],
180
+ extensions=None,
181
+ ),
182
+ request=req,
183
+ is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c),
184
+ retry_config=retry_config,
185
+ )
186
+
187
+ if utils.match_response(http_res, "200", "application/json"):
188
+ return unmarshal_json_response(models.LoginResponse, http_res)
189
+ if utils.match_response(http_res, "4XX", "*"):
190
+ http_res_text = await utils.stream_to_text_async(http_res)
191
+ raise errors.FlyPixDefaultError(
192
+ "API error occurred", http_res, http_res_text
193
+ )
194
+ if utils.match_response(http_res, "5XX", "*"):
195
+ http_res_text = await utils.stream_to_text_async(http_res)
196
+ raise errors.FlyPixDefaultError(
197
+ "API error occurred", http_res, http_res_text
198
+ )
199
+
200
+ raise errors.FlyPixDefaultError("Unexpected response received", http_res)
201
+
202
+ def refresh_token(
203
+ self,
204
+ *,
205
+ refresh_token: str,
206
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
207
+ server_url: Optional[str] = None,
208
+ timeout_ms: Optional[int] = None,
209
+ http_headers: Optional[Mapping[str, str]] = None,
210
+ ) -> models.LoginResponse:
211
+ r"""Refresh Token
212
+
213
+ Get a new short lived authentication token using the refresh token
214
+
215
+ :param refresh_token:
216
+ :param retries: Override the default retry configuration for this method
217
+ :param server_url: Override the default server URL for this method
218
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
219
+ :param http_headers: Additional headers to set or replace on requests.
220
+ """
221
+ base_url = None
222
+ url_variables = None
223
+ if timeout_ms is None:
224
+ timeout_ms = self.sdk_configuration.timeout_ms
225
+
226
+ if server_url is not None:
227
+ base_url = server_url
228
+ else:
229
+ base_url = self._get_url(base_url, url_variables)
230
+
231
+ request = models.RefreshRequest(
232
+ refresh_token=refresh_token,
233
+ )
234
+
235
+ req = self._build_request(
236
+ method="POST",
237
+ path="/auth/refresh",
238
+ base_url=base_url,
239
+ url_variables=url_variables,
240
+ request=request,
241
+ request_body_required=True,
242
+ request_has_path_params=False,
243
+ request_has_query_params=True,
244
+ user_agent_header="user-agent",
245
+ accept_header_value="application/json",
246
+ http_headers=http_headers,
247
+ security=self.sdk_configuration.security,
248
+ get_serialized_body=lambda: utils.serialize_request_body(
249
+ request, False, False, "json", models.RefreshRequest
250
+ ),
251
+ allow_empty_value=None,
252
+ timeout_ms=timeout_ms,
253
+ )
254
+
255
+ if retries == UNSET:
256
+ if self.sdk_configuration.retry_config is not UNSET:
257
+ retries = self.sdk_configuration.retry_config
258
+
259
+ retry_config = None
260
+ if isinstance(retries, utils.RetryConfig):
261
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
262
+
263
+ http_res = self.do_request(
264
+ hook_ctx=HookContext(
265
+ config=self.sdk_configuration,
266
+ base_url=base_url or "",
267
+ operation_id="auth_refresh_token",
268
+ oauth2_scopes=None,
269
+ security_source=self.sdk_configuration.security,
270
+ tags=["Auth"],
271
+ extensions=None,
272
+ ),
273
+ request=req,
274
+ is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c),
275
+ retry_config=retry_config,
276
+ )
277
+
278
+ if utils.match_response(http_res, "200", "application/json"):
279
+ return unmarshal_json_response(models.LoginResponse, http_res)
280
+ if utils.match_response(http_res, "4XX", "*"):
281
+ http_res_text = utils.stream_to_text(http_res)
282
+ raise errors.FlyPixDefaultError(
283
+ "API error occurred", http_res, http_res_text
284
+ )
285
+ if utils.match_response(http_res, "5XX", "*"):
286
+ http_res_text = utils.stream_to_text(http_res)
287
+ raise errors.FlyPixDefaultError(
288
+ "API error occurred", http_res, http_res_text
289
+ )
290
+
291
+ raise errors.FlyPixDefaultError("Unexpected response received", http_res)
292
+
293
+ async def refresh_token_async(
294
+ self,
295
+ *,
296
+ refresh_token: str,
297
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
298
+ server_url: Optional[str] = None,
299
+ timeout_ms: Optional[int] = None,
300
+ http_headers: Optional[Mapping[str, str]] = None,
301
+ ) -> models.LoginResponse:
302
+ r"""Refresh Token
303
+
304
+ Get a new short lived authentication token using the refresh token
305
+
306
+ :param refresh_token:
307
+ :param retries: Override the default retry configuration for this method
308
+ :param server_url: Override the default server URL for this method
309
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
310
+ :param http_headers: Additional headers to set or replace on requests.
311
+ """
312
+ base_url = None
313
+ url_variables = None
314
+ if timeout_ms is None:
315
+ timeout_ms = self.sdk_configuration.timeout_ms
316
+
317
+ if server_url is not None:
318
+ base_url = server_url
319
+ else:
320
+ base_url = self._get_url(base_url, url_variables)
321
+
322
+ request = models.RefreshRequest(
323
+ refresh_token=refresh_token,
324
+ )
325
+
326
+ req = self._build_request_async(
327
+ method="POST",
328
+ path="/auth/refresh",
329
+ base_url=base_url,
330
+ url_variables=url_variables,
331
+ request=request,
332
+ request_body_required=True,
333
+ request_has_path_params=False,
334
+ request_has_query_params=True,
335
+ user_agent_header="user-agent",
336
+ accept_header_value="application/json",
337
+ http_headers=http_headers,
338
+ security=self.sdk_configuration.security,
339
+ get_serialized_body=lambda: utils.serialize_request_body(
340
+ request, False, False, "json", models.RefreshRequest
341
+ ),
342
+ allow_empty_value=None,
343
+ timeout_ms=timeout_ms,
344
+ )
345
+
346
+ if retries == UNSET:
347
+ if self.sdk_configuration.retry_config is not UNSET:
348
+ retries = self.sdk_configuration.retry_config
349
+
350
+ retry_config = None
351
+ if isinstance(retries, utils.RetryConfig):
352
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
353
+
354
+ http_res = await self.do_request_async(
355
+ hook_ctx=HookContext(
356
+ config=self.sdk_configuration,
357
+ base_url=base_url or "",
358
+ operation_id="auth_refresh_token",
359
+ oauth2_scopes=None,
360
+ security_source=self.sdk_configuration.security,
361
+ tags=["Auth"],
362
+ extensions=None,
363
+ ),
364
+ request=req,
365
+ is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c),
366
+ retry_config=retry_config,
367
+ )
368
+
369
+ if utils.match_response(http_res, "200", "application/json"):
370
+ return unmarshal_json_response(models.LoginResponse, http_res)
371
+ if utils.match_response(http_res, "4XX", "*"):
372
+ http_res_text = await utils.stream_to_text_async(http_res)
373
+ raise errors.FlyPixDefaultError(
374
+ "API error occurred", http_res, http_res_text
375
+ )
376
+ if utils.match_response(http_res, "5XX", "*"):
377
+ http_res_text = await utils.stream_to_text_async(http_res)
378
+ raise errors.FlyPixDefaultError(
379
+ "API error occurred", http_res, http_res_text
380
+ )
381
+
382
+ raise errors.FlyPixDefaultError("Unexpected response received", http_res)