reflex 0.7.6a1__py3-none-any.whl → 0.7.7a2__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/web/utils/state.js +9 -0
- reflex/app.py +7 -0
- reflex/components/component.py +2 -1
- reflex/components/el/elements/forms.py +57 -18
- reflex/components/el/elements/forms.pyi +1128 -4
- reflex/components/recharts/__init__.py +1 -0
- reflex/components/recharts/__init__.pyi +1 -0
- reflex/components/recharts/general.py +1 -1
- reflex/components/recharts/general.pyi +1 -1
- reflex/event.py +37 -0
- reflex/reflex.py +17 -13
- reflex/state.py +3 -2
- reflex/utils/export.py +2 -2
- reflex/utils/prerequisites.py +28 -19
- reflex/vars/base.py +15 -1
- reflex/vars/number.py +21 -0
- {reflex-0.7.6a1.dist-info → reflex-0.7.7a2.dist-info}/METADATA +16 -16
- {reflex-0.7.6a1.dist-info → reflex-0.7.7a2.dist-info}/RECORD +21 -21
- {reflex-0.7.6a1.dist-info → reflex-0.7.7a2.dist-info}/WHEEL +0 -0
- {reflex-0.7.6a1.dist-info → reflex-0.7.7a2.dist-info}/entry_points.txt +0 -0
- {reflex-0.7.6a1.dist-info → reflex-0.7.7a2.dist-info}/licenses/LICENSE +0 -0
|
@@ -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/event.py
CHANGED
|
@@ -507,6 +507,7 @@ class JavascriptHTMLInputElement:
|
|
|
507
507
|
"""Interface for a Javascript HTMLInputElement https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement."""
|
|
508
508
|
|
|
509
509
|
value: str = ""
|
|
510
|
+
checked: bool = False
|
|
510
511
|
|
|
511
512
|
|
|
512
513
|
@dataclasses.dataclass(
|
|
@@ -545,6 +546,42 @@ def input_event(e: ObjectVar[JavascriptInputEvent]) -> tuple[Var[str]]:
|
|
|
545
546
|
return (e.target.value,)
|
|
546
547
|
|
|
547
548
|
|
|
549
|
+
def int_input_event(e: ObjectVar[JavascriptInputEvent]) -> tuple[Var[int]]:
|
|
550
|
+
"""Get the value from an input event as an int.
|
|
551
|
+
|
|
552
|
+
Args:
|
|
553
|
+
e: The input event.
|
|
554
|
+
|
|
555
|
+
Returns:
|
|
556
|
+
The value from the input event as an int.
|
|
557
|
+
"""
|
|
558
|
+
return (Var("Number").to(FunctionVar).call(e.target.value).to(int),)
|
|
559
|
+
|
|
560
|
+
|
|
561
|
+
def float_input_event(e: ObjectVar[JavascriptInputEvent]) -> tuple[Var[float]]:
|
|
562
|
+
"""Get the value from an input event as a float.
|
|
563
|
+
|
|
564
|
+
Args:
|
|
565
|
+
e: The input event.
|
|
566
|
+
|
|
567
|
+
Returns:
|
|
568
|
+
The value from the input event as a float.
|
|
569
|
+
"""
|
|
570
|
+
return (Var("Number").to(FunctionVar).call(e.target.value).to(float),)
|
|
571
|
+
|
|
572
|
+
|
|
573
|
+
def checked_input_event(e: ObjectVar[JavascriptInputEvent]) -> tuple[Var[bool]]:
|
|
574
|
+
"""Get the checked state from an input event.
|
|
575
|
+
|
|
576
|
+
Args:
|
|
577
|
+
e: The input event.
|
|
578
|
+
|
|
579
|
+
Returns:
|
|
580
|
+
The checked state from the input event.
|
|
581
|
+
"""
|
|
582
|
+
return (e.target.checked,)
|
|
583
|
+
|
|
584
|
+
|
|
548
585
|
class KeyInputInfo(TypedDict):
|
|
549
586
|
"""Information about a key input event."""
|
|
550
587
|
|
reflex/reflex.py
CHANGED
|
@@ -624,19 +624,23 @@ def deploy(
|
|
|
624
624
|
hosting_cli.deploy(
|
|
625
625
|
app_name=app_name,
|
|
626
626
|
app_id=app_id,
|
|
627
|
-
export_fn=
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
627
|
+
export_fn=(
|
|
628
|
+
lambda zip_dest_dir,
|
|
629
|
+
api_url,
|
|
630
|
+
deploy_url,
|
|
631
|
+
frontend,
|
|
632
|
+
backend,
|
|
633
|
+
upload_db,
|
|
634
|
+
zipping: export_utils.export(
|
|
635
|
+
zip_dest_dir=zip_dest_dir,
|
|
636
|
+
api_url=api_url,
|
|
637
|
+
deploy_url=deploy_url,
|
|
638
|
+
frontend=frontend,
|
|
639
|
+
backend=backend,
|
|
640
|
+
zipping=zipping,
|
|
641
|
+
loglevel=loglevel.subprocess_level(),
|
|
642
|
+
upload_db_file=upload_db,
|
|
643
|
+
)
|
|
640
644
|
),
|
|
641
645
|
regions=regions,
|
|
642
646
|
envs=envs,
|
reflex/state.py
CHANGED
|
@@ -48,6 +48,7 @@ from pydantic.v1.fields import ModelField
|
|
|
48
48
|
from redis.asyncio import Redis
|
|
49
49
|
from redis.asyncio.client import PubSub
|
|
50
50
|
from redis.exceptions import ResponseError
|
|
51
|
+
from rich.markup import escape
|
|
51
52
|
from sqlalchemy.orm import DeclarativeBase
|
|
52
53
|
from typing_extensions import Self
|
|
53
54
|
|
|
@@ -698,7 +699,7 @@ class BaseState(Base, ABC, extra=pydantic.Extra.allow):
|
|
|
698
699
|
|
|
699
700
|
if not _isinstance(result, of_type, nested=1, treat_var_as_type=False):
|
|
700
701
|
console.warn(
|
|
701
|
-
f"Inline ComputedVar {f} expected type {of_type}, got {type(result)}. "
|
|
702
|
+
f"Inline ComputedVar {f} expected type {escape(str(of_type))}, got {type(result)}. "
|
|
702
703
|
"You can specify expected type with `of_type` argument."
|
|
703
704
|
)
|
|
704
705
|
|
|
@@ -1364,7 +1365,7 @@ class BaseState(Base, ABC, extra=pydantic.Extra.allow):
|
|
|
1364
1365
|
field_type = _unwrap_field_type(true_type_for_pydantic_field(field))
|
|
1365
1366
|
if not _isinstance(value, field_type, nested=1, treat_var_as_type=False):
|
|
1366
1367
|
console.error(
|
|
1367
|
-
f"Expected field '{type(self).__name__}.{name}' to receive type '{field_type}',"
|
|
1368
|
+
f"Expected field '{type(self).__name__}.{name}' to receive type '{escape(str(field_type))}',"
|
|
1368
1369
|
f" but got '{value}' of type '{type(value)}'."
|
|
1369
1370
|
)
|
|
1370
1371
|
|
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
|
|
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
|
|
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
|
reflex/utils/prerequisites.py
CHANGED
|
@@ -192,13 +192,16 @@ def get_node_version() -> version.Version | None:
|
|
|
192
192
|
return None
|
|
193
193
|
|
|
194
194
|
|
|
195
|
-
def get_bun_version() -> version.Version | None:
|
|
195
|
+
def get_bun_version(bun_path: Path | None = None) -> version.Version | None:
|
|
196
196
|
"""Get the version of bun.
|
|
197
197
|
|
|
198
|
+
Args:
|
|
199
|
+
bun_path: The path to the bun executable.
|
|
200
|
+
|
|
198
201
|
Returns:
|
|
199
202
|
The version of bun.
|
|
200
203
|
"""
|
|
201
|
-
bun_path = path_ops.get_bun_path()
|
|
204
|
+
bun_path = bun_path or path_ops.get_bun_path()
|
|
202
205
|
if bun_path is None:
|
|
203
206
|
return None
|
|
204
207
|
try:
|
|
@@ -1153,13 +1156,21 @@ def install_bun():
|
|
|
1153
1156
|
"Creating project directories in OneDrive is not recommended for bun usage on windows. This will fallback to npm."
|
|
1154
1157
|
)
|
|
1155
1158
|
|
|
1159
|
+
bun_path = path_ops.get_bun_path()
|
|
1160
|
+
|
|
1156
1161
|
# Skip if bun is already installed.
|
|
1157
|
-
if (
|
|
1158
|
-
|
|
1162
|
+
if (
|
|
1163
|
+
bun_path
|
|
1164
|
+
and (current_version := get_bun_version(bun_path=bun_path))
|
|
1165
|
+
and current_version >= version.parse(constants.Bun.MIN_VERSION)
|
|
1159
1166
|
):
|
|
1160
1167
|
console.debug("Skipping bun installation as it is already installed.")
|
|
1161
1168
|
return
|
|
1162
1169
|
|
|
1170
|
+
if bun_path and path_ops.use_system_bun():
|
|
1171
|
+
validate_bun(bun_path=bun_path)
|
|
1172
|
+
return
|
|
1173
|
+
|
|
1163
1174
|
# if unzip is installed
|
|
1164
1175
|
if constants.IS_WINDOWS:
|
|
1165
1176
|
processes.new_process(
|
|
@@ -1394,13 +1405,16 @@ def is_latest_template() -> bool:
|
|
|
1394
1405
|
return app_version == constants.Reflex.VERSION
|
|
1395
1406
|
|
|
1396
1407
|
|
|
1397
|
-
def validate_bun():
|
|
1408
|
+
def validate_bun(bun_path: Path | None = None):
|
|
1398
1409
|
"""Validate bun if a custom bun path is specified to ensure the bun version meets requirements.
|
|
1399
1410
|
|
|
1411
|
+
Args:
|
|
1412
|
+
bun_path: The path to the bun executable. If None, the default bun path is used.
|
|
1413
|
+
|
|
1400
1414
|
Raises:
|
|
1401
1415
|
Exit: If custom specified bun does not exist or does not meet requirements.
|
|
1402
1416
|
"""
|
|
1403
|
-
bun_path = path_ops.get_bun_path()
|
|
1417
|
+
bun_path = bun_path or path_ops.get_bun_path()
|
|
1404
1418
|
|
|
1405
1419
|
if bun_path is None:
|
|
1406
1420
|
return
|
|
@@ -1414,14 +1428,12 @@ def validate_bun():
|
|
|
1414
1428
|
)
|
|
1415
1429
|
raise typer.Exit(1)
|
|
1416
1430
|
elif bun_version < version.parse(constants.Bun.MIN_VERSION):
|
|
1417
|
-
console.
|
|
1431
|
+
console.warn(
|
|
1418
1432
|
f"Reflex requires bun version {constants.Bun.MIN_VERSION} or higher to run, but the detected version is "
|
|
1419
1433
|
f"{bun_version}. If you have specified a custom bun path in your config, make sure to provide one "
|
|
1420
|
-
f"that satisfies the minimum version requirement."
|
|
1434
|
+
f"that satisfies the minimum version requirement. You can upgrade bun by running [bold]bun upgrade[/bold]."
|
|
1421
1435
|
)
|
|
1422
1436
|
|
|
1423
|
-
raise typer.Exit(1)
|
|
1424
|
-
|
|
1425
1437
|
|
|
1426
1438
|
def validate_frontend_dependencies(init: bool = True):
|
|
1427
1439
|
"""Validate frontend dependencies to ensure they meet requirements.
|
|
@@ -1438,15 +1450,12 @@ def validate_frontend_dependencies(init: bool = True):
|
|
|
1438
1450
|
except FileNotFoundError as e:
|
|
1439
1451
|
raise typer.Exit(1) from e
|
|
1440
1452
|
|
|
1441
|
-
if prefer_npm_over_bun():
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
raise typer.Exit(1)
|
|
1448
|
-
else:
|
|
1449
|
-
validate_bun()
|
|
1453
|
+
if prefer_npm_over_bun() and not check_node_version():
|
|
1454
|
+
node_version = get_node_version()
|
|
1455
|
+
console.error(
|
|
1456
|
+
f"Reflex requires node version {constants.Node.MIN_VERSION} or higher to run, but the detected version is {node_version}",
|
|
1457
|
+
)
|
|
1458
|
+
raise typer.Exit(1)
|
|
1450
1459
|
|
|
1451
1460
|
|
|
1452
1461
|
def ensure_reflex_installation_id() -> int | None:
|
reflex/vars/base.py
CHANGED
|
@@ -44,6 +44,7 @@ from typing import (
|
|
|
44
44
|
overload,
|
|
45
45
|
)
|
|
46
46
|
|
|
47
|
+
from rich.markup import escape
|
|
47
48
|
from sqlalchemy.orm import DeclarativeBase
|
|
48
49
|
from typing_extensions import deprecated, override
|
|
49
50
|
|
|
@@ -730,6 +731,9 @@ class Var(Generic[VAR_TYPE]):
|
|
|
730
731
|
@overload
|
|
731
732
|
def to(self, output: Type[bool]) -> BooleanVar: ...
|
|
732
733
|
|
|
734
|
+
@overload
|
|
735
|
+
def to(self, output: type[int]) -> NumberVar[int]: ...
|
|
736
|
+
|
|
733
737
|
@overload
|
|
734
738
|
def to(self, output: type[int] | type[float]) -> NumberVar: ...
|
|
735
739
|
|
|
@@ -1060,6 +1064,16 @@ class Var(Generic[VAR_TYPE]):
|
|
|
1060
1064
|
|
|
1061
1065
|
return boolify(self)
|
|
1062
1066
|
|
|
1067
|
+
def is_not_none(self) -> BooleanVar:
|
|
1068
|
+
"""Check if the var is not None.
|
|
1069
|
+
|
|
1070
|
+
Returns:
|
|
1071
|
+
A BooleanVar object representing the result of the check.
|
|
1072
|
+
"""
|
|
1073
|
+
from .number import is_not_none_operation
|
|
1074
|
+
|
|
1075
|
+
return is_not_none_operation(self)
|
|
1076
|
+
|
|
1063
1077
|
def __and__(
|
|
1064
1078
|
self, other: Var[OTHER_VAR_TYPE] | Any
|
|
1065
1079
|
) -> Var[VAR_TYPE | OTHER_VAR_TYPE]:
|
|
@@ -2371,7 +2385,7 @@ class ComputedVar(Var[RETURN_TYPE]):
|
|
|
2371
2385
|
if not _isinstance(value, self._var_type, nested=1, treat_var_as_type=False):
|
|
2372
2386
|
console.error(
|
|
2373
2387
|
f"Computed var '{type(instance).__name__}.{self._js_expr}' must return"
|
|
2374
|
-
f" a value of type '{self._var_type}', got '{value!s}' of type {type(value)}."
|
|
2388
|
+
f" a value of type '{escape(str(self._var_type))}', got '{value!s}' of type {type(value)}."
|
|
2375
2389
|
)
|
|
2376
2390
|
|
|
2377
2391
|
def _deps(
|
reflex/vars/number.py
CHANGED
|
@@ -1057,6 +1057,10 @@ _IS_TRUE_IMPORT: ImportDict = {
|
|
|
1057
1057
|
f"$/{Dirs.STATE_PATH}": [ImportVar(tag="isTrue")],
|
|
1058
1058
|
}
|
|
1059
1059
|
|
|
1060
|
+
_IS_NOT_NULL_OR_UNDEFINED_IMPORT: ImportDict = {
|
|
1061
|
+
f"$/{Dirs.STATE_PATH}": [ImportVar(tag="isNotNullOrUndefined")],
|
|
1062
|
+
}
|
|
1063
|
+
|
|
1060
1064
|
|
|
1061
1065
|
@var_operation
|
|
1062
1066
|
def boolify(value: Var):
|
|
@@ -1075,6 +1079,23 @@ def boolify(value: Var):
|
|
|
1075
1079
|
)
|
|
1076
1080
|
|
|
1077
1081
|
|
|
1082
|
+
@var_operation
|
|
1083
|
+
def is_not_none_operation(value: Var):
|
|
1084
|
+
"""Check if the value is not None.
|
|
1085
|
+
|
|
1086
|
+
Args:
|
|
1087
|
+
value: The value.
|
|
1088
|
+
|
|
1089
|
+
Returns:
|
|
1090
|
+
The boolean value.
|
|
1091
|
+
"""
|
|
1092
|
+
return var_operation_return(
|
|
1093
|
+
js_expression=f"isNotNullOrUndefined({value})",
|
|
1094
|
+
var_type=bool,
|
|
1095
|
+
var_data=VarData(imports=_IS_NOT_NULL_OR_UNDEFINED_IMPORT),
|
|
1096
|
+
)
|
|
1097
|
+
|
|
1098
|
+
|
|
1078
1099
|
T = TypeVar("T")
|
|
1079
1100
|
U = TypeVar("U")
|
|
1080
1101
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: reflex
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.7a2
|
|
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
|
|
@@ -18,26 +18,26 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
18
18
|
Classifier: Programming Language :: Python :: 3.12
|
|
19
19
|
Classifier: Programming Language :: Python :: 3.13
|
|
20
20
|
Requires-Python: <4.0,>=3.10
|
|
21
|
-
Requires-Dist: alembic<2.0,>=1.
|
|
22
|
-
Requires-Dist: distro<2.0,>=1.
|
|
23
|
-
Requires-Dist: fastapi
|
|
24
|
-
Requires-Dist: granian[reload]>=2.2.
|
|
21
|
+
Requires-Dist: alembic<2.0,>=1.15.2
|
|
22
|
+
Requires-Dist: distro<2.0,>=1.9.0; platform_system == 'Linux'
|
|
23
|
+
Requires-Dist: fastapi>=0.115.0
|
|
24
|
+
Requires-Dist: granian[reload]>=2.2.3
|
|
25
25
|
Requires-Dist: gunicorn<24.0.0,>=23.0.0
|
|
26
|
-
Requires-Dist: httpx<1.0,>=0.
|
|
26
|
+
Requires-Dist: httpx<1.0,>=0.28.0
|
|
27
27
|
Requires-Dist: jinja2<4.0,>=3.1.2
|
|
28
|
-
Requires-Dist: packaging<25.0,>=
|
|
29
|
-
Requires-Dist: platformdirs<5.0,>=3.
|
|
30
|
-
Requires-Dist: psutil<8.0,>=
|
|
28
|
+
Requires-Dist: packaging<25.0,>=24.2
|
|
29
|
+
Requires-Dist: platformdirs<5.0,>=4.3.7
|
|
30
|
+
Requires-Dist: psutil<8.0,>=7.0.0
|
|
31
31
|
Requires-Dist: pydantic<3.0,>=1.10.21
|
|
32
32
|
Requires-Dist: python-multipart<1.0,>=0.0.20
|
|
33
|
-
Requires-Dist: python-socketio<6.0,>=5.
|
|
34
|
-
Requires-Dist: redis<6.0,>=
|
|
35
|
-
Requires-Dist: reflex-hosting-cli>=0.1.
|
|
33
|
+
Requires-Dist: python-socketio<6.0,>=5.12.0
|
|
34
|
+
Requires-Dist: redis<6.0,>=5.2.1
|
|
35
|
+
Requires-Dist: reflex-hosting-cli>=0.1.38
|
|
36
36
|
Requires-Dist: rich<14.0,>=13.0.0
|
|
37
|
-
Requires-Dist: sqlmodel<0.1,>=0.0.
|
|
38
|
-
Requires-Dist: typer<1.0,>=0.15.
|
|
39
|
-
Requires-Dist: typing-extensions>=4.
|
|
40
|
-
Requires-Dist: uvicorn>=0.
|
|
37
|
+
Requires-Dist: sqlmodel<0.1,>=0.0.24
|
|
38
|
+
Requires-Dist: typer<1.0,>=0.15.2
|
|
39
|
+
Requires-Dist: typing-extensions>=4.13.0
|
|
40
|
+
Requires-Dist: uvicorn>=0.34.0
|
|
41
41
|
Requires-Dist: wrapt<2.0,>=1.17.0
|
|
42
42
|
Description-Content-Type: text/markdown
|
|
43
43
|
|
|
@@ -2,17 +2,17 @@ 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=
|
|
5
|
+
reflex/app.py,sha256=hilAM__KUIglHQ99jfKAbdy3xOamAllrYrz0pj1eiSY,70107
|
|
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
|
|
9
|
-
reflex/event.py,sha256=
|
|
9
|
+
reflex/event.py,sha256=dcLbww7mxjIbVM7ZQVA2LWE48aS1ESaoURY3bIH7oPA,62366
|
|
10
10
|
reflex/model.py,sha256=oc1guIVGq-4lZhihY-QQ7VpCzhUY1IpT6z8M8jA68o0,17585
|
|
11
11
|
reflex/page.py,sha256=qEt8n5EtawSywCzdsiaNQJWhC8ie-vg8ig0JGuVavPI,2386
|
|
12
12
|
reflex/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
|
-
reflex/reflex.py,sha256=
|
|
13
|
+
reflex/reflex.py,sha256=Aw3FVLmA9vwKjYxrhlD9nUZ3Hs6pnizC4EcViY0cpVk,21717
|
|
14
14
|
reflex/route.py,sha256=nn_hJwtQdjiqH_dHXfqMGWKllnyPQZTSR-KWdHDhoOs,4210
|
|
15
|
-
reflex/state.py,sha256=
|
|
15
|
+
reflex/state.py,sha256=Jy_D1SOoHMRYI0ZcFjFOkEL5jpKWrtvxnEzkS3XCl70,142200
|
|
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
|
|
@@ -47,7 +47,7 @@ reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js,sha2
|
|
|
47
47
|
reflex/.templates/web/components/shiki/code.js,sha256=UO0hQnm2w1j2VMgj46cnplO6ZLK3p3qhcxp6irjZBxQ,1116
|
|
48
48
|
reflex/.templates/web/styles/tailwind.css,sha256=wGOoICTy1G0e5bWZ4LYOVgRa3ZT7M44tC4g6CKh6ZPo,112
|
|
49
49
|
reflex/.templates/web/utils/client_side_routing.js,sha256=cOu4wUHDQtGl1yo5goxljZ94SLZLyr9R3S9Rehcvjio,1475
|
|
50
|
-
reflex/.templates/web/utils/state.js,sha256=
|
|
50
|
+
reflex/.templates/web/utils/state.js,sha256=j41mT34l-vxBYLHxDCVkaLcSOd4j0LhetToTDR7FGXk,30784
|
|
51
51
|
reflex/.templates/web/utils/helpers/dataeditor.js,sha256=pG6MgsHuStDR7-qPipzfiK32j9bKDBa-4hZ0JSUo4JM,1623
|
|
52
52
|
reflex/.templates/web/utils/helpers/debounce.js,sha256=xGhtTRtS_xIcaeqnYVvYJNseLgQVk-DW-eFiHJYO9As,528
|
|
53
53
|
reflex/.templates/web/utils/helpers/paste.js,sha256=ef30HsR83jRzzvZnl8yV79yqFP8TC_u8SlN99cCS_OM,1799
|
|
@@ -63,7 +63,7 @@ reflex/compiler/templates.py,sha256=NX3YUMVGGyDsy2JuDv-AmklMM0pKJHLPsIpdqamgqRQ,
|
|
|
63
63
|
reflex/compiler/utils.py,sha256=6b8e7Dlb3vyp1YOjmV4tDx66K7A_cTyXrD6EgvP3vgg,16046
|
|
64
64
|
reflex/components/__init__.py,sha256=zbIXThv1WPI0FdIGf9G9RAmGoCRoGy7nHcSZ8K5D5bA,624
|
|
65
65
|
reflex/components/__init__.pyi,sha256=qoj1zIWaitcZOGcJ6k7wuGJk_GAJCE9Xtx8CeRVrvoE,861
|
|
66
|
-
reflex/components/component.py,sha256=
|
|
66
|
+
reflex/components/component.py,sha256=jNV4o2zm4x8Y6TPSkj3rvJxxZWJnjIBYGyeuiUXPLPQ,90514
|
|
67
67
|
reflex/components/dynamic.py,sha256=DdlFbtciytsEbVdFHm-obmE4FFkSR6x2DH0BzYI_4C4,7150
|
|
68
68
|
reflex/components/literals.py,sha256=hogLnwTJxFJODIvqihg-GD9kFZVsEBDoYzaRit56Nuk,501
|
|
69
69
|
reflex/components/props.py,sha256=8F2ZNeF16BDiTh-E4F-U_vks41BMJgmkTM7xbjGvfOA,2593
|
|
@@ -136,8 +136,8 @@ reflex/components/el/elements/__init__.py,sha256=Ocexkpl7YRpdpL6YPsG_QgxYWO0dx1g
|
|
|
136
136
|
reflex/components/el/elements/__init__.pyi,sha256=uuwnUtPo4hPTByt8qzbdZT-_cOSPiTTaw5BXN2H2kpM,11129
|
|
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
|
-
reflex/components/el/elements/forms.py,sha256=
|
|
140
|
-
reflex/components/el/elements/forms.pyi,sha256=
|
|
139
|
+
reflex/components/el/elements/forms.py,sha256=_Q-_5PrS7L4JUopdy2x_2MMWULyg3FY_lQG4knHnLYw,21455
|
|
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=
|
|
318
|
-
reflex/components/recharts/__init__.pyi,sha256
|
|
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=
|
|
324
|
-
reflex/components/recharts/general.pyi,sha256=
|
|
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,14 +374,14 @@ 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=
|
|
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
|
|
381
381
|
reflex/utils/misc.py,sha256=X0vgTWn72VduWi6p2hMU-gGksRkhu7isDJNJ0kNVaAo,704
|
|
382
382
|
reflex/utils/net.py,sha256=8ceAC_diguAxVOOJpzax2vb1RA2h4BxS8SJvpgWqGYI,3175
|
|
383
383
|
reflex/utils/path_ops.py,sha256=idGxUSJRKwYLLi7ppXkq3eV6rvAytJoO-n-FuLkwl3o,7604
|
|
384
|
-
reflex/utils/prerequisites.py,sha256=
|
|
384
|
+
reflex/utils/prerequisites.py,sha256=g30ZxW7BQF1Gm-dRPWj9zEytvWp0hHqK3kLYVEX-FnI,66263
|
|
385
385
|
reflex/utils/processes.py,sha256=OpZafayCw5VhPyD1LIyin_5fu7Oy2mDCqSxAxX4sh08,16617
|
|
386
386
|
reflex/utils/pyi_generator.py,sha256=SaBMcZrQ68hl77DcskNBo9FODyFQdWuixmlpS695EjE,45030
|
|
387
387
|
reflex/utils/redir.py,sha256=23OcUTsbThak5VYMQPOkSzyNsMB3VkgtF1bodSnHwbE,1533
|
|
@@ -390,15 +390,15 @@ reflex/utils/serializers.py,sha256=mk5U7U-ae4yTvifq17ejaX1qtKhg1UIJiWiXUNWjJfY,1
|
|
|
390
390
|
reflex/utils/telemetry.py,sha256=kZeI_RjY32MTpx12Y5hMXyd6bkli9xAQsmbbIKuf0fg,6779
|
|
391
391
|
reflex/utils/types.py,sha256=puaBT2vazRGRQluyTcZh8iZ6qLMRCuccMsKTNY0RCFg,33970
|
|
392
392
|
reflex/vars/__init__.py,sha256=2Kv6Oh9g3ISZFESjL1al8KiO7QBZUXmLKGMCBsP-DoY,1243
|
|
393
|
-
reflex/vars/base.py,sha256=
|
|
393
|
+
reflex/vars/base.py,sha256=uMo6FdWH5u_fL03QK7h3uVhfkn1Tyd5TOL7L2KWDats,101721
|
|
394
394
|
reflex/vars/datetime.py,sha256=fEc68T0A6XYlAJ3AGteCIb_vDqgoO1O8tpjMzqlp9sc,5104
|
|
395
395
|
reflex/vars/dep_tracking.py,sha256=kluvF4Pfbpdqf0GcpmYHjT1yP-D1erAzaSQP6qIxjB0,13846
|
|
396
396
|
reflex/vars/function.py,sha256=2sVnhgetPSwtor8VFtAiYJdzZ9IRNzAKdsUJG6dXQcE,14461
|
|
397
|
-
reflex/vars/number.py,sha256=
|
|
397
|
+
reflex/vars/number.py,sha256=kgeC6zb7z4E9SLtYwiwRDxYIUhDYk4t5Yigs1aWFOqw,27941
|
|
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.
|
|
401
|
-
reflex-0.7.
|
|
402
|
-
reflex-0.7.
|
|
403
|
-
reflex-0.7.
|
|
404
|
-
reflex-0.7.
|
|
400
|
+
reflex-0.7.7a2.dist-info/METADATA,sha256=7DeJQBeWH-yy3tHrcdi37zKSU1amr_hVX5ZgHfj9TuY,11879
|
|
401
|
+
reflex-0.7.7a2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
402
|
+
reflex-0.7.7a2.dist-info/entry_points.txt,sha256=Rxt4dXc7MLBNt5CSHTehVPuSe9Xqow4HLX55nD9tQQ0,45
|
|
403
|
+
reflex-0.7.7a2.dist-info/licenses/LICENSE,sha256=dw3zLrp9f5ObD7kqS32vWfhcImfO52PMmRqvtxq_YEE,11358
|
|
404
|
+
reflex-0.7.7a2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|