h2o-wave 0.25.0__py3-none-any.whl → 0.25.2__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.

Potentially problematic release.


This version of h2o-wave might be problematic. Click here for more details.

h2o_wave/server.py CHANGED
@@ -75,21 +75,34 @@ class Auth:
75
75
  """The refresh token of the user."""
76
76
  self._session_id = session_id
77
77
  """Session identifier. Do not access, internal use only."""
78
-
78
+
79
79
  async def ensure_fresh_token(self) -> Optional[str]:
80
80
  """
81
81
  Explicitly refresh OIDC tokens when needed, e.g. during long-running background jobs.
82
82
  """
83
83
  async with httpx.AsyncClient(auth=(_config.hub_access_key_id, _config.hub_access_key_secret), verify=False) as http:
84
- res = await http.get(_config.hub_address + '_auth/refresh', headers={'Wave-Session-ID': self._session_id})
84
+ res = await http.get(_config.hub_address + '_auth/refresh', headers={'Wave-Session-ID': self._session_id})
85
+ return self.__extract_tokens(res.headers)
86
+
87
+ def ensure_fresh_token_sync(self) -> Optional[str]:
88
+ """
89
+ Explicitly refresh OIDC tokens when needed, e.g. during long-running background jobs - synchronous version.
90
+ Prefer async version. Use sync only when absolutely necessary - will block your app, making it slow for all users.
91
+ """
92
+ with httpx.Client(auth=(_config.hub_access_key_id, _config.hub_access_key_secret), verify=False) as http:
93
+ res = http.get(_config.hub_address + '_auth/refresh', headers={'Wave-Session-ID': self._session_id})
94
+ return self.__extract_tokens(res.headers)
95
+
96
+
97
+ def __extract_tokens(self, headers: httpx.Headers):
98
+ access_token = headers.get('Wave-Access-Token', None)
99
+ refresh_token = headers.get('Wave-Refresh-Token', None)
85
100
 
86
- access_token = res.headers.get('Wave-Access-Token', None)
87
- refresh_token = res.headers.get('Wave-Refresh-Token', None)
88
- if access_token and refresh_token:
89
- self.access_token = access_token
90
- self.refresh_token = refresh_token
91
- return access_token
101
+ if access_token and refresh_token:
102
+ self.access_token = access_token
103
+ self.refresh_token = refresh_token
92
104
 
105
+ return access_token
93
106
 
94
107
  class Query:
