beamlit 0.0.34rc72__py3-none-any.whl → 0.0.34rc74__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.
@@ -1,7 +1,7 @@
1
1
  import base64
2
2
  import json
3
- import time
4
3
  from dataclasses import dataclass
4
+ from datetime import datetime, timedelta
5
5
  from typing import Generator, Optional
6
6
 
7
7
  import requests
@@ -55,11 +55,13 @@ class ClientCredentials(Auth):
55
55
  except Exception as e:
56
56
  return Exception(f"Failed to decode/parse JWT claims: {str(e)}")
57
57
 
58
- exp_time = time.gmtime(claims["exp"])
58
+ exp_time = datetime.fromtimestamp(claims["exp"])
59
+ current_time = datetime.now()
59
60
  # Refresh if token expires in less than 10 minutes
60
- if time.time() + (10 * 60) > time.mktime(exp_time):
61
+ if current_time + timedelta(minutes=10) > exp_time:
61
62
  return self.do_refresh()
62
63
 
64
+
63
65
  return None
64
66
 
65
67
  def auth_flow(self, request: Request) -> Generator[Request, Response, None]:
@@ -1,7 +1,7 @@
1
1
  import base64
2
2
  import json
3
- import time
4
3
  from dataclasses import dataclass
4
+ from datetime import datetime, timedelta
5
5
  from typing import Dict, Generator, Optional
6
6
 
7
7
  from httpx import Auth, Request, Response, post
@@ -65,10 +65,10 @@ class BearerToken(Auth):
65
65
  claims = json.loads(claims_bytes)
66
66
  except Exception as e:
67
67
  return Exception(f"Failed to decode/parse JWT claims: {str(e)}")
68
-
69
- exp_time = time.gmtime(claims["exp"])
68
+ exp_time = datetime.fromtimestamp(claims["exp"])
69
+ current_time = datetime.now()
70
70
  # Refresh if token expires in less than 10 minutes
71
- if time.time() + (10 * 60) > time.mktime(exp_time):
71
+ if current_time + timedelta(minutes=10) > exp_time:
72
72
  return self.do_refresh()
73
73
 
74
74
  return None
@@ -0,0 +1,45 @@
1
+ from typing import Any, TypeVar
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ T = TypeVar("T", bound="AgentRender")
7
+
8
+
9
+ @_attrs_define
10
+ class AgentRender:
11
+ """AgentRender"""
12
+
13
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
14
+
15
+ def to_dict(self) -> dict[str, Any]:
16
+ field_dict: dict[str, Any] = {}
17
+ field_dict.update(self.additional_properties)
18
+
19
+ return field_dict
20
+
21
+ @classmethod
22
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
23
+ if not src_dict:
24
+ return None
25
+ d = src_dict.copy()
26
+ agent_render = cls()
27
+
28
+ agent_render.additional_properties = d
29
+ return agent_render
30
+
31
+ @property
32
+ def additional_keys(self) -> list[str]:
33
+ return list(self.additional_properties.keys())
34
+
35
+ def __getitem__(self, key: str) -> Any:
36
+ return self.additional_properties[key]
37
+
38
+ def __setitem__(self, key: str, value: Any) -> None:
39
+ self.additional_properties[key] = value
40
+
41
+ def __delitem__(self, key: str) -> None:
42
+ del self.additional_properties[key]
43
+
44
+ def __contains__(self, key: str) -> bool:
45
+ return key in self.additional_properties
@@ -1,33 +1,20 @@
1
- from typing import Any, TypeVar, Union
1
+ from typing import Any, TypeVar
2
2
 
3
3
  from attrs import define as _attrs_define
4
4
  from attrs import field as _attrs_field
5
5
 
6
- from ..types import UNSET, Unset
7
-
8
6
  T = TypeVar("T", bound="CoreStatus")
9
7
 
10
8
 
11
9
  @_attrs_define
12
10
  class CoreStatus:
13
- """Core status
14
-
15
- Attributes:
16
- deployment_status (Union[Unset, str]): The status of the core, can be CREATED, UPDATED, DELETED, DEPLOYED,
17
- DISABLED, or FAILED
18
- """
11
+ """Core status"""
19
12
 
20
- deployment_status: Union[Unset, str] = UNSET
21
13
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
22
14
 
