reflex 0.8.2a1__py3-none-any.whl → 0.8.3a2__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 +7 -2
- reflex/__init__.py +1 -0
- reflex/__init__.pyi +2 -0
- reflex/app.py +8 -11
- reflex/compiler/compiler.py +10 -38
- reflex/components/base/error_boundary.py +6 -5
- reflex/components/core/__init__.py +1 -0
- reflex/components/core/__init__.pyi +3 -0
- reflex/components/core/window_events.py +104 -0
- reflex/components/core/window_events.pyi +84 -0
- reflex/components/el/__init__.pyi +4 -0
- reflex/components/el/elements/__init__.py +1 -0
- reflex/components/el/elements/__init__.pyi +5 -0
- reflex/components/el/elements/forms.py +4 -2
- reflex/components/el/elements/typography.py +7 -0
- reflex/components/el/elements/typography.pyi +246 -0
- reflex/components/lucide/icon.py +303 -292
- reflex/components/lucide/icon.pyi +303 -292
- reflex/components/recharts/recharts.py +2 -2
- reflex/components/sonner/toast.py +1 -1
- reflex/config.py +3 -3
- reflex/constants/installer.py +2 -1
- reflex/environment.py +3 -0
- reflex/event.py +69 -8
- reflex/model.py +55 -0
- reflex/reflex.py +33 -0
- reflex/state.py +9 -4
- reflex/testing.py +180 -288
- reflex/utils/console.py +17 -0
- reflex/utils/exec.py +22 -5
- reflex/utils/processes.py +28 -38
- reflex/utils/types.py +1 -1
- {reflex-0.8.2a1.dist-info → reflex-0.8.3a2.dist-info}/METADATA +1 -1
- {reflex-0.8.2a1.dist-info → reflex-0.8.3a2.dist-info}/RECORD +37 -35
- {reflex-0.8.2a1.dist-info → reflex-0.8.3a2.dist-info}/WHEEL +0 -0
- {reflex-0.8.2a1.dist-info → reflex-0.8.3a2.dist-info}/entry_points.txt +0 -0
- {reflex-0.8.2a1.dist-info → reflex-0.8.3a2.dist-info}/licenses/LICENSE +0 -0
reflex/utils/exec.py
CHANGED
|
@@ -565,6 +565,12 @@ def run_backend_prod(
|
|
|
565
565
|
run_uvicorn_backend_prod(host, port, loglevel)
|
|
566
566
|
|
|
567
567
|
|
|
568
|
+
def _get_backend_workers():
|
|
569
|
+
from reflex.utils import processes
|
|
570
|
+
|
|
571
|
+
return processes.get_num_workers()
|
|
572
|
+
|
|
573
|
+
|
|
568
574
|
def run_uvicorn_backend_prod(host: str, port: int, loglevel: LogLevel):
|
|
569
575
|
"""Run the backend in production mode using Uvicorn.
|
|
570
576
|
|
|
@@ -585,6 +591,7 @@ def run_uvicorn_backend_prod(host: str, port: int, loglevel: LogLevel):
|
|
|
585
591
|
"uvicorn",
|
|
586
592
|
*("--host", host),
|
|
587
593
|
*("--port", str(port)),
|
|
594
|
+
*("--workers", str(_get_backend_workers())),
|
|
588
595
|
"--factory",
|
|
589
596
|
app_module,
|
|
590
597
|
]
|
|
@@ -596,10 +603,12 @@ def run_uvicorn_backend_prod(host: str, port: int, loglevel: LogLevel):
|
|
|
596
603
|
|
|
597
604
|
# Our default args, then env args (env args win on conflicts)
|
|
598
605
|
command = [
|
|
606
|
+
sys.executable,
|
|
607
|
+
"-m",
|
|
599
608
|
"gunicorn",
|
|
600
609
|
"--preload",
|
|
601
|
-
"--worker-class",
|
|
602
|
-
"
|
|
610
|
+
*("--worker-class", "uvicorn.workers.UvicornH11Worker"),
|
|
611
|
+
*("--threads", str(_get_backend_workers())),
|
|
603
612
|
*("--bind", f"{host}:{port}"),
|
|
604
613
|
*env_args,
|
|
605
614
|
f"{app_module}()",
|
|
@@ -632,6 +641,8 @@ def run_granian_backend_prod(host: str, port: int, loglevel: LogLevel):
|
|
|
632
641
|
from reflex.utils import processes
|
|
633
642
|
|
|
634
643
|
command = [
|
|
644
|
+
sys.executable,
|
|
645
|
+
"-m",
|
|
635
646
|
"granian",
|
|
636
647
|
*("--log-level", "critical"),
|
|
637
648
|
*("--host", host),
|
|
@@ -639,13 +650,19 @@ def run_granian_backend_prod(host: str, port: int, loglevel: LogLevel):
|
|
|
639
650
|
*("--interface", str(Interfaces.ASGI)),
|
|
640
651
|
*("--factory", get_app_instance_from_file()),
|
|
641
652
|
]
|
|
653
|
+
|
|
654
|
+
extra_env = {
|
|
655
|
+
environment.REFLEX_SKIP_COMPILE.name: "true", # skip compile for prod backend
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
if "GRANIAN_WORKERS" not in os.environ:
|
|
659
|
+
extra_env["GRANIAN_WORKERS"] = str(_get_backend_workers())
|
|
660
|
+
|
|
642
661
|
processes.new_process(
|
|
643
662
|
command,
|
|
644
663
|
run=True,
|
|
645
664
|
show_logs=True,
|
|
646
|
-
env=
|
|
647
|
-
environment.REFLEX_SKIP_COMPILE.name: "true"
|
|
648
|
-
}, # skip compile for prod backend
|
|
665
|
+
env=extra_env,
|
|
649
666
|
)
|
|
650
667
|
|
|
651
668
|
|
reflex/utils/processes.py
CHANGED
|
@@ -8,6 +8,7 @@ import os
|
|
|
8
8
|
import signal
|
|
9
9
|
import socket
|
|
10
10
|
import subprocess
|
|
11
|
+
import sys
|
|
11
12
|
from collections.abc import Callable, Generator, Sequence
|
|
12
13
|
from concurrent import futures
|
|
13
14
|
from contextlib import closing
|
|
@@ -68,12 +69,11 @@ def _can_bind_at_port(
|
|
|
68
69
|
"""
|
|
69
70
|
try:
|
|
70
71
|
with closing(socket.socket(address_family, socket.SOCK_STREAM)) as sock:
|
|
72
|
+
if sys.platform != "win32":
|
|
73
|
+
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
|
71
74
|
sock.bind((address, port))
|
|
72
|
-
except OverflowError:
|
|
73
|
-
|
|
74
|
-
except PermissionError:
|
|
75
|
-
return False
|
|
76
|
-
except OSError:
|
|
75
|
+
except (OverflowError, PermissionError, OSError) as e:
|
|
76
|
+
console.warn(f"Unable to bind to {address}:{port} due to: {e}.")
|
|
77
77
|
return False
|
|
78
78
|
return True
|
|
79
79
|
|
|
@@ -87,38 +87,13 @@ def is_process_on_port(port: int) -> bool:
|
|
|
87
87
|
Returns:
|
|
88
88
|
Whether a process is running on the given port.
|
|
89
89
|
"""
|
|
90
|
-
return
|
|
91
|
-
socket.AF_INET, "
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
) # Test IPv6 localhost (::1)
|
|
90
|
+
return (
|
|
91
|
+
not _can_bind_at_port(socket.AF_INET, "", port) # Test IPv4 local network
|
|
92
|
+
or not _can_bind_at_port(socket.AF_INET6, "", port) # Test IPv6 local network
|
|
93
|
+
)
|
|
95
94
|
|
|
96
95
|
|
|
97
|
-
|
|
98
|
-
"""Change the port.
|
|
99
|
-
|
|
100
|
-
Args:
|
|
101
|
-
port: The port.
|
|
102
|
-
_type: The type of the port.
|
|
103
|
-
|
|
104
|
-
Returns:
|
|
105
|
-
The new port.
|
|
106
|
-
|
|
107
|
-
Raises:
|
|
108
|
-
Exit: If the port is invalid or if the new port is occupied.
|
|
109
|
-
"""
|
|
110
|
-
new_port = port + 1
|
|
111
|
-
if new_port < 0 or new_port > 65535:
|
|
112
|
-
console.error(
|
|
113
|
-
f"The {_type} port: {port} is invalid. It must be between 0 and 65535."
|
|
114
|
-
)
|
|
115
|
-
raise click.exceptions.Exit(1)
|
|
116
|
-
if is_process_on_port(new_port):
|
|
117
|
-
return change_port(new_port, _type)
|
|
118
|
-
console.info(
|
|
119
|
-
f"The {_type} will run on port [bold underline]{new_port}[/bold underline]."
|
|
120
|
-
)
|
|
121
|
-
return new_port
|
|
96
|
+
MAXIMUM_PORT = 2**16 - 1
|
|
122
97
|
|
|
123
98
|
|
|
124
99
|
def handle_port(service_name: str, port: int, auto_increment: bool) -> int:
|
|
@@ -137,13 +112,28 @@ def handle_port(service_name: str, port: int, auto_increment: bool) -> int:
|
|
|
137
112
|
Exit:when the port is in use.
|
|
138
113
|
"""
|
|
139
114
|
console.debug(f"Checking if {service_name.capitalize()} port: {port} is in use.")
|
|
115
|
+
|
|
140
116
|
if not is_process_on_port(port):
|
|
141
117
|
console.debug(f"{service_name.capitalize()} port: {port} is not in use.")
|
|
142
118
|
return port
|
|
119
|
+
|
|
143
120
|
if auto_increment:
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
121
|
+
for new_port in range(port + 1, MAXIMUM_PORT + 1):
|
|
122
|
+
if not is_process_on_port(new_port):
|
|
123
|
+
console.info(
|
|
124
|
+
f"The {service_name} will run on port [bold underline]{new_port}[/bold underline]."
|
|
125
|
+
)
|
|
126
|
+
return new_port
|
|
127
|
+
console.debug(
|
|
128
|
+
f"{service_name.capitalize()} port: {new_port} is already in use."
|
|
129
|
+
)
|
|
130
|
+
|
|
131
|
+
# If we reach here, it means we couldn't find an available port.
|
|
132
|
+
console.error(f"Unable to find an available port for {service_name}")
|
|
133
|
+
else:
|
|
134
|
+
console.error(f"{service_name.capitalize()} port: {port} is already in use.")
|
|
135
|
+
|
|
136
|
+
raise click.exceptions.Exit(1)
|
|
147
137
|
|
|
148
138
|
|
|
149
139
|
@overload
|
reflex/utils/types.py
CHANGED
|
@@ -478,7 +478,7 @@ def get_attribute_access_type(cls: GenericType, name: str) -> GenericType | None
|
|
|
478
478
|
if type_ in PrimitiveToAnnotation:
|
|
479
479
|
type_ = PrimitiveToAnnotation[type_]
|
|
480
480
|
type_ = type_[item_type] # pyright: ignore [reportIndexIssue]
|
|
481
|
-
if column.nullable:
|
|
481
|
+
if hasattr(column, "nullable") and column.nullable:
|
|
482
482
|
type_ = type_ | None
|
|
483
483
|
return type_
|
|
484
484
|
if name in insp.all_orm_descriptors:
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
reflex/__init__.py,sha256=
|
|
2
|
-
reflex/__init__.pyi,sha256=
|
|
1
|
+
reflex/__init__.py,sha256=xGw7ZbGlWsa-OShPv-I81RuUOACxHGTQFlX17x5n9Hg,10328
|
|
2
|
+
reflex/__init__.pyi,sha256=GfoYvxYXK1GFGbUsMA8Su7IFoqupV_xxG6__KSgnitA,10097
|
|
3
3
|
reflex/__main__.py,sha256=6cVrGEyT3j3tEvlEVUatpaYfbB5EF3UVY-6vc_Z7-hw,108
|
|
4
4
|
reflex/admin.py,sha256=Nbc38y-M8iaRBvh1W6DQu_D3kEhO8JFvxrog4q2cB_E,434
|
|
5
|
-
reflex/app.py,sha256=
|
|
5
|
+
reflex/app.py,sha256=xrP6jq5D5tILtNzNluhRJ_kkWuRIekj8NFA5plA-Spc,75596
|
|
6
6
|
reflex/assets.py,sha256=l5O_mlrTprC0lF7Rc_McOe3a0OtSLnRdNl_PqCpDCBA,3431
|
|
7
7
|
reflex/base.py,sha256=Oh664QL3fZEHErhUasFqP7fE4olYf1y-9Oj6uZI2FCU,1173
|
|
8
|
-
reflex/config.py,sha256=
|
|
9
|
-
reflex/environment.py,sha256=
|
|
10
|
-
reflex/event.py,sha256=
|
|
11
|
-
reflex/model.py,sha256=
|
|
8
|
+
reflex/config.py,sha256=HgJ57Op-glTro23GoQKmyXwUplvGYgZFKjvClYpD27s,19359
|
|
9
|
+
reflex/environment.py,sha256=aSZwDavbkKdNKL2oMiZvSeIiWps65eIMr0_xK826EFA,23385
|
|
10
|
+
reflex/event.py,sha256=QjSYc91n8XwSXgjQ3cCWwiaZwS0IbZL5z4LiPRS6ioA,72774
|
|
11
|
+
reflex/model.py,sha256=l1-6fm7NHRFWH-xK9oV9UzAVfvKeUXG1f-tCrF7vmfI,19403
|
|
12
12
|
reflex/page.py,sha256=Bn8FTlUtjjKwUtpQA5r5eaWE_ZUb8i4XgrQi8FWbzNA,1880
|
|
13
13
|
reflex/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
|
-
reflex/reflex.py,sha256=
|
|
14
|
+
reflex/reflex.py,sha256=1sRT6INn5ZdbPZAL-g5C9hU6ZwMEMHJV6gUvNTx3KSg,22616
|
|
15
15
|
reflex/route.py,sha256=UfhKxFwe3EYto66TZv5K2Gp6ytRbcL-_v72DJ5girEs,7691
|
|
16
|
-
reflex/state.py,sha256=
|
|
16
|
+
reflex/state.py,sha256=mrYV9wEdJ9DdWbAadgdWHbxc6onOU56dT8f4zkbznPo,92127
|
|
17
17
|
reflex/style.py,sha256=JxbXXA4MTnXrk0XHEoMBoNC7J-M2oL5Hl3W_QmXvmBg,13222
|
|
18
|
-
reflex/testing.py,sha256=
|
|
18
|
+
reflex/testing.py,sha256=92KUvlXE9w0N4IhqVOEOF8gIFJGuRxj7edeSWJrPGgk,35092
|
|
19
19
|
reflex/.templates/apps/blank/assets/favicon.ico,sha256=baxxgDAQ2V4-G5Q4S2yK5uUJTUGkv-AOWBQ0xd6myUo,4286
|
|
20
20
|
reflex/.templates/apps/blank/code/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
21
21
|
reflex/.templates/apps/blank/code/blank.py,sha256=wry9E3VjC7qtt_gzqNOyo4KZAAlzVyNp3uhFkcLZmM0,898
|
|
@@ -52,7 +52,7 @@ reflex/.templates/web/components/shiki/code.js,sha256=4Es1pxsr-lX4hTQ5mglrwwC6O_
|
|
|
52
52
|
reflex/.templates/web/styles/__reflex_style_reset.css,sha256=qbC6JIT643YEsvSQ0D7xBmWE5vXy94JGrKNihRuEjnA,8913
|
|
53
53
|
reflex/.templates/web/utils/client_side_routing.js,sha256=lRNgEGCLfTejh8W3aCuBdFuko6UI2vetk64j8wLT5Uk,1650
|
|
54
54
|
reflex/.templates/web/utils/react-theme.js,sha256=4CNLOcjLS5tiRp0TIgKK7trf8bSLWtmeDVhFP6BLe80,2349
|
|
55
|
-
reflex/.templates/web/utils/state.js,sha256=
|
|
55
|
+
reflex/.templates/web/utils/state.js,sha256=Ibr-o2RIjWaalsy5xQS3j9DOwY1-U6hGsSOaUAHwd8c,36152
|
|
56
56
|
reflex/.templates/web/utils/helpers/dataeditor.js,sha256=pG6MgsHuStDR7-qPipzfiK32j9bKDBa-4hZ0JSUo4JM,1623
|
|
57
57
|
reflex/.templates/web/utils/helpers/debounce.js,sha256=xGhtTRtS_xIcaeqnYVvYJNseLgQVk-DW-eFiHJYO9As,528
|
|
58
58
|
reflex/.templates/web/utils/helpers/paste.js,sha256=ef30HsR83jRzzvZnl8yV79yqFP8TC_u8SlN99cCS_OM,1799
|
|
@@ -63,7 +63,7 @@ reflex/app_mixins/lifespan.py,sha256=9rrdVUY0nHyk3gj31WJm7mw6I7KHBNtvSs9tZdwUm4I
|
|
|
63
63
|
reflex/app_mixins/middleware.py,sha256=BKhe0jUFO1_TylEC48LUZyaeYyPmAYW-NV4H5Rw221k,2848
|
|
64
64
|
reflex/app_mixins/mixin.py,sha256=R1YncalqDrbdPZvpKVbm72ZKmQZxYAWfuFq9JknzTqQ,305
|
|
65
65
|
reflex/compiler/__init__.py,sha256=r8jqmDSFf09iV2lHlNhfc9XrTLjNxfDNwPYlxS4cmHE,27
|
|
66
|
-
reflex/compiler/compiler.py,sha256=
|
|
66
|
+
reflex/compiler/compiler.py,sha256=r-qvhlz0I7Gw__rIFRjt2vCbUYW2yl-rHvznyO7SS4Q,28835
|
|
67
67
|
reflex/compiler/templates.py,sha256=mQifVgvE7cKyzMFL9F5jxdJb9KFxucWJa7nuOp09ZUo,6002
|
|
68
68
|
reflex/compiler/utils.py,sha256=v2LGz6WAFOSRpn3H0l215E94R7r7hB3s9vseWrQiXUQ,19045
|
|
69
69
|
reflex/components/__init__.py,sha256=eWpgWFbSQDj2TpGp6StEbxU7roQgzY7ZM0XIcIc5RE8,588
|
|
@@ -82,7 +82,7 @@ reflex/components/base/body.py,sha256=KLPOhxVsKyjPwrY9AziCOOG_c9ckOqIhI4n2i3_Q3N
|
|
|
82
82
|
reflex/components/base/body.pyi,sha256=yEILxDAFGWC4_8eF1PJzLIyAiVKEe91X1aowzW0RqrY,8785
|
|
83
83
|
reflex/components/base/document.py,sha256=Fr7y22NbeKeiz8kWPH2q5BpFjKdq-AmY-sxZilee_H8,636
|
|
84
84
|
reflex/components/base/document.pyi,sha256=lOdqJvR2BwODxfR0bOeSKjnZd175AIT3-su9qnPScrQ,12568
|
|
85
|
-
reflex/components/base/error_boundary.py,sha256=
|
|
85
|
+
reflex/components/base/error_boundary.py,sha256=hGp0yjFjBLutbplZkI3fkHBjIWBlYOoZ_1ISth7jEV0,6351
|
|
86
86
|
reflex/components/base/error_boundary.pyi,sha256=JW4FciEY2mfV0md9EvGAdhln2SKB9n8llTdfSAhZCKA,3056
|
|
87
87
|
reflex/components/base/fragment.py,sha256=ys7wkokq-N8WBxa9fqkEaNIrBlSximyD7vqlFVe02hQ,342
|
|
88
88
|
reflex/components/base/fragment.pyi,sha256=GrpnNRRNJLEVrOeBwZmVwT7OjsiDqxF2x1wvd9vwRPY,2531
|
|
@@ -94,8 +94,8 @@ reflex/components/base/script.py,sha256=SqH4UIE9sZgFwvoc239qeLwzktRvNBPZbiGFRj4h
|
|
|
94
94
|
reflex/components/base/script.pyi,sha256=tE8_KuihvLyhhsi_PPmImdMFSMvlPAGDq8npHZgLfUI,10653
|
|
95
95
|
reflex/components/base/strict_mode.py,sha256=_Rl2uGzL8gXTANOpoSU7uxsUQRH5JeTk2EIceWJJa5E,251
|
|
96
96
|
reflex/components/base/strict_mode.pyi,sha256=pAgRgQJ9f6fgFrcIGpx7HahtojGxaoJ8khXpHYNxtjU,2510
|
|
97
|
-
reflex/components/core/__init__.py,sha256=
|
|
98
|
-
reflex/components/core/__init__.pyi,sha256=
|
|
97
|
+
reflex/components/core/__init__.py,sha256=IRNnqXeQUT_Mhiaca05E3vKldxXzfkHGv5EDz_jAIqk,1418
|
|
98
|
+
reflex/components/core/__init__.pyi,sha256=Nr68v8pdwvBX93HhV-gHzPPYLAvRJ63kNrdICzBJxPk,1991
|
|
99
99
|
reflex/components/core/auto_scroll.py,sha256=3jtFUqMUM1R_YyxWjbNVLiLktw6HHp50EzIFTkFtgto,3616
|
|
100
100
|
reflex/components/core/auto_scroll.pyi,sha256=bZvBS6HBGMZrN8sZIuJs2jaW2efN0yIr_Pd-C0cxgO0,9019
|
|
101
101
|
reflex/components/core/banner.py,sha256=JEutUBT1UfpgnaDJthE2BoSzpIEE-cSHoQZlEvQb0dw,18471
|
|
@@ -120,6 +120,8 @@ reflex/components/core/sticky.py,sha256=2B3TxrwG2Rtp_lv1VkMOIF2bqSiT7qYGbqbiZiMK
|
|
|
120
120
|
reflex/components/core/sticky.pyi,sha256=U3VyCnx4hWWORd4yIiIe-mu_IdsPry2iMXrGMw2tLgQ,32906
|
|
121
121
|
reflex/components/core/upload.py,sha256=b4-ubt4dznL5LDA7UCKNdWcdCX9aLOX2vNFdv4GlRdg,13544
|
|
122
122
|
reflex/components/core/upload.pyi,sha256=mLJsrIXETKfwqO1nEpoE0yVrGIFXdadx9k745KyyBms,16407
|
|
123
|
+
reflex/components/core/window_events.py,sha256=opbuO20zVxt252kQLk49V7cltb_Um2oh7iePeGNJ538,3355
|
|
124
|
+
reflex/components/core/window_events.pyi,sha256=vZlbONRAopmXNhWwk-UIQtzUu_mDbFdsp4EhT-jMk0U,3336
|
|
123
125
|
reflex/components/core/layout/__init__.py,sha256=znldZaj_NGt8qCZDG70GMwjMTskcvCf_2N_EjCAHwdc,30
|
|
124
126
|
reflex/components/datadisplay/__init__.py,sha256=L8pWWKNHWdUD2fbZRoEKjd_8c_hpDdGYO463hwkoIi4,438
|
|
125
127
|
reflex/components/datadisplay/__init__.pyi,sha256=H3LZkWdrw3RTv_csaIT8qoClgAJTonlGZ5ZMeGMV0Bs,551
|
|
@@ -131,18 +133,18 @@ reflex/components/datadisplay/logo.py,sha256=xvg5TRVRSi2IKn7Kg4oYzWcaFMHfXxUaCp0
|
|
|
131
133
|
reflex/components/datadisplay/shiki_code_block.py,sha256=qCp4jZO3Ek4mR_1Qs4oxLh-GCEo6VBlpb8B9MDDdw4Y,24503
|
|
132
134
|
reflex/components/datadisplay/shiki_code_block.pyi,sha256=FXGWyG7u3RZQIwhK4M0YAYXRaJ-Pd-Aof_wjrlG7SrY,57323
|
|
133
135
|
reflex/components/el/__init__.py,sha256=JJHaCMvCh5_nsuyaWRVQ8d75A13lvaq4cpm6HoxUYuM,607
|
|
134
|
-
reflex/components/el/__init__.pyi,sha256=
|
|
136
|
+
reflex/components/el/__init__.pyi,sha256=zmdFPcH1ta6bA1JiY3DvIXx7wPtuIFmThrzq2mk_D_E,6293
|
|
135
137
|
reflex/components/el/element.py,sha256=stGVO6A2waCHq2CGQqR_g798hDKkuSZerwB0tYfZpRE,582
|
|
136
138
|
reflex/components/el/element.pyi,sha256=z8WHnR-wzs3XGaqJpS6Gj02S_MMljLYp9F3fn6F3DYA,2498
|
|
137
139
|
reflex/components/el/constants/__init__.py,sha256=9h2hdnOSltQLDEM6w1nGmv1B8Bf0tMquTCi5RhvBT6c,113
|
|
138
140
|
reflex/components/el/constants/html.py,sha256=hIebFwWritMmd3VCMYBNg0k_2UM1QDIhT_Q-EQsCWEA,7175
|
|
139
141
|
reflex/components/el/constants/react.py,sha256=f1-Vo8iWn2jSrR7vy-UwGbGRvw88UUZnbb3Rb56MSS4,15554
|
|
140
142
|
reflex/components/el/constants/reflex.py,sha256=7ChVeOvzjovZLHa-4vjWEGDqHsefV3tNsa8TKHWFaXM,1697
|
|
141
|
-
reflex/components/el/elements/__init__.py,sha256=
|
|
142
|
-
reflex/components/el/elements/__init__.pyi,sha256=
|
|
143
|
+
reflex/components/el/elements/__init__.py,sha256=PKchWo_qdR2oSedspbMN1kDmB7OZG90Yxt-nzDenMBs,2779
|
|
144
|
+
reflex/components/el/elements/__init__.pyi,sha256=0efVjUvi7r1UsCKf4U3qPyRhEJVcqs7DdBTa3dVTVbA,8610
|
|
143
145
|
reflex/components/el/elements/base.py,sha256=4jnwyCQUHvWcIfwiIWVCiIC_jbwZlkAiOgx73t7tdw8,3075
|
|
144
146
|
reflex/components/el/elements/base.pyi,sha256=-wd-cLLOx1rXdtAJ_1UlF9B4mtTJyZAs1Y1uYMcp-0M,10204
|
|
145
|
-
reflex/components/el/elements/forms.py,sha256=
|
|
147
|
+
reflex/components/el/elements/forms.py,sha256=nZzPKCvStfMAJ3IGdUw2rf_5ISvN8nNdoEEFW-3LtFk,21751
|
|
146
148
|
reflex/components/el/elements/forms.pyi,sha256=mq21H_9lIY53lWtmR2iIZMF5hOEaauFdIDU0nimSXbk,170986
|
|
147
149
|
reflex/components/el/elements/inline.py,sha256=q3Ku_x8L9NaXrYQovCfkWwZ5AfXG0VyhGN_OT73kA0Y,4126
|
|
148
150
|
reflex/components/el/elements/inline.pyi,sha256=mWgJ4a_2De__0ZpailJXDpDonEE0861zrIO9Bc039iU,235400
|
|
@@ -158,14 +160,14 @@ reflex/components/el/elements/sectioning.py,sha256=wVkR35dt4DMHKcJN5f0aglH16xSZz
|
|
|
158
160
|
reflex/components/el/elements/sectioning.pyi,sha256=eAgzFAcXZMBJB5zpTymcSnIgp1K-7HFXN4xlkWDgtN8,125073
|
|
159
161
|
reflex/components/el/elements/tables.py,sha256=Rt-C07s39TQm_dHSMaly2J7yD0OZhx9q6G2k5k2IkMo,2176
|
|
160
162
|
reflex/components/el/elements/tables.pyi,sha256=Oum8D0o1GS7f8gqmv7uqK-H9G2onHSQDMZI9OknGX_s,85304
|
|
161
|
-
reflex/components/el/elements/typography.py,sha256=
|
|
162
|
-
reflex/components/el/elements/typography.pyi,sha256=
|
|
163
|
+
reflex/components/el/elements/typography.py,sha256=0Oj94kwTY2-Get-xr8FwwIEpZmc_hIwoC6XRXEIxvPg,2567
|
|
164
|
+
reflex/components/el/elements/typography.pyi,sha256=hdcV9mcSSBTF2sufql7S6720a5RL1yisOCFxYpET1T0,134546
|
|
163
165
|
reflex/components/gridjs/__init__.py,sha256=xJwDm1AZ70L5-t9LLqZwGUtDpijbf1KuMYDT-j8g3pM,88
|
|
164
166
|
reflex/components/gridjs/datatable.py,sha256=7JKrRw1zkpFB0_wwoaIhrVrldsm7-dyi3PASgqLq8Hc,4224
|
|
165
167
|
reflex/components/gridjs/datatable.pyi,sha256=rJZO5_kdS-JgsLyR4_vVA-b_SfieGynOW2z_DzNbKqM,5445
|
|
166
168
|
reflex/components/lucide/__init__.py,sha256=EggTK2MuQKQeOBLKW-mF0VaDK9zdWBImu1HO2dvHZbE,73
|
|
167
|
-
reflex/components/lucide/icon.py,sha256=
|
|
168
|
-
reflex/components/lucide/icon.pyi,sha256=
|
|
169
|
+
reflex/components/lucide/icon.py,sha256=1vzI8WDjAJlSkt_4FSOmxyTCTANBbROfgbvVDMma7Hs,34871
|
|
170
|
+
reflex/components/lucide/icon.pyi,sha256=d5sfVhduWYUkLEmimyHUOSrWlXCMcNok-o7LtOHLd1Y,38030
|
|
169
171
|
reflex/components/markdown/__init__.py,sha256=Dfl1At5uYoY7H4ufZU_RY2KOGQDLtj75dsZ2BTqqAns,87
|
|
170
172
|
reflex/components/markdown/markdown.py,sha256=scDHnmn2n4KHXS2Imqa1jw1wTk1ewCB2MojC9NgKGHQ,15503
|
|
171
173
|
reflex/components/markdown/markdown.pyi,sha256=b1_NsT165Hx7MuzfkiEBaH5JNyrCRa_vuzIYC4mHjq4,4452
|
|
@@ -324,10 +326,10 @@ reflex/components/recharts/general.py,sha256=DuPDfccUWWehc40ji7_JSYHX_AoJyGn_-4y
|
|
|
324
326
|
reflex/components/recharts/general.pyi,sha256=-FcVLHn30AR7SzbjETpfKD5mXfOcv3GJO0w9c6MBmWQ,24242
|
|
325
327
|
reflex/components/recharts/polar.py,sha256=zocHpwWQ0lbg4BTnEBwQ6J9SSJsOYRwZGf9UPzxoNKs,15682
|
|
326
328
|
reflex/components/recharts/polar.pyi,sha256=6_karFX40GH0SwJK7o_VVHu4pn4o-UKx470cxayWnfg,27717
|
|
327
|
-
reflex/components/recharts/recharts.py,sha256=
|
|
329
|
+
reflex/components/recharts/recharts.py,sha256=CrkZ1Ez6QhDpDvlL0TkeT_qtBg0keLaGS9L2qfgr8zI,3221
|
|
328
330
|
reflex/components/recharts/recharts.pyi,sha256=9iHH1FiIGNYwn1zqyU2iqa9n71Q04AVfy9gWKkUirN0,7344
|
|
329
331
|
reflex/components/sonner/__init__.py,sha256=L_mdRIy7-ccRGSz5VK6J8O-c-e-D1p9xWw29_ErrvGg,68
|
|
330
|
-
reflex/components/sonner/toast.py,sha256=
|
|
332
|
+
reflex/components/sonner/toast.py,sha256=T_Vsq6wPnDLNeL6bmxu-DZsRRpoHm4Z4lqKW7URbSgY,12392
|
|
331
333
|
reflex/components/sonner/toast.pyi,sha256=uBGCcTFePImUcG0wBDu80i9fvK5RZXdtl5k9b4sorhA,7788
|
|
332
334
|
reflex/components/tags/__init__.py,sha256=Pc0JU-Tv_W7KCsydXgbKmu7w2VtHNkI6Cx2hTkNhW_Q,152
|
|
333
335
|
reflex/components/tags/cond_tag.py,sha256=YHxqq34PD-1D88YivO7kn7FsbW8SfPS2McNg7j_nncI,588
|
|
@@ -342,7 +344,7 @@ reflex/constants/compiler.py,sha256=VoA1vWZpl-2EdIOhAiOLwSX4S-bFLbkiESlNBmN08NQ,
|
|
|
342
344
|
reflex/constants/config.py,sha256=8OIjiBdZZJrRVHsNBheMwopE9AwBFFzau0SXqXKcrPg,1715
|
|
343
345
|
reflex/constants/custom_components.py,sha256=joJt4CEt1yKy7wsBH6vYo7_QRW0O_fWXrrTf0VY2q14,1317
|
|
344
346
|
reflex/constants/event.py,sha256=tgoynWQi2L0_Kqc3XhXo7XXL76A-OKhJGHRrNjm7gFw,2885
|
|
345
|
-
reflex/constants/installer.py,sha256=
|
|
347
|
+
reflex/constants/installer.py,sha256=hPfNCA3HiFf67-BBYL-KK4Fi71c-EZXF71mrQNCojfs,4141
|
|
346
348
|
reflex/constants/route.py,sha256=UBjqaAOxiUxlDZCSY4O2JJChKvA4MZrhUU0E5rNvKbM,2682
|
|
347
349
|
reflex/constants/state.py,sha256=uF_7-M9Gid-P3DjAOq4F1ERplyZhiNccowo_jLrdJrg,323
|
|
348
350
|
reflex/constants/utils.py,sha256=e1ChEvbHfmE_V2UJvCSUhD_qTVAIhEGPpRJSqdSd6PA,780
|
|
@@ -371,10 +373,10 @@ reflex/utils/__init__.py,sha256=y-AHKiRQAhk2oAkvn7W8cRVTZVK625ff8tTwvZtO7S4,24
|
|
|
371
373
|
reflex/utils/build.py,sha256=lk8hE69onG95dv-LxRhjtEugct1g-KcWPUDorzqeGIE,7964
|
|
372
374
|
reflex/utils/codespaces.py,sha256=kEQ-j-jclTukFpXDlYgNp95kYMGDrQmP3VNEoYGZ1u4,3052
|
|
373
375
|
reflex/utils/compat.py,sha256=aSJH_M6iomgHPQ4onQ153xh1MWqPi3HSYDzE68N6gZM,2635
|
|
374
|
-
reflex/utils/console.py,sha256=
|
|
376
|
+
reflex/utils/console.py,sha256=s9M3yL7G8-mW3gXuVBMOgoDYk9EfHJ0sL1XADwye67o,12088
|
|
375
377
|
reflex/utils/decorator.py,sha256=DVrlVGljV5OchMs-5_y1CbbqnCWlH6lv-dFko8yHxVY,1738
|
|
376
378
|
reflex/utils/exceptions.py,sha256=Wwu7Ji2xgq521bJKtU2NgjwhmFfnG8erirEVN2h8S-g,8884
|
|
377
|
-
reflex/utils/exec.py,sha256=
|
|
379
|
+
reflex/utils/exec.py,sha256=_LmatrFVNQJPJEqh6Ov3p14UQedPHZj92hLb_HmEqHs,21993
|
|
378
380
|
reflex/utils/export.py,sha256=Z2AHuhkxGQzOi9I90BejQ4qEcD0URr2i-ZU5qTJt7eQ,2562
|
|
379
381
|
reflex/utils/format.py,sha256=6lgPpYsArWDwGuC_BT-X9g4BnCG14vvH7-oNjrCA5Xc,21119
|
|
380
382
|
reflex/utils/imports.py,sha256=Ov-lqv-PfsPl3kTEW13r5aDauIfn6TqzEMyv42RKLOA,3761
|
|
@@ -383,13 +385,13 @@ reflex/utils/misc.py,sha256=zbYIl7mI08is9enr851sj7PnDaNeVVvq5jDmQ4wdlCE,2879
|
|
|
383
385
|
reflex/utils/net.py,sha256=HEHA8L5g7L9s0fFG4dTiZzB9PFO_0WRrlbMgpZr_GAQ,4093
|
|
384
386
|
reflex/utils/path_ops.py,sha256=_RS17IQDNr5vcoLLGZx2-z1E5WP-JgDHvaRAOgqrZiU,8154
|
|
385
387
|
reflex/utils/prerequisites.py,sha256=L2tCFqqiYqygRbQ0JMMBduMdsMkKJLDvzGKZnvI1Enc,66001
|
|
386
|
-
reflex/utils/processes.py,sha256=
|
|
388
|
+
reflex/utils/processes.py,sha256=q9RwI82t4zaVs7_xUGC8HNk9x6QCY9rcgEGitfqzG10,16918
|
|
387
389
|
reflex/utils/pyi_generator.py,sha256=HdmUVs50Bk7MAMFSvpATRhH--_50w-9URMFnjLlwT40,46086
|
|
388
390
|
reflex/utils/redir.py,sha256=3JG0cRdfIZnFIBHHN32ynD5cfbUZa7gLRxzrxRGGl5I,1751
|
|
389
391
|
reflex/utils/registry.py,sha256=DEF7csYQ5VnrZhy6ULVfMlceh7XVH0pks96lIyyThuc,1882
|
|
390
392
|
reflex/utils/serializers.py,sha256=sVLfbWIBKPpmo0CVVxoxXGu0K3R9mYMWgaI02LXZmcM,13952
|
|
391
393
|
reflex/utils/telemetry.py,sha256=9k5S6dST_6rylhKyLMlnwzsxZ4p_Q0oikxOBpTckQxw,7448
|
|
392
|
-
reflex/utils/types.py,sha256=
|
|
394
|
+
reflex/utils/types.py,sha256=jFHfd2-yHWV61L7YP2gc9Zj2ZLwdthHOOfRIc_PAWH0,38390
|
|
393
395
|
reflex/vars/__init__.py,sha256=85eXMt32bFoKtMdH3KxYRMD8mtnKyYiQcThPxJLoW1k,1359
|
|
394
396
|
reflex/vars/base.py,sha256=IGCU5iwZSsVMPVQqODEjmHJrskqfpfMIQ2yzcVFMoSQ,112940
|
|
395
397
|
reflex/vars/datetime.py,sha256=F2Jv_bfydipFSkIQ1F6x5MnSgFEyES9Vq5RG_uGH81E,5118
|
|
@@ -399,8 +401,8 @@ reflex/vars/number.py,sha256=tO7pnvFaBsedq1HWT4skytnSqHWMluGEhUbjAUMx8XQ,28190
|
|
|
399
401
|
reflex/vars/object.py,sha256=BDmeiwG8v97s_BnR1Egq3NxOKVjv9TfnREB3cz0zZtk,17322
|
|
400
402
|
reflex/vars/sequence.py,sha256=1kBrqihspyjyQ1XDqFPC8OpVGtZs_EVkOdIKBro5ilA,55249
|
|
401
403
|
scripts/hatch_build.py,sha256=-4pxcLSFmirmujGpQX9UUxjhIC03tQ_fIQwVbHu9kc0,1861
|
|
402
|
-
reflex-0.8.
|
|
403
|
-
reflex-0.8.
|
|
404
|
-
reflex-0.8.
|
|
405
|
-
reflex-0.8.
|
|
406
|
-
reflex-0.8.
|
|
404
|
+
reflex-0.8.3a2.dist-info/METADATA,sha256=EXg7yHNzrGXELUGgv9wt1N8WikdQ3NDHBzPsqqR2I_k,12371
|
|
405
|
+
reflex-0.8.3a2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
406
|
+
reflex-0.8.3a2.dist-info/entry_points.txt,sha256=Rxt4dXc7MLBNt5CSHTehVPuSe9Xqow4HLX55nD9tQQ0,45
|
|
407
|
+
reflex-0.8.3a2.dist-info/licenses/LICENSE,sha256=dw3zLrp9f5ObD7kqS32vWfhcImfO52PMmRqvtxq_YEE,11358
|
|
408
|
+
reflex-0.8.3a2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|