solara-ui 1.55.0__py3-none-any.whl → 1.55.1__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.
solara/__init__.py CHANGED
@@ -1,6 +1,6 @@
1
1
  """Build webapps using IPywidgets"""
2
2
 
3
- __version__ = "1.55.0"
3
+ __version__ = "1.55.1"
4
4
  github_url = "https://github.com/widgetti/solara"
5
5
  git_branch = "master"
6
6
 
@@ -119,7 +119,7 @@ async def main():
119
119
  ]
120
120
  for dep in requirements:
121
121
  await micropip.install(dep, keep_going=True)
122
- await micropip.install("/wheels/solara-1.55.0-py2.py3-none-any.whl", keep_going=True)
122
+ await micropip.install("/wheels/solara-1.55.1-py2.py3-none-any.whl", keep_going=True)
123
123
  import solara
124
124
 
125
125
  el = solara.Warning("lala")
solara/validate_hooks.py CHANGED
@@ -31,11 +31,11 @@ noqa_pattern = re.compile(r".*# noqa(?::\s*([A-Z]{2,3}\d{2,3})(?:,\s*([A-Z]{2,3}
31
31
 
32
32
 
33
33
  if sys.version_info < (3, 11):
34
- ScopeNodeType = t.Union[ast.For, ast.While, ast.If, ast.Try, ast.FunctionDef]
34
+ ScopeNodeType = t.Union[ast.For, ast.While, ast.If, ast.Try, ast.FunctionDef, ast.AsyncFunctionDef]
35
35
  TryNodes = (ast.Try,)
36
36
  else:
37
37
  # except* nodes are only standardized in 3.11+
38
- ScopeNodeType = t.Union[ast.For, ast.While, ast.If, ast.Try, ast.TryStar, ast.FunctionDef]
38
+ ScopeNodeType = t.Union[ast.For, ast.While, ast.If, ast.Try, ast.TryStar, ast.FunctionDef, ast.AsyncFunctionDef]
39
39
  TryNodes = (ast.Try, ast.TryStar)
40
40
 
41
41
 
@@ -100,7 +100,7 @@ class HookValidator(ast.NodeVisitor):
100
100
  parsed = ast.parse(parsed_source)
101
101
  # Get nodes from inside the function body
102
102
  func_definition = t.cast(ast.FunctionDef, parsed.body[0])
103
- self.function_scope: ast.FunctionDef = func_definition
103
+ self.function_scope: t.Union[ast.FunctionDef, ast.AsyncFunctionDef] = func_definition
104
104
  self._root_function_scope = self.function_scope
105
105
  # None means, *DO* qa
106
106
  self.no_qa: t.Optional[t.Set[InvalidReactivityCause]] = None
@@ -129,7 +129,7 @@ class HookValidator(ast.NodeVisitor):
129
129
  return InvalidReactivityCause.CONDITIONAL_USE
130
130
  elif isinstance(node, (ast.For, ast.While)):
131
131
  return InvalidReactivityCause.LOOP_USE
132
- elif isinstance(node, ast.FunctionDef):
132
+ elif isinstance(node, (ast.FunctionDef, ast.AsyncFunctionDef)):
133
133
  return InvalidReactivityCause.NESTED_FUNCTION_USE
134
134
  elif isinstance(node, TryNodes):
135
135
  return InvalidReactivityCause.EXCEPTION_USE
@@ -175,6 +175,12 @@ class HookValidator(ast.NodeVisitor):
175
175
  self._visit_children_using_scope(node)
176
176
  self.function_scope = old_function_scope
177
177
 
178
+ def visit_AsyncFunctionDef(self, node: ast.AsyncFunctionDef):
179
+ old_function_scope = self.function_scope
180
+ self.function_scope = node
181
+ self._visit_children_using_scope(node)
182
+ self.function_scope = old_function_scope
183
+
178
184
  def _visit_children_using_scope(self, node: ScopeNodeType):
179
185
  outer_scope = self.outer_scope
180
186
  self.outer_scope = node
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: solara-ui
3
- Version: 1.55.0
3
+ Version: 1.55.1
4
4
  Dynamic: Summary
5
5
  Project-URL: Home, https://www.github.com/widgetti/solara
6
6
  Project-URL: Documentation, https://solara.dev
@@ -1,6 +1,6 @@
1
1
  prefix/etc/jupyter/jupyter_notebook_config.d/solara.json,sha256=3UhTBQi6z7F7pPjmqXxfddv79c8VGR9H7zStDLp6AwY,115
2
2
  prefix/etc/jupyter/jupyter_server_config.d/solara.json,sha256=D9J-rYxAzyD5GOqWvuPjacGUVFHsYtTfZ4FUbRzRvIA,113
3
- solara/__init__.py,sha256=EOkfX79MWzQHzuZpwOLafmVnS4mN76-eJGAk_ztvw18,3647
3
+ solara/__init__.py,sha256=-kOoajHZOJA7rILhQiR19_A8BVLw1CANxybDiFOD7sE,3647
4
4
  solara/__main__.py,sha256=J_f3D_mgiNicU_ay_I-qn08GOViSXm04Ym0mopqh2Os,24853
5
5
  solara/_stores.py,sha256=N2Ec-61XNFXwigBx8f5QYPx7gDXenCOBdmLPXiJB45E,12320
6
6
  solara/alias.py,sha256=9vfLzud77NP8in3OID9b5mmIO8NyrnFjN2_aE0lSb1k,216
@@ -23,7 +23,7 @@ solara/settings.py,sha256=VeYkEdWeJePXldFvfdJteiiydWTqsNtpgsYscKm7lrA,2726
23
23
  solara/tasks.py,sha256=Wjb-0ExfW2lMbT40sYG3yEzUMLOHKKzHshCahBOELk8,37599
24
24
  solara/toestand.py,sha256=2fNxOFAg120yud4EmU2s8-aUx4N1D4T8VvdO6Oqi_4s,34357
25
25
  solara/util.py,sha256=UUO3BfhXb3tGP-uj8UuTYMx6kuph6PiDp4XXm-f6uyg,9697
26
- solara/validate_hooks.py,sha256=F0CYDOVF_23O1apJBIk9lZMq11JmkoE3BrVVT8QvZWI,9999
26
+ solara/validate_hooks.py,sha256=JTXOnfSPhNQaZFuMYm5EuvB_TlnZz1kw8hqDMNu_B5M,10345
27
27
  solara/components/__init__.py,sha256=j5Tv0tyzs80Bsl5hvTIF_x-RQyAvr3ooqIXnABamW44,3214
28
28
  solara/components/alert.py,sha256=sNjlrCu2niR6LD9gZFXwvSBMszCKt6nRH58kE7RgsDw,5144
29
29
  solara/components/applayout.py,sha256=Q1n8foPT1szjIKqjUum6QxFnUvNj_MheMmyc8r7FIsI,16753
@@ -146,7 +146,7 @@ solara/server/static/highlight-dark.css,sha256=xO8-vta9vG4s1OfJNHXWqiLWzx_gM03jo
146
146
  solara/server/static/highlight.css,sha256=k8ZdT5iwrGQ5tXTQHAXuxvZrSUq3kwCdEpy3mlFoZjs,2637
147
147
  solara/server/static/main-vuetify.js,sha256=R3qM4xMlstMpRUdRaul78p34z_Av2ONSTXksg2V9TqQ,9503
148
148
  solara/server/static/main.js,sha256=mcx4JNQ4Lg4pNdUIqMoZos1mZyYFS48yd_JNFFJUqIE,5679
149
- solara/server/static/solara_bootstrap.py,sha256=RKkrTWa1-WGsLTkfcLZIZqI1mXHvxRBjlKiF-s4VjXM,3195
149
+ solara/server/static/solara_bootstrap.py,sha256=38HW-1RWpzOwrCYtVEwprLqVFFEa5-kyQQriR3990LE,3195
150
150
  solara/server/static/sun.svg,sha256=jEKBAGCr7b9zNYv0VUb7lMWKjnU2dX69_Ye_DZWGXJI,6855
151
151
  solara/server/static/webworker.js,sha256=cjAFz7-SygStHJnYlJUlJs-gE_7YQeQ-WBDcmKYyjvo,1372
152
152
  solara/server/templates/index.html.j2,sha256=JXQo1M-STFHLBOFetgG7509cAq8xUP0VAEtYDzz35fY,31
@@ -456,9 +456,9 @@ solara/widgets/vue/gridlayout.vue,sha256=LZk-YlqM7nv_7Y5TTq2xqfH1j2SLP1QOH5eiz7G
456
456
  solara/widgets/vue/html.vue,sha256=48K5rjp0AdJDeRV6F3nOHW3J0WXPeHn55r5pGClK2fU,112
457
457
  solara/widgets/vue/navigator.vue,sha256=3hhh2_sXpnsdM1vrs2nQ0bZHLCB10HhtQeYLS-tO85s,4790
458
458
  solara/widgets/vue/vegalite.vue,sha256=zhocRsUCNIRQCEbD16er5sYnuHU0YThatRHnorA3P18,4596
459
- solara_ui-1.55.0.data/data/etc/jupyter/jupyter_notebook_config.d/solara.json,sha256=3UhTBQi6z7F7pPjmqXxfddv79c8VGR9H7zStDLp6AwY,115
460
- solara_ui-1.55.0.data/data/etc/jupyter/jupyter_server_config.d/solara.json,sha256=D9J-rYxAzyD5GOqWvuPjacGUVFHsYtTfZ4FUbRzRvIA,113
461
- solara_ui-1.55.0.dist-info/METADATA,sha256=TI1NAM29BE5gmF1oBfwm_775SYrULb4JRuif0B7huWU,7459
462
- solara_ui-1.55.0.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
463
- solara_ui-1.55.0.dist-info/licenses/LICENSE,sha256=fFJUz-CWzZ9nEc4QZKu44jMEoDr5fEW-SiqljKpD82E,1086
464
- solara_ui-1.55.0.dist-info/RECORD,,
459
+ solara_ui-1.55.1.data/data/etc/jupyter/jupyter_notebook_config.d/solara.json,sha256=3UhTBQi6z7F7pPjmqXxfddv79c8VGR9H7zStDLp6AwY,115
460
+ solara_ui-1.55.1.data/data/etc/jupyter/jupyter_server_config.d/solara.json,sha256=D9J-rYxAzyD5GOqWvuPjacGUVFHsYtTfZ4FUbRzRvIA,113
461
+ solara_ui-1.55.1.dist-info/METADATA,sha256=08VRBHu8t0-txUDqxhT2vJjIwQOHyhV53cQLvdQrjzY,7459
462
+ solara_ui-1.55.1.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
463
+ solara_ui-1.55.1.dist-info/licenses/LICENSE,sha256=fFJUz-CWzZ9nEc4QZKu44jMEoDr5fEW-SiqljKpD82E,1086
464
+ solara_ui-1.55.1.dist-info/RECORD,,