23
15
  def to_dict(self) -> dict[str, Any]:
24
- deployment_status = self.deployment_status
25
-
26
16
  field_dict: dict[str, Any] = {}
27
17
  field_dict.update(self.additional_properties)
28
- field_dict.update({})
29
- if deployment_status is not UNSET:
30
- field_dict["deploymentStatus"] = deployment_status
31
18
 
32
19
  return field_dict
33
20
 
@@ -36,11 +23,7 @@ class CoreStatus:
36
23
  if not src_dict:
37
24
  return None
38
25
  d = src_dict.copy()
39
- deployment_status = d.pop("deploymentStatus", UNSET)
40
-
41
- core_status = cls(
42
- deployment_status=deployment_status,
43
- )
26
+ core_status = cls()
44
27
 
45
28
  core_status.additional_properties = d
46
29
  return core_status
@@ -0,0 +1,45 @@
1
+ from typing import Any, TypeVar
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ T = TypeVar("T", bound="FunctionRender")
7
+
8
+
9
+ @_attrs_define
10
+ class FunctionRender:
11
+ """FunctionRender"""
12
+
13
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
14
+
15
+ def to_dict(self) -> dict[str, Any]:
16
+ field_dict: dict[str, Any] = {}
17
+ field_dict.update(self.additional_properties)
18
+
19
+ return field_dict
20
+
21
+ @classmethod
22
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
23
+ if not src_dict:
24
+ return None
25
+ d = src_dict.copy()
26
+ function_render = cls()
27
+
28
+ function_render.additional_properties = d
29
+ return function_render
30
+
31
+ @property
32
+ def additional_keys(self) -> list[str]:
33
+ return list(self.additional_properties.keys())
34
+
35
+ def __getitem__(self, key: str) -> Any:
36
+ return self.additional_properties[key]
37
+
38
+ def __setitem__(self, key: str, value: Any) -> None:
39
+ self.additional_properties[key] = value
40
+
41
+ def __delitem__(self, key: str) -> None:
42
+ del self.additional_properties[key]
43
+
44
+ def __contains__(self, key: str) -> bool:
45
+ return key in self.additional_properties
@@ -0,0 +1,45 @@
1
+ from typing import Any, TypeVar
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ T = TypeVar("T", bound="ModelRender")
7
+
8
+
9
+ @_attrs_define
10
+ class ModelRender:
11
+ """ModelRender"""
12
+
13
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
14
+
15
+ def to_dict(self) -> dict[str, Any]:
16
+ field_dict: dict[str, Any] = {}
17
+ field_dict.update(self.additional_properties)
18
+
19
+ return field_dict
20
+
21
+ @classmethod
22
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
23
+ if not src_dict:
24
+ return None
25
+ d = src_dict.copy()
26
+ model_render = cls()
27
+
28
+ model_render.additional_properties = d
29
+ return model_render
30
+
31
+ @property
32
+ def additional_keys(self) -> list[str]:
33
+ return list(self.additional_properties.keys())
34
+
35
+ def __getitem__(self, key: str) -> Any:
36
+ return self.additional_properties[key]
37
+
38
+ def __setitem__(self, key: str, value: Any) -> None:
39
+ self.additional_properties[key] = value
40
+
41
+ def __delitem__(self, key: str) -> None:
42
+ del self.additional_properties[key]
43
+
44
+ def __contains__(self, key: str) -> bool:
45
+ return key in self.additional_properties
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: beamlit
3
- Version: 0.0.34rc72
3
+ Version: 0.0.34rc74
4
4
  Summary: Add your description here
5
5
  Author-email: cploujoux <ch.ploujoux@gmail.com>
6
6
  Requires-Python: >=3.12
@@ -125,9 +125,9 @@ beamlit/api/workspaces/update_workspace_user_role.py,sha256=Yn9iuJ4tKtauzBiJyU4-
125
125
  beamlit/authentication/__init__.py,sha256=wiXqRbc7E-ulrH_ueA9duOGFvXeo7-RvhSD1XbFogMo,1020
126
126
  beamlit/authentication/apikey.py,sha256=KNBTgdi0VBzBAAmSwU2X1QoB58vRbg8wkXb8-GTZCQo,657
127
127
  beamlit/authentication/authentication.py,sha256=ODQCc00RvCOZNaiGG5ctylNnE-JVCugePyJedJ0NYsM,3361