95
108
  """
h2o_wave/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = '0.25.0'
1
+ __version__ = '0.25.2'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: h2o-wave
3
- Version: 0.25.0
3
+ Version: 0.25.2
4
4
  Summary: Python driver for H2O Wave Realtime Apps
5
5
  Home-page: https://h2o.ai/products/h2o-wave
6
6
  Author: Prithvi Prabhu
@@ -7,21 +7,21 @@ h2o_wave/graphics.py,sha256=HLYrX-lwsMKbyLmy2ClG5L46DA2_hSCEPTsv0gPVoyg,25866
7
7
  h2o_wave/ide.py,sha256=wAJjfEI1ekQrL455FGRVeNi3KiH6ELgsG3qm31Q-kRs,6810
8
8
  h2o_wave/metadata.py,sha256=yxQ-BCY56rDs8o3N8K_rOABA5h390WZs8C0uXJy5sDw,66
9
9
  h2o_wave/routing.py,sha256=hfxb33dpK5MvIEvxdPyodjTkMLH-anP9FG3Xl1_h4n4,7895
10
- h2o_wave/server.py,sha256=yKX2Lj34HRd34aFyAR_Pi3J8v30zl6PHCeRdV1_X3dg,18336
10
+ h2o_wave/server.py,sha256=6Q97KM1ROv0SGlXK9URUmwe-fh9S8IRBUTyqmllaqYs,19018
11
11
  h2o_wave/test.py,sha256=hF_fS5e25bACnzENjpDrikv7nPOs0iENh4MuXX9BaVA,2738
12
12
  h2o_wave/types.py,sha256=ZaYdqL60TA1UXnEVBGKUefVPjS2sKiiHXL9Ch9n06mE,629082
13
13
  h2o_wave/ui.py,sha256=sf7VQAt7G7qqLeDa9MqyVv_PLrhy341b72Sag0TdoCg,164224
14
14
  h2o_wave/ui_ext.py,sha256=zx_2Ec2-p_ztm8brfVaVF0fTQWVDrb_YxcGfVb-wA10,2325
15
- h2o_wave/version.py,sha256=ZXwoHOJ1nuRTdGrZbLNxvqbzWWkFvDkI3L0gzEDgw-w,23
16
- h2o_wave-0.25.0.data/data/project_templates/README.md,sha256=RFQX5Ly7sZd55zRW3GgqjJDMFoPbZbZM7zuK1CuP1y4,1052
17
- h2o_wave-0.25.0.data/data/project_templates/header.py,sha256=lIROU6xzlzxq2GrqiUVYdqJ3U7zRln4qbehQipdfVxQ,2603
18
- h2o_wave-0.25.0.data/data/project_templates/header_nav.py,sha256=3ctwel84C2Kh05s_IR9COBcLYjSUWuh-LcmJyNfzWyM,10389
19
- h2o_wave-0.25.0.data/data/project_templates/header_sidebar_nav.py,sha256=bJWlfuQkFqGy4kXPvLXfZ5IOxDMmR7IAFWh-CITMMqg,10994
20
- h2o_wave-0.25.0.data/data/project_templates/hello_world.py,sha256=DmWwgdI2BdsnHZ7ai_4twNp0RzGdkTLoLF-F9tRGzS8,2483
21
- h2o_wave-0.25.0.data/data/project_templates/sidebar_nav.py,sha256=Iq-CY5VSPXibruN_Qu_Jh6f6DIQ3Q9Mr90HWyKdmiF0,10775
22
- h2o_wave-0.25.0.dist-info/LICENSE,sha256=hpuFayniDwysSKD0tHGELH2KJDVyhUrKS29torRIpqY,53
23
- h2o_wave-0.25.0.dist-info/METADATA,sha256=HArkjCUf-hAVttm1w1qLI5dviseanYfMN65QHnLs2t4,2560
24
- h2o_wave-0.25.0.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
25
- h2o_wave-0.25.0.dist-info/entry_points.txt,sha256=0JfvaphzVeSD5pkJTr6OKTLcROFnQ1cp31DI8M5frzY,44
26
- h2o_wave-0.25.0.dist-info/top_level.txt,sha256=jmpW_e6CkJf82dE4S7ofAe2ipbBd1YmrS-0MM-DN0lY,9
27
- h2o_wave-0.25.0.dist-info/RECORD,,
15
+ h2o_wave/version.py,sha256=Koh-BpldaoUy8CYNw6YOEE3qPNLIrk8E_enKA13y7hs,23
16
+ h2o_wave-0.25.2.data/data/project_templates/README.md,sha256=RFQX5Ly7sZd55zRW3GgqjJDMFoPbZbZM7zuK1CuP1y4,1052
17
+ h2o_wave-0.25.2.data/data/project_templates/header.py,sha256=lIROU6xzlzxq2GrqiUVYdqJ3U7zRln4qbehQipdfVxQ,2603
18
+ h2o_wave-0.25.2.data/data/project_templates/header_nav.py,sha256=3ctwel84C2Kh05s_IR9COBcLYjSUWuh-LcmJyNfzWyM,10389
19
+ h2o_wave-0.25.2.data/data/project_templates/header_sidebar_nav.py,sha256=bJWlfuQkFqGy4kXPvLXfZ5IOxDMmR7IAFWh-CITMMqg,10994
20
+ h2o_wave-0.25.2.data/data/project_templates/hello_world.py,sha256=DmWwgdI2BdsnHZ7ai_4twNp0RzGdkTLoLF-F9tRGzS8,2483
21
+ h2o_wave-0.25.2.data/data/project_templates/sidebar_nav.py,sha256=Iq-CY5VSPXibruN_Qu_Jh6f6DIQ3Q9Mr90HWyKdmiF0,10775
22
+ h2o_wave-0.25.2.dist-info/LICENSE,sha256=hpuFayniDwysSKD0tHGELH2KJDVyhUrKS29torRIpqY,53
23
+ h2o_wave-0.25.2.dist-info/METADATA,sha256=KIvCPpMnBj8SL6rI1ImFmV95T_n4xWNdgorxI6npzAQ,2560
24
+ h2o_wave-0.25.2.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
25
+ h2o_wave-0.25.2.dist-info/entry_points.txt,sha256=0JfvaphzVeSD5pkJTr6OKTLcROFnQ1cp31DI8M5frzY,44
26
+ h2o_wave-0.25.2.dist-info/top_level.txt,sha256=jmpW_e6CkJf82dE4S7ofAe2ipbBd1YmrS-0MM-DN0lY,9
27
+ h2o_wave-0.25.2.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.38.4)
2
+ Generator: bdist_wheel (0.40.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5