reflex 0.7.6a1__py3-none-any.whl → 0.7.6.post1__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 reflex might be problematic. Click here for more details.

@@ -64,6 +64,7 @@ _SUBMOD_ATTRS: dict = {
64
64
  "ResponsiveContainer",
65
65
  "legend",
66
66
  "Legend",
67
+ "tooltip",
67
68
  "graphing_tooltip",
68
69
  "GraphingTooltip",
69
70
  "label",
@@ -65,6 +65,7 @@ from .general import label as label
65
65
  from .general import label_list as label_list
66
66
  from .general import legend as legend
67
67
  from .general import responsive_container as responsive_container
68
+ from .general import tooltip as tooltip
68
69
  from .polar import Pie as Pie
69
70
  from .polar import PolarAngleAxis as PolarAngleAxis
70
71
  from .polar import PolarGrid as PolarGrid
@@ -259,7 +259,7 @@ class Cell(Recharts):
259
259
 
260
260
  responsive_container = ResponsiveContainer.create
261
261
  legend = Legend.create
262
- graphing_tooltip = GraphingTooltip.create
262
+ graphing_tooltip = tooltip = GraphingTooltip.create
263
263
  label = Label.create
264
264
  label_list = LabelList.create
265
265
  cell = Cell.create
@@ -533,7 +533,7 @@ class Cell(Recharts):
533
533
 
534
534
  responsive_container = ResponsiveContainer.create
535
535
  legend = Legend.create
536
- graphing_tooltip = GraphingTooltip.create
536
+ graphing_tooltip = tooltip = GraphingTooltip.create
537
537
  label = Label.create
538
538
  label_list = LabelList.create
539
539
  cell = Cell.create
reflex/state.py CHANGED
@@ -1403,6 +1403,29 @@ class BaseState(Base, ABC, extra=pydantic.Extra.allow):
1403
1403
  for substate in self.substates.values():
1404
1404
  substate.reset()
1405
1405
 
1406
+ @classmethod
1407
+ @functools.lru_cache
1408
+ def _is_client_storage(cls, prop_name_or_field: str | ModelField) -> bool:
1409
+ """Check if the var is a client storage var.
1410
+
1411
+ Args:
1412
+ prop_name_or_field: The name of the var or the field itself.
1413
+
1414
+ Returns:
1415
+ Whether the var is a client storage var.
1416
+ """
1417
+ if isinstance(prop_name_or_field, str):
1418
+ field = cls.get_fields().get(prop_name_or_field)
1419
+ else:
1420
+ field = prop_name_or_field
1421
+ return field is not None and (
1422
+ isinstance(field.default, ClientStorageBase)
1423
+ or (
1424
+ isinstance(field.type_, type)
1425
+ and issubclass(field.type_, ClientStorageBase)
1426
+ )
1427
+ )
1428
+
1406
1429
  def _reset_client_storage(self):
1407
1430
  """Reset client storage base vars to their default values."""
1408
1431
  # Client-side storage is reset during hydrate so that clearing cookies
@@ -1410,10 +1433,7 @@ class BaseState(Base, ABC, extra=pydantic.Extra.allow):
1410
1433
  fields = self.get_fields()
1411
1434
  for prop_name in self.base_vars:
1412
1435
  field = fields[prop_name]
1413
- if isinstance(field.default, ClientStorageBase) or (
1414
- isinstance(field.type_, type)
1415
- and issubclass(field.type_, ClientStorageBase)
1416
- ):
1436
+ if self._is_client_storage(field):
1417
1437
  setattr(self, prop_name, copy.deepcopy(field.default))
1418
1438
 
1419
1439
  # Recursively reset the substate client storage.
@@ -2360,8 +2380,9 @@ class UpdateVarsInternalState(State):
2360
2380
  for var, value in vars.items():
2361
2381
  state_name, _, var_name = var.rpartition(".")
2362
2382
  var_state_cls = State.get_class_substate(state_name)
2363
- var_state = await self.get_state(var_state_cls)
2364
- setattr(var_state, var_name, value)
2383
+ if var_state_cls._is_client_storage(var_name):
2384
+ var_state = await self.get_state(var_state_cls)
2385
+ setattr(var_state, var_name, value)
2365
2386
 
2366
2387
 
2367
2388
  class OnLoadInternalState(State):
reflex/utils/export.py CHANGED
@@ -41,10 +41,10 @@ def export(
41
41
 
42
42
  # Override the config url values if provided.
43
43
  if api_url is not None:
44
- config.api_url = str(api_url)
44
+ config._set_persistent(api_url=str(api_url))
45
45
  console.debug(f"overriding API URL: {config.api_url}")
46
46
  if deploy_url is not None:
47
- config.deploy_url = str(deploy_url)
47
+ config._set_persistent(deploy_url=str(deploy_url))
48
48
  console.debug(f"overriding deploy URL: {config.deploy_url}")
49
49
 
50
50
  # Show system info
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: reflex
3
- Version: 0.7.6a1
3
+ Version: 0.7.6.post1
4
4
  Summary: Web apps in pure Python.
5
5
  Project-URL: homepage, https://reflex.dev
6
6
  Project-URL: repository, https://github.com/reflex-dev/reflex
@@ -2,7 +2,7 @@ reflex/__init__.py,sha256=viEt38jc1skwOUBwwlwPL02hcGrm9xNQzKExVftZEx4,10365
2
2
  reflex/__init__.pyi,sha256=h9ltlhaz1dySsNYpUkN_VCjEzHGfb1h18ThYh15QjyU,11358
3
3
  reflex/__main__.py,sha256=6cVrGEyT3j3tEvlEVUatpaYfbB5EF3UVY-6vc_Z7-hw,108
4
4
  reflex/admin.py,sha256=q9F2Z4BCtdjPZDGYpk3ogFysTfDPtlR2gY6XDtVPK8U,436
5
- reflex/app.py,sha256=ZwVWFBiYjx5_gL5hQ3LFN0-SlIC_0ieRphRwTpRdJlM,69778
5
+ reflex/app.py,sha256=-tDJFgxiZwmMTgK59pGFr6nwHQ_9BO5GpTWu8c0JMUo,69964
6
6
  reflex/assets.py,sha256=PLTKAMYPKMZq8eWXKX8uco6NZ9IiPGWal0bOPLUmU7k,3364
7
7
  reflex/base.py,sha256=UuWQkOgZYvJNSIkYuNpb4wp9WtIBXlfmxXARAnOXiZ4,3889
8
8
  reflex/config.py,sha256=HowZkxtWwfYPOG_jFDgM3--5_9Ebv1Hv2AursD_1GvE,35443
@@ -12,7 +12,7 @@ reflex/page.py,sha256=qEt8n5EtawSywCzdsiaNQJWhC8ie-vg8ig0JGuVavPI,2386
12
12
  reflex/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  reflex/reflex.py,sha256=tbQ8evLyoda6-Lz1bKcbj0VHWuVzAM8ApFF6POYl_aM,21576
14
14
  reflex/route.py,sha256=nn_hJwtQdjiqH_dHXfqMGWKllnyPQZTSR-KWdHDhoOs,4210
15
- reflex/state.py,sha256=7sd-knf4NWLREhYCPolI82hflnNYuohQpMw5TVOlUlE,142143
15
+ reflex/state.py,sha256=ZMI6S2lixIOAalkJ8a-gqkPyRKySKB50nOs9TIvvErk,142822
16
16
  reflex/style.py,sha256=09ZKOBmBNELIB5O4rgLd511hF0EqDPHgVCTJqWiOT7o,13165
17
17
  reflex/testing.py,sha256=lsW4I5qKrEOYVjGj-hibLi5S6w2wFMpAOMeLEPADiJA,36068
18
18
  reflex/.templates/apps/blank/assets/favicon.ico,sha256=baxxgDAQ2V4-G5Q4S2yK5uUJTUGkv-AOWBQ0xd6myUo,4286
@@ -137,7 +137,7 @@ reflex/components/el/elements/__init__.pyi,sha256=uuwnUtPo4hPTByt8qzbdZT-_cOSPiT
137
137
  reflex/components/el/elements/base.py,sha256=4jnwyCQUHvWcIfwiIWVCiIC_jbwZlkAiOgx73t7tdw8,3075
138
138
  reflex/components/el/elements/base.pyi,sha256=QQ9ZvgJEH-0QnjEY7I9Rj4O4qVPAxt3mhx0UXHqZII8,10032
139
139
  reflex/components/el/elements/forms.py,sha256=Yr4JZ3qy-NGehP3kGnFayUNaEIg3Ly8B1AAdrrN16oo,20293
140
- reflex/components/el/elements/forms.pyi,sha256=zzxMYkjhY4Eo8zWF99YM9yW_QDpyP4zLwG8l9Wwwd9k,126565
140
+ reflex/components/el/elements/forms.pyi,sha256=CC2bByXLm8bYj6TkSccapfgzOlyHdtin0z5lqiwD1ZE,168528
141
141
  reflex/components/el/elements/inline.py,sha256=GxOYtkNm1OfdMeqNvrFY_AUm-SVdc4Zg4JdSf3V3S6g,4064
142
142
  reflex/components/el/elements/inline.pyi,sha256=O9CSe9Cm-NzxLn64UtdnkosZyIgXfJcYGxLYlc-hEQA,231259
143
143
  reflex/components/el/elements/media.py,sha256=n84bNz3KO4TkaCi7eFierpVkcDEB9uYTk5oBKl-s1GI,13064
@@ -314,14 +314,14 @@ reflex/components/react_player/react_player.py,sha256=hadeQezGV0C2FlGgK2kvx_3waO
314
314
  reflex/components/react_player/react_player.pyi,sha256=VHuN1UIv66HQQ7PCg-_n4Te71goTrMQ_J-XzcYQ4D2s,5957
315
315
  reflex/components/react_player/video.py,sha256=2V6tiwCwrzu9WPI1Wmuepk8kQ6M6K8nnMdLLjEbrxrw,186
316
316
  reflex/components/react_player/video.pyi,sha256=G6pNIDE6KeweCBT2BoARIdoC0G8Gm2wvDnE_K5OAIRY,5925
317
- reflex/components/recharts/__init__.py,sha256=Ke5NLICmT2J_mGIUBZcFMUJOXGYgFSG3xRs2v7YjN6I,2676
318
- reflex/components/recharts/__init__.pyi,sha256=-oVJHVWtQ4kvRoM0SoouWdpWeN1CfvqdjF8Jjx749Bo,5144
317
+ reflex/components/recharts/__init__.py,sha256=v_6K60Bi-tFUrGCOcAPXt7-sAREpcJRzlYPOjUYTxC8,2695
318
+ reflex/components/recharts/__init__.pyi,sha256=2YiybRu2AIWwPQ6upgGnb8ZPx4z-cZHgKl1vDZnliW4,5184
319
319
  reflex/components/recharts/cartesian.py,sha256=-B1ktmunQO9fGQTu793JfO0XhEVIh5f2uswRA48RtPE,34560
320
320
  reflex/components/recharts/cartesian.pyi,sha256=o9nGmPnw-hPqzIPSaZqq9RYrE0947XPcyqe1WBcjNv8,103769
321
321
  reflex/components/recharts/charts.py,sha256=uKwNiBM0nMOoTsYziewIS6pYDg457s4EaN9QOADnK2s,18824
322
322
  reflex/components/recharts/charts.pyi,sha256=PPirR85Pk8PzOMW-DB1pMZaWHowuz1PNrl1k-XvtTmI,49144
323
- reflex/components/recharts/general.py,sha256=ff3Y4cXV9H8XruN0eyHUDf11mV3cGXWFaVl-4DAlKqE,9022
324
- reflex/components/recharts/general.pyi,sha256=Fx7wN4n3oYYpKqXmfdmm5Z4pIdkNTPNQQdgCNIgX1KA,23358
323
+ reflex/components/recharts/general.py,sha256=RVYO1iuuYJAgm_cqoujc2rC8uexj_mYrxEYoBBnTvlc,9032
324
+ reflex/components/recharts/general.pyi,sha256=NkDBNa_5clkFnSu3h-LZcUWk91wmOvCt0g6aTvz0t6s,23368
325
325
  reflex/components/recharts/polar.py,sha256=BuR3Zhj1PuYTO0md_RrQIiNaoj0lhqG4wd818F2fGFc,15557
326
326
  reflex/components/recharts/polar.pyi,sha256=N2kSLYpZhnnYzZdIiQxWvzpYiTyPJ50UwPpctExYQMM,27100
327
327
  reflex/components/recharts/recharts.py,sha256=is9FG2MJ6aYsZLDe1uW4zWNRs7LNJFKVbAndYC77jqA,3176
@@ -374,7 +374,7 @@ reflex/utils/console.py,sha256=97QCo1vXFM-B32zrvYH51yzDRyNPkXD5nNriaiCrlpc,9439
374
374
  reflex/utils/decorator.py,sha256=RaqnUjPaEZSrTy9jy4AQZVG2rpOjJK8Eec0PE-9BNcA,1711
375
375
  reflex/utils/exceptions.py,sha256=Wwu7Ji2xgq521bJKtU2NgjwhmFfnG8erirEVN2h8S-g,8884
376
376
  reflex/utils/exec.py,sha256=cZhowK1CD8qUZEyRxhfTljOkKsZCoMXODLv621sQ3b0,19394
377
- reflex/utils/export.py,sha256=bcJA0L8lBbjij-5PU93ka2c1d_yJqrIurp5u4mN5f68,2537
377
+ reflex/utils/export.py,sha256=eRAVmXyOfCjaL0g4YwWy9f48YT21tfKtd8Evt37_sRY,2567
378
378
  reflex/utils/format.py,sha256=a8em_yzqp9pLTrPXRsdzFWSO1qL2x25BpJXOf9DV1t8,20638
379
379
  reflex/utils/imports.py,sha256=k16vV5ANvWrKB1a5WYO7v5BVWES3RabEX8xAEnGvHhg,4162
380
380
  reflex/utils/lazy_loader.py,sha256=pdirbNnGfB-r21zgjzHk0c6vODXqKLn9vbJiP5Yr5nQ,4138
@@ -397,8 +397,8 @@ reflex/vars/function.py,sha256=2sVnhgetPSwtor8VFtAiYJdzZ9IRNzAKdsUJG6dXQcE,14461
397
397
  reflex/vars/number.py,sha256=__X8C4lwDQNy8RL9-AxVgC6MM1KF-2PClXE0aR9Ldno,27453
398
398
  reflex/vars/object.py,sha256=-fGqHThozjxAAuQL-wTwEItPiFI-ps53P2bKoSlW_As,17081
399
399
  reflex/vars/sequence.py,sha256=zR3Gwi0xkypThKO45KGqu_AYruY1mTK8kmHjzXcm8y8,55289
400
- reflex-0.7.6a1.dist-info/METADATA,sha256=ZKSIdEnakJpgtGN_G7VxdvQyezSgK9E1wTp7Nc97Bg4,11897
401
- reflex-0.7.6a1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
402
- reflex-0.7.6a1.dist-info/entry_points.txt,sha256=Rxt4dXc7MLBNt5CSHTehVPuSe9Xqow4HLX55nD9tQQ0,45
403
- reflex-0.7.6a1.dist-info/licenses/LICENSE,sha256=dw3zLrp9f5ObD7kqS32vWfhcImfO52PMmRqvtxq_YEE,11358
404
- reflex-0.7.6a1.dist-info/RECORD,,
400
+ reflex-0.7.6.post1.dist-info/METADATA,sha256=uCDgr--HfdkKe4I9xdwCOIlV1K9qVCik-NUu6KePvqg,11901
401
+ reflex-0.7.6.post1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
402
+ reflex-0.7.6.post1.dist-info/entry_points.txt,sha256=Rxt4dXc7MLBNt5CSHTehVPuSe9Xqow4HLX55nD9tQQ0,45
403
+ reflex-0.7.6.post1.dist-info/licenses/LICENSE,sha256=dw3zLrp9f5ObD7kqS32vWfhcImfO52PMmRqvtxq_YEE,11358
404
+ reflex-0.7.6.post1.dist-info/RECORD,,