reflex 0.5.6a1__py3-none-any.whl → 0.5.7__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/.templates/jinja/web/utils/context.js.jinja2 +2 -0
- reflex/.templates/web/utils/state.js +31 -2
- reflex/__init__.py +7 -1
- reflex/__init__.pyi +3 -0
- reflex/app.py +190 -4
- reflex/compiler/templates.py +1 -0
- reflex/components/base/__init__.py +4 -0
- reflex/components/base/__init__.pyi +2 -0
- reflex/components/base/error_boundary.py +78 -0
- reflex/components/base/error_boundary.pyi +98 -0
- reflex/components/core/foreach.py +3 -2
- reflex/components/core/upload.py +1 -1
- reflex/components/radix/primitives/form.py +3 -2
- reflex/components/recharts/cartesian.py +31 -16
- reflex/components/recharts/cartesian.pyi +46 -22
- reflex/components/recharts/charts.py +6 -6
- reflex/components/recharts/charts.pyi +10 -10
- reflex/components/recharts/general.py +7 -0
- reflex/components/recharts/general.pyi +5 -0
- reflex/components/recharts/recharts.py +16 -1
- reflex/components/recharts/recharts.pyi +1 -0
- reflex/config.py +2 -1
- reflex/constants/compiler.py +20 -2
- reflex/constants/config.py +1 -1
- reflex/event.py +9 -0
- reflex/experimental/__init__.py +2 -0
- reflex/experimental/vars/__init__.py +3 -0
- reflex/experimental/vars/base.py +210 -0
- reflex/state.py +105 -21
- reflex/testing.py +28 -0
- reflex/utils/compat.py +7 -5
- reflex/utils/console.py +10 -1
- reflex/utils/prerequisites.py +11 -5
- reflex/utils/processes.py +7 -2
- reflex/utils/pyi_generator.py +4 -1
- reflex/utils/types.py +35 -30
- reflex/vars.py +58 -23
- reflex/vars.pyi +4 -1
- {reflex-0.5.6a1.dist-info → reflex-0.5.7.dist-info}/METADATA +1 -1
- {reflex-0.5.6a1.dist-info → reflex-0.5.7.dist-info}/RECORD +43 -39
- {reflex-0.5.6a1.dist-info → reflex-0.5.7.dist-info}/LICENSE +0 -0
- {reflex-0.5.6a1.dist-info → reflex-0.5.7.dist-info}/WHEEL +0 -0
- {reflex-0.5.6a1.dist-info → reflex-0.5.7.dist-info}/entry_points.txt +0 -0
reflex/utils/processes.py
CHANGED
|
@@ -4,6 +4,7 @@ from __future__ import annotations
|
|
|
4
4
|
|
|
5
5
|
import collections
|
|
6
6
|
import contextlib
|
|
7
|
+
import importlib.metadata
|
|
7
8
|
import os
|
|
8
9
|
import signal
|
|
9
10
|
import subprocess
|
|
@@ -58,8 +59,12 @@ def get_process_on_port(port) -> Optional[psutil.Process]:
|
|
|
58
59
|
"""
|
|
59
60
|
for proc in psutil.process_iter(["pid", "name", "cmdline"]):
|
|
60
61
|
try:
|
|
61
|
-
|
|
62
|
-
|
|
62
|
+
if importlib.metadata.version("psutil") >= "6.0.0":
|
|
63
|
+
conns = proc.net_connections(kind="inet") # type: ignore
|
|
64
|
+
else:
|
|
65
|
+
conns = proc.connections(kind="inet")
|
|
66
|
+
for conn in conns:
|
|
67
|
+
if conn.laddr.port == int(port):
|
|
63
68
|
return proc
|
|
64
69
|
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
|
|
65
70
|
pass
|
reflex/utils/pyi_generator.py
CHANGED
|
@@ -159,7 +159,10 @@ def _get_type_hint(value, type_hint_globals, is_optional=True) -> str:
|
|
|
159
159
|
]
|
|
160
160
|
)
|
|
161
161
|
|
|
162
|
-
if
|
|
162
|
+
if (
|
|
163
|
+
value.__module__ not in ["builtins", "__builtins__"]
|
|
164
|
+
and value.__name__ not in type_hint_globals
|
|
165
|
+
):
|
|
163
166
|
raise TypeError(
|
|
164
167
|
f"{value.__module__ + '.' + value.__name__} is not a default import, "
|
|
165
168
|
"add it to DEFAULT_IMPORTS in pyi_generator.py"
|
reflex/utils/types.py
CHANGED
|
@@ -245,36 +245,41 @@ def get_attribute_access_type(cls: GenericType, name: str) -> GenericType | None
|
|
|
245
245
|
# check for list types
|
|
246
246
|
column = insp.columns[name]
|
|
247
247
|
column_type = column.type
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
248
|
+
try:
|
|
249
|
+
type_ = insp.columns[name].type.python_type
|
|
250
|
+
except NotImplementedError:
|
|
251
|
+
type_ = None
|
|
252
|
+
if type_ is not None:
|
|
253
|
+
if hasattr(column_type, "item_type"):
|
|
254
|
+
try:
|
|
255
|
+
item_type = column_type.item_type.python_type # type: ignore
|
|
256
|
+
except NotImplementedError:
|
|
257
|
+
item_type = None
|
|
258
|
+
if item_type is not None:
|
|
259
|
+
if type_ in PrimitiveToAnnotation:
|
|
260
|
+
type_ = PrimitiveToAnnotation[type_] # type: ignore
|
|
261
|
+
type_ = type_[item_type] # type: ignore
|
|
262
|
+
if column.nullable:
|
|
263
|
+
type_ = Optional[type_]
|
|
264
|
+
return type_
|
|
265
|
+
if name in insp.all_orm_descriptors:
|
|
266
|
+
descriptor = insp.all_orm_descriptors[name]
|
|
267
|
+
if hint := get_property_hint(descriptor):
|
|
268
|
+
return hint
|
|
269
|
+
if isinstance(descriptor, QueryableAttribute):
|
|
270
|
+
prop = descriptor.property
|
|
271
|
+
if isinstance(prop, Relationship):
|
|
272
|
+
type_ = prop.mapper.class_
|
|
273
|
+
# TODO: check for nullable?
|
|
274
|
+
type_ = List[type_] if prop.uselist else Optional[type_]
|
|
275
|
+
return type_
|
|
276
|
+
if isinstance(attr, AssociationProxyInstance):
|
|
277
|
+
return List[
|
|
278
|
+
get_attribute_access_type(
|
|
279
|
+
attr.target_class,
|
|
280
|
+
attr.remote_attr.key, # type: ignore[attr-defined]
|
|
281
|
+
)
|
|
282
|
+
]
|
|
278
283
|
elif isinstance(cls, type) and not is_generic_alias(cls) and issubclass(cls, Model):
|
|
279
284
|
# Check in the annotations directly (for sqlmodel.Relationship)
|
|
280
285
|
hints = get_type_hints(cls)
|
reflex/vars.py
CHANGED
|
@@ -262,6 +262,9 @@ _decode_var_pattern_re = (
|
|
|
262
262
|
)
|
|
263
263
|
_decode_var_pattern = re.compile(_decode_var_pattern_re, flags=re.DOTALL)
|
|
264
264
|
|
|
265
|
+
# Defined global immutable vars.
|
|
266
|
+
_global_vars: Dict[int, Var] = {}
|
|
267
|
+
|
|
265
268
|
|
|
266
269
|
def _decode_var(value: str) -> tuple[VarData | None, str]:
|
|
267
270
|
"""Decode the state name from a formatted var.
|
|
@@ -294,17 +297,32 @@ def _decode_var(value: str) -> tuple[VarData | None, str]:
|
|
|
294
297
|
start, end = m.span()
|
|
295
298
|
value = value[:start] + value[end:]
|
|
296
299
|
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
300
|
+
serialized_data = m.group(1)
|
|
301
|
+
|
|
302
|
+
if serialized_data[1:].isnumeric():
|
|
303
|
+
# This is a global immutable var.
|
|
304
|
+
var = _global_vars[int(serialized_data)]
|
|
305
|
+
var_data = var._var_data
|
|
306
|
+
|
|
307
|
+
if var_data is not None:
|
|
308
|
+
realstart = start + offset
|
|
309
|
+
var_data.interpolations = [
|
|
310
|
+
(realstart, realstart + len(var._var_name))
|
|
311
|
+
]
|
|
312
|
+
|
|
313
|
+
var_datas.append(var_data)
|
|
314
|
+
else:
|
|
315
|
+
# Read the JSON, pull out the string length, parse the rest as VarData.
|
|
316
|
+
data = json_loads(serialized_data)
|
|
317
|
+
string_length = data.pop("string_length", None)
|
|
318
|
+
var_data = VarData.parse_obj(data)
|
|
301
319
|
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
320
|
+
# Use string length to compute positions of interpolations.
|
|
321
|
+
if string_length is not None:
|
|
322
|
+
realstart = start + offset
|
|
323
|
+
var_data.interpolations = [(realstart, realstart + string_length)]
|
|
306
324
|
|
|
307
|
-
|
|
325
|
+
var_datas.append(var_data)
|
|
308
326
|
offset += end - start
|
|
309
327
|
|
|
310
328
|
return VarData.merge(*var_datas) if var_datas else None, value
|
|
@@ -496,6 +514,9 @@ class Var:
|
|
|
496
514
|
|
|
497
515
|
Returns:
|
|
498
516
|
A new BaseVar with the updated fields overwriting the corresponding fields in this Var.
|
|
517
|
+
|
|
518
|
+
Raises:
|
|
519
|
+
TypeError: If kwargs contains keys that are not allowed.
|
|
499
520
|
"""
|
|
500
521
|
field_values = dict(
|
|
501
522
|
_var_name=kwargs.pop("_var_name", self._var_name),
|
|
@@ -507,9 +528,14 @@ class Var:
|
|
|
507
528
|
self._var_full_name_needs_state_prefix,
|
|
508
529
|
),
|
|
509
530
|
_var_data=VarData.merge(
|
|
510
|
-
kwargs.
|
|
531
|
+
kwargs.pop("_var_data", self._var_data), merge_var_data
|
|
511
532
|
),
|
|
512
533
|
)
|
|
534
|
+
|
|
535
|
+
if kwargs:
|
|
536
|
+
unexpected_kwargs = ", ".join(kwargs.keys())
|
|
537
|
+
raise TypeError(f"Unexpected keyword arguments: {unexpected_kwargs}")
|
|
538
|
+
|
|
513
539
|
return BaseVar(**field_values)
|
|
514
540
|
|
|
515
541
|
def _decode(self) -> Any:
|
|
@@ -2024,26 +2050,35 @@ class ComputedVar(Var, property):
|
|
|
2024
2050
|
|
|
2025
2051
|
Returns:
|
|
2026
2052
|
The new ComputedVar instance.
|
|
2053
|
+
|
|
2054
|
+
Raises:
|
|
2055
|
+
TypeError: If kwargs contains keys that are not allowed.
|
|
2027
2056
|
"""
|
|
2028
|
-
|
|
2029
|
-
fget=kwargs.
|
|
2030
|
-
initial_value=kwargs.
|
|
2031
|
-
cache=kwargs.
|
|
2032
|
-
deps=kwargs.
|
|
2033
|
-
auto_deps=kwargs.
|
|
2034
|
-
interval=kwargs.
|
|
2035
|
-
backend=kwargs.
|
|
2036
|
-
_var_name=kwargs.
|
|
2037
|
-
_var_type=kwargs.
|
|
2038
|
-
_var_is_local=kwargs.
|
|
2039
|
-
_var_is_string=kwargs.
|
|
2040
|
-
_var_full_name_needs_state_prefix=kwargs.
|
|
2057
|
+
field_values = dict(
|
|
2058
|
+
fget=kwargs.pop("fget", self.fget),
|
|
2059
|
+
initial_value=kwargs.pop("initial_value", self._initial_value),
|
|
2060
|
+
cache=kwargs.pop("cache", self._cache),
|
|
2061
|
+
deps=kwargs.pop("deps", self._static_deps),
|
|
2062
|
+
auto_deps=kwargs.pop("auto_deps", self._auto_deps),
|
|
2063
|
+
interval=kwargs.pop("interval", self._update_interval),
|
|
2064
|
+
backend=kwargs.pop("backend", self._backend),
|
|
2065
|
+
_var_name=kwargs.pop("_var_name", self._var_name),
|
|
2066
|
+
_var_type=kwargs.pop("_var_type", self._var_type),
|
|
2067
|
+
_var_is_local=kwargs.pop("_var_is_local", self._var_is_local),
|
|
2068
|
+
_var_is_string=kwargs.pop("_var_is_string", self._var_is_string),
|
|
2069
|
+
_var_full_name_needs_state_prefix=kwargs.pop(
|
|
2041
2070
|
"_var_full_name_needs_state_prefix",
|
|
2042
2071
|
self._var_full_name_needs_state_prefix,
|
|
2043
2072
|
),
|
|
2044
2073
|
_var_data=VarData.merge(self._var_data, merge_var_data),
|
|
2045
2074
|
)
|
|
2046
2075
|
|
|
2076
|
+
if kwargs:
|
|
2077
|
+
unexpected_kwargs = ", ".join(kwargs.keys())
|
|
2078
|
+
raise TypeError(f"Unexpected keyword arguments: {unexpected_kwargs}")
|
|
2079
|
+
|
|
2080
|
+
return ComputedVar(**field_values)
|
|
2081
|
+
|
|
2047
2082
|
@property
|
|
2048
2083
|
def _cache_attr(self) -> str:
|
|
2049
2084
|
"""Get the attribute used to cache the value on the instance.
|
reflex/vars.pyi
CHANGED
|
@@ -35,6 +35,9 @@ USED_VARIABLES: Incomplete
|
|
|
35
35
|
|
|
36
36
|
def get_unique_variable_name() -> str: ...
|
|
37
37
|
def _encode_var(value: Var) -> str: ...
|
|
38
|
+
|
|
39
|
+
_global_vars: Dict[int, Var]
|
|
40
|
+
|
|
38
41
|
def _decode_var(value: str) -> tuple[VarData, str]: ...
|
|
39
42
|
def _extract_var_data(value: Iterable) -> list[VarData | None]: ...
|
|
40
43
|
|
|
@@ -115,7 +118,7 @@ class Var:
|
|
|
115
118
|
def __or__(self, other: Var) -> Var: ...
|
|
116
119
|
def __ror__(self, other: Var) -> Var: ...
|
|
117
120
|
def __contains__(self, _: Any) -> Var: ...
|
|
118
|
-
def contains(self, other: Any) -> Var: ...
|
|
121
|
+
def contains(self, other: Any, field: Union[Var, None] = None) -> Var: ...
|
|
119
122
|
def reverse(self) -> Var: ...
|
|
120
123
|
def foreach(self, fn: Callable) -> Var: ...
|
|
121
124
|
@classmethod
|
|
@@ -47,7 +47,7 @@ reflex/.templates/jinja/web/pages/stateful_components.js.jinja2,sha256=BfHi7ckH9
|
|
|
47
47
|
reflex/.templates/jinja/web/pages/utils.js.jinja2,sha256=xi1ryZ2dqWM4pmB4p028hxRtsdP6T3ZR5a8OG_U1IAs,3883
|
|
48
48
|
reflex/.templates/jinja/web/styles/styles.css.jinja2,sha256=4-CvqGR8-nRzkuCOSp_PdqmhPEmOs_kOhskOlhLMEUg,141
|
|
49
49
|
reflex/.templates/jinja/web/tailwind.config.js.jinja2,sha256=uZMIvtL94OZh6h8zsduv3ox6EXnnYgfVXB_5moOe86E,761
|
|
50
|
-
reflex/.templates/jinja/web/utils/context.js.jinja2,sha256=
|
|
50
|
+
reflex/.templates/jinja/web/utils/context.js.jinja2,sha256=t9wwcTFr2PMRo02Brqv1nPWJWGHCkls1wxb-PhvbRUM,3938
|
|
51
51
|
reflex/.templates/jinja/web/utils/theme.js.jinja2,sha256=cdRQR4cx0OFHUY060k1AdsPpK7BNUV--NzsC9HdH4l8,37
|
|
52
52
|
reflex/.templates/web/.gitignore,sha256=3tT0CtVkCL09D_Y3Hd4myUgGcBuESeavCa0WHU5ifJ4,417
|
|
53
53
|
reflex/.templates/web/components/reflex/chakra_color_mode_provider.js,sha256=E_-MshxFMx6gdLgICU2K2gEBQJTWQQrPft5SNg5ZnFo,1166
|
|
@@ -62,12 +62,12 @@ reflex/.templates/web/utils/helpers/debounce.js,sha256=xGhtTRtS_xIcaeqnYVvYJNseL
|
|
|
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=
|
|
66
|
-
reflex/__init__.py,sha256=
|
|
67
|
-
reflex/__init__.pyi,sha256=
|
|
65
|
+
reflex/.templates/web/utils/state.js,sha256=c56zCKUoSgHzlCFq3Zc5CQKTh1AaQa3KInE-6fv5pFI,25946
|
|
66
|
+
reflex/__init__.py,sha256=ODbR-WJ4-ugGhepPf34fUy2GZdkxo3TpZaca1tpD7kw,9728
|
|
67
|
+
reflex/__init__.pyi,sha256=brBPyevzsUhaSKKgJVkXmm8VmXy8umVIIBjjV4IwcTI,10751
|
|
68
68
|
reflex/__main__.py,sha256=6cVrGEyT3j3tEvlEVUatpaYfbB5EF3UVY-6vc_Z7-hw,108
|
|
69
69
|
reflex/admin.py,sha256=_3pkkauMiTGJJ0kwAEBnsUWAgZZ_1WNnCaaObbhpmUI,374
|
|
70
|
-
reflex/app.py,sha256=
|
|
70
|
+
reflex/app.py,sha256=R7mYCVX-Fg2T99B9KZ8W_J6Xl0efodYK-n5A5_Yd-MU,54111
|
|
71
71
|
reflex/app_mixins/__init__.py,sha256=Oegz3-gZLP9p2OAN5ALNbsgxuNQfS6lGZgQA8cc-9mQ,137
|
|
72
72
|
reflex/app_mixins/lifespan.py,sha256=0PaavAPTYmF7JdLKGfZQu_NT7oAaxyq7-5fauLZ9e8Y,2048
|
|
73
73
|
reflex/app_mixins/middleware.py,sha256=6Yby_Uw1-J0K7NgPyh-X7tGGhmezn6D7-KsfABYAVBU,3130
|
|
@@ -76,12 +76,12 @@ reflex/app_module_for_backend.py,sha256=TOB73WSoPs-DVitLNjnCXDb5FXQFEvoIDIohDwov
|
|
|
76
76
|
reflex/base.py,sha256=qBP_gr9BEPL2P0uYSH8mSw9FZJ2V2AxCSw1mcNVpnvw,4297
|
|
77
77
|
reflex/compiler/__init__.py,sha256=r8jqmDSFf09iV2lHlNhfc9XrTLjNxfDNwPYlxS4cmHE,27
|
|
78
78
|
reflex/compiler/compiler.py,sha256=1_PfhgLXozGmkMhFx58NBmCLF3gA4erf-vVerERB3_4,17814
|
|
79
|
-
reflex/compiler/templates.py,sha256=
|
|
79
|
+
reflex/compiler/templates.py,sha256=qY3qH7Z4oH_5i4nhMxffAFXbY6Fc9mEnCtlVP7uU7nU,4562
|
|
80
80
|
reflex/compiler/utils.py,sha256=7pEs27NEdDy2cORe3I4ues8lFGXfNuc7y7CEaZ-N5jU,13957
|
|
81
81
|
reflex/components/__init__.py,sha256=W_KyltR_KeMweL1-j0Q1tu3e7wJ8osDGxEh0LAFfqDI,638
|
|
82
82
|
reflex/components/__init__.pyi,sha256=yQyzkFsaQMsJkDYUbj-ITwyWcoYxRpnlpGUrdg4Hmy8,892
|
|
83
|
-
reflex/components/base/__init__.py,sha256=
|
|
84
|
-
reflex/components/base/__init__.pyi,sha256=
|
|
83
|
+
reflex/components/base/__init__.py,sha256=QIOxOPT87WrSE4TSHAsZ-358VzvUXAe1w8vWogQ3Uuo,730
|
|
84
|
+
reflex/components/base/__init__.pyi,sha256=c-8lUF9MAgAo9OHMjKIrV2ScM5S0fg8gTXp3iYFwVKU,1055
|
|
85
85
|
reflex/components/base/app_wrap.py,sha256=45fkel5ATAcCp7-eUCGXNuq4QwnCpI33VNJOIP_L6k4,574
|
|
86
86
|
reflex/components/base/app_wrap.pyi,sha256=Ic4YetB-PdBdc7wjknJKIZ4_gtIQviwojVzztihKjlg,2790
|
|
87
87
|
reflex/components/base/bare.py,sha256=cbIugrPzaank429Xk5mLRydOCxLTX0tuRdXKoKL2Bxw,1234
|
|
@@ -89,6 +89,8 @@ reflex/components/base/body.py,sha256=QHOGMr98I6bUXsQKXcY0PzJdhopH6gQ8AESrDSgJV6
|
|
|
89
89
|
reflex/components/base/body.pyi,sha256=-QlAMnAHDikAWFzqxLJTSosW0LSJ-J0WJlbD1DQlIgo,3184
|
|
90
90
|
reflex/components/base/document.py,sha256=_Cl9iMXwXdxGMrCLAT20v35FX3MGtbqh2dfWenDtSKc,583
|
|
91
91
|
reflex/components/base/document.pyi,sha256=tYLJTR7zAjlbcZ5doe59vv1-XEE5ZvrkhDlfuCRXHjA,14186
|
|
92
|
+
reflex/components/base/error_boundary.py,sha256=XB_6Cz68Vg7TVRAlb4SLozHsSRa0FIWRGTZKznbbkDc,2386
|
|
93
|
+
reflex/components/base/error_boundary.pyi,sha256=vrMhogZ-gZBOhVC5lWdKAnCwkQY5Lrfq6M9yvcgRhaE,3740
|
|
92
94
|
reflex/components/base/fragment.py,sha256=ys7wkokq-N8WBxa9fqkEaNIrBlSximyD7vqlFVe02hQ,342
|
|
93
95
|
reflex/components/base/fragment.pyi,sha256=14hH-O8uEug7VzcIjrqo7LcOlGNsC5HCp4YKJgizI6s,3224
|
|
94
96
|
reflex/components/base/head.py,sha256=BGjOksNZEo_AZcYEuxNH7onsRnfyxJkJzl4cTd_EwiQ,318
|
|
@@ -254,13 +256,13 @@ reflex/components/core/colors.py,sha256=-hzVGLEq3TiqroqzMi_YzGBCPXMvkNsen3pS_NzI
|
|
|
254
256
|
reflex/components/core/cond.py,sha256=wLHkGlp47FXk_VlzXx4n8k8xcLleWQsiWgIoNyUpuBE,6369
|
|
255
257
|
reflex/components/core/debounce.py,sha256=KFyfnvnaevSWrj04Uehh2w8guV2VM9oGx_ApuhP8q9M,4660
|
|
256
258
|
reflex/components/core/debounce.pyi,sha256=DBRFYOemKi_YYZRzRef7iQ9CSrchhPkVLlNGLDXdwUc,4038
|
|
257
|
-
reflex/components/core/foreach.py,sha256=
|
|
259
|
+
reflex/components/core/foreach.py,sha256=iTJMVHTUsWZzPN1xVT4CBsRHzDKv9bfLbUQkZM9tPV4,4823
|
|
258
260
|
reflex/components/core/html.py,sha256=iSeKFcld5m4zoXOGq0QEaKKtgTUUVLrIEVsP3cyYCxE,1305
|
|
259
261
|
reflex/components/core/html.pyi,sha256=184TSzJ6NnxJuLBZWI4VSiWH_9Orc3zEHlIcu539Otw,6274
|
|
260
262
|
reflex/components/core/layout/__init__.py,sha256=znldZaj_NGt8qCZDG70GMwjMTskcvCf_2N_EjCAHwdc,30
|
|
261
263
|
reflex/components/core/match.py,sha256=y7sBAwTJPLsfjNo6fmPykRaKUyuMa8orG6lwOvRt68c,9558
|
|
262
264
|
reflex/components/core/responsive.py,sha256=ACZdtJ4a4F8B3dm1k8h6J2_UJx0Z5LDB7XHQ2ty4wAc,1911
|
|
263
|
-
reflex/components/core/upload.py,sha256=
|
|
265
|
+
reflex/components/core/upload.py,sha256=nTXUE_4of_NeP5ghe6kysrQz2EJdCVJkXAwG0XKIEQU,10220
|
|
264
266
|
reflex/components/core/upload.pyi,sha256=tFo0VYlQ2eEL-QhQrAKiTSD-a3GwcRAs2XMzfPtYT6A,16582
|
|
265
267
|
reflex/components/datadisplay/__init__.py,sha256=Uxq0V74orISXh6woTNQXgOUrKMSf0bi6Aytsh7G59yw,471
|
|
266
268
|
reflex/components/datadisplay/__init__.pyi,sha256=qBAk9Dsp7woSrOChcQ1YsXdGNYuJv-jCZpKSsEwMiIQ,653
|
|
@@ -337,7 +339,7 @@ reflex/components/radix/primitives/base.py,sha256=QTdESCrw9ceQgPr3VtfjRTmpKeP1OH
|
|
|
337
339
|
reflex/components/radix/primitives/base.pyi,sha256=95CZauwaCRAZOpidA62vN3tl5eCnoHxN1IQ0ZO9Zs3A,6330
|
|
338
340
|
reflex/components/radix/primitives/drawer.py,sha256=yXSnNLSP1WBfrsicqQP0hYlUOgYapW8S35NY-lzFuJk,8189
|
|
339
341
|
reflex/components/radix/primitives/drawer.pyi,sha256=Y6ADr_Igtk6NLmT-kxyrUevAPmtEyEzrF6FC6yNp8Jw,34117
|
|
340
|
-
reflex/components/radix/primitives/form.py,sha256=
|
|
342
|
+
reflex/components/radix/primitives/form.py,sha256=kykwpiCkj6JskEEg6WOSSnbSzqrKcpOEbvrFbXYhfdw,4799
|
|
341
343
|
reflex/components/radix/primitives/form.pyi,sha256=-8doIGXVWVjQxijyBgtwBGSYP8I8OdeqsrrLYSvECPE,46441
|
|
342
344
|
reflex/components/radix/primitives/progress.py,sha256=-O0puNQxxRDlgucNI697mzsMy-ce9pTSPtLaqCqpGWQ,4022
|
|
343
345
|
reflex/components/radix/primitives/progress.pyi,sha256=g3RAAlsJEpMmj0evwFHddoQZ1YfS1lsWRJcc-b3TCQg,22511
|
|
@@ -465,16 +467,16 @@ reflex/components/react_player/video.py,sha256=2V6tiwCwrzu9WPI1Wmuepk8kQ6M6K8nnM
|
|
|
465
467
|
reflex/components/react_player/video.pyi,sha256=dzqTEpt5wZ1odNNvK2OhsO1lPYt1ww1nGTPoBXHT7b8,6191
|
|
466
468
|
reflex/components/recharts/__init__.py,sha256=GUifJIUtG91u4K55junZ_-l5ArcRFFDIyjS4y0lyAL4,2644
|
|
467
469
|
reflex/components/recharts/__init__.pyi,sha256=FUu_BmjhVTbjU92KH2NnYEFr4eeZLMkthX8iIwswDIM,5076
|
|
468
|
-
reflex/components/recharts/cartesian.py,sha256=
|
|
469
|
-
reflex/components/recharts/cartesian.pyi,sha256=
|
|
470
|
-
reflex/components/recharts/charts.py,sha256=
|
|
471
|
-
reflex/components/recharts/charts.pyi,sha256=
|
|
472
|
-
reflex/components/recharts/general.py,sha256=
|
|
473
|
-
reflex/components/recharts/general.pyi,sha256=
|
|
470
|
+
reflex/components/recharts/cartesian.py,sha256=AiPNaQuaUBu-iMGEZ-jJ1bBRZwpUQIbp9VOS6Ffu0bs,29739
|
|
471
|
+
reflex/components/recharts/cartesian.pyi,sha256=HRE-dz9htv3eM1Z1n2SpqT35CNwhwueDtDDPuD5UA5k,107937
|
|
472
|
+
reflex/components/recharts/charts.py,sha256=0Odwzjjtk6aRkVumHUKyoxsV2SsPMcE7UQtbYeG4HPE,17640
|
|
473
|
+
reflex/components/recharts/charts.pyi,sha256=uhCfMkKcgG7CQJQ88KcPM4uS4xtr8dYNsEanDuc-3bs,54403
|
|
474
|
+
reflex/components/recharts/general.py,sha256=8LXd0e1GdTE3UgZaZ3Ak6f_LN64KGK4SZ2RHKHpUi6E,7314
|
|
475
|
+
reflex/components/recharts/general.pyi,sha256=DaCg7JrG4Sl0yIKeUmg0VkQa6A09R_K8BTWJbBeuquw,25468
|
|
474
476
|
reflex/components/recharts/polar.py,sha256=SN7gvDKqBqocQ9CQD0XIML1vlK3GLKz4x9JwfX87L18,11197
|
|
475
477
|
reflex/components/recharts/polar.pyi,sha256=NIQybNTldkik6xEdAirSXPVLnAHBqGggz-qE8CFgZ7o,26216
|
|
476
|
-
reflex/components/recharts/recharts.py,sha256=
|
|
477
|
-
reflex/components/recharts/recharts.pyi,sha256=
|
|
478
|
+
reflex/components/recharts/recharts.py,sha256=Krz2U0DNzr0Q_Z7Kuwr6_dFX8HdLpH6eBBwp29CdPq4,3433
|
|
479
|
+
reflex/components/recharts/recharts.pyi,sha256=42KHKkYPwzLcH8uLd9IHd8J_hQ4lh3yniVG2luyy9xI,8592
|
|
478
480
|
reflex/components/sonner/__init__.py,sha256=L_mdRIy7-ccRGSz5VK6J8O-c-e-D1p9xWw29_ErrvGg,68
|
|
479
481
|
reflex/components/sonner/toast.py,sha256=XnamDs6Zsu7d67FEP9AMbq4weuuLVM4ZdPcyCx5ZJLY,10438
|
|
480
482
|
reflex/components/sonner/toast.pyi,sha256=7uSLtQ_6L5Iul9C5b8tNjDBhycUwKPQI0xjL6Cu58Is,8026
|
|
@@ -487,12 +489,12 @@ reflex/components/tags/iter_tag.py,sha256=HOYAnP6egvVRBl-C4MySFysZx7lxJt3CjtEA81
|
|
|
487
489
|
reflex/components/tags/match_tag.py,sha256=pMwy46ewquPNwa1S71sDS_0Ga8YuviSrbpBU-_CWsoQ,387
|
|
488
490
|
reflex/components/tags/tag.py,sha256=iORWH5NBQ8U1cdMfUKaAkvFiZhvs5FPR9eHKlGjmPYg,2816
|
|
489
491
|
reflex/components/tags/tagless.py,sha256=qO7Gm4V0ITDyymHkyltfz53155ZBt-W_WIPDYy93ca0,587
|
|
490
|
-
reflex/config.py,sha256=
|
|
492
|
+
reflex/config.py,sha256=YbLTNeQ8P31b4HiYmC1rFPfRplP0OQp_2BZU6Azv-aw,11958
|
|
491
493
|
reflex/constants/__init__.py,sha256=ICWLo-8TEu_HuMqy-dXdw3Zi7NYbA7ZvHmWGpt3L_VY,2030
|
|
492
494
|
reflex/constants/base.py,sha256=F-vnRX8am-0assoM4DjvZOAo-wcsnaMw3BF4PO9KKHQ,5618
|
|
493
495
|
reflex/constants/colors.py,sha256=gab_GwjKcbpRJGS2zX0gkmc_yFT1nmQbFDHqx0mXKB0,1625
|
|
494
|
-
reflex/constants/compiler.py,sha256=
|
|
495
|
-
reflex/constants/config.py,sha256=
|
|
496
|
+
reflex/constants/compiler.py,sha256=Nool-szUS4fMEvEZx829sCyOw2g7f__RCfd1rNcAtec,4933
|
|
497
|
+
reflex/constants/config.py,sha256=1ocFCpfKmCo8UPpeSSqjt45-bmjvl1nFgeAY2pBs7so,1475
|
|
496
498
|
reflex/constants/custom_components.py,sha256=SX0SQVb-d6HJkZdezFL4UgkumyF6eJF682y4OvRUqUM,1268
|
|
497
499
|
reflex/constants/event.py,sha256=4Od4X2nIY92sqQIorAhTcKnWRYPBS2E8M1gykiuEkMk,2707
|
|
498
500
|
reflex/constants/installer.py,sha256=kLchxwqV2jfTVkqfwhbOw5_dVRweoJUnqFD4mp3pZsE,3427
|
|
@@ -500,14 +502,16 @@ reflex/constants/route.py,sha256=fu1jp9MoIriUJ8Cu4gLeinTxkyVBbRPs8Bkt35vqYOM,214
|
|
|
500
502
|
reflex/constants/style.py,sha256=sJ6LuPY1OWemwMXnI1Htm-pa087HWT6PWljUeyokcUI,474
|
|
501
503
|
reflex/custom_components/__init__.py,sha256=R4zsvOi4dfPmHc18KEphohXnQFBPnUCb50cMR5hSLDE,36
|
|
502
504
|
reflex/custom_components/custom_components.py,sha256=vYBhEt0ceCTaXG_zQlD8aEUxEzyGwlc7D6RKah2Pp2A,33067
|
|
503
|
-
reflex/event.py,sha256=
|
|
504
|
-
reflex/experimental/__init__.py,sha256=
|
|
505
|
+
reflex/event.py,sha256=FGGrItbo0B-DoFQ6c0t2Hx0iislVL9pDa4733W2gixM,29635
|
|
506
|
+
reflex/experimental/__init__.py,sha256=TuRC9SlIR4mEQ7KlKKtIj5Eyv_bQjUtlz-TyOn_VmnE,1406
|
|
505
507
|
reflex/experimental/assets.py,sha256=nWj4454REHDP2gybtlhOac0Xyb0uqBMzjAFqYlaYwcE,1758
|
|
506
508
|
reflex/experimental/client_state.py,sha256=DvBZhdW43nGL3Trx5fciwuP4U5hsghA0BmJTv5KzvCA,8733
|
|
507
509
|
reflex/experimental/hooks.py,sha256=veeds9cSvEdLZDDNIFD-Ye5XRQombrBQNRmiVYOBXp8,2437
|
|
508
510
|
reflex/experimental/layout.py,sha256=Zx8AGqWJrSzXY1XapsorOx-jNo2kRqaWOc4QJRulQdU,7656
|
|
509
511
|
reflex/experimental/layout.pyi,sha256=aThlDKlifnG3QqIMQH5SwYewrLLXws8u38z3VW8BRSk,18933
|
|
510
512
|
reflex/experimental/misc.py,sha256=Ikmr-XuQfzOZqrY6yxDXkmpr7C5uDagc4nnowYmjWsc,610
|
|
513
|
+
reflex/experimental/vars/__init__.py,sha256=DqyoG1kOnSoVzAwxEHqgkqEZSb7mW3cS0HpQ_MCfnr0,95
|
|
514
|
+
reflex/experimental/vars/base.py,sha256=zdP5u-Wjcs8XNwjZwqLSGLSmlpEH3eO5m_TL0bYtpaE,6574
|
|
511
515
|
reflex/middleware/__init__.py,sha256=x7xTeDuc73Hjj43k1J63naC9x8vzFxl4sq7cCFBX7sk,111
|
|
512
516
|
reflex/middleware/hydrate_middleware.py,sha256=gZ5RTvsfKfrTkQN6QsTLfSnBAczCtGiBQ5edrOii3Vg,1485
|
|
513
517
|
reflex/middleware/middleware.py,sha256=1tEckRzSNWAwW8VsKt_x88lkk2vSFnRWH1uorsauNwI,1170
|
|
@@ -515,14 +519,14 @@ reflex/model.py,sha256=f9F3J3JZX_NmUCU5mN4Lh7afclq9fikPUB1K2FmNlhU,13545
|
|
|
515
519
|
reflex/page.py,sha256=NPT0xMownZGTiYiRtrUJnvAe_4oEvlzEJEkG-vrGhqI,2077
|
|
516
520
|
reflex/reflex.py,sha256=1wJX6casYE_sAc1JCo4vng9gsyAeiYsG2Yw7itk5Abs,17874
|
|
517
521
|
reflex/route.py,sha256=WZS7stKgO94nekFFYHaOqNgN3zZGpJb3YpGF4ViTHmw,4198
|
|
518
|
-
reflex/state.py,sha256=
|
|
522
|
+
reflex/state.py,sha256=Uxy2M37aWTybvbQ4eCXhx-0Ryfkbu3AGz78EtXI_iVA,112623
|
|
519
523
|
reflex/style.py,sha256=sLeIKBKUpZV1q1QwexVyckqFphjoxsPqCstVQf-D0Ak,11703
|
|
520
|
-
reflex/testing.py,sha256=
|
|
524
|
+
reflex/testing.py,sha256=zyIoa0PZuTuPP0My64zUc1aiqiekLKkb6GAXFUjzFfc,34081
|
|
521
525
|
reflex/utils/__init__.py,sha256=y-AHKiRQAhk2oAkvn7W8cRVTZVK625ff8tTwvZtO7S4,24
|
|
522
526
|
reflex/utils/build.py,sha256=DJryIUJ_3DV2nn4pZ9SiV60lwIGYPZWgYw9prsQXrKA,8482
|
|
523
527
|
reflex/utils/codespaces.py,sha256=tKmju4aGzDMPy76_eQSzJd3RYmVmiiNZy3Yc0e3zG_w,2856
|
|
524
|
-
reflex/utils/compat.py,sha256=
|
|
525
|
-
reflex/utils/console.py,sha256
|
|
528
|
+
reflex/utils/compat.py,sha256=ty_8eOifMjg9oVOWGHCu5cACu9iqw5_ZEOkTRck7B94,2012
|
|
529
|
+
reflex/utils/console.py,sha256=irO3qP7_9_5cxbc3hBfyawJgtgIq5s8nJQ0RgUt91fU,5477
|
|
526
530
|
reflex/utils/exceptions.py,sha256=txYH8qtcUAwYSh5SikN76Htn8Z6MfdN2Ms3kvNdxPOk,2290
|
|
527
531
|
reflex/utils/exec.py,sha256=jTkIbbrSgq8tCbUmwoN2s26XghPVJM5jBVaOlPYCkoU,11365
|
|
528
532
|
reflex/utils/export.py,sha256=3dI9QjoU0ZA_g8OSQipVLpFWQcxWa_sHkpezWemvWbo,2366
|
|
@@ -530,17 +534,17 @@ reflex/utils/format.py,sha256=zfQb9PgeKsyMJ2koSz9CBUCWIH6WJ5-JIWYyyTTv3gE,26336
|
|
|
530
534
|
reflex/utils/imports.py,sha256=pRjW6PTP_XyAQ0x5UoAI1_EDzBZnyIL5yd3oTQXtV3U,3193
|
|
531
535
|
reflex/utils/lazy_loader.py,sha256=utVpUjKcz32GC1I7g0g7OlTyvVoZNFcuAjNtnxiSYww,1282
|
|
532
536
|
reflex/utils/path_ops.py,sha256=XQVq_r_2tFHECWuJPyxzk3GzijCJemgXxfI5w2rc_Vs,4924
|
|
533
|
-
reflex/utils/prerequisites.py,sha256=
|
|
534
|
-
reflex/utils/processes.py,sha256=
|
|
535
|
-
reflex/utils/pyi_generator.py,sha256=
|
|
537
|
+
reflex/utils/prerequisites.py,sha256=RzzX0_VX4JvO4z8M1DCuVcz7PArf3ilKKvXZUhN1pYo,52406
|
|
538
|
+
reflex/utils/processes.py,sha256=y8X5PxycEWT1ItLtpIS-rzrUvNQ9MUOkHdIg_zK9Vp0,13228
|
|
539
|
+
reflex/utils/pyi_generator.py,sha256=zFQlKOonT9OMlfne99NE9zLQVp02i4lfJ9q2kBa5myY,34206
|
|
536
540
|
reflex/utils/serializers.py,sha256=lARTafxXhtNmC15lFaw424MJVwGRcWb8D42_osjKDWE,11689
|
|
537
541
|
reflex/utils/telemetry.py,sha256=t4cvQmoAxTKAWF53vGH6ZEX5QYrK_KEcarmvMy-4_E4,5568
|
|
538
|
-
reflex/utils/types.py,sha256=
|
|
542
|
+
reflex/utils/types.py,sha256=nXB0RTGDfNQkiAvfb2RdXLHxFS9TX9cy-wfgqbPiIpw,17826
|
|
539
543
|
reflex/utils/watch.py,sha256=ukPT3YrvqsXYN6BInWiO_RPry5osSch9lOomQhxDyk0,2685
|
|
540
|
-
reflex/vars.py,sha256=
|
|
541
|
-
reflex/vars.pyi,sha256=
|
|
542
|
-
reflex-0.5.
|
|
543
|
-
reflex-0.5.
|
|
544
|
-
reflex-0.5.
|
|
545
|
-
reflex-0.5.
|
|
546
|
-
reflex-0.5.
|
|
544
|
+
reflex/vars.py,sha256=c0ceefJuCyId8JsLVrjvjl2aoKkHYvMns-cIGhQ6Q8M,78242
|
|
545
|
+
reflex/vars.pyi,sha256=skuzSaG65wOM00JYJKiEeSAChwAFALVlcnwbsZDYmZY,6540
|
|
546
|
+
reflex-0.5.7.dist-info/LICENSE,sha256=dw3zLrp9f5ObD7kqS32vWfhcImfO52PMmRqvtxq_YEE,11358
|
|
547
|
+
reflex-0.5.7.dist-info/METADATA,sha256=oo-9v0FEvnPa06_bbcl9ioPCCss_ZJ7oXT5PhlE4jc8,12097
|
|
548
|
+
reflex-0.5.7.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
549
|
+
reflex-0.5.7.dist-info/entry_points.txt,sha256=H1Z5Yat_xJfy0dRT1Frk2PkO_p41Xy7fCKlj4FcdL9o,44
|
|
550
|
+
reflex-0.5.7.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|