128
- beamlit/authentication/clientcredentials.py,sha256=cxZPPu--CgizwqX0pdfFQ91gJt1EFKwyy-aBB_dXX7I,3990
128
+ beamlit/authentication/clientcredentials.py,sha256=JFmnnE-jMyxKDvZbRlBsWsvCEnWQCO23pDknZVUK-u0,4069
129
129
  beamlit/authentication/credentials.py,sha256=p_1xenabCbQuRz7BiFk7oTK4uCxAt_zoyku5o-jcKGE,5343
130
- beamlit/authentication/device_mode.py,sha256=tmr22gllKOZwBRub_QjF5pYa425x-nE8tQNpZ_EGR6g,3644
130
+ beamlit/authentication/device_mode.py,sha256=LNHjoKe3u4TWApLKO34cJjN92UsVkHSYSbXr6eKxo64,3721
131
131
  beamlit/common/__init__.py,sha256=saX5X3hRCJ9erSlXuSkZ2VGgquvpgdcofAU_9sM4bCE,354
132
132
  beamlit/common/error.py,sha256=f9oJDFxhoHK-vpjxBgEp0NwWIk0N_THPemUI7uQxVzU,270
133
133
  beamlit/common/instrumentation.py,sha256=8sbYCrkC_2BsdAZ_1cWTw5aRtMUz2xvN2tsG0rovBtA,5351
@@ -160,6 +160,7 @@ beamlit/models/agent_history.py,sha256=76ZHoaz7oq3-2ikNQj25NmzyXOzx5JIPxOlfUyljR
160
160
  beamlit/models/agent_history_event.py,sha256=Ed_xaedwLEPNuM807Ldj5xqUBj4Eua9NqpCzpTRi0Og,3820
161
161
  beamlit/models/agent_metadata.py,sha256=61A7i-2lfQrozV3Be2nRfGO-K1vch7FYDdWzt_Cr3oo,4606
162
162
  beamlit/models/agent_release.py,sha256=AXtHX_Ze7cMh2tKnRw2usRWnLf2B9u_iFPTF6WYdJLM,1928
163
+ beamlit/models/agent_render.py,sha256=gAlf83vJ3AOGVwvFgs_EThe2cQVa8Lo5JXUiV_y9XUg,1221
163
164
  beamlit/models/agent_spec.py,sha256=SEWT_ZuHURLEnd04jVF6usfvyDp-cE0dI7NWI1LjBVU,11155
164
165
  beamlit/models/api_key.py,sha256=oKuqDF0xe2Z2-6yJqulbzlXEQyM3W7lvQn6FXCktaaU,4278
165
166
  beamlit/models/configuration.py,sha256=KujTXl7iihrPcL0jX0hgxN0xAAwMgJsTaFKcMBpCVLs,2761
@@ -167,7 +168,7 @@ beamlit/models/continent.py,sha256=_gQJci2_MUmCiGGG4iCMnUDTww9OqcTsNVqwPVigy3U,1
167
168
  beamlit/models/core_event.py,sha256=L9GQh2rRPM1RC042IUJHEazha1gHqdNb9XN44zjawSs,2321
168
169
  beamlit/models/core_spec.py,sha256=ZG69MJqqa6Mas-lfIFvOZEfFwZ6G2Ny9M3ai8CyRMa4,8060
169
170
  beamlit/models/core_spec_configurations.py,sha256=Yx_uUwWxlfBmV3SgDoqX3ERgrpbFNzvKn5CtqxtAv9A,2223
170
- beamlit/models/core_status.py,sha256=yYpSWFnsfTRvJIWmPhWJiHYKrh-24R3YqM4LAtnWGQI,1783
171
+ beamlit/models/core_status.py,sha256=nCxzTiQxaRzA084NrU1srY2Du-nio59sXxxXCHjzBak,1216
171
172
  beamlit/models/country.py,sha256=IYUZ6ErVduc3vmB01UEN8nIi6h5htupqFvyhRqEmKW4,1870
172
173
  beamlit/models/create_api_key_for_service_account_body.py,sha256=_D6aHXfZP8ksJeFlP-vEd5kEUuQAvofkaq5_N8ej_XM,2005
