reflex 0.6.0a3__py3-none-any.whl → 0.6.0a4__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.

@@ -8,7 +8,7 @@ version = "0.0.1"
8
8
  description = "Reflex custom component {{ module_name }}"
9
9
  readme = "README.md"
10
10
  license = { text = "Apache-2.0" }
11
- requires-python = ">=3.10"
11
+ requires-python = ">=3.9"
12
12
  authors = [{ name = "", email = "YOUREMAIL@domain.com" }]
13
13
  keywords = ["reflex","reflex-custom-components"]
14
14
 
@@ -805,7 +805,9 @@ export const useEventLoop = (
805
805
  * @returns True if the value is truthy, false otherwise.
806
806
  */
807
807
  export const isTrue = (val) => {
808
- return Array.isArray(val) ? val.length > 0 : !!val;
808
+ if (Array.isArray(val)) return val.length > 0;
809
+ if (val === Object(val)) return Object.keys(val).length > 0;
810
+ return Boolean(val);
809
811
  };
810
812
 
811
813
  /**
reflex/app.py CHANGED
@@ -606,10 +606,7 @@ class App(MiddlewareMixin, LifespanMixin, Base):
606
606
  for route in self.pages:
607
607
  replaced_route = replace_brackets_with_keywords(route)
608
608
  for rw, r, nr in zip(
609
- replaced_route.split("/"),
610
- route.split("/"),
611
- new_route.split("/"),
612
- strict=False,
609
+ replaced_route.split("/"), route.split("/"), new_route.split("/")
613
610
  ):
614
611
  if rw in segments and r != nr:
615
612
  # If the slugs in the segments of both routes are not the same, then the route is invalid
@@ -958,7 +955,7 @@ class App(MiddlewareMixin, LifespanMixin, Base):
958
955
 
959
956
  # Prepopulate the global ExecutorSafeFunctions class with input data required by the compile functions.
960
957
  # This is required for multiprocessing to work, in presence of non-picklable inputs.
961
- for route, component in zip(self.pages, page_components, strict=False):
958
+ for route, component in zip(self.pages, page_components):
962
959
  ExecutorSafeFunctions.COMPILE_PAGE_ARGS_BY_ROUTE[route] = (
963
960
  route,
964
961
  component,
@@ -1172,7 +1169,6 @@ class App(MiddlewareMixin, LifespanMixin, Base):
1172
1169
  FRONTEND_ARG_SPEC,
1173
1170
  BACKEND_ARG_SPEC,
1174
1171
  ],
1175
- strict=False,
1176
1172
  ):
1177
1173
  if hasattr(handler_fn, "__name__"):
1178
1174
  _fn_name = handler_fn.__name__
@@ -15,7 +15,7 @@ if constants.CompileVars.APP != "app":
15
15
  telemetry.send("compile")
16
16
  app_module = get_app(reload=False)
17
17
  app = getattr(app_module, constants.CompileVars.APP)
18
- # For py3.8 and py3.9 compatibility when redis is used, we MUST add any decorator pages
18
+ # For py3.9 compatibility when redis is used, we MUST add any decorator pages
19
19
  # before compiling the app in a thread to avoid event loop error (REF-2172).
20
20
  app._apply_decorated_pages()
21
21
  compile_future = ThreadPoolExecutor(max_workers=1).submit(app._compile)
@@ -448,8 +448,16 @@ class Component(BaseComponent, ABC):
448
448
  and not types._issubclass(passed_type, expected_type, value)
449
449
  ):
450
450
  value_name = value._js_expr if isinstance(value, Var) else value
451
+
452
+ additional_info = (
453
+ " You can call `.bool()` on the value to convert it to a boolean."
454
+ if expected_type is bool and isinstance(value, Var)
455
+ else ""
456
+ )
457
+
451
458
  raise TypeError(
452
- f"Invalid var passed for prop {type(self).__name__}.{key}, expected type {expected_type}, got value {value_name} of type {passed_types or passed_type}."
459
+ f"Invalid var passed for prop {type(self).__name__}.{key}, expected type {expected_type}, got value {value_name} of type {passed_type}."
460
+ + additional_info
453
461
  )
454
462
  # Check if the key is an event trigger.
455
463
  if key in component_specific_triggers:
@@ -82,9 +82,7 @@ class Breakpoints(Dict[K, V]):
82
82
  return Breakpoints(
83
83
  {
84
84
  k: v
85
- for k, v in zip(
86
- ["initial", *breakpoint_names], thresholds, strict=False
87
- )
85
+ for k, v in zip(["initial", *breakpoint_names], thresholds)
88
86
  if v is not None
89
87
  }
90
88
  )
reflex/event.py CHANGED
@@ -217,7 +217,7 @@ class EventHandler(EventActionsMixin):
217
217
  raise EventHandlerTypeError(
218
218
  f"Arguments to event handlers must be Vars or JSON-serializable. Got {arg} of type {type(arg)}."
219
219
  ) from e
220
- payload = tuple(zip(fn_args, values, strict=False))
220
+ payload = tuple(zip(fn_args, values))
221
221
 
222
222
  # Return the event spec.
223
223
  return EventSpec(
@@ -310,7 +310,7 @@ class EventSpec(EventActionsMixin):
310
310
  raise EventHandlerTypeError(
311
311
  f"Arguments to event handlers must be Vars or JSON-serializable. Got {arg} of type {type(arg)}."
312
312
  ) from e
313
- new_payload = tuple(zip(fn_args, values, strict=False))
313
+ new_payload = tuple(zip(fn_args, values))
314
314
  return self.with_args(self.args + new_payload)
315
315
 
316
316
 
@@ -3,6 +3,7 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  import dataclasses
6
+ import re
6
7
  import sys
7
8
  from typing import Any, Callable, Union
8
9
 
@@ -174,15 +175,15 @@ class ClientStateVar(Var):
174
175
  else self._setter_name
175
176
  )
176
177
  if value is not NoValue:
177
- import re
178
-
179
178
  # This is a hack to make it work like an EventSpec taking an arg
180
179
  value_str = str(LiteralVar.create(value))
181
180
 
182
- # remove patterns of ["*"] from the value_str using regex
183
- arg = re.sub(r"\[\".*\"\]", "", value_str)
184
-
185
- setter = f"({arg}) => {setter}({str(value)})"
181
+ if value_str.startswith("_"):
182
+ # remove patterns of ["*"] from the value_str using regex
183
+ arg = re.sub(r"\[\".*\"\]", "", value_str)
184
+ setter = f"(({arg}) => {setter}({value_str}))"
185
+ else:
186
+ setter = f"(() => {setter}({value_str}))"
186
187
  return Var(
187
188
  _js_expr=setter,
188
189
  _var_data=VarData(imports=_refs_import if self._global_ref else {}),
reflex/state.py CHANGED
@@ -1302,7 +1302,6 @@ class BaseState(Base, ABC, extra=pydantic.Extra.allow):
1302
1302
  for part1, part2 in zip(
1303
1303
  cls.get_full_name().split("."),
1304
1304
  other.get_full_name().split("."),
1305
- strict=False,
1306
1305
  ):
1307
1306
  if part1 != part2:
1308
1307
  break
@@ -73,6 +73,18 @@ def get_web_dir() -> Path:
73
73
  return workdir
74
74
 
75
75
 
76
+ def _python_version_check():
77
+ """Emit deprecation warning for deprecated python versions."""
78
+ # Check for end-of-life python versions.
79
+ if sys.version_info < (3, 10):
80
+ console.deprecate(
81
+ feature_name="Support for Python 3.9 and older",
82
+ reason="please upgrade to Python 3.10 or newer",
83
+ deprecation_version="0.6.0",
84
+ removal_version="0.7.0",
85
+ )
86
+
87
+
76
88
  def check_latest_package_version(package_name: str):
77
89
  """Check if the latest version of the package is installed.
78
90
 
@@ -85,15 +97,16 @@ def check_latest_package_version(package_name: str):
85
97
  url = f"https://pypi.org/pypi/{package_name}/json"
86
98
  response = net.get(url)
87
99
  latest_version = response.json()["info"]["version"]
88
- if (
89
- version.parse(current_version) < version.parse(latest_version)
90
- and not get_or_set_last_reflex_version_check_datetime()
91
- ):
92
- # only show a warning when the host version is outdated and
93
- # the last_version_check_datetime is not set in reflex.json
100
+ if get_or_set_last_reflex_version_check_datetime():
101
+ # Versions were already checked and saved in reflex.json, no need to warn again
102
+ return
103
+ if version.parse(current_version) < version.parse(latest_version):
104
+ # Show a warning when the host version is older than PyPI version
94
105
  console.warn(
95
106
  f"Your version ({current_version}) of {package_name} is out of date. Upgrade to {latest_version} with 'pip install {package_name} --upgrade'"
96
107
  )
108
+ # Check for depreacted python versions
109
+ _python_version_check()
97
110
  except Exception:
98
111
  pass
99
112
 
@@ -290,7 +303,7 @@ def get_compiled_app(reload: bool = False, export: bool = False) -> ModuleType:
290
303
  """
291
304
  app_module = get_app(reload=reload)
292
305
  app = getattr(app_module, constants.CompileVars.APP)
293
- # For py3.8 and py3.9 compatibility when redis is used, we MUST add any decorator pages
306
+ # For py3.9 compatibility when redis is used, we MUST add any decorator pages
294
307
  # before compiling the app in a thread to avoid event loop error (REF-2172).
295
308
  app._apply_decorated_pages()
296
309
  app._compile(export=export)
reflex/utils/telemetry.py CHANGED
@@ -121,7 +121,7 @@ def _prepare_event(event: str, **kwargs) -> dict:
121
121
  return {}
122
122
 
123
123
  if UTC is None:
124
- # for python 3.10
124
+ # for python 3.9 & 3.10
125
125
  stamp = datetime.utcnow().isoformat()
126
126
  else:
127
127
  # for python 3.11 & 3.12
reflex/utils/types.py CHANGED
@@ -632,7 +632,7 @@ def validate_parameter_literals(func):
632
632
  annotations = {param[0]: param[1].annotation for param in func_params}
633
633
 
634
634
  # validate args
635
- for param, arg in zip(annotations, args, strict=False):
635
+ for param, arg in zip(annotations, args):
636
636
  if annotations[param] is inspect.Parameter.empty:
637
637
  continue
638
638
  validate_literal(param, arg, annotations[param], func.__name__)
reflex/vars/sequence.py CHANGED
@@ -194,14 +194,6 @@ class StringVar(Var[str]):
194
194
  """
195
195
  return string_strip_operation(self)
196
196
 
197
- def bool(self):
198
- """Boolean conversion.
199
-
200
- Returns:
201
- The boolean value of the string.
202
- """
203
- return self.length() != 0
204
-
205
197
  def reversed(self) -> StringVar:
206
198
  """Reverse the string.
207
199
 
@@ -1,16 +1,17 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: reflex
3
- Version: 0.6.0a3
3
+ Version: 0.6.0a4
4
4
  Summary: Web apps in pure Python.
5
5
  Home-page: https://reflex.dev
6
6
  License: Apache-2.0
7
7
  Keywords: web,framework
8
8
  Author: Nikhil Rao
9
9
  Author-email: nikhil@reflex.dev
10
- Requires-Python: >=3.10,<4.0
10
+ Requires-Python: >=3.9,<4.0
11
11
  Classifier: Development Status :: 4 - Beta
12
12
  Classifier: License :: OSI Approved :: Apache Software License
13
13
  Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.9
14
15
  Classifier: Programming Language :: Python :: 3.10
15
16
  Classifier: Programming Language :: Python :: 3.11
16
17
  Classifier: Programming Language :: Python :: 3.12
@@ -86,7 +87,7 @@ See our [architecture page](https://reflex.dev/blog/2024-03-21-reflex-architectu
86
87
 
87
88
  ## ⚙️ Installation
88
89
 
89
- Open a terminal and run (Requires Python 3.10+):
90
+ Open a terminal and run (Requires Python 3.9+):
90
91
 
91
92
  ```bash
92
93
  pip install reflex
@@ -5,7 +5,7 @@ reflex/.templates/jinja/app/rxconfig.py.jinja2,sha256=Scfnv_vZXIPQcz8zNIa4FmjEym
5
5
  reflex/.templates/jinja/custom_components/README.md.jinja2,sha256=qA4XZDxOTc2gRIG7CO1VvVawOgThwZqU2RZvRTPhXwE,127
6
6
  reflex/.templates/jinja/custom_components/__init__.py.jinja2,sha256=z5n2tvoS7iNDaM6mUGKETdpGlC0oA1_rrYURu7O_xpk,32
7
7
  reflex/.templates/jinja/custom_components/demo_app.py.jinja2,sha256=ipbKtObNqQLcwbFowod_bSWW4bttW_8bNyTXl7JL1zg,826
8
- reflex/.templates/jinja/custom_components/pyproject.toml.jinja2,sha256=HG-k3pruUlMy7xYz339hgFkNMTLqB-C_FTLKkOgfBPM,630
8
+ reflex/.templates/jinja/custom_components/pyproject.toml.jinja2,sha256=4Y3gCELIePaVwNcoymcjdASBDReC9iaV9Mzj29vy69g,629
9
9
  reflex/.templates/jinja/custom_components/src.py.jinja2,sha256=e80PwMI6NoeQtGJ0NXWhYrkqUe7jvvJTFuztYQe-R5w,2403
10
10
  reflex/.templates/jinja/web/package.json.jinja2,sha256=YU9PF8WgiQ8OPlG3oLDX31t2R0o6DFntCh698NTiDK8,548
11
11
  reflex/.templates/jinja/web/pages/_app.js.jinja2,sha256=ITqBviFgMCSisLEmXz2tptCqA0UuAmG6h6hSquGqMEo,895
@@ -33,17 +33,17 @@ reflex/.templates/web/utils/helpers/debounce.js,sha256=xGhtTRtS_xIcaeqnYVvYJNseL
33
33
  reflex/.templates/web/utils/helpers/paste.js,sha256=ef30HsR83jRzzvZnl8yV79yqFP8TC_u8SlN99cCS_OM,1799
34
34
  reflex/.templates/web/utils/helpers/range.js,sha256=FevdZzCVxjF57ullfjpcUpeOXRxh5v09YnBB0jPbrS4,1152
35
35
  reflex/.templates/web/utils/helpers/throttle.js,sha256=qxeyaEojaTeX36FPGftzVWrzDsRQU4iqg3U9RJz9Vj4,566
36
- reflex/.templates/web/utils/state.js,sha256=G_mjYXiYhP4wnR36HnVrJXsexFJ8tiJfSUHMtdbGNYA,26088
36
+ reflex/.templates/web/utils/state.js,sha256=eEjYHBNKjWWBz7MwXN64vcCArKfWNbHBleI3LEMUIZU,26169
37
37
  reflex/__init__.py,sha256=l2s3m-0wU3JR9XQsartdHAF6PGHy69bv_--AbOrsnJc,10443
38
38
  reflex/__init__.pyi,sha256=uR7TbT_Wo0jwAMf6m0wZDxi9z4Yvv6dpUBrkFRvssLY,10787
39
39
  reflex/__main__.py,sha256=6cVrGEyT3j3tEvlEVUatpaYfbB5EF3UVY-6vc_Z7-hw,108
40
40
  reflex/admin.py,sha256=_3pkkauMiTGJJ0kwAEBnsUWAgZZ_1WNnCaaObbhpmUI,374
41
- reflex/app.py,sha256=e66hsi5_R3aLg7MAY2L_UehK7ylyjU2Pz8W87q61Euo,55957
41
+ reflex/app.py,sha256=1DrQB3Aul16XgwaPvInQRx_fOTI6S7ryNdErY1nsQ7Y,55854
42
42
  reflex/app_mixins/__init__.py,sha256=Oegz3-gZLP9p2OAN5ALNbsgxuNQfS6lGZgQA8cc-9mQ,137
43
43
  reflex/app_mixins/lifespan.py,sha256=0PaavAPTYmF7JdLKGfZQu_NT7oAaxyq7-5fauLZ9e8Y,2048
44
44
  reflex/app_mixins/middleware.py,sha256=6Yby_Uw1-J0K7NgPyh-X7tGGhmezn6D7-KsfABYAVBU,3130
45
45
  reflex/app_mixins/mixin.py,sha256=wjudM02c-y1vV8aTNUUs9CsFta7pzXrvBqyEzXOW-g4,310
46
- reflex/app_module_for_backend.py,sha256=TOB73WSoPs-DVitLNjnCXDb5FXQFEvoIDIohDwovne4,1228
46
+ reflex/app_module_for_backend.py,sha256=Xr_JoKeX5Ks_EefejS6lRheMaPkiOlH_Xpzx9QNgAZw,1218
47
47
  reflex/base.py,sha256=hqdG9sRr2GNNRCg9C4pmf_BocMpsOLAY_rEKQ7KDDQQ,4334
48
48
  reflex/compiler/__init__.py,sha256=r8jqmDSFf09iV2lHlNhfc9XrTLjNxfDNwPYlxS4cmHE,27
49
49
  reflex/compiler/compiler.py,sha256=72QhapNEw8y2q2B9n4RQVLlAaX50eqZF9nVDPX8dM9k,17872
@@ -72,12 +72,12 @@ reflex/components/base/meta.py,sha256=RWITTQTA_35-FbaVGhjkAWDOmU65rzJ-WedENRJk-3
72
72
  reflex/components/base/meta.pyi,sha256=b3Cf2m1DA5NhBqra0Cpd_abSfXiuTIXH3L6hSLhhz_o,12028
73
73
  reflex/components/base/script.py,sha256=pzjfVygBenPQTu1T8j8zCZJTBywaZ4Rw-EQmTh_ZnHY,2389
74
74
  reflex/components/base/script.pyi,sha256=wBxTC2evS69oT-NQiRPVMWwxN2kuju5KPeqdfBzDV4o,4364
75
- reflex/components/component.py,sha256=0iDz024RL37kd8deHBOLCj7yiXNZ8VBkHe6vyeauNbw,78219
75
+ reflex/components/component.py,sha256=Z8wQBXzEmlUT2AFX6WpOY1x2pezcfRHRBrW1UtgVjD8,78508
76
76
  reflex/components/core/__init__.py,sha256=msAsWb_6bmZGSei4gEpyYczuJ0VNEZtg20fRtyb3wwM,1285
77
77
  reflex/components/core/__init__.pyi,sha256=hmng2kT4e3iBSSI_x9t7g2-58G6Cb4rhuwz_APJ-UZM,1994
78
78
  reflex/components/core/banner.py,sha256=aYcpFdJ0C1sarfE8DpODYdIK1OJyGPufhGWpoptc4cQ,8751
79
79
  reflex/components/core/banner.pyi,sha256=_9cI4WYYPShYiF95X6CN0t4IWkJeXIsvnnUI7Th-pYg,19525
80
- reflex/components/core/breakpoints.py,sha256=tL8LqCU2zO5mcZhsFUgobnpVYiGpHKc4a8DCfjXqjYc,2771
80
+ reflex/components/core/breakpoints.py,sha256=ZEUGByvPrGM2GFH0K9raGcWkNX8LBhX9o3atE0eCYKs,2711
81
81
  reflex/components/core/client_side_routing.py,sha256=R-ghZop3v9tlDA4Uc59365M-Jk49ntrw27z6x8m7OSM,1883
82
82
  reflex/components/core/client_side_routing.pyi,sha256=O_xdRkmCmtrm1wzHubWyKDyqBRo5dmAHvkAJ0u82bDM,5839
83
83
  reflex/components/core/clipboard.py,sha256=wZgv1zUsgKkE5w0FoO_QS6sSLV8Zo20U0j1RhDlJ8SA,3159
@@ -330,10 +330,10 @@ reflex/constants/route.py,sha256=fu1jp9MoIriUJ8Cu4gLeinTxkyVBbRPs8Bkt35vqYOM,214
330
330
  reflex/constants/style.py,sha256=sJ6LuPY1OWemwMXnI1Htm-pa087HWT6PWljUeyokcUI,474
331
331
  reflex/custom_components/__init__.py,sha256=R4zsvOi4dfPmHc18KEphohXnQFBPnUCb50cMR5hSLDE,36
332
332
  reflex/custom_components/custom_components.py,sha256=1f9FzCR4EQ5t25pFLHrItV4_TN0XUAK7L49kpRHQMRs,33141
333
- reflex/event.py,sha256=mujUMtv52-DdcS4_fx7XpHwDUAzj_sCd7km-YImPW_U,31394
333
+ reflex/event.py,sha256=TANj8GZYKKVQx20CAOjMQRTfGxua8xywxinpX5jurlA,31366
334
334
  reflex/experimental/__init__.py,sha256=usDkf5yRMHKHjdRa_KfedFeD-urOMAKBuNfsghzvre4,1974
335
335
  reflex/experimental/assets.py,sha256=nWj4454REHDP2gybtlhOac0Xyb0uqBMzjAFqYlaYwcE,1758
336
- reflex/experimental/client_state.py,sha256=FHvjJmWA2uvt-169ZQiCCiIYRYcbctaQJlzGbZNChPU,7682
336
+ reflex/experimental/client_state.py,sha256=t1oOMY1n7U3AqtsZtWfoioBThpxgyNY3i00egn9KqfA,7799
337
337
  reflex/experimental/hooks.py,sha256=fHYD4rX_f7T38gsFDqglD9E29FjPLf6jO1rN39DX7XM,2242
338
338
  reflex/experimental/layout.py,sha256=talXPlKuRzJFNGoyc3ATEaJg7_Z4jgTAAXiTi29STWs,7586
339
339
  reflex/experimental/layout.pyi,sha256=ziRPPYXnSf_DKNCIKHdcJVOxjqzDrjm1QwN9idrQ7eE,18075
@@ -345,7 +345,7 @@ reflex/model.py,sha256=dWeHeTaGzzrtW6LbbErP-xSDDougnrMKUR90gRoPML4,14173
345
345
  reflex/page.py,sha256=NPT0xMownZGTiYiRtrUJnvAe_4oEvlzEJEkG-vrGhqI,2077
346
346
  reflex/reflex.py,sha256=d3gNFCdCmejwIsxacO6XunnxOE6-9m1ISUewrh7yYKo,18567
347
347
  reflex/route.py,sha256=WZS7stKgO94nekFFYHaOqNgN3zZGpJb3YpGF4ViTHmw,4198
348
- reflex/state.py,sha256=S6qhCKUA3IiOR-wx2HjydOKMCtovmbvm2NZq74uael0,127143
348
+ reflex/state.py,sha256=3CAcPtdbVyilczWaot59R8jAcJ-6pz-xjl8BLYKTtMc,127117
349
349
  reflex/style.py,sha256=8O8W2zU0VonTj03WigEq3XNtUuj1lBkpJRp_6bOOApQ,12183
350
350
  reflex/testing.py,sha256=s3ePtY32S7j27iBNPX2pte4D9tsZtN74tKtsmx3HsiY,34517
351
351
  reflex/utils/__init__.py,sha256=y-AHKiRQAhk2oAkvn7W8cRVTZVK625ff8tTwvZtO7S4,24
@@ -361,22 +361,22 @@ reflex/utils/imports.py,sha256=DMyHT1f6VtnuKidnqCXsxNb-gVjVHTSAGwsYl-6HnmE,3623
361
361
  reflex/utils/lazy_loader.py,sha256=utVpUjKcz32GC1I7g0g7OlTyvVoZNFcuAjNtnxiSYww,1282
362
362
  reflex/utils/net.py,sha256=UFCfaOjvRDVLTeTzLKJ5iDAWtPNuhng5gOs-pIMYQek,1267
363
363
  reflex/utils/path_ops.py,sha256=0-X6FZh-ktqEj_yKtS9IcuzkOROchtZLUXoyV6toD4k,5195
364
- reflex/utils/prerequisites.py,sha256=uMnGyGt-noYAkrahSCOzpUqe1DNbGrywzq8PcG8wtAQ,52429
364
+ reflex/utils/prerequisites.py,sha256=a5cB0G2_LvHywaxXX4VxGDyIgd8CyzqcLk3-TOtSIZs,52926
365
365
  reflex/utils/processes.py,sha256=y8X5PxycEWT1ItLtpIS-rzrUvNQ9MUOkHdIg_zK9Vp0,13228
366
366
  reflex/utils/pyi_generator.py,sha256=n9GpxSOeTvIH2pJHd748TUbD0bZgoqEJCxXLD5aAjvQ,34574
367
367
  reflex/utils/redir.py,sha256=B0K9m6ejDW0ABeclBb4AsRRORvx_stCTWsrDe1YvkzY,1679
368
368
  reflex/utils/registry.py,sha256=NKtd1ewsu0_p-FoD0pmLWCEzRrm_6t4Lis8Erip3w4g,1161
369
369
  reflex/utils/serializers.py,sha256=iZPVSgkfklM_Nyfee2VWSuM7Mz1kV7MIjzNIEbnOF8k,10864
370
- reflex/utils/telemetry.py,sha256=iDPuXY2lD8K04-4LuMmJilAcC3W7wX-19aWef1DnWF4,5590
371
- reflex/utils/types.py,sha256=vaHLjZ1Qjf3XC3IMPVphD5ebFcYZ6uN4-WjKGnY6s8Q,18533
370
+ reflex/utils/telemetry.py,sha256=zyy-bQjf18qQM-iTACIA9T7VBWRpm-DNES7iNJLrieo,5596
371
+ reflex/utils/types.py,sha256=DvS1pESOEs0RTTJYs56CRrmPltmkiXcfyzCF06DGVwM,18519
372
372
  reflex/vars/__init__.py,sha256=OdCzmDFGMbCoy5VN4xQ3DaLpHck7npuLz7OUYvsN6Xw,1128
373
373
  reflex/vars/base.py,sha256=6JWyrDH4reUE97gHwOWGAEv1q25hLKG5eBxLqdY_i4Y,78020
374
374
  reflex/vars/function.py,sha256=GjTGRjDhMRACSPBIGNYgQzjKI2WgfhSluAWCm1mJQnU,5478
375
375
  reflex/vars/number.py,sha256=vEdeXTLCwWLK-FcPFH6DKpmpWyhuvDEQ64yLpipasFs,27937
376
376
  reflex/vars/object.py,sha256=wOq74_nDNAhqgT21HkHGfRukGdLjWoLprHjFNy1hjy8,14988
377
- reflex/vars/sequence.py,sha256=V9fVRdtgMb3ZUK3njl_baBVLzidajIH_XnvLf7QSinA,44462
378
- reflex-0.6.0a3.dist-info/LICENSE,sha256=dw3zLrp9f5ObD7kqS32vWfhcImfO52PMmRqvtxq_YEE,11358
379
- reflex-0.6.0a3.dist-info/METADATA,sha256=dECTQLjns6uCuadWLi1xs8Mgou8DNqVuKP8uj31yYCU,12063
380
- reflex-0.6.0a3.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
381
- reflex-0.6.0a3.dist-info/entry_points.txt,sha256=H1Z5Yat_xJfy0dRT1Frk2PkO_p41Xy7fCKlj4FcdL9o,44
382
- reflex-0.6.0a3.dist-info/RECORD,,
377
+ reflex/vars/sequence.py,sha256=3Qz9FdtAPzEGRKq_z1jJvi8I6-vHaAmzRtZE-agkKDU,44301
378
+ reflex-0.6.0a4.dist-info/LICENSE,sha256=dw3zLrp9f5ObD7kqS32vWfhcImfO52PMmRqvtxq_YEE,11358
379
+ reflex-0.6.0a4.dist-info/METADATA,sha256=J5sP6bwzSa4OlD3EuK0br8m7kJfxaFCuXcQlut-PPfc,12111
380
+ reflex-0.6.0a4.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
381
+ reflex-0.6.0a4.dist-info/entry_points.txt,sha256=H1Z5Yat_xJfy0dRT1Frk2PkO_p41Xy7fCKlj4FcdL9o,44
382
+ reflex-0.6.0a4.dist-info/RECORD,,