reflex 0.5.1a2__py3-none-any.whl → 0.5.2__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/app.py +50 -6
- reflex/app_module_for_backend.py +3 -0
- reflex/components/datadisplay/code.py +1 -1
- reflex/components/datadisplay/code.pyi +1 -1
- reflex/components/radix/primitives/accordion.py +74 -80
- reflex/components/radix/primitives/accordion.pyi +5 -5
- reflex/components/radix/primitives/form.py +8 -9
- reflex/components/radix/primitives/form.pyi +4 -5
- reflex/components/radix/primitives/progress.py +22 -27
- reflex/components/radix/primitives/progress.pyi +3 -4
- reflex/components/radix/primitives/slider.py +47 -56
- reflex/components/radix/primitives/slider.pyi +4 -5
- reflex/components/radix/themes/components/tabs.py +46 -0
- reflex/components/radix/themes/components/tabs.pyi +7 -0
- reflex/components/radix/themes/layout/center.py +7 -9
- reflex/components/radix/themes/layout/center.pyi +2 -2
- reflex/components/radix/themes/layout/list.py +6 -9
- reflex/components/radix/themes/layout/list.pyi +2 -3
- reflex/components/radix/themes/layout/spacer.py +7 -9
- reflex/components/radix/themes/layout/spacer.pyi +2 -2
- reflex/config.py +3 -0
- reflex/config.pyi +2 -0
- reflex/custom_components/custom_components.py +39 -14
- reflex/event.py +2 -1
- reflex/experimental/layout.py +3 -1
- reflex/state.py +6 -8
- reflex/style.py +2 -0
- reflex/testing.py +2 -0
- reflex/utils/exec.py +5 -1
- reflex/utils/prerequisites.py +3 -4
- reflex/utils/telemetry.py +37 -11
- reflex/vars.py +22 -9
- {reflex-0.5.1a2.dist-info → reflex-0.5.2.dist-info}/METADATA +10 -9
- {reflex-0.5.1a2.dist-info → reflex-0.5.2.dist-info}/RECORD +37 -37
- {reflex-0.5.1a2.dist-info → reflex-0.5.2.dist-info}/LICENSE +0 -0
- {reflex-0.5.1a2.dist-info → reflex-0.5.2.dist-info}/WHEEL +0 -0
- {reflex-0.5.1a2.dist-info → reflex-0.5.2.dist-info}/entry_points.txt +0 -0
reflex/state.py
CHANGED
|
@@ -757,7 +757,9 @@ class BaseState(Base, ABC, extra=pydantic.Extra.allow):
|
|
|
757
757
|
for base in cls.__bases__
|
|
758
758
|
if issubclass(base, BaseState) and base is not BaseState and not base._mixin
|
|
759
759
|
]
|
|
760
|
-
assert
|
|
760
|
+
assert (
|
|
761
|
+
len(parent_states) < 2
|
|
762
|
+
), f"Only one parent state is allowed {parent_states}."
|
|
761
763
|
return parent_states[0] if len(parent_states) == 1 else None # type: ignore
|
|
762
764
|
|
|
763
765
|
@classmethod
|
|
@@ -1476,7 +1478,6 @@ class BaseState(Base, ABC, extra=pydantic.Extra.allow):
|
|
|
1476
1478
|
StateUpdate object
|
|
1477
1479
|
"""
|
|
1478
1480
|
from reflex.utils import telemetry
|
|
1479
|
-
from reflex.utils.exceptions import ReflexError
|
|
1480
1481
|
|
|
1481
1482
|
# Get the function to process the event.
|
|
1482
1483
|
fn = functools.partial(handler.fn, state)
|
|
@@ -1516,8 +1517,7 @@ class BaseState(Base, ABC, extra=pydantic.Extra.allow):
|
|
|
1516
1517
|
except Exception as ex:
|
|
1517
1518
|
error = traceback.format_exc()
|
|
1518
1519
|
print(error)
|
|
1519
|
-
|
|
1520
|
-
telemetry.send("error", context="backend", detail=str(ex))
|
|
1520
|
+
telemetry.send_error(ex, context="backend")
|
|
1521
1521
|
yield state._as_state_update(
|
|
1522
1522
|
handler,
|
|
1523
1523
|
window_alert("An error occurred. See logs for details."),
|
|
@@ -1889,15 +1889,13 @@ class ComponentState(State, mixin=True):
|
|
|
1889
1889
|
_per_component_state_instance_count: ClassVar[int] = 0
|
|
1890
1890
|
|
|
1891
1891
|
@classmethod
|
|
1892
|
-
def __init_subclass__(cls, mixin: bool =
|
|
1892
|
+
def __init_subclass__(cls, mixin: bool = True, **kwargs):
|
|
1893
1893
|
"""Overwrite mixin default to True.
|
|
1894
1894
|
|
|
1895
1895
|
Args:
|
|
1896
1896
|
mixin: Whether the subclass is a mixin and should not be initialized.
|
|
1897
1897
|
**kwargs: The kwargs to pass to the pydantic init_subclass method.
|
|
1898
1898
|
"""
|
|
1899
|
-
if ComponentState in cls.__bases__:
|
|
1900
|
-
mixin = True
|
|
1901
1899
|
super().__init_subclass__(mixin=mixin, **kwargs)
|
|
1902
1900
|
|
|
1903
1901
|
@classmethod
|
|
@@ -1928,7 +1926,7 @@ class ComponentState(State, mixin=True):
|
|
|
1928
1926
|
"""
|
|
1929
1927
|
cls._per_component_state_instance_count += 1
|
|
1930
1928
|
state_cls_name = f"{cls.__name__}_n{cls._per_component_state_instance_count}"
|
|
1931
|
-
component_state = type(state_cls_name, (cls, State), {})
|
|
1929
|
+
component_state = type(state_cls_name, (cls, State), {}, mixin=False)
|
|
1932
1930
|
component = component_state.get_component(*children, **props)
|
|
1933
1931
|
component.State = component_state
|
|
1934
1932
|
return component
|
reflex/style.py
CHANGED
|
@@ -47,6 +47,8 @@ STYLE_PROP_SHORTHAND_MAPPING = {
|
|
|
47
47
|
"marginY": ("marginTop", "marginBottom"),
|
|
48
48
|
"bg": ("background",),
|
|
49
49
|
"bgColor": ("backgroundColor",),
|
|
50
|
+
# Radix components derive their font from this CSS var, not inherited from body or class.
|
|
51
|
+
"fontFamily": ("fontFamily", "--default-font-family"),
|
|
50
52
|
}
|
|
51
53
|
|
|
52
54
|
|
reflex/testing.py
CHANGED
|
@@ -325,6 +325,8 @@ class AppHarness:
|
|
|
325
325
|
m = re.search(reflex.constants.Next.FRONTEND_LISTENING_REGEX, line)
|
|
326
326
|
if m is not None:
|
|
327
327
|
self.frontend_url = m.group(1)
|
|
328
|
+
config = reflex.config.get_config()
|
|
329
|
+
config.deploy_url = self.frontend_url
|
|
328
330
|
break
|
|
329
331
|
if self.frontend_url is None:
|
|
330
332
|
raise RuntimeError("Frontend did not start")
|
reflex/utils/exec.py
CHANGED
|
@@ -217,8 +217,12 @@ def run_backend_prod(
|
|
|
217
217
|
"""
|
|
218
218
|
from reflex.utils import processes
|
|
219
219
|
|
|
220
|
-
num_workers = processes.get_num_workers()
|
|
221
220
|
config = get_config()
|
|
221
|
+
num_workers = (
|
|
222
|
+
processes.get_num_workers()
|
|
223
|
+
if not config.gunicorn_workers
|
|
224
|
+
else config.gunicorn_workers
|
|
225
|
+
)
|
|
222
226
|
RUN_BACKEND_PROD = f"gunicorn --worker-class {config.gunicorn_worker_class} --preload --timeout {config.timeout} --log-level critical".split()
|
|
223
227
|
RUN_BACKEND_PROD_WINDOWS = f"uvicorn --timeout-keep-alive {config.timeout}".split()
|
|
224
228
|
app_module = f"reflex.app_module_for_backend:{constants.CompileVars.APP}"
|
reflex/utils/prerequisites.py
CHANGED
|
@@ -233,9 +233,8 @@ def get_app(reload: bool = False) -> ModuleType:
|
|
|
233
233
|
|
|
234
234
|
Raises:
|
|
235
235
|
RuntimeError: If the app name is not set in the config.
|
|
236
|
-
exceptions.ReflexError: Reflex specific errors.
|
|
237
236
|
"""
|
|
238
|
-
from reflex.utils import
|
|
237
|
+
from reflex.utils import telemetry
|
|
239
238
|
|
|
240
239
|
try:
|
|
241
240
|
os.environ[constants.RELOAD_CONFIG] = str(reload)
|
|
@@ -259,8 +258,8 @@ def get_app(reload: bool = False) -> ModuleType:
|
|
|
259
258
|
importlib.reload(app)
|
|
260
259
|
|
|
261
260
|
return app
|
|
262
|
-
except
|
|
263
|
-
telemetry.
|
|
261
|
+
except Exception as ex:
|
|
262
|
+
telemetry.send_error(ex, context="frontend")
|
|
264
263
|
raise
|
|
265
264
|
|
|
266
265
|
|
reflex/utils/telemetry.py
CHANGED
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
+
import asyncio
|
|
5
6
|
import multiprocessing
|
|
6
7
|
import platform
|
|
8
|
+
import warnings
|
|
7
9
|
|
|
8
10
|
try:
|
|
9
11
|
from datetime import UTC, datetime
|
|
@@ -157,17 +159,7 @@ def _send_event(event_data: dict) -> bool:
|
|
|
157
159
|
return False
|
|
158
160
|
|
|
159
161
|
|
|
160
|
-
def
|
|
161
|
-
"""Send anonymous telemetry for Reflex.
|
|
162
|
-
|
|
163
|
-
Args:
|
|
164
|
-
event: The event name.
|
|
165
|
-
telemetry_enabled: Whether to send the telemetry (If None, get from config).
|
|
166
|
-
kwargs: Additional data to send with the event.
|
|
167
|
-
|
|
168
|
-
Returns:
|
|
169
|
-
Whether the telemetry was sent successfully.
|
|
170
|
-
"""
|
|
162
|
+
def _send(event, telemetry_enabled, **kwargs):
|
|
171
163
|
from reflex.config import get_config
|
|
172
164
|
|
|
173
165
|
# Get the telemetry_enabled from the config if it is not specified.
|
|
@@ -182,3 +174,37 @@ def send(event: str, telemetry_enabled: bool | None = None, **kwargs) -> bool:
|
|
|
182
174
|
if not event_data:
|
|
183
175
|
return False
|
|
184
176
|
return _send_event(event_data)
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
def send(event: str, telemetry_enabled: bool | None = None, **kwargs):
|
|
180
|
+
"""Send anonymous telemetry for Reflex.
|
|
181
|
+
|
|
182
|
+
Args:
|
|
183
|
+
event: The event name.
|
|
184
|
+
telemetry_enabled: Whether to send the telemetry (If None, get from config).
|
|
185
|
+
kwargs: Additional data to send with the event.
|
|
186
|
+
"""
|
|
187
|
+
|
|
188
|
+
async def async_send(event, telemetry_enabled, **kwargs):
|
|
189
|
+
return _send(event, telemetry_enabled, **kwargs)
|
|
190
|
+
|
|
191
|
+
try:
|
|
192
|
+
# Within an event loop context, send the event asynchronously.
|
|
193
|
+
asyncio.create_task(async_send(event, telemetry_enabled, **kwargs))
|
|
194
|
+
except RuntimeError:
|
|
195
|
+
# If there is no event loop, send the event synchronously.
|
|
196
|
+
warnings.filterwarnings("ignore", category=RuntimeWarning)
|
|
197
|
+
_send(event, telemetry_enabled, **kwargs)
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
def send_error(error: Exception, context: str):
|
|
201
|
+
"""Send an error event.
|
|
202
|
+
|
|
203
|
+
Args:
|
|
204
|
+
error: The error to send.
|
|
205
|
+
context: The context of the error (e.g. "frontend" or "backend")
|
|
206
|
+
|
|
207
|
+
Returns:
|
|
208
|
+
Whether the telemetry was sent successfully.
|
|
209
|
+
"""
|
|
210
|
+
return send("error", detail=type(error).__name__, context=context)
|
reflex/vars.py
CHANGED
|
@@ -704,7 +704,11 @@ class Var:
|
|
|
704
704
|
"""
|
|
705
705
|
try:
|
|
706
706
|
var_attribute = super().__getattribute__(name)
|
|
707
|
-
if
|
|
707
|
+
if (
|
|
708
|
+
not name.startswith("_")
|
|
709
|
+
and name not in Var.__dict__
|
|
710
|
+
and name not in BaseVar.__dict__
|
|
711
|
+
):
|
|
708
712
|
# Check if the attribute should be accessed through the Var instead of
|
|
709
713
|
# accessing one of the Var operations
|
|
710
714
|
type_ = types.get_attribute_access_type(
|
|
@@ -834,19 +838,19 @@ class Var:
|
|
|
834
838
|
if invoke_fn:
|
|
835
839
|
# invoke the function on left operand.
|
|
836
840
|
operation_name = (
|
|
837
|
-
f"{left_operand_full_name}.{fn}({right_operand_full_name})"
|
|
838
|
-
)
|
|
841
|
+
f"{left_operand_full_name}.{fn}({right_operand_full_name})"
|
|
842
|
+
) # type: ignore
|
|
839
843
|
else:
|
|
840
844
|
# pass the operands as arguments to the function.
|
|
841
845
|
operation_name = (
|
|
842
|
-
f"{left_operand_full_name} {op} {right_operand_full_name}"
|
|
843
|
-
)
|
|
846
|
+
f"{left_operand_full_name} {op} {right_operand_full_name}"
|
|
847
|
+
) # type: ignore
|
|
844
848
|
operation_name = f"{fn}({operation_name})"
|
|
845
849
|
else:
|
|
846
850
|
# apply operator to operands (left operand <operator> right_operand)
|
|
847
851
|
operation_name = (
|
|
848
|
-
f"{left_operand_full_name} {op} {right_operand_full_name}"
|
|
849
|
-
)
|
|
852
|
+
f"{left_operand_full_name} {op} {right_operand_full_name}"
|
|
853
|
+
) # type: ignore
|
|
850
854
|
operation_name = format.wrap(operation_name, "(")
|
|
851
855
|
else:
|
|
852
856
|
# apply operator to left operand (<operator> left_operand)
|
|
@@ -1349,11 +1353,12 @@ class Var:
|
|
|
1349
1353
|
"'in' operator not supported for Var types, use Var.contains() instead."
|
|
1350
1354
|
)
|
|
1351
1355
|
|
|
1352
|
-
def contains(self, other: Any) -> Var:
|
|
1356
|
+
def contains(self, other: Any, field: Union[Var, None] = None) -> Var:
|
|
1353
1357
|
"""Check if a var contains the object `other`.
|
|
1354
1358
|
|
|
1355
1359
|
Args:
|
|
1356
1360
|
other: The object to check.
|
|
1361
|
+
field: Optionally specify a field to check on both object and the other var.
|
|
1357
1362
|
|
|
1358
1363
|
Raises:
|
|
1359
1364
|
VarTypeError: If the var is not a valid type: dict, list, tuple or str.
|
|
@@ -1389,8 +1394,16 @@ class Var:
|
|
|
1389
1394
|
raise VarTypeError(
|
|
1390
1395
|
f"'in <string>' requires string as left operand, not {other._var_type}"
|
|
1391
1396
|
)
|
|
1397
|
+
|
|
1398
|
+
_var_name = None
|
|
1399
|
+
if field is None:
|
|
1400
|
+
_var_name = f"{self._var_name}.includes({other._var_full_name})"
|
|
1401
|
+
else:
|
|
1402
|
+
field = Var.create_safe(field, _var_is_string=isinstance(field, str))
|
|
1403
|
+
_var_name = f"{self._var_name}.some(e=>e[{field._var_name_unwrapped}]==={other._var_full_name})"
|
|
1404
|
+
|
|
1392
1405
|
return self._replace(
|
|
1393
|
-
_var_name=
|
|
1406
|
+
_var_name=_var_name,
|
|
1394
1407
|
_var_type=bool,
|
|
1395
1408
|
_var_is_string=False,
|
|
1396
1409
|
merge_var_data=other._var_data,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: reflex
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.2
|
|
4
4
|
Summary: Web apps in pure Python.
|
|
5
5
|
Home-page: https://reflex.dev
|
|
6
6
|
License: Apache-2.0
|
|
@@ -174,14 +174,15 @@ def index():
|
|
|
174
174
|
on_blur=State.set_prompt,
|
|
175
175
|
width="25em",
|
|
176
176
|
),
|
|
177
|
-
rx.button(
|
|
177
|
+
rx.button(
|
|
178
|
+
"Generate Image",
|
|
179
|
+
on_click=State.get_image,
|
|
180
|
+
width="25em",
|
|
181
|
+
loading=State.processing
|
|
182
|
+
),
|
|
178
183
|
rx.cond(
|
|
179
|
-
State.
|
|
180
|
-
rx.
|
|
181
|
-
rx.cond(
|
|
182
|
-
State.complete,
|
|
183
|
-
rx.image(src=State.image_url, width="20em"),
|
|
184
|
-
),
|
|
184
|
+
State.complete,
|
|
185
|
+
rx.image(src=State.image_url, width="20em"),
|
|
185
186
|
),
|
|
186
187
|
align="center",
|
|
187
188
|
),
|
|
@@ -239,7 +240,7 @@ class State(rx.State):
|
|
|
239
240
|
|
|
240
241
|
The state defines all the variables (called vars) in an app that can change and the functions that change them.
|
|
241
242
|
|
|
242
|
-
Here the state is comprised of a `prompt` and `image_url`. There are also the booleans `processing` and `complete` to indicate when to
|
|
243
|
+
Here the state is comprised of a `prompt` and `image_url`. There are also the booleans `processing` and `complete` to indicate when to disable the button (during image generation) and when to show the resulting image.
|
|
243
244
|
|
|
244
245
|
### **Event Handlers**
|
|
245
246
|
|
|
@@ -66,8 +66,8 @@ reflex/__init__.py,sha256=fzBYk8qUFWkUlD3U-97xEAdv9N1tTMRmAzQat_9cZW0,5831
|
|
|
66
66
|
reflex/__init__.pyi,sha256=y4jPgnR9f6xOpFAK9-WM7p-T05Y5jGFYkx7Thdok_3I,7791
|
|
67
67
|
reflex/__main__.py,sha256=6cVrGEyT3j3tEvlEVUatpaYfbB5EF3UVY-6vc_Z7-hw,108
|
|
68
68
|
reflex/admin.py,sha256=-bTxFUEoHo4X9FzmcSa6KSVVPpF7wh38lBvF67GhSvQ,373
|
|
69
|
-
reflex/app.py,sha256=
|
|
70
|
-
reflex/app_module_for_backend.py,sha256=
|
|
69
|
+
reflex/app.py,sha256=pvG-rNB9fZTQPVqQqafAECzzUzTYYTDbCcSUe37hf1s,48956
|
|
70
|
+
reflex/app_module_for_backend.py,sha256=zGsgZWpl11exOuH34JZUimNgBnWpjL7WH4SW6LItxgY,1227
|
|
71
71
|
reflex/base.py,sha256=nqvgm-f1Fcj1WQrphKFniZWIM13bzr48OgfPBo1KZd8,4274
|
|
72
72
|
reflex/compiler/__init__.py,sha256=r8jqmDSFf09iV2lHlNhfc9XrTLjNxfDNwPYlxS4cmHE,27
|
|
73
73
|
reflex/compiler/compiler.py,sha256=_ywbGHWnyM6tqPV-oriyBhFkblm5jQSJ6UuZT0LtkBo,17455
|
|
@@ -252,8 +252,8 @@ reflex/components/core/responsive.py,sha256=ycKULWxCRiUC_eWf_B1nhk9K0JXx5Uxw7acw
|
|
|
252
252
|
reflex/components/core/upload.py,sha256=mPAPemZBfQmPnI3ueA1hy4J7GiFKw_9gKD_n6myt5lQ,10146
|
|
253
253
|
reflex/components/core/upload.pyi,sha256=IM7ZnriCs-hzFl4-0IdT2P4QNFvoJsDcr-VxkvnUyeo,17147
|
|
254
254
|
reflex/components/datadisplay/__init__.py,sha256=9HXaq0tuYBDm06AeWYmi1ywwNBsFEnbSe3zlVNCw7wk,357
|
|
255
|
-
reflex/components/datadisplay/code.py,sha256=
|
|
256
|
-
reflex/components/datadisplay/code.pyi,sha256=
|
|
255
|
+
reflex/components/datadisplay/code.py,sha256=Z_-ozKCdaXpXKzZIWmh151RMoJBTVATNwCWD-veOH_I,11347
|
|
256
|
+
reflex/components/datadisplay/code.pyi,sha256=HCYVvF7b2-tqKYGdQUGp7khHF5fuNNdwQUE1doF4-3Y,31197
|
|
257
257
|
reflex/components/datadisplay/dataeditor.py,sha256=WdeEGRVlC1W2WnPn4zKhmyoaKTqgowqiiLg8zeuHTGw,12632
|
|
258
258
|
reflex/components/datadisplay/dataeditor.pyi,sha256=e451O8T16GDPd01W5wPeIYynFO16keYW5EcSpOgF0m0,10485
|
|
259
259
|
reflex/components/datadisplay/logo.py,sha256=fdQ9gDxBln8MDRDN3hP4JkF6BhttnD6GhgGRaBmu0EU,2562
|
|
@@ -315,18 +315,18 @@ reflex/components/plotly/plotly.pyi,sha256=FrY0iQX7elz2ZWKW-DXdg8cz_v7bB7QqkZkpU
|
|
|
315
315
|
reflex/components/props.py,sha256=0zyzw4dmAAPh_-mbr0_jGSRDQFKUM9vkz5MXA81nZX0,906
|
|
316
316
|
reflex/components/radix/__init__.py,sha256=5BGBr3z1_GcgCbNXUqAlK5AR13J7fxzFn4Wj-nTDNa4,112
|
|
317
317
|
reflex/components/radix/primitives/__init__.py,sha256=wkbCDG6q2MuZobhD6FeH9PgLXKZhb6cImguCV4n-aGs,214
|
|
318
|
-
reflex/components/radix/primitives/accordion.py,sha256=
|
|
319
|
-
reflex/components/radix/primitives/accordion.pyi,sha256=
|
|
318
|
+
reflex/components/radix/primitives/accordion.py,sha256=BKNvkuAjGiKy6YU39xwW9y_G9cLe_28Mtbnh25xVjEg,15801
|
|
319
|
+
reflex/components/radix/primitives/accordion.pyi,sha256=BXQRJy7SlivFm_lwFO4XRSA9-yve_8k4EmGHQFUpqWk,38019
|
|
320
320
|
reflex/components/radix/primitives/base.py,sha256=s3OX4V2pNl6AQ3H9rz-pkE-2TNuNrqj0Mn2mOItF0eM,869
|
|
321
321
|
reflex/components/radix/primitives/base.pyi,sha256=_SqXWZfCB80_VHW-jO33WhoRunUpiUcUIxziG9Fb2fw,6478
|
|
322
322
|
reflex/components/radix/primitives/drawer.py,sha256=Y4XDgSECoKnOopHiech3uXFhZPZOB3D6iQoicTDEuDc,8660
|
|
323
323
|
reflex/components/radix/primitives/drawer.pyi,sha256=n6lRm9UvTc3iWdXFZsmDVPvzZGlWmrvnaUEHEGChub8,34484
|
|
324
|
-
reflex/components/radix/primitives/form.py,sha256=
|
|
325
|
-
reflex/components/radix/primitives/form.pyi,sha256=
|
|
326
|
-
reflex/components/radix/primitives/progress.py,sha256
|
|
327
|
-
reflex/components/radix/primitives/progress.pyi,sha256=
|
|
328
|
-
reflex/components/radix/primitives/slider.py,sha256=
|
|
329
|
-
reflex/components/radix/primitives/slider.pyi,sha256=
|
|
324
|
+
reflex/components/radix/primitives/form.py,sha256=S1psavWwPoE1k71ANq_K_JiQq5rMi7Q4uHnnHrCx4yw,4941
|
|
325
|
+
reflex/components/radix/primitives/form.pyi,sha256=4A-q4QCBvrnorfeOo-IFRsjB7xmSyGB75QINwdPEwV0,48143
|
|
326
|
+
reflex/components/radix/primitives/progress.py,sha256=-O0puNQxxRDlgucNI697mzsMy-ce9pTSPtLaqCqpGWQ,4022
|
|
327
|
+
reflex/components/radix/primitives/progress.pyi,sha256=S4KuRSo46qdtGff-4RMUBOPshvVjDEKfU7lt8AyA3cU,22866
|
|
328
|
+
reflex/components/radix/primitives/slider.py,sha256=whEo2n09mRqRJgq7JGRzrfMjvxHOnJAuGo-5ceSY_fE,4931
|
|
329
|
+
reflex/components/radix/primitives/slider.pyi,sha256=m-BYgslIMcTkoBYdeDysbpC5XTf9WjX-TylOZWkXNNk,16882
|
|
330
330
|
reflex/components/radix/themes/__init__.py,sha256=G7nHi3YqfM17fVE_XycJYapjB6en3wCcuwFz6xci45Q,292
|
|
331
331
|
reflex/components/radix/themes/base.py,sha256=RepABp4uqffOZhzmFd210BgMcyXmsQrWTQXKqyjR5o8,8294
|
|
332
332
|
reflex/components/radix/themes/base.pyi,sha256=zAo0VQcLpSU4sxGT0DX6TaUF0IAjIei8IM04IgZFsHE,26971
|
|
@@ -395,8 +395,8 @@ reflex/components/radix/themes/components/switch.py,sha256=AY0kvgUxIv6o-YVSy8rWV
|
|
|
395
395
|
reflex/components/radix/themes/components/switch.pyi,sha256=hcDJUSdNuAlbxlOZc9vbT8pIllSSWcxjAePUv_x2q_Q,7404
|
|
396
396
|
reflex/components/radix/themes/components/table.py,sha256=WN9MVfm4PsvB6L5Qtqmh_84mBdPjFv5CPcGbQA3WCG0,3111
|
|
397
397
|
reflex/components/radix/themes/components/table.pyi,sha256=gfIrd4WXdUwR-i08m-RVAMKosWWc9Uy0P6kQ4Z16R5k,47387
|
|
398
|
-
reflex/components/radix/themes/components/tabs.py,sha256=
|
|
399
|
-
reflex/components/radix/themes/components/tabs.pyi,sha256=
|
|
398
|
+
reflex/components/radix/themes/components/tabs.py,sha256=czB2Sd6eOZfgz7flh63jchBJJEWFO1aZwCgs25xjdkQ,4150
|
|
399
|
+
reflex/components/radix/themes/components/tabs.pyi,sha256=3BCOTLgxO24E04zaACvsxcFzy4jjaGDodC-5dx06ehs,19419
|
|
400
400
|
reflex/components/radix/themes/components/text_area.py,sha256=9AhvEXcr87B1o0wmCTyIWYuzUNes_kMbXJh95Gai01o,3233
|
|
401
401
|
reflex/components/radix/themes/components/text_area.pyi,sha256=xOeJ23O-LKoGsgRbFDOsubkGJjZeAEKvjGasTi5J09Y,11711
|
|
402
402
|
reflex/components/radix/themes/components/text_field.py,sha256=IO8AEvpUvkysH5hCS-X7EaN3sR42GgzLvQj8_Evkb3M,6527
|
|
@@ -408,20 +408,20 @@ reflex/components/radix/themes/layout/base.py,sha256=4vLbCSo4MgR_SH1grNZpE6IzVSK
|
|
|
408
408
|
reflex/components/radix/themes/layout/base.pyi,sha256=eJOKNW9ClfS5YTssNTq6oSTg-d-Ytv_Ee1Vg8LoPTDM,7663
|
|
409
409
|
reflex/components/radix/themes/layout/box.py,sha256=YNQi7sK95oatWia-rHnePte_qYBQ4Oss1E7Djn4VqXs,281
|
|
410
410
|
reflex/components/radix/themes/layout/box.pyi,sha256=4HQmd6w6DG3DzPIRh79FkxHAlC-pKbrNcUXxX-jdikk,6462
|
|
411
|
-
reflex/components/radix/themes/layout/center.py,sha256=
|
|
412
|
-
reflex/components/radix/themes/layout/center.pyi,sha256=
|
|
411
|
+
reflex/components/radix/themes/layout/center.py,sha256=QCOo4mO8R_ziI1qn_6zhQfLA-RGkuWgQvWFvCIdbwYo,465
|
|
412
|
+
reflex/components/radix/themes/layout/center.pyi,sha256=6-olLg2ISelUSDuTeBwVJ_s2mXnsalsdn-esIKqgTpw,8272
|
|
413
413
|
reflex/components/radix/themes/layout/container.py,sha256=PrwC_MjJmeyJ1Vu9zyFDcAJA0WIhY8BvXRVOT8I7YiI,1405
|
|
414
414
|
reflex/components/radix/themes/layout/container.pyi,sha256=SFwzZKYohv7y6_6WfjIhRagDj0XUY3IqwUi8Hdzd4M0,5247
|
|
415
415
|
reflex/components/radix/themes/layout/flex.py,sha256=Jrr02gH7RzBUY-ul3POs9IepkOLdDEUEhNF6VQgoA4Y,1374
|
|
416
416
|
reflex/components/radix/themes/layout/flex.pyi,sha256=oeO_VKqRakzH2IkAwVSJ191PeD2j_j8CIJi1LMiEnNg,8501
|
|
417
417
|
reflex/components/radix/themes/layout/grid.py,sha256=LOxEEtdfCtPgbW84aaQrX5zkASi6aqBHieYRUo_BGuY,1498
|
|
418
418
|
reflex/components/radix/themes/layout/grid.pyi,sha256=mfeSPKYoQISusvTDoUA0QV0PYS01uA_cBT8B_zC_-R0,8907
|
|
419
|
-
reflex/components/radix/themes/layout/list.py,sha256=
|
|
420
|
-
reflex/components/radix/themes/layout/list.pyi,sha256=
|
|
419
|
+
reflex/components/radix/themes/layout/list.py,sha256=1kgtVnuzcq-hMjj79nFsDlzKyKeqthDFvstz7sP7iDE,4933
|
|
420
|
+
reflex/components/radix/themes/layout/list.pyi,sha256=1GCbKR8YKWl_aOpKtkBeH9k5zI1_u97MQ0I1H6LUYA4,28910
|
|
421
421
|
reflex/components/radix/themes/layout/section.py,sha256=w9OmAycanmWtFndDGDNIkJZZJJ54wIg6OQn5WaQ_Q-w,458
|
|
422
422
|
reflex/components/radix/themes/layout/section.pyi,sha256=6yQnmu_aIE0tXKBExtUumzCWnq5HU6-uhPNqGI2sTXw,6758
|
|
423
|
-
reflex/components/radix/themes/layout/spacer.py,sha256=
|
|
424
|
-
reflex/components/radix/themes/layout/spacer.pyi,sha256=
|
|
423
|
+
reflex/components/radix/themes/layout/spacer.py,sha256=Vb7-F1TgrAhFsrVr0Eqr7yP3i-z_-L2iJEDHbemevXw,448
|
|
424
|
+
reflex/components/radix/themes/layout/spacer.pyi,sha256=aGDZJyYVKhmzm8BhYO6qNfGSN9wG-EkOetDENE9D-Uc,8272
|
|
425
425
|
reflex/components/radix/themes/layout/stack.py,sha256=dGIRKYnx7jns_V-LL-OJ2aC-p-C0ZLnlIC2bXgxVDiY,1522
|
|
426
426
|
reflex/components/radix/themes/layout/stack.pyi,sha256=Gq87nlYHn1MMNHfWGeS14NVQmxrowscfMLs_9VnHTnw,22132
|
|
427
427
|
reflex/components/radix/themes/typography/__init__.py,sha256=gbsMbniQAZ6UPS7ReL67r28BSd4-fLoMEVS5wx1Ymro,343
|
|
@@ -466,8 +466,8 @@ reflex/components/tags/iter_tag.py,sha256=FKPZtSR0wKyNrigEOYnGsndhXJzwNurTCEAS6Z
|
|
|
466
466
|
reflex/components/tags/match_tag.py,sha256=pMwy46ewquPNwa1S71sDS_0Ga8YuviSrbpBU-_CWsoQ,387
|
|
467
467
|
reflex/components/tags/tag.py,sha256=hT7zHJyut6SlCiQS6SZ-CaUrHgfLgm9NjNDQWo7uCEQ,2778
|
|
468
468
|
reflex/components/tags/tagless.py,sha256=qO7Gm4V0ITDyymHkyltfz53155ZBt-W_WIPDYy93ca0,587
|
|
469
|
-
reflex/config.py,sha256=
|
|
470
|
-
reflex/config.pyi,sha256=
|
|
469
|
+
reflex/config.py,sha256=zXD24XiquKXXVvDSkQ8xQ8OE9jz2KAHlas1VPfXbYqQ,10859
|
|
470
|
+
reflex/config.pyi,sha256=tDVkbrlLXLAM2HYe6U4XM9I8r3E_NAZ2ivBAco94Q2g,3402
|
|
471
471
|
reflex/constants/__init__.py,sha256=jraOx-vMBIhpcvw3Pk0j3syZ3SSC2IXc1XsuIY0cgBc,2036
|
|
472
472
|
reflex/constants/base.py,sha256=qaJIa0W_IJ_s7uoe17PWN6T7a2Yvw8c-elGgPGG1M8M,5640
|
|
473
473
|
reflex/constants/base.pyi,sha256=S9mWWVp88KP16Cnh3guOPqLtIHc24SBBk6oKdoU1jgc,2980
|
|
@@ -480,12 +480,12 @@ reflex/constants/installer.py,sha256=p-Nm54CykffQmjKXMZHBiViUH06kLDggvCD_BI-yi0I
|
|
|
480
480
|
reflex/constants/route.py,sha256=fu1jp9MoIriUJ8Cu4gLeinTxkyVBbRPs8Bkt35vqYOM,2144
|
|
481
481
|
reflex/constants/style.py,sha256=gSzu0sQEQjW81PekxJnwRs7SXQQVco-LxtVjCi0IQZc,636
|
|
482
482
|
reflex/custom_components/__init__.py,sha256=R4zsvOi4dfPmHc18KEphohXnQFBPnUCb50cMR5hSLDE,36
|
|
483
|
-
reflex/custom_components/custom_components.py,sha256=
|
|
484
|
-
reflex/event.py,sha256=
|
|
483
|
+
reflex/custom_components/custom_components.py,sha256=vYBhEt0ceCTaXG_zQlD8aEUxEzyGwlc7D6RKah2Pp2A,33067
|
|
484
|
+
reflex/event.py,sha256=L0D-OwtLUaNuwJKuwMTKMdiwm-ErtO7fjKcnTDYP0Zw,28087
|
|
485
485
|
reflex/experimental/__init__.py,sha256=tAWhAQUz4uc-MLQrKU3rbNN94YXPlKun5rG0-qAODA0,778
|
|
486
486
|
reflex/experimental/client_state.py,sha256=LL28NtZ5alVXfcgBa1J8kf8k91p9doaiBFTNWM-27Zc,6597
|
|
487
487
|
reflex/experimental/hooks.py,sha256=ruqdKV3smQT53vVwYvs8Zx4RyTy6nY00rD0Loe1gWdU,2196
|
|
488
|
-
reflex/experimental/layout.py,sha256=
|
|
488
|
+
reflex/experimental/layout.py,sha256=qQI7zaxoXhk2JIvyBj8jymFowuBeOgcrPBwNbYEY7Ew,7267
|
|
489
489
|
reflex/experimental/misc.py,sha256=4xlHrSCZaDyyiSexNKRbSfJ_UZy6-fzIBhKDeHNt94Q,281
|
|
490
490
|
reflex/middleware/__init__.py,sha256=x7xTeDuc73Hjj43k1J63naC9x8vzFxl4sq7cCFBX7sk,111
|
|
491
491
|
reflex/middleware/hydrate_middleware.py,sha256=iXgB_VID2moU9gNpc79TJHGGhQgDH6miT32T_0Ow5tU,1484
|
|
@@ -494,30 +494,30 @@ reflex/model.py,sha256=WMcJiT04HSM4fKTP9SIZJQoDrIO2vaPTsoao-X169V4,13227
|
|
|
494
494
|
reflex/page.py,sha256=NPT0xMownZGTiYiRtrUJnvAe_4oEvlzEJEkG-vrGhqI,2077
|
|
495
495
|
reflex/reflex.py,sha256=VJZAwe9lIqbS3VB3QkP5-OMmNXmM4gi-5TWMCJgZPcc,17826
|
|
496
496
|
reflex/route.py,sha256=WZS7stKgO94nekFFYHaOqNgN3zZGpJb3YpGF4ViTHmw,4198
|
|
497
|
-
reflex/state.py,sha256=
|
|
498
|
-
reflex/style.py,sha256=
|
|
499
|
-
reflex/testing.py,sha256=
|
|
497
|
+
reflex/state.py,sha256=46yCLK8Lu63IEuD248cYfAEN_Proa9LTXyl6ZACswLM,107026
|
|
498
|
+
reflex/style.py,sha256=SQJ4bCRZXII-thSwY_WjTFx4GV7Y0VWjotrUJGON5Hc,9542
|
|
499
|
+
reflex/testing.py,sha256=Dc8scI1LILDfBSaiWK6J0urYywWbmFXXKNr3Jec1rTE,31567
|
|
500
500
|
reflex/utils/__init__.py,sha256=y-AHKiRQAhk2oAkvn7W8cRVTZVK625ff8tTwvZtO7S4,24
|
|
501
501
|
reflex/utils/build.py,sha256=9LE93QlbfTHYyQWTgGZYSXX7QGDYzuE01ttWUVw_rGQ,8573
|
|
502
502
|
reflex/utils/compat.py,sha256=rfN5mMcNWFXT1ESLnZlR-bYG7XJKHvAScXMWo9iBsKg,1255
|
|
503
503
|
reflex/utils/console.py,sha256=-BHtwUabv8QlhGfEHupSn68fOOmPRZpkSvcqcjNBV-k,5182
|
|
504
504
|
reflex/utils/exceptions.py,sha256=3dHTYMHKHBCl1PZttA9AZ4Pa813I5RlfU58JXnI8T2c,2163
|
|
505
|
-
reflex/utils/exec.py,sha256=
|
|
505
|
+
reflex/utils/exec.py,sha256=PQWzLALn2lojaxUFKkPePxtRseAm_aWm--JDadCbAvU,10498
|
|
506
506
|
reflex/utils/export.py,sha256=UJd4BYFW9_eexhLCP4C5Ri8Cq2tWAPNVspq70lPLCyo,2270
|
|
507
507
|
reflex/utils/format.py,sha256=BFadhZX6oFvIZLQ0aUnul8SDN2iURSkFz-7tJcvDlRk,25149
|
|
508
508
|
reflex/utils/imports.py,sha256=v_xLZiMn7UxxPu5mXln74tXi52wYKqPuZe11Ka31WuM,2309
|
|
509
509
|
reflex/utils/path_ops.py,sha256=Vy6fU_bXvOcCvbXdTSmeLwy_C4h9seYU-3yIrVdZEZQ,4737
|
|
510
|
-
reflex/utils/prerequisites.py,sha256=
|
|
510
|
+
reflex/utils/prerequisites.py,sha256=g2iXfhIv0-m_oK0lNr_p1D_54XFKj11Bgp4uaJLdAnU,52824
|
|
511
511
|
reflex/utils/processes.py,sha256=3viom6wOhrZKgbSC6qvcRiQlYDKnHm1jgdJEcGyReFM,11972
|
|
512
512
|
reflex/utils/pyi_generator.py,sha256=cOfDESTXjnIvJhi8-anKVDNllgpnsGd4OyRmwdw1z5Y,30637
|
|
513
513
|
reflex/utils/serializers.py,sha256=bKY4UxwumFfzE-75tpCFQWRfCeXn301fALwCAUgzgDw,9037
|
|
514
|
-
reflex/utils/telemetry.py,sha256=
|
|
514
|
+
reflex/utils/telemetry.py,sha256=t4cvQmoAxTKAWF53vGH6ZEX5QYrK_KEcarmvMy-4_E4,5568
|
|
515
515
|
reflex/utils/types.py,sha256=1CJQsNf2wMrMJi-3th7eELZ3MFOFUBgoIs3j5rU-MNE,15152
|
|
516
516
|
reflex/utils/watch.py,sha256=HzGrHQIZ_62Di0BO46kd2AZktNA3A6nFIBuf8c6ip30,2609
|
|
517
|
-
reflex/vars.py,sha256=
|
|
517
|
+
reflex/vars.py,sha256=KNXryhBdIlozn1LU83VS85pTbfIQ5951kCaYPVi_nZw,69637
|
|
518
518
|
reflex/vars.pyi,sha256=p7rrP7ZcV0KN26a8LSqjTWP7IzZXXSee0H9Rl4fjEtg,5753
|
|
519
|
-
reflex-0.5.
|
|
520
|
-
reflex-0.5.
|
|
521
|
-
reflex-0.5.
|
|
522
|
-
reflex-0.5.
|
|
523
|
-
reflex-0.5.
|
|
519
|
+
reflex-0.5.2.dist-info/LICENSE,sha256=dw3zLrp9f5ObD7kqS32vWfhcImfO52PMmRqvtxq_YEE,11358
|
|
520
|
+
reflex-0.5.2.dist-info/METADATA,sha256=bhZKGbtAnfSViyaz2PlDKpfubTjW_9t-GN85-hJ-rOU,12083
|
|
521
|
+
reflex-0.5.2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
522
|
+
reflex-0.5.2.dist-info/entry_points.txt,sha256=H1Z5Yat_xJfy0dRT1Frk2PkO_p41Xy7fCKlj4FcdL9o,44
|
|
523
|
+
reflex-0.5.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|