hyperstack 1.41.0a0__py3-none-any.whl → 1.41.2a0__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.
hyperstack/__init__.py CHANGED
@@ -14,7 +14,7 @@
14
14
  """ # noqa: E501
15
15
 
16
16
 
17
- __version__ = "v1.41.0-alpha"
17
+ __version__ = "v1.41.2-alpha"
18
18
 
19
19
  # import apis into sdk package
20
20
  from .api.calculate_api import CalculateApi
@@ -229,6 +229,7 @@ from .models.last_day_cost_response import LastDayCostResponse
229
229
  from .models.logos import Logos
230
230
  from .models.mfa_status_fields import MFAStatusFields
231
231
  from .models.mfa_status_response import MFAStatusResponse
232
+ from .models.manual_reconciliation_model import ManualReconciliationModel
232
233
  from .models.master_flavors_response import MasterFlavorsResponse
233
234
  from .models.metric_item_fields import MetricItemFields
234
235
  from .models.metrics_fields import MetricsFields
@@ -29,6 +29,7 @@ from ..models.cluster_versions import ClusterVersions
29
29
  from ..models.create_cluster_node_fields import CreateClusterNodeFields
30
30
  from ..models.create_cluster_node_group_payload import CreateClusterNodeGroupPayload
31
31
  from ..models.create_cluster_payload import CreateClusterPayload
32
+ from ..models.manual_reconciliation_model import ManualReconciliationModel
32
33
  from ..models.master_flavors_response import MasterFlavorsResponse
33
34
  from ..models.name_available_model import NameAvailableModel
34
35
  from ..models.response_model import ResponseModel
@@ -51,6 +52,276 @@ class ClustersApi:
51
52
  self.api_client = api_client
52
53
 
53
54
 
55
+ @validate_call
56
+ def attempt_to_manually_reconcile_a_cluster(
57
+ self,
58
+ cluster_id: StrictInt,
59
+ _request_timeout: Union[
60
+ None,
61
+ Annotated[StrictFloat, Field(gt=0)],
62
+ Tuple[
63
+ Annotated[StrictFloat, Field(gt=0)],
64
+ Annotated[StrictFloat, Field(gt=0)]
65
+ ]
66
+ ] = None,
67
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
68
+ _content_type: Optional[StrictStr] = None,
69
+ _headers: Optional[Dict[StrictStr, Any]] = None,
70
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
71
+ ) -> ManualReconciliationModel:
72
+ """Reconcile a cluster
73
+
74
+
75
+ :param cluster_id: (required)
76
+ :type cluster_id: int
77
+ :param _request_timeout: timeout setting for this request. If one
78
+ number provided, it will be total request
79
+ timeout. It can also be a pair (tuple) of
80
+ (connection, read) timeouts.
81
+ :type _request_timeout: int, tuple(int, int), optional
82
+ :param _request_auth: set to override the auth_settings for an a single
83
+ request; this effectively ignores the
84
+ authentication in the spec for a single request.
85
+ :type _request_auth: dict, optional
86
+ :param _content_type: force content-type for the request.
87
+ :type _content_type: str, Optional
88
+ :param _headers: set to override the headers for a single
89
+ request; this effectively ignores the headers
90
+ in the spec for a single request.
91
+ :type _headers: dict, optional
92
+ :param _host_index: set to override the host_index for a single
93
+ request; this effectively ignores the host_index
94
+ in the spec for a single request.
95
+ :type _host_index: int, optional
96
+ :return: Returns the result object.
97
+ """ # noqa: E501
98
+
99
+ _param = self._attempt_to_manually_reconcile_a_cluster_serialize(
100
+ cluster_id=cluster_id,
101
+ _request_auth=_request_auth,
102
+ _content_type=_content_type,
103
+ _headers=_headers,
104
+ _host_index=_host_index
105
+ )
106
+
107
+ _response_types_map: Dict[str, Optional[str]] = {
108
+ '200': "ManualReconciliationModel",
109
+ '400': "ErrorResponseModel",
110
+ '401': "ErrorResponseModel",
111
+ '404': "ErrorResponseModel",
112
+ '500': None,
113
+ }
114
+ response_data = self.api_client.call_api(
115
+ *_param,
116
+ _request_timeout=_request_timeout
117
+ )
118
+ response_data.read()
119
+ return self.api_client.response_deserialize(
120
+ response_data=response_data,
121
+ response_types_map=_response_types_map,
122
+ ).data
123
+
124
+
125
+ @validate_call
126
+ def attempt_to_manually_reconcile_a_cluster_with_http_info(
127
+ self,
128
+ cluster_id: StrictInt,
129
+ _request_timeout: Union[
130
+ None,
131
+ Annotated[StrictFloat, Field(gt=0)],
132
+ Tuple[
133
+ Annotated[StrictFloat, Field(gt=0)],
134
+ Annotated[StrictFloat, Field(gt=0)]
135
+ ]
136
+ ] = None,
137
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
138
+ _content_type: Optional[StrictStr] = None,
139
+ _headers: Optional[Dict[StrictStr, Any]] = None,
140
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
141
+ ) -> ApiResponse[ManualReconciliationModel]:
142
+ """Reconcile a cluster
143
+
144
+
145
+ :param cluster_id: (required)
146
+ :type cluster_id: int
147
+ :param _request_timeout: timeout setting for this request. If one
148
+ number provided, it will be total request
149
+ timeout. It can also be a pair (tuple) of
150
+ (connection, read) timeouts.
151
+ :type _request_timeout: int, tuple(int, int), optional
152
+ :param _request_auth: set to override the auth_settings for an a single
153
+ request; this effectively ignores the
154
+ authentication in the spec for a single request.
155
+ :type _request_auth: dict, optional
156
+ :param _content_type: force content-type for the request.
157
+ :type _content_type: str, Optional
158
+ :param _headers: set to override the headers for a single
159
+ request; this effectively ignores the headers
160
+ in the spec for a single request.
161
+ :type _headers: dict, optional
162
+ :param _host_index: set to override the host_index for a single
163
+ request; this effectively ignores the host_index
164
+ in the spec for a single request.
165
+ :type _host_index: int, optional
166
+ :return: Returns the result object.
167
+ """ # noqa: E501
168
+
169
+ _param = self._attempt_to_manually_reconcile_a_cluster_serialize(
170
+ cluster_id=cluster_id,
171
+ _request_auth=_request_auth,
172
+ _content_type=_content_type,
173
+ _headers=_headers,
174
+ _host_index=_host_index
175
+ )
176
+
177
+ _response_types_map: Dict[str, Optional[str]] = {
178
+ '200': "ManualReconciliationModel",
179
+ '400': "ErrorResponseModel",
180
+ '401': "ErrorResponseModel",
181
+ '404': "ErrorResponseModel",
182
+ '500': None,
183
+ }
184
+ response_data = self.api_client.call_api(
185
+ *_param,
186
+ _request_timeout=_request_timeout
187
+ )
188
+ response_data.read()
189
+ return self.api_client.response_deserialize(
190
+ response_data=response_data,
191
+ response_types_map=_response_types_map,
192
+ )
193
+
194
+
195
+ @validate_call
196
+ def attempt_to_manually_reconcile_a_cluster_without_preload_content(
197
+ self,
198
+ cluster_id: StrictInt,
199
+ _request_timeout: Union[
200
+ None,
201
+ Annotated[StrictFloat, Field(gt=0)],
202
+ Tuple[
203
+ Annotated[StrictFloat, Field(gt=0)],
204
+ Annotated[StrictFloat, Field(gt=0)]
205
+ ]
206
+ ] = None,
207
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
208
+ _content_type: Optional[StrictStr] = None,
209
+ _headers: Optional[Dict[StrictStr, Any]] = None,
210
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
211
+ ) -> RESTResponseType:
212
+ """Reconcile a cluster
213
+
214
+
215
+ :param cluster_id: (required)
216
+ :type cluster_id: int
217
+ :param _request_timeout: timeout setting for this request. If one
218
+ number provided, it will be total request
219
+ timeout. It can also be a pair (tuple) of
220
+ (connection, read) timeouts.
221
+ :type _request_timeout: int, tuple(int, int), optional
222
+ :param _request_auth: set to override the auth_settings for an a single
223
+ request; this effectively ignores the
224
+ authentication in the spec for a single request.
225
+ :type _request_auth: dict, optional
226
+ :param _content_type: force content-type for the request.
227
+ :type _content_type: str, Optional
228
+ :param _headers: set to override the headers for a single
229
+ request; this effectively ignores the headers
230
+ in the spec for a single request.
231
+ :type _headers: dict, optional
232
+ :param _host_index: set to override the host_index for a single
233
+ request; this effectively ignores the host_index
234
+ in the spec for a single request.
235
+ :type _host_index: int, optional
236
+ :return: Returns the result object.
237
+ """ # noqa: E501
238
+
239
+ _param = self._attempt_to_manually_reconcile_a_cluster_serialize(
240
+ cluster_id=cluster_id,
241
+ _request_auth=_request_auth,
242
+ _content_type=_content_type,
243
+ _headers=_headers,
244
+ _host_index=_host_index
245
+ )
246
+
247
+ _response_types_map: Dict[str, Optional[str]] = {
248
+ '200': "ManualReconciliationModel",
249
+ '400': "ErrorResponseModel",
250
+ '401': "ErrorResponseModel",
251
+ '404': "ErrorResponseModel",
252
+ '500': None,
253
+ }
254
+ response_data = self.api_client.call_api(
255
+ *_param,
256
+ _request_timeout=_request_timeout
257
+ )
258
+ return response_data.response
259
+
260
+
261
+ def _attempt_to_manually_reconcile_a_cluster_serialize(
262
+ self,
263
+ cluster_id,
264
+ _request_auth,
265
+ _content_type,
266
+ _headers,
267
+ _host_index,
268
+ ) -> RequestSerialized:
269
+
270
+ _host = None
271
+
272
+ _collection_formats: Dict[str, str] = {
273
+ }
274
+
275
+ _path_params: Dict[str, str] = {}
276
+ _query_params: List[Tuple[str, str]] = []
277
+ _header_params: Dict[str, Optional[str]] = _headers or {}
278
+ _form_params: List[Tuple[str, str]] = []
279
+ _files: Dict[
280
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
281
+ ] = {}
282
+ _body_params: Optional[bytes] = None
283
+
284
+ # process the path parameters
285
+ if cluster_id is not None:
286
+ _path_params['cluster_id'] = cluster_id
287
+ # process the query parameters
288
+ # process the header parameters
289
+ # process the form parameters
290
+ # process the body parameter
291
+
292
+
293
+ # set the HTTP header `Accept`
294
+ if 'Accept' not in _header_params:
295
+ _header_params['Accept'] = self.api_client.select_header_accept(
296
+ [
297
+ 'application/json'
298
+ ]
299
+ )
300
+
301
+
302
+ # authentication setting
303
+ _auth_settings: List[str] = [
304
+ 'apiKey'
305
+ ]
306
+
307
+ return self.api_client.param_serialize(
308
+ method='POST',
309
+ resource_path='/core/clusters/{cluster_id}/reconcile',
310
+ path_params=_path_params,
311
+ query_params=_query_params,
312
+ header_params=_header_params,
313
+ body=_body_params,
314
+ post_params=_form_params,
315
+ files=_files,
316
+ auth_settings=_auth_settings,
317
+ collection_formats=_collection_formats,
318
+ _host=_host,
319
+ _request_auth=_request_auth
320
+ )
321
+
322
+
323
+
324
+
54
325
  @validate_call
55
326
  def create_cluster(
56
327
  self,
hyperstack/api_client.py CHANGED
@@ -90,7 +90,7 @@ class ApiClient:
90
90
  self.default_headers[header_name] = header_value
91
91
  self.cookie = cookie
92
92
  # Set default User-Agent.
93
- self.user_agent = 'OpenAPI-Generator/v1.41.0-alpha/python'
93
+ self.user_agent = 'OpenAPI-Generator/v1.41.2-alpha/python'
94
94
  self.client_side_validation = configuration.client_side_validation
95
95
 
96
96
  def __enter__(self):
@@ -524,7 +524,7 @@ conf = hyperstack.Configuration(
524
524
  "OS: {env}\n"\
525
525
  "Python Version: {pyversion}\n"\
526
526
  "Version of the API: 1.0\n"\
527
- "SDK Package Version: v1.41.0-alpha".\
527
+ "SDK Package Version: v1.41.2-alpha".\
528
528
  format(env=sys.platform, pyversion=sys.version)
529
529
 
530
530
  def get_host_settings(self) -> List[HostSetting]:
@@ -167,6 +167,7 @@ from .last_day_cost_response import LastDayCostResponse
167
167
  from .logos import Logos
168
168
  from .mfa_status_fields import MFAStatusFields
169
169
  from .mfa_status_response import MFAStatusResponse
170
+ from .manual_reconciliation_model import ManualReconciliationModel
170
171
  from .master_flavors_response import MasterFlavorsResponse
171
172
  from .metric_item_fields import MetricItemFields
172
173
  from .metrics_fields import MetricsFields
@@ -0,0 +1,95 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Infrahub-API
5
+
6
+ Leverage the Infrahub API and Hyperstack platform to easily create, manage, and scale powerful GPU virtual machines and their associated resources. Access this SDK to automate the deployment of your workloads and streamline your infrastructure management. To contribute, please raise an issue with a bug report, feature request, feedback, or general inquiry.
7
+
8
+ The version of the OpenAPI document: 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, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from ..models.cluster_fields import ClusterFields
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class ManualReconciliationModel(BaseModel):
27
+ """
28
+ ManualReconciliationModel
29
+ """ # noqa: E501
30
+ cluster: Optional[ClusterFields] = None
31
+ message: Optional[StrictStr] = None
32
+ status: Optional[StrictStr] = None
33
+ __properties: ClassVar[List[str]] = ["cluster", "message", "status"]
34
+
35
+ model_config = ConfigDict(
36
+ populate_by_name=True,
37
+ validate_assignment=True,
38
+ protected_namespaces=(),
39
+ )
40
+
41
+
42
+ def to_str(self) -> str:
43
+ """Returns the string representation of the model using alias"""
44
+ return pprint.pformat(self.model_dump(by_alias=True))
45
+
46
+ def to_json(self) -> str:
47
+ """Returns the JSON representation of the model using alias"""
48
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
49
+ return json.dumps(self.to_dict())
50
+
51
+ @classmethod
52
+ def from_json(cls, json_str: str) -> Optional[Self]:
53
+ """Create an instance of ManualReconciliationModel from a JSON string"""
54
+ return cls.from_dict(json.loads(json_str))
55
+
56
+ def to_dict(self) -> Dict[str, Any]:
57
+ """Return the dictionary representation of the model using alias.
58
+
59
+ This has the following differences from calling pydantic's
60
+ `self.model_dump(by_alias=True)`:
61
+
62
+ * `None` is only added to the output dict for nullable fields that
63
+ were set at model initialization. Other fields with value `None`
64
+ are ignored.
65
+ """
66
+ excluded_fields: Set[str] = set([
67
+ ])
68
+
69
+ _dict = self.model_dump(
70
+ by_alias=True,
71
+ exclude=excluded_fields,
72
+ exclude_none=True,
73
+ )
74
+ # override the default output from pydantic by calling `to_dict()` of cluster
75
+ if self.cluster:
76
+ _dict['cluster'] = self.cluster.to_dict()
77
+ return _dict
78
+
79
+ @classmethod
80
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
81
+ """Create an instance of ManualReconciliationModel from a dict"""
82
+ if obj is None:
83
+ return None
84
+
85
+ if not isinstance(obj, dict):
86
+ return cls.model_validate(obj)
87
+
88
+ _obj = cls.model_validate({
89
+ "cluster": ClusterFields.from_dict(obj["cluster"]) if obj.get("cluster") is not None else None,
90
+ "message": obj.get("message"),
91
+ "status": obj.get("status")
92
+ })
93
+ return _obj
94
+
95
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hyperstack
3
- Version: 1.41.0a0
3
+ Version: 1.41.2a0
4
4
  Summary: Infrahub-API
5
5
  Home-page:
6
6
  Author: OpenAPI Generator community
@@ -1,7 +1,7 @@
1
- hyperstack/__init__.py,sha256=1svUS9716b96516idV3VsOBxK1UslrGwCNCfqbw0RJ4,23965
2
- hyperstack/api_client.py,sha256=mIbOWkkuTdyVIMbRPxuXBf5X9R4c8gBlIHWnoMUrTt8,27660
1
+ hyperstack/__init__.py,sha256=StcaP830a-GPzfnlMsSZKrSrhuI1x3TogzzFFxlIgYg,24039
2
+ hyperstack/api_client.py,sha256=qZXa3-0uggMGCCJyi1XUFozN2aaL5SuG3_JmJ5cD_Xs,27660
3
3
  hyperstack/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
4
- hyperstack/configuration.py,sha256=oDZPAopGZkNuKRZgPNAncz838bHDDpngoBfpt6npnbc,18804
4
+ hyperstack/configuration.py,sha256=wXJzrFjXF8YfM_Vqr19ebtKweWZSevXgRLpCe1--8t8,18804
5
5
  hyperstack/exceptions.py,sha256=WNUju20ADFYpDuZnq5o9FKSoa9N5nsCkMPNaK_VUrNM,6230
6
6
  hyperstack/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  hyperstack/rest.py,sha256=ewQJgH66o4QmU-YgavYnTiOvGqjLOHbd43ENkvfdsLA,9656
@@ -15,7 +15,7 @@ hyperstack/api/billing_api.py,sha256=XWJp-fxHUiCei3p57ykxzQFkHV_X8vC5_tw_xP77SCk
15
15
  hyperstack/api/calculate_api.py,sha256=CgUXhQnmEsKnQWPxL19CrKOd1IBm_8rbQC2jz2zgVg8,12390
16
16
  hyperstack/api/callbacks_api.py,sha256=Pro34L0KYy8EFDmu43ljoL7XdVQSIxq4FdNIEzBL4fA,73369
17
17
  hyperstack/api/cluster_events_api.py,sha256=l5ooLmF7okg0e-lePL6hgl1KESF8eqOKu1TyM24jcQI,11569
18
- hyperstack/api/clusters_api.py,sha256=0uW6GyqRwvwRiTVjHNAdKJPRTN7Z-wyKrGb2TVC8TIw,151680
18
+ hyperstack/api/clusters_api.py,sha256=1UZjDjjeBjzK4FJRbCExC4NlYRib3EtIpf8xDimUPdE,162108
19
19
  hyperstack/api/compliance_api.py,sha256=rRayiQrFHmuWh9WDw84x36919NXe-c3Kra5rb0_v_3s,45218
20
20
  hyperstack/api/credit_api.py,sha256=3NXOb-gRVWTsA3Xdy55OGjnChfu4wfqHp-BQWiA0YfE,12641
21
21
  hyperstack/api/customer_contract_api.py,sha256=ICk-Lv0XQzKDVR_XwPhzqFnAs-SvN771mtEsUAzuIsc,37874
@@ -52,7 +52,7 @@ hyperstack/api/virtual_machine_events_api.py,sha256=SJbKS7K8pWF1mJNP5_t5vXwMHOum
52
52
  hyperstack/api/vnc_url_api.py,sha256=pdKVCuq-kzV2u-svU9lXPt7M1qH6PUH-qheHtLZNkgQ,23494
53
53
  hyperstack/api/volume_api.py,sha256=1W_HOK7s3R4RQHjBL49NbmylEG68gjDWVsKpEQtdmwE,79340
54
54
  hyperstack/api/volume_attachment_api.py,sha256=daxX8YuYnNs6kJr0ft5mFWAo4Kk1hdJGWWTVSnWY9Ec,37642
55
- hyperstack/models/__init__.py,sha256=NC9Oo2-CUWhEui-9aTjZwiKtwa46tS_ewpKnpUV7d3U,19415
55
+ hyperstack/models/__init__.py,sha256=X43mXHjMh9J61ZljCVOsf1oXrOOOczUCtG6LU4bg2zM,19482
56
56
  hyperstack/models/access_token_field.py,sha256=Ka4AWik_Y7Y4yv0s2-YHiP7rqItOtg18er7yUFRqbPY,2797
57
57
  hyperstack/models/add_user_info_success_response_model.py,sha256=T2XP_tWo5rVzrbOXd8CEpa1ZDf2vz3W4Ni7dNBBx6TY,3300
58
58
  hyperstack/models/allocated_gpu_count_graph.py,sha256=ANyWOWNFfH_caDmjfDrHA0mpD5lJjMhkoJZ9DVq-H60,2902
@@ -204,6 +204,7 @@ hyperstack/models/lable_resonse.py,sha256=3JDImstWKyYY0Ac7AfnI0jA1kX2JGNAFJSHNDh
204
204
  hyperstack/models/last_day_cost_fields.py,sha256=RRle0aaz2RsFUq-PTYuDTe-wDUVTAl8STmy_AV50svY,3247
205
205
  hyperstack/models/last_day_cost_response.py,sha256=-7uX1o6_Gkb0m8fh2A8A1fGncDCts_M59cBSy8qxKg4,3261
206
206
  hyperstack/models/logos.py,sha256=gE64wCFqubrUidbybxdSdrMweqty3BdFNy3oAlI1uAc,2987
207
+ hyperstack/models/manual_reconciliation_model.py,sha256=zS8y3V1SIbfNs90qAQZEPFmfxj26U8VRzPY2f4_U9Ns,3281
207
208
  hyperstack/models/master_flavors_response.py,sha256=-SwTClRBBRGm5RU-BuWLGM8kEiHYd9fMngh7di9OF8g,3494
208
209
  hyperstack/models/metric_item_fields.py,sha256=SbGq3V4jNlvPo3WZRp5nVUJ7Ii56bH1E_a5HMU-q1ZM,2964
209
210
  hyperstack/models/metrics_fields.py,sha256=3eVZ3LtXWr9wzDmd9euHIbkGMMrQZpatHeIpCndjxG8,5032
@@ -343,7 +344,7 @@ hyperstack/models/volume_types.py,sha256=jMN2S8p-Yv8sw_wWYRmfIXLmtXDwSC0xc3Gt_SN
343
344
  hyperstack/models/volumes.py,sha256=-zTxq9C_spyDF882oDIFcJnrTEM5A2aYQojmVUaHBq0,3694
344
345
  hyperstack/models/volumes_fields.py,sha256=5c5YBJBmFbTSI_O00V9enZ_zEeRh4hZHtlf3hTH-Ios,4932
345
346
  hyperstack/models/workload_billing_history_response.py,sha256=mXMmbg5JxL0oOdZ0rUuBlKxbSxPf8MhN1WluraZoyVU,3544
346
- hyperstack-1.41.0a0.dist-info/METADATA,sha256=5R3-7I-xMjTqonojXFwlsXh6I_yatinClrBSTjuuceM,918
347
- hyperstack-1.41.0a0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
348
- hyperstack-1.41.0a0.dist-info/top_level.txt,sha256=njn3-XmjCMziM6_3QadnDQbqsVh2KYw4J1IysqyY0HI,11
349
- hyperstack-1.41.0a0.dist-info/RECORD,,
347
+ hyperstack-1.41.2a0.dist-info/METADATA,sha256=xg87D_4GrjAwqJZflQwMQw6uokkvMGtNtt2BacBr9cw,918
348
+ hyperstack-1.41.2a0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
349
+ hyperstack-1.41.2a0.dist-info/top_level.txt,sha256=njn3-XmjCMziM6_3QadnDQbqsVh2KYw4J1IysqyY0HI,11
350
+ hyperstack-1.41.2a0.dist-info/RECORD,,