reflex 0.5.8__py3-none-any.whl → 0.5.9__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.

reflex/state.py CHANGED
@@ -2059,7 +2059,7 @@ class StateProxy(wrapt.ObjectProxy):
2059
2059
  Whether the state is mutable.
2060
2060
  """
2061
2061
  if self._self_parent_state_proxy is not None:
2062
- return self._self_parent_state_proxy._is_mutable()
2062
+ return self._self_parent_state_proxy._is_mutable() or self._self_mutable
2063
2063
  return self._self_mutable
2064
2064
 
2065
2065
  async def __aenter__(self) -> StateProxy:
@@ -3302,7 +3302,7 @@ class ImmutableMutableProxy(MutableProxy):
3302
3302
  Raises:
3303
3303
  ImmutableStateError: if the StateProxy is not mutable.
3304
3304
  """
3305
- if not self._self_state._self_mutable:
3305
+ if not self._self_state._is_mutable():
3306
3306
  raise ImmutableStateError(
3307
3307
  "Background task StateProxy is immutable outside of a context "
3308
3308
  "manager. Use `async with self` to modify state."
reflex/utils/format.py CHANGED
@@ -438,15 +438,16 @@ def format_prop(
438
438
  sig = inspect.signature(prop.args_spec) # type: ignore
439
439
  if sig.parameters:
440
440
  arg_def = ",".join(f"_{p}" for p in sig.parameters)
441
- arg_def = f"({arg_def})"
441
+ arg_def_expr = f"[{arg_def}]"
442
442
  else:
443
443
  # add a default argument for addEvents if none were specified in prop.args_spec
444
444
  # used to trigger the preventDefault() on the event.
445
- arg_def = "(_e)"
445
+ arg_def = "...args"
446
+ arg_def_expr = "args"
446
447
 
447
448
  chain = ",".join([format_event(event) for event in prop.events])
448
- event = f"addEvents([{chain}], {arg_def}, {json_dumps(prop.event_actions)})"
449
- prop = f"{arg_def} => {event}"
449
+ event = f"addEvents([{chain}], {arg_def_expr}, {json_dumps(prop.event_actions)})"
450
+ prop = f"({arg_def}) => {event}"
450
451
 
451
452
  # Handle other types.
452
453
  elif isinstance(prop, str):
reflex/vars.py CHANGED
@@ -1997,6 +1997,14 @@ class Var:
1997
1997
  """
1998
1998
  return self._var_data
1999
1999
 
2000
+ def json(self) -> str:
2001
+ """Serialize the var to a JSON string.
2002
+
2003
+ Raises:
2004
+ NotImplementedError: If the method is not implemented.
2005
+ """
2006
+ raise NotImplementedError("Var subclasses must implement the json method.")
2007
+
2000
2008
  @property
2001
2009
  def _var_name_unwrapped(self) -> str:
2002
2010
  """Get the var str without wrapping in curly braces.
@@ -2474,7 +2482,7 @@ class ComputedVar(Var, property):
2474
2482
 
2475
2483
  def computed_var(
2476
2484
  fget: Callable[[BaseState], Any] | None = None,
2477
- initial_value: Any | None = None,
2485
+ initial_value: Any | types.Unset = types.Unset(),
2478
2486
  cache: bool = False,
2479
2487
  deps: Optional[List[Union[str, Var]]] = None,
2480
2488
  auto_deps: bool = True,
reflex/vars.pyi CHANGED
@@ -151,6 +151,7 @@ class Var:
151
151
  def _var_full_name(self) -> str: ...
152
152
  def _var_set_state(self, state: Type[BaseState] | str) -> Any: ...
153
153
  def _get_all_var_data(self) -> VarData: ...
154
+ def json(self) -> str: ...
154
155
 
155
156
  @dataclass(eq=False)
156
157
  class BaseVar(Var):
@@ -189,7 +190,7 @@ class ComputedVar(Var):
189
190
  @overload
190
191
  def computed_var(
191
192
  fget: Callable[[BaseState], Any] | None = None,
192
- initial_value: Any | None = None,
193
+ initial_value: Any | types.Unset = types.Unset(),
193
194
  cache: bool = False,
194
195
  deps: Optional[List[Union[str, Var]]] = None,
195
196
  auto_deps: bool = True,
@@ -201,7 +202,7 @@ def computed_var(fget: Callable[[Any], Any]) -> ComputedVar: ...
201
202
  @overload
202
203
  def cached_var(
203
204
  fget: Callable[[BaseState], Any] | None = None,
204
- initial_value: Any | None = None,
205
+ initial_value: Any | types.Unset = types.Unset(),
205
206
  deps: Optional[List[Union[str, Var]]] = None,
206
207
  auto_deps: bool = True,
207
208
  interval: Optional[Union[datetime.timedelta, int]] = None,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: reflex
3
- Version: 0.5.8
3
+ Version: 0.5.9
4
4
  Summary: Web apps in pure Python.
5
5
  Home-page: https://reflex.dev
6
6
  License: Apache-2.0
@@ -56,13 +56,13 @@ reflex/.templates/web/jsconfig.json,sha256=Y9sEhjJcpk-ZDj-sxHYCvF9UZF4fyBL4oUlph
56
56
  reflex/.templates/web/next.config.js,sha256=ZpGOqo9wHEbt0S08G70VfUNUjFe79UXo7Cde8X8V10E,118
57
57
  reflex/.templates/web/postcss.config.js,sha256=oEjUS1dzudKcmoPCD_B1ss2m1K14VDM0S6GAyrs1Ric,108
58
58
  reflex/.templates/web/styles/tailwind.css,sha256=wGOoICTy1G0e5bWZ4LYOVgRa3ZT7M44tC4g6CKh6ZPo,112
59
- reflex/.templates/web/utils/client_side_routing.js,sha256=iGGnZY07XMNLUT2GT_Y6OEICP7uc1FaWn9cPlQUpGgo,1254
59
+ reflex/.templates/web/utils/client_side_routing.js,sha256=za3bslTR0cKLC4h-bxAr48nJFj0nPwrj28Dlv2A3dV4,1431
60
60
  reflex/.templates/web/utils/helpers/dataeditor.js,sha256=anZgi8RJ_J0yqDez1Ks51fNDIQOvP3WkIm1QRDwccSk,1622
61
61
  reflex/.templates/web/utils/helpers/debounce.js,sha256=xGhtTRtS_xIcaeqnYVvYJNseLgQVk-DW-eFiHJYO9As,528
62
62
  reflex/.templates/web/utils/helpers/paste.js,sha256=ef30HsR83jRzzvZnl8yV79yqFP8TC_u8SlN99cCS_OM,1799
63
63
  reflex/.templates/web/utils/helpers/range.js,sha256=FevdZzCVxjF57ullfjpcUpeOXRxh5v09YnBB0jPbrS4,1152
64
64
  reflex/.templates/web/utils/helpers/throttle.js,sha256=qxeyaEojaTeX36FPGftzVWrzDsRQU4iqg3U9RJz9Vj4,566
65
- reflex/.templates/web/utils/state.js,sha256=149_FgESKLS2-P9oivf37lo4plA74j8hm_ICunkHdI0,25934
65
+ reflex/.templates/web/utils/state.js,sha256=G_mjYXiYhP4wnR36HnVrJXsexFJ8tiJfSUHMtdbGNYA,26088
66
66
  reflex/__init__.py,sha256=ODbR-WJ4-ugGhepPf34fUy2GZdkxo3TpZaca1tpD7kw,9728
67
67
  reflex/__init__.pyi,sha256=brBPyevzsUhaSKKgJVkXmm8VmXy8umVIIBjjV4IwcTI,10751
68
68
  reflex/__main__.py,sha256=6cVrGEyT3j3tEvlEVUatpaYfbB5EF3UVY-6vc_Z7-hw,108
@@ -242,7 +242,7 @@ reflex/components/chakra/typography/span.py,sha256=232EckN22_fOv5aodO6jXPzmLZwJH
242
242
  reflex/components/chakra/typography/span.pyi,sha256=ABOFwFt9qsaZDSGDmkWH4OTJ4CCfnKHDDljbFsfguMY,3322
243
243
  reflex/components/chakra/typography/text.py,sha256=hJuVhzYtUbHpf7ZBEvCelNH2Rj8vOVbL9nKddbMISc4,473
244
244
  reflex/components/chakra/typography/text.pyi,sha256=BAB7RTUo8GnF1TRy8Ee0EsG8nJB4HU3EqvUEvefzEUk,3546
245
- reflex/components/component.py,sha256=4mdIUM-rVbYHpeb77BhkSpjfB3ZVS52FA-RZlazVaYI,79389
245
+ reflex/components/component.py,sha256=SzrB2f4pBDgn8nCODb0RT0KM1DjtUqlgrW1Hnzrx6NE,79673
246
246
  reflex/components/core/__init__.py,sha256=msAsWb_6bmZGSei4gEpyYczuJ0VNEZtg20fRtyb3wwM,1285
247
247
  reflex/components/core/__init__.pyi,sha256=hmng2kT4e3iBSSI_x9t7g2-58G6Cb4rhuwz_APJ-UZM,1994
248
248
  reflex/components/core/banner.py,sha256=weZqoXuU0NaL3tCfe89jNkzir4_JgK6X51WQLQXAHwE,8758
@@ -289,8 +289,8 @@ reflex/components/el/elements/inline.py,sha256=2t2HL3_rmrjyX12FgP1yJ2o4UrahDhTdQ
289
289
  reflex/components/el/elements/inline.pyi,sha256=C24UygU3cAa1cgQ675TnNYhoA-XX9O5wXvMUNlkfz38,156731
290
290
  reflex/components/el/elements/media.py,sha256=VqbjmRonCA7qL6wJ7OzR5jbKQWzjCyxHmdPKgQfCNuM,12538
291
291
  reflex/components/el/elements/media.pyi,sha256=uJP9zuXoPoW0lCwaG1Yu-BFZ6-EcwylLGUJ8DIcbCes,131309
292
- reflex/components/el/elements/metadata.py,sha256=INVH5xXCqwDhOWaoFcJ9YsqHfZQKlWy_BbsXRIXK0jM,1803
293
- reflex/components/el/elements/metadata.pyi,sha256=sfw4WGMBhscpjqMQ76axi_ITa6fy9fTN3622VPA8iPk,29451
292
+ reflex/components/el/elements/metadata.py,sha256=e1gqyHThdn2QLQCvLAHeJQn7XiaNQ5cj9aCI8jFyE4A,2637
293
+ reflex/components/el/elements/metadata.pyi,sha256=w1YILvUXRcYOg1JK023CcCnwvn7W69D5D9TuKn-cTbY,30429
294
294
  reflex/components/el/elements/other.py,sha256=vMmqTxgPfd73qiVadyFagv8C_0PsV5AcoBFMI4f0gkg,1729
295
295
  reflex/components/el/elements/other.pyi,sha256=gE4do7ZZ8-PAE-nktu_k9yz6cFK2TGc-b-sIagKB0C4,40057
296
296
  reflex/components/el/elements/scripts.py,sha256=GALcloQgA1I7nxxA0X5xGbzWZfYIY7nA0a1RTcQgXn4,1482
@@ -510,11 +510,12 @@ reflex/experimental/hooks.py,sha256=veeds9cSvEdLZDDNIFD-Ye5XRQombrBQNRmiVYOBXp8,
510
510
  reflex/experimental/layout.py,sha256=Zx8AGqWJrSzXY1XapsorOx-jNo2kRqaWOc4QJRulQdU,7656
511
511
  reflex/experimental/layout.pyi,sha256=aThlDKlifnG3QqIMQH5SwYewrLLXws8u38z3VW8BRSk,18933
512
512
  reflex/experimental/misc.py,sha256=Ikmr-XuQfzOZqrY6yxDXkmpr7C5uDagc4nnowYmjWsc,610
513
- reflex/experimental/vars/__init__.py,sha256=bC1gNPwoTCdCy08WN8kS9xqm331pZzwUuPjBJjfXSYE,986
514
- reflex/experimental/vars/base.py,sha256=0VQfKvwLSy_shHmDlRJLrg04xILUGYvR5iwe-8hHEMk,13806
515
- reflex/experimental/vars/function.py,sha256=NTSsNkPAsMiy-UM4LKEZPUYgKOglUG7gydAETBV5k3Y,6556
516
- reflex/experimental/vars/number.py,sha256=ZDDZd8uchg6_nuwsfaukNeQEunsVIFMNbS-ENjv-c74,38449
517
- reflex/experimental/vars/sequence.py,sha256=gPAaPanAYzHt0tS4Es5-pguSxVk18YW2zgu3thonebM,31065
513
+ reflex/experimental/vars/__init__.py,sha256=Hh41K71HTkrGL56g_gEOrVM1aOIIQmGGAEUKmsNBFBQ,990
514
+ reflex/experimental/vars/base.py,sha256=eEvBVCbd05pe_rI8zwxWTgXaBNXc7j3mEnoMqEHHo_Y,17166
515
+ reflex/experimental/vars/function.py,sha256=lu_z4iYApEHngP7jA0sTSJ1FUoQGvhztwVJ3ea6daNs,8768
516
+ reflex/experimental/vars/number.py,sha256=QHQUh144lX7zW-MuB6gbeZNjQIQqetVD-SCtZ_o5u1c,43109
517
+ reflex/experimental/vars/object.py,sha256=2B4aDmQs1DCwk-OSpMMOBIBE1-k6GiVmc_N5AWsJxMg,22879
518
+ reflex/experimental/vars/sequence.py,sha256=70NJ3oPDlKa7loO9ie6qMEZy2uFdaGcpEY7AJ0uC4Qs,52083
518
519
  reflex/middleware/__init__.py,sha256=x7xTeDuc73Hjj43k1J63naC9x8vzFxl4sq7cCFBX7sk,111
519
520
  reflex/middleware/hydrate_middleware.py,sha256=gZ5RTvsfKfrTkQN6QsTLfSnBAczCtGiBQ5edrOii3Vg,1485
520
521
  reflex/middleware/middleware.py,sha256=1tEckRzSNWAwW8VsKt_x88lkk2vSFnRWH1uorsauNwI,1170
@@ -522,7 +523,7 @@ reflex/model.py,sha256=f9F3J3JZX_NmUCU5mN4Lh7afclq9fikPUB1K2FmNlhU,13545
522
523
  reflex/page.py,sha256=NPT0xMownZGTiYiRtrUJnvAe_4oEvlzEJEkG-vrGhqI,2077
523
524
  reflex/reflex.py,sha256=QfywgrbaQYnhTxgXLYegbcU8pB4q216csgzj8VRWFS8,18989
524
525
  reflex/route.py,sha256=WZS7stKgO94nekFFYHaOqNgN3zZGpJb3YpGF4ViTHmw,4198
525
- reflex/state.py,sha256=gBwmm91KE0OVSd3kojGZPv9G3YUhgTp-EHkEAl68V8E,114529
526
+ reflex/state.py,sha256=-0yvUXVK2SFMZRtWSBz1UsHWvpq-4SG9Jx7y4E96G9k,114551
526
527
  reflex/style.py,sha256=sLeIKBKUpZV1q1QwexVyckqFphjoxsPqCstVQf-D0Ak,11703
527
528
  reflex/testing.py,sha256=zyIoa0PZuTuPP0My64zUc1aiqiekLKkb6GAXFUjzFfc,34081
528
529
  reflex/utils/__init__.py,sha256=y-AHKiRQAhk2oAkvn7W8cRVTZVK625ff8tTwvZtO7S4,24
@@ -533,7 +534,7 @@ reflex/utils/console.py,sha256=irO3qP7_9_5cxbc3hBfyawJgtgIq5s8nJQ0RgUt91fU,5477
533
534
  reflex/utils/exceptions.py,sha256=txYH8qtcUAwYSh5SikN76Htn8Z6MfdN2Ms3kvNdxPOk,2290
534
535
  reflex/utils/exec.py,sha256=jTkIbbrSgq8tCbUmwoN2s26XghPVJM5jBVaOlPYCkoU,11365
535
536
  reflex/utils/export.py,sha256=3dI9QjoU0ZA_g8OSQipVLpFWQcxWa_sHkpezWemvWbo,2366
536
- reflex/utils/format.py,sha256=zfQb9PgeKsyMJ2koSz9CBUCWIH6WJ5-JIWYyyTTv3gE,26336
537
+ reflex/utils/format.py,sha256=elfO3XY5dVBvv6drfZFbfMUokcldiOk03qupvvRuDkk,26389
537
538
  reflex/utils/imports.py,sha256=Pvdcr_bkFpTgZ5gZfc5SKKPCvbcqlZSfwyGVhxNh2kc,4770
538
539
  reflex/utils/lazy_loader.py,sha256=utVpUjKcz32GC1I7g0g7OlTyvVoZNFcuAjNtnxiSYww,1282
539
540
  reflex/utils/path_ops.py,sha256=XQVq_r_2tFHECWuJPyxzk3GzijCJemgXxfI5w2rc_Vs,4924
@@ -545,10 +546,10 @@ reflex/utils/serializers.py,sha256=lARTafxXhtNmC15lFaw424MJVwGRcWb8D42_osjKDWE,1
545
546
  reflex/utils/telemetry.py,sha256=t4cvQmoAxTKAWF53vGH6ZEX5QYrK_KEcarmvMy-4_E4,5568
546
547
  reflex/utils/types.py,sha256=nXB0RTGDfNQkiAvfb2RdXLHxFS9TX9cy-wfgqbPiIpw,17826
547
548
  reflex/utils/watch.py,sha256=ukPT3YrvqsXYN6BInWiO_RPry5osSch9lOomQhxDyk0,2685
548
- reflex/vars.py,sha256=ze-WlM7Mj2zTUJpNIIoBTM8xRPSEVv-WHevcxovveBQ,84910
549
- reflex/vars.pyi,sha256=UR-YPB0xtaY3rhN94dE2_SyZaP7LbxjOLkQhOz2tuZU,7151
550
- reflex-0.5.8.dist-info/LICENSE,sha256=dw3zLrp9f5ObD7kqS32vWfhcImfO52PMmRqvtxq_YEE,11358
551
- reflex-0.5.8.dist-info/METADATA,sha256=nF4FLtb5l3RD1ci-q2u0xQmmTFhtcnyG4cFP7gzNLDA,12188
552
- reflex-0.5.8.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
553
- reflex-0.5.8.dist-info/entry_points.txt,sha256=H1Z5Yat_xJfy0dRT1Frk2PkO_p41Xy7fCKlj4FcdL9o,44
554
- reflex-0.5.8.dist-info/RECORD,,
549
+ reflex/vars.py,sha256=h3rj-A3YN9Gq_Iie9QqYVzlM3m-T0Mkd-jofyjfPwLI,85181
550
+ reflex/vars.pyi,sha256=d55fH5lM6vt8RU_CPSvvOYVTr6orhXOCbL_XY2HgGIc,7214
551
+ reflex-0.5.9.dist-info/LICENSE,sha256=dw3zLrp9f5ObD7kqS32vWfhcImfO52PMmRqvtxq_YEE,11358
552
+ reflex-0.5.9.dist-info/METADATA,sha256=CSXuEsFdpTZ_tfFbT6b3hbhyD9VWvw-H73IA4xbCmBg,12188
553
+ reflex-0.5.9.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
554
+ reflex-0.5.9.dist-info/entry_points.txt,sha256=H1Z5Yat_xJfy0dRT1Frk2PkO_p41Xy7fCKlj4FcdL9o,44
555
+ reflex-0.5.9.dist-info/RECORD,,
File without changes