173
174
  beamlit/models/create_workspace_service_account_body.py,sha256=UHKYL3MSfVGMj4CNw0CzCsjnxdOxdnw6D8ujPrc76Xw,1958
@@ -182,6 +183,7 @@ beamlit/models/function.py,sha256=LF-7y1F3My0hzmOhjzJY2FsMUoANDmBlQ5ZU8YxF55U,40
182
183
  beamlit/models/function_kit.py,sha256=VrwV4EOrEqs8QgyaI7MyevRCCt2fhsTkOzfQVWXojt0,3101
183
184
  beamlit/models/function_metadata.py,sha256=cfx10NiqQY4VlQUyl8fH2-kiWpVmOmi8rZhepan2SrQ,4624
184
185
  beamlit/models/function_release.py,sha256=T8SuLZBBdgGDvUg3sVluocvrKTvNxzZ6Wq3kjK4lYk4,1955
186
+ beamlit/models/function_render.py,sha256=MD2oNhEE15I6BtqLX8O9sD1jbm0vSyVKWHr_CPFjd0s,1239
185
187
  beamlit/models/function_spec.py,sha256=soyg4T_OU015e6d2CnAG3BrR6nZ-wjtDRdSBLryJ2qk,10568
186
188
  beamlit/models/get_trace_ids_response_200.py,sha256=m2uE11a9wE5c7xPTDVd4CuubQc2cPYJNaYpbcj-V1rU,1275
187
189
  beamlit/models/get_trace_logs_response_200.py,sha256=NIFtg8qcE26_oJxoRYkt1KSV2JSYUxdUu45Gxs0Qli0,1280
@@ -213,6 +215,7 @@ beamlit/models/model_metadata.py,sha256=W6uJGI_Uu0UPt_dOm2xzXqUS6NxNtsRWyhw7IVOM
213
215
  beamlit/models/model_private_cluster.py,sha256=EojXwmxgDLogsUlTDRw9PvhiQVk_b5nQUSBbWQosQpg,2281
214
216
  beamlit/models/model_provider.py,sha256=iqvS1c9GE2u58QttSlATqTIOf-EuN9CtljWqTwHdTpU,5562
215
217
  beamlit/models/model_release.py,sha256=ql8EDbKc9--kre7zp3o5_XoJjpAoXrsgJdYbjYST4vs,1928
218
+ beamlit/models/model_render.py,sha256=nTs072FL4wOOTwyEYFUkW2xBHPKPqxFShF6GBrZtnko,1221
216
219
  beamlit/models/model_spec.py,sha256=ROGUUXo_Yir3aqca5H0S62GLeL_sfRaQ2pRRYrkySh4,8418
217
220
  beamlit/models/owner_fields.py,sha256=8LsT7inzzFI1hZQma798gYoOfJpdmwK9T8y_0JrKGSU,2022
218
221
  beamlit/models/pending_invitation.py,sha256=YJaUNHXoq-X1ZTBkOpmRQj31R99S6Y7Ik45dHDss6-M,3797
@@ -280,6 +283,6 @@ beamlit/serve/app.py,sha256=_aG2UVQ3Y85rUW3ehu9TlzLnowkfh54IIz558ftqOMw,3638
280
283
  beamlit/serve/middlewares/__init__.py,sha256=1dVmnOmhAQWvWktqHkKSIX-YoF6fmMU8xkUQuhg_rJU,148
281
284
  beamlit/serve/middlewares/accesslog.py,sha256=Mu4T4_9OvHybjA0ApzZFpgi2C8f3X1NbUk-76v634XM,631
282
285
  beamlit/serve/middlewares/processtime.py,sha256=lDAaIasZ4bwvN-HKHvZpaD9r-yrkVNZYx4abvbjbrCg,411
283
- beamlit-0.0.34rc72.dist-info/METADATA,sha256=OIWjL2qoszP02tcnmVKccVp6ilrlotiiqGrnFP0QCpk,2412
284
- beamlit-0.0.34rc72.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
285
- beamlit-0.0.34rc72.dist-info/RECORD,,
286
+ beamlit-0.0.34rc74.dist-info/METADATA,sha256=283OC-AAVYiQst3ETIK3niMuOA7ncD77obgO5bR7auo,2412
287
+ beamlit-0.0.34rc74.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
288
+ beamlit-0.0.34rc74.dist-info/RECORD,,