reflex 0.3.6__py3-none-any.whl → 0.3.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/pages/base_page.js.jinja2 +2 -0
- reflex/__init__.py +29 -6
- reflex/__init__.pyi +2 -0
- reflex/app.py +3 -0
- reflex/components/__init__.py +2 -0
- reflex/components/chakra/__init__.py +23 -0
- reflex/components/{media → chakra/media}/image.py +1 -28
- reflex/components/chakra/media/image.pyi +120 -0
- reflex/components/component.py +27 -2
- reflex/components/datadisplay/datatable.py +1 -37
- reflex/components/datadisplay/datatable.pyi +1 -11
- reflex/components/el/elements/forms.py +43 -1
- reflex/components/el/elements/forms.pyi +26 -1
- reflex/components/graphing/plotly.py +0 -22
- reflex/components/graphing/plotly.pyi +0 -12
- reflex/components/media/__init__.py +0 -1
- reflex/components/media/image.pyi +0 -9
- reflex/components/next/__init__.py +8 -0
- reflex/components/next/base.py +8 -0
- reflex/components/next/base.pyi +91 -0
- reflex/components/next/image.py +114 -0
- reflex/components/next/image.pyi +122 -0
- reflex/components/next/video.py +33 -0
- reflex/components/next/video.pyi +92 -0
- reflex/components/radix/primitives/__init__.py +3 -0
- reflex/components/radix/primitives/accordion.py +279 -0
- reflex/components/radix/primitives/accordion.pyi +619 -0
- reflex/components/radix/themes/__init__.py +4 -73
- reflex/components/radix/themes/base.py +7 -7
- reflex/components/radix/themes/base.pyi +21 -21
- reflex/components/radix/themes/components/__init__.py +193 -0
- reflex/components/radix/themes/components/alertdialog.py +72 -0
- reflex/components/radix/themes/components/alertdialog.pyi +733 -0
- reflex/components/radix/themes/components/aspectratio.py +20 -0
- reflex/components/radix/themes/components/aspectratio.pyi +144 -0
- reflex/components/radix/themes/components/avatar.py +38 -0
- reflex/components/radix/themes/components/avatar.pyi +233 -0
- reflex/components/radix/themes/components/badge.py +38 -0
- reflex/components/radix/themes/components/badge.pyi +291 -0
- reflex/components/radix/themes/components/button.py +39 -0
- reflex/components/radix/themes/components/button.pyi +330 -0
- reflex/components/radix/themes/components/callout.py +49 -0
- reflex/components/radix/themes/components/callout.pyi +668 -0
- reflex/components/radix/themes/components/card.py +25 -0
- reflex/components/radix/themes/components/card.pyi +214 -0
- reflex/components/radix/themes/components/checkbox.py +67 -0
- reflex/components/radix/themes/components/checkbox.pyi +249 -0
- reflex/components/radix/themes/components/contextmenu.py +134 -0
- reflex/components/radix/themes/{typography.pyi → components/contextmenu.pyi} +182 -602
- reflex/components/radix/themes/components/dialog.py +75 -0
- reflex/components/radix/themes/components/dialog.pyi +739 -0
- reflex/components/radix/themes/components/dropdownmenu.py +101 -0
- reflex/components/radix/themes/components/dropdownmenu.pyi +1065 -0
- reflex/components/radix/themes/components/hovercard.py +63 -0
- reflex/components/radix/themes/components/hovercard.pyi +487 -0
- reflex/components/radix/themes/components/iconbutton.py +39 -0
- reflex/components/radix/themes/components/iconbutton.pyi +332 -0
- reflex/components/radix/themes/components/icons.py +400 -0
- reflex/components/radix/themes/components/icons.pyi +185 -0
- reflex/components/radix/themes/components/inset.py +44 -0
- reflex/components/radix/themes/components/inset.pyi +230 -0
- reflex/components/radix/themes/components/popover.py +85 -0
- reflex/components/radix/themes/components/popover.pyi +634 -0
- reflex/components/radix/themes/components/radiogroup.py +72 -0
- reflex/components/radix/themes/components/radiogroup.pyi +369 -0
- reflex/components/radix/themes/components/scrollarea.py +31 -0
- reflex/components/radix/themes/components/scrollarea.pyi +165 -0
- reflex/components/radix/themes/components/select.py +137 -0
- reflex/components/radix/themes/{layout.pyi → components/select.pyi} +422 -418
- reflex/components/radix/themes/components/separator.py +30 -0
- reflex/components/radix/themes/components/separator.pyi +218 -0
- reflex/components/radix/themes/components/slider.py +68 -0
- reflex/components/radix/themes/components/slider.pyi +254 -0
- reflex/components/radix/themes/components/switch.py +68 -0
- reflex/components/radix/themes/components/switch.pyi +250 -0
- reflex/components/radix/themes/components/table.py +79 -0
- reflex/components/radix/themes/components/table.pyi +1485 -0
- reflex/components/radix/themes/components/tabs.py +65 -0
- reflex/components/radix/themes/components/tabs.pyi +549 -0
- reflex/components/radix/themes/components/textarea.py +68 -0
- reflex/components/radix/themes/components/textarea.pyi +333 -0
- reflex/components/radix/themes/{components.py → components/textfield.py} +3 -87
- reflex/components/radix/themes/{components.pyi → components/textfield.pyi} +202 -591
- reflex/components/radix/themes/layout/__init__.py +13 -0
- reflex/components/radix/themes/layout/base.py +48 -0
- reflex/components/radix/themes/layout/base.pyi +195 -0
- reflex/components/radix/themes/layout/box.py +12 -0
- reflex/components/radix/themes/layout/box.pyi +252 -0
- reflex/components/radix/themes/layout/container.py +23 -0
- reflex/components/radix/themes/layout/container.pyi +260 -0
- reflex/components/radix/themes/layout/flex.py +45 -0
- reflex/components/radix/themes/layout/flex.pyi +303 -0
- reflex/components/radix/themes/layout/grid.py +53 -0
- reflex/components/radix/themes/layout/grid.pyi +203 -0
- reflex/components/radix/themes/layout/section.py +20 -0
- reflex/components/radix/themes/layout/section.pyi +260 -0
- reflex/components/radix/themes/typography/__init__.py +21 -0
- reflex/components/radix/themes/typography/base.py +12 -0
- reflex/components/radix/themes/typography/blockquote.py +36 -0
- reflex/components/radix/themes/typography/blockquote.pyi +282 -0
- reflex/components/radix/themes/typography/code.py +40 -0
- reflex/components/radix/themes/typography/code.pyi +292 -0
- reflex/components/radix/themes/typography/em.py +18 -0
- reflex/components/radix/themes/typography/em.pyi +199 -0
- reflex/components/radix/themes/typography/heading.py +50 -0
- reflex/components/radix/themes/typography/heading.pyi +298 -0
- reflex/components/radix/themes/typography/kbd.py +25 -0
- reflex/components/radix/themes/typography/kbd.pyi +208 -0
- reflex/components/radix/themes/typography/link.py +49 -0
- reflex/components/radix/themes/typography/link.pyi +238 -0
- reflex/components/radix/themes/typography/quote.py +18 -0
- reflex/components/radix/themes/typography/quote.pyi +200 -0
- reflex/components/radix/themes/typography/strong.py +18 -0
- reflex/components/radix/themes/typography/strong.pyi +199 -0
- reflex/components/radix/themes/typography/text.py +50 -0
- reflex/components/radix/themes/typography/text.pyi +298 -0
- reflex/constants/__init__.py +1 -0
- reflex/constants/base.py +7 -0
- reflex/constants/config.py +1 -1
- reflex/model.py +2 -1
- reflex/reflex.py +5 -0
- reflex/state.py +11 -0
- reflex/style.py +120 -10
- reflex/testing.py +4 -4
- reflex/utils/format.py +9 -5
- reflex/utils/prerequisites.py +49 -6
- reflex/utils/processes.py +8 -1
- reflex/utils/serializers.py +83 -0
- reflex/utils/types.py +22 -1
- reflex/vars.py +24 -1
- {reflex-0.3.6.dist-info → reflex-0.3.7.dist-info}/METADATA +3 -2
- {reflex-0.3.6.dist-info → reflex-0.3.7.dist-info}/RECORD +135 -42
- reflex/components/radix/themes/layout.py +0 -155
- {reflex-0.3.6.dist-info → reflex-0.3.7.dist-info}/LICENSE +0 -0
- {reflex-0.3.6.dist-info → reflex-0.3.7.dist-info}/WHEEL +0 -0
- {reflex-0.3.6.dist-info → reflex-0.3.7.dist-info}/entry_points.txt +0 -0
reflex/utils/prerequisites.py
CHANGED
|
@@ -18,6 +18,7 @@ from pathlib import Path
|
|
|
18
18
|
from types import ModuleType
|
|
19
19
|
|
|
20
20
|
import httpx
|
|
21
|
+
import pkg_resources
|
|
21
22
|
import typer
|
|
22
23
|
from alembic.util.exc import CommandError
|
|
23
24
|
from packaging import version
|
|
@@ -29,6 +30,26 @@ from reflex.config import get_config
|
|
|
29
30
|
from reflex.utils import console, path_ops, processes
|
|
30
31
|
|
|
31
32
|
|
|
33
|
+
def check_latest_package_version(package_name: str):
|
|
34
|
+
"""Check if the latest version of the package is installed.
|
|
35
|
+
|
|
36
|
+
Args:
|
|
37
|
+
package_name: The name of the package.
|
|
38
|
+
"""
|
|
39
|
+
try:
|
|
40
|
+
# Get the latest version from PyPI
|
|
41
|
+
current_version = pkg_resources.get_distribution(package_name).version
|
|
42
|
+
url = f"https://pypi.org/pypi/{package_name}/json"
|
|
43
|
+
response = httpx.get(url)
|
|
44
|
+
latest_version = response.json()["info"]["version"]
|
|
45
|
+
if version.parse(current_version) < version.parse(latest_version):
|
|
46
|
+
console.warn(
|
|
47
|
+
f"Your version ({current_version}) of {package_name} is out of date. Upgrade to {latest_version} with 'pip install {package_name} --upgrade'"
|
|
48
|
+
)
|
|
49
|
+
except Exception:
|
|
50
|
+
pass
|
|
51
|
+
|
|
52
|
+
|
|
32
53
|
def check_node_version() -> bool:
|
|
33
54
|
"""Check the version of Node.js.
|
|
34
55
|
|
|
@@ -138,7 +159,6 @@ def get_app(reload: bool = False) -> ModuleType:
|
|
|
138
159
|
sys.path.insert(0, os.getcwd())
|
|
139
160
|
app = __import__(module, fromlist=(constants.CompileVars.APP,))
|
|
140
161
|
if reload:
|
|
141
|
-
|
|
142
162
|
importlib.reload(app)
|
|
143
163
|
return app
|
|
144
164
|
|
|
@@ -152,6 +172,14 @@ def get_redis() -> Redis | None:
|
|
|
152
172
|
config = get_config()
|
|
153
173
|
if not config.redis_url:
|
|
154
174
|
return None
|
|
175
|
+
if config.redis_url.startswith(("redis://", "rediss://", "unix://")):
|
|
176
|
+
return Redis.from_url(config.redis_url)
|
|
177
|
+
console.deprecate(
|
|
178
|
+
feature_name="host[:port] style redis urls",
|
|
179
|
+
reason="redis-py url syntax is now being used",
|
|
180
|
+
deprecation_version="0.3.6",
|
|
181
|
+
removal_version="0.4.0",
|
|
182
|
+
)
|
|
155
183
|
redis_url, has_port, redis_port = config.redis_url.partition(":")
|
|
156
184
|
if not has_port:
|
|
157
185
|
redis_port = 6379
|
|
@@ -234,18 +262,33 @@ def initialize_requirements_txt():
|
|
|
234
262
|
the requirements.txt file.
|
|
235
263
|
"""
|
|
236
264
|
fp = Path(constants.RequirementsTxt.FILE)
|
|
237
|
-
|
|
238
|
-
|
|
265
|
+
encoding = "utf-8"
|
|
266
|
+
if not fp.exists():
|
|
267
|
+
fp.touch()
|
|
268
|
+
else:
|
|
269
|
+
# Detect the encoding of the original file
|
|
270
|
+
import charset_normalizer
|
|
271
|
+
|
|
272
|
+
charset_matches = charset_normalizer.from_path(fp)
|
|
273
|
+
maybe_charset_match = charset_matches.best()
|
|
274
|
+
if maybe_charset_match is None:
|
|
275
|
+
console.debug(f"Unable to detect encoding for {fp}, exiting.")
|
|
276
|
+
return
|
|
277
|
+
encoding = maybe_charset_match.encoding
|
|
278
|
+
console.debug(f"Detected encoding for {fp} as {encoding}.")
|
|
239
279
|
try:
|
|
240
|
-
|
|
280
|
+
other_requirements_exist = False
|
|
281
|
+
with open(fp, "r", encoding=encoding) as f:
|
|
241
282
|
for req in f.readlines():
|
|
242
283
|
# Check if we have a package name that is reflex
|
|
243
284
|
if re.match(r"^reflex[^a-zA-Z0-9]", req):
|
|
244
285
|
console.debug(f"{fp} already has reflex as dependency.")
|
|
245
286
|
return
|
|
246
|
-
|
|
287
|
+
other_requirements_exist = True
|
|
288
|
+
with open(fp, "a", encoding=encoding) as f:
|
|
289
|
+
preceding_newline = "\n" if other_requirements_exist else ""
|
|
247
290
|
f.write(
|
|
248
|
-
f"
|
|
291
|
+
f"{preceding_newline}{constants.RequirementsTxt.DEFAULTS_STUB}{constants.Reflex.VERSION}\n"
|
|
249
292
|
)
|
|
250
293
|
except Exception:
|
|
251
294
|
console.info(f"Unable to check {fp} for reflex dependency.")
|
reflex/utils/processes.py
CHANGED
|
@@ -171,7 +171,9 @@ def run_concurrently_context(
|
|
|
171
171
|
fns = [fn if isinstance(fn, tuple) else (fn,) for fn in fns] # type: ignore
|
|
172
172
|
|
|
173
173
|
# Run the functions concurrently.
|
|
174
|
-
|
|
174
|
+
executor = None
|
|
175
|
+
try:
|
|
176
|
+
executor = futures.ThreadPoolExecutor(max_workers=len(fns))
|
|
175
177
|
# Submit the tasks.
|
|
176
178
|
tasks = [executor.submit(*fn) for fn in fns] # type: ignore
|
|
177
179
|
|
|
@@ -180,7 +182,12 @@ def run_concurrently_context(
|
|
|
180
182
|
|
|
181
183
|
# Get the results in the order completed to check any exceptions.
|
|
182
184
|
for task in futures.as_completed(tasks):
|
|
185
|
+
# if task throws something, we let it bubble up immediately
|
|
183
186
|
task.result()
|
|
187
|
+
finally:
|
|
188
|
+
# Shutdown the executor
|
|
189
|
+
if executor:
|
|
190
|
+
executor.shutdown(wait=False)
|
|
184
191
|
|
|
185
192
|
|
|
186
193
|
def run_concurrently(*fns: Union[Callable, Tuple]) -> None:
|
reflex/utils/serializers.py
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
+
import json
|
|
5
6
|
import types as builtin_types
|
|
6
7
|
from datetime import date, datetime, time, timedelta
|
|
7
8
|
from typing import Any, Callable, Dict, List, Set, Tuple, Type, Union, get_type_hints
|
|
@@ -227,3 +228,85 @@ def serialize_datetime(dt: Union[date, datetime, time, timedelta]) -> str:
|
|
|
227
228
|
The serialized datetime.
|
|
228
229
|
"""
|
|
229
230
|
return str(dt)
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
try:
|
|
234
|
+
from pandas import DataFrame
|
|
235
|
+
|
|
236
|
+
def format_dataframe_values(df: DataFrame) -> List[List[Any]]:
|
|
237
|
+
"""Format dataframe values to a list of lists.
|
|
238
|
+
|
|
239
|
+
Args:
|
|
240
|
+
df: The dataframe to format.
|
|
241
|
+
|
|
242
|
+
Returns:
|
|
243
|
+
The dataframe as a list of lists.
|
|
244
|
+
"""
|
|
245
|
+
return [
|
|
246
|
+
[str(d) if isinstance(d, (list, tuple)) else d for d in data]
|
|
247
|
+
for data in list(df.values.tolist())
|
|
248
|
+
]
|
|
249
|
+
|
|
250
|
+
@serializer
|
|
251
|
+
def serialize_dataframe(df: DataFrame) -> dict:
|
|
252
|
+
"""Serialize a pandas dataframe.
|
|
253
|
+
|
|
254
|
+
Args:
|
|
255
|
+
df: The dataframe to serialize.
|
|
256
|
+
|
|
257
|
+
Returns:
|
|
258
|
+
The serialized dataframe.
|
|
259
|
+
"""
|
|
260
|
+
return {
|
|
261
|
+
"columns": df.columns.tolist(),
|
|
262
|
+
"data": format_dataframe_values(df),
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
except ImportError:
|
|
266
|
+
pass
|
|
267
|
+
|
|
268
|
+
try:
|
|
269
|
+
from plotly.graph_objects import Figure
|
|
270
|
+
from plotly.io import to_json
|
|
271
|
+
|
|
272
|
+
@serializer
|
|
273
|
+
def serialize_figure(figure: Figure) -> list:
|
|
274
|
+
"""Serialize a plotly figure.
|
|
275
|
+
|
|
276
|
+
Args:
|
|
277
|
+
figure: The figure to serialize.
|
|
278
|
+
|
|
279
|
+
Returns:
|
|
280
|
+
The serialized figure.
|
|
281
|
+
"""
|
|
282
|
+
return json.loads(str(to_json(figure)))["data"]
|
|
283
|
+
|
|
284
|
+
except ImportError:
|
|
285
|
+
pass
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
try:
|
|
289
|
+
import base64
|
|
290
|
+
import io
|
|
291
|
+
|
|
292
|
+
from PIL.Image import Image as Img
|
|
293
|
+
|
|
294
|
+
@serializer
|
|
295
|
+
def serialize_image(image: Img) -> str:
|
|
296
|
+
"""Serialize a plotly figure.
|
|
297
|
+
|
|
298
|
+
Args:
|
|
299
|
+
image: The image to serialize.
|
|
300
|
+
|
|
301
|
+
Returns:
|
|
302
|
+
The serialized image.
|
|
303
|
+
"""
|
|
304
|
+
buff = io.BytesIO()
|
|
305
|
+
image.save(buff, format=getattr(image, "format", None) or "PNG")
|
|
306
|
+
image_bytes = buff.getvalue()
|
|
307
|
+
base64_image = base64.b64encode(image_bytes).decode("utf-8")
|
|
308
|
+
mime_type = getattr(image, "get_format_mimetype", lambda: "image/png")()
|
|
309
|
+
return f"data:{mime_type};base64,{base64_image}"
|
|
310
|
+
|
|
311
|
+
except ImportError:
|
|
312
|
+
pass
|
reflex/utils/types.py
CHANGED
|
@@ -19,6 +19,7 @@ from typing import (
|
|
|
19
19
|
)
|
|
20
20
|
|
|
21
21
|
from pydantic.fields import ModelField
|
|
22
|
+
from sqlalchemy.orm import Mapped
|
|
22
23
|
|
|
23
24
|
from reflex.base import Base
|
|
24
25
|
from reflex.utils import serializers
|
|
@@ -132,8 +133,11 @@ def get_attribute_access_type(cls: GenericType, name: str) -> GenericType | None
|
|
|
132
133
|
hints = get_type_hints(cls)
|
|
133
134
|
if name in hints:
|
|
134
135
|
type_ = hints[name]
|
|
136
|
+
type_origin = get_origin(type_)
|
|
137
|
+
if isinstance(type_origin, type) and issubclass(type_origin, Mapped):
|
|
138
|
+
return get_args(type_)[0] # SQLAlchemy v2
|
|
135
139
|
if isinstance(type_, ModelField):
|
|
136
|
-
return type_.type_
|
|
140
|
+
return type_.type_ # SQLAlchemy v1.4
|
|
137
141
|
return type_
|
|
138
142
|
elif is_union(cls):
|
|
139
143
|
# Check in each arg of the annotation.
|
|
@@ -272,6 +276,23 @@ def check_type_in_allowed_types(value_type: Type, allowed_types: Iterable) -> bo
|
|
|
272
276
|
return get_base_class(value_type) in allowed_types
|
|
273
277
|
|
|
274
278
|
|
|
279
|
+
def check_prop_in_allowed_types(prop: Any, allowed_types: Iterable) -> bool:
|
|
280
|
+
"""Check that a prop value is in a list of allowed types.
|
|
281
|
+
Does the check in a way that works regardless if it's a raw value or a state Var.
|
|
282
|
+
|
|
283
|
+
Args:
|
|
284
|
+
prop: The prop to check.
|
|
285
|
+
allowed_types: The list of allowed types.
|
|
286
|
+
|
|
287
|
+
Returns:
|
|
288
|
+
If the prop type match one of the allowed_types.
|
|
289
|
+
"""
|
|
290
|
+
from reflex.vars import Var
|
|
291
|
+
|
|
292
|
+
type_ = prop._var_type if _isinstance(prop, Var) else type(prop)
|
|
293
|
+
return type_ in allowed_types
|
|
294
|
+
|
|
295
|
+
|
|
275
296
|
# Store this here for performance.
|
|
276
297
|
StateBases = get_base_class(StateVar)
|
|
277
298
|
StateIterBases = get_base_class(StateIterVar)
|
reflex/vars.py
CHANGED
|
@@ -1284,6 +1284,29 @@ class Var:
|
|
|
1284
1284
|
_var_type=str,
|
|
1285
1285
|
)
|
|
1286
1286
|
|
|
1287
|
+
def strip(self, other: str | Var[str] = " ") -> Var:
|
|
1288
|
+
"""Strip a string var.
|
|
1289
|
+
|
|
1290
|
+
Args:
|
|
1291
|
+
other: The string to strip the var with.
|
|
1292
|
+
|
|
1293
|
+
Returns:
|
|
1294
|
+
A var with the stripped string.
|
|
1295
|
+
|
|
1296
|
+
Raises:
|
|
1297
|
+
TypeError: If the var is not a string.
|
|
1298
|
+
"""
|
|
1299
|
+
if not types._issubclass(self._var_type, str):
|
|
1300
|
+
raise TypeError(f"Cannot strip non-string var {self._var_full_name}.")
|
|
1301
|
+
|
|
1302
|
+
other = Var.create_safe(json.dumps(other)) if isinstance(other, str) else other
|
|
1303
|
+
|
|
1304
|
+
return self._replace(
|
|
1305
|
+
_var_name=f"{self._var_name}.replace(/^${other._var_full_name}|${other._var_full_name}$/g, '')",
|
|
1306
|
+
_var_is_string=False,
|
|
1307
|
+
merge_var_data=other._var_data,
|
|
1308
|
+
)
|
|
1309
|
+
|
|
1287
1310
|
def split(self, other: str | Var[str] = " ") -> Var:
|
|
1288
1311
|
"""Split a string var into a list.
|
|
1289
1312
|
|
|
@@ -1324,7 +1347,7 @@ class Var:
|
|
|
1324
1347
|
raise TypeError(f"Cannot join non-list var {self._var_full_name}.")
|
|
1325
1348
|
|
|
1326
1349
|
if other is None:
|
|
1327
|
-
other = Var.create_safe("")
|
|
1350
|
+
other = Var.create_safe('""')
|
|
1328
1351
|
if isinstance(other, str):
|
|
1329
1352
|
other = Var.create_safe(json.dumps(other))
|
|
1330
1353
|
else:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: reflex
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.7
|
|
4
4
|
Summary: Web apps in pure Python.
|
|
5
5
|
Home-page: https://reflex.dev
|
|
6
6
|
License: Apache-2.0
|
|
@@ -16,6 +16,7 @@ Classifier: Programming Language :: Python :: 3.9
|
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.10
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.11
|
|
18
18
|
Requires-Dist: alembic (>=1.11.1,<2.0.0)
|
|
19
|
+
Requires-Dist: charset-normalizer (>=3.3.2,<4.0.0)
|
|
19
20
|
Requires-Dist: cloudpickle (>=2.2.1,<3.0.0)
|
|
20
21
|
Requires-Dist: distro (>=1.8.0,<2.0.0) ; sys_platform == "linux"
|
|
21
22
|
Requires-Dist: fastapi (>=0.96.0,<0.97.0)
|
|
@@ -33,7 +34,7 @@ Requires-Dist: python-socketio (>=5.7.0,<6.0.0)
|
|
|
33
34
|
Requires-Dist: redis (>=4.3.5,<5.0.0)
|
|
34
35
|
Requires-Dist: reflex-hosting-cli (>=0.1.2)
|
|
35
36
|
Requires-Dist: rich (>=13.0.0,<14.0.0)
|
|
36
|
-
Requires-Dist: sqlmodel (>=0.0.
|
|
37
|
+
Requires-Dist: sqlmodel (>=0.0.14,<0.0.15)
|
|
37
38
|
Requires-Dist: starlette-admin (>=0.9.0,<0.10.0)
|
|
38
39
|
Requires-Dist: typer (>=0.4.2,<1)
|
|
39
40
|
Requires-Dist: uvicorn (>=0.20.0,<0.21.0) ; python_version < "3.12"
|
|
@@ -50,7 +50,7 @@ reflex/.templates/jinja/app/rxconfig.py.jinja2,sha256=Scfnv_vZXIPQcz8zNIa4FmjEym
|
|
|
50
50
|
reflex/.templates/jinja/web/package.json.jinja2,sha256=YU9PF8WgiQ8OPlG3oLDX31t2R0o6DFntCh698NTiDK8,548
|
|
51
51
|
reflex/.templates/jinja/web/pages/_app.js.jinja2,sha256=8iIL2oZPK0_3qjef9t7BOn6v0gdtJVMENsDg4_ZvLrU,857
|
|
52
52
|
reflex/.templates/jinja/web/pages/_document.js.jinja2,sha256=E2r3MWp-gimAa6DdRs9ErQpPEyjS_yV5fdid_wdOOlA,182
|
|
53
|
-
reflex/.templates/jinja/web/pages/base_page.js.jinja2,sha256=
|
|
53
|
+
reflex/.templates/jinja/web/pages/base_page.js.jinja2,sha256=gIJ0LrJSghgL1JRY8_y-yAgGwGuR2Gpq1d9bXn6SUVk,358
|
|
54
54
|
reflex/.templates/jinja/web/pages/component.js.jinja2,sha256=1Pui62uSL7LYA7FXZrh9ZmhKH8vHYu663eR134hhsAY,86
|
|
55
55
|
reflex/.templates/jinja/web/pages/custom_component.js.jinja2,sha256=jDqpIxibHp1imx6xT8cpr8hgdXXWHTU7uqYB5pBvyXk,882
|
|
56
56
|
reflex/.templates/jinja/web/pages/index.js.jinja2,sha256=5yzGDRJ-pMCnYwVSnUCQk7eZK-hfD0VW7tLISHkMnvA,343
|
|
@@ -72,18 +72,18 @@ reflex/.templates/web/utils/client_side_routing.js,sha256=iGGnZY07XMNLUT2GT_Y6OE
|
|
|
72
72
|
reflex/.templates/web/utils/helpers/dataeditor.js,sha256=K6_GVf_pjwE3TT054CjWyFGaA71gOZsoly-8vH-AEpg,1859
|
|
73
73
|
reflex/.templates/web/utils/helpers/range.js,sha256=FevdZzCVxjF57ullfjpcUpeOXRxh5v09YnBB0jPbrS4,1152
|
|
74
74
|
reflex/.templates/web/utils/state.js,sha256=btob-V8pdL_q93x37gW2YNHtBPQDEqoXgrl_RLb1y7g,18847
|
|
75
|
-
reflex/__init__.py,sha256=
|
|
76
|
-
reflex/__init__.pyi,sha256=
|
|
75
|
+
reflex/__init__.py,sha256=UtYGz9X8Ypr1qZubu47qCJBOEXitthFoLZpac31_oZ0,8025
|
|
76
|
+
reflex/__init__.pyi,sha256=l9lzpqZaa6KDN7BxQlc2RqSBf1ICVqSdmOHdOZG6FRo,26826
|
|
77
77
|
reflex/__main__.py,sha256=6cVrGEyT3j3tEvlEVUatpaYfbB5EF3UVY-6vc_Z7-hw,108
|
|
78
78
|
reflex/admin.py,sha256=-bTxFUEoHo4X9FzmcSa6KSVVPpF7wh38lBvF67GhSvQ,373
|
|
79
|
-
reflex/app.py,sha256=
|
|
79
|
+
reflex/app.py,sha256=OgvTHhPxKui4WPDFa19CwkLpj29KhNCNccqE-n5jt70,37846
|
|
80
80
|
reflex/app.pyi,sha256=tg6JMC8vGshJjZFWeO3VK50yWab-Vhc6kX1g_kWTVxM,4695
|
|
81
81
|
reflex/base.py,sha256=8UcGxfd_ayYie-VK6M9IXNZ1EjjX_OpxBJGY0F1Az1k,3608
|
|
82
82
|
reflex/compiler/__init__.py,sha256=r8jqmDSFf09iV2lHlNhfc9XrTLjNxfDNwPYlxS4cmHE,27
|
|
83
83
|
reflex/compiler/compiler.py,sha256=Fg6YBMAmKtFzD_45OcQFbsOUWDs53-gtRw-OrwMIsO4,12163
|
|
84
84
|
reflex/compiler/templates.py,sha256=U4Nt1WH0UsP-fkM3TQoV9ASBsCJEZEM7HOzthzhphtE,3516
|
|
85
85
|
reflex/compiler/utils.py,sha256=gvZsj_OXGHa8Aewfp5UOLCh1-7ukxHnWEifOR4WyB9Y,12830
|
|
86
|
-
reflex/components/__init__.py,sha256=
|
|
86
|
+
reflex/components/__init__.py,sha256=9YLlTu426wzPqolfeA-I4F6TWvhhauQPBcE8aAA56uE,7468
|
|
87
87
|
reflex/components/base/__init__.py,sha256=BIobn_49_ZsyQf-F50kOGq4FklfXiBRDTPCbPBM4p64,260
|
|
88
88
|
reflex/components/base/app_wrap.py,sha256=_4Zoqz8_8EVO1rh99o7LyJdKU4ekWYRoD0owcqQfRkI,575
|
|
89
89
|
reflex/components/base/app_wrap.pyi,sha256=oSmHUtinQKBxDcg2yGzJsWvyFW9xk9-azRovNN9i88M,2887
|
|
@@ -100,7 +100,10 @@ reflex/components/base/meta.py,sha256=RWITTQTA_35-FbaVGhjkAWDOmU65rzJ-WedENRJk-3
|
|
|
100
100
|
reflex/components/base/meta.pyi,sha256=JIWM2x8z_A8sOpEoRv-avjOXyEC8OajqTGnCOnmBMqQ,13083
|
|
101
101
|
reflex/components/base/script.py,sha256=sNuoSeO1XxVfqSd9EADlOeNDti-zf8-vn_yd0NcmImc,2298
|
|
102
102
|
reflex/components/base/script.pyi,sha256=11PEE77sBt78L4AsEdhgD7uQ7TpqGNStCpD_vI8MIDw,4495
|
|
103
|
-
reflex/components/
|
|
103
|
+
reflex/components/chakra/__init__.py,sha256=hpNoYzVqv9APaY1Il3A0_E67iCPDjyh5s5bbxrUaVrg,476
|
|
104
|
+
reflex/components/chakra/media/image.py,sha256=rGYVIxpBisoTuaaKwZEM7BkIHD1jfGXqNJeeWbh0Hb4,2405
|
|
105
|
+
reflex/components/chakra/media/image.pyi,sha256=UqceQsYmkdwlcK_5sw6Ywj1ux8i_zzh14y_XNpFZ5A0,5423
|
|
106
|
+
reflex/components/component.py,sha256=e52EIC6EPD324cMaopaT3UIe5x_3w0OSxBE0mkAMuEI,56665
|
|
104
107
|
reflex/components/datadisplay/__init__.py,sha256=UB-LJcrXj6L7nZK-WLoUwWOvc0b21Yh0s6W3J0xE8iU,721
|
|
105
108
|
reflex/components/datadisplay/badge.py,sha256=5QJivxZyjZhcxJS-XBU56CW1A7vADINKcwrhg9qUeKg,357
|
|
106
109
|
reflex/components/datadisplay/badge.pyi,sha256=bX3mS37wsMOoL60hXDpqK440GBhlJSmLXl8KF1ptFk8,3718
|
|
@@ -108,8 +111,8 @@ reflex/components/datadisplay/code.py,sha256=yhHXh6AR5yns_CCZbwRAuKyLy99v4sMMeKs
|
|
|
108
111
|
reflex/components/datadisplay/code.pyi,sha256=-nJkyceGX_MGhle6jzjOPLNOOy5VoDvHAmv_bwI6JWE,33834
|
|
109
112
|
reflex/components/datadisplay/dataeditor.py,sha256=vn2FECDIhKeLd1QJpOLqDt2vHpvyof5k5ETuBpjL42Q,12577
|
|
110
113
|
reflex/components/datadisplay/dataeditor.pyi,sha256=SzXDOifd0r6FIL8SKHfCbYVMnvAuLTTtJrfz22ig57E,10480
|
|
111
|
-
reflex/components/datadisplay/datatable.py,sha256=
|
|
112
|
-
reflex/components/datadisplay/datatable.pyi,sha256=
|
|
114
|
+
reflex/components/datadisplay/datatable.py,sha256=jinq5J8CIcmdbMynVLc9HAPCAVhozsN_gjXf_RPnkJo,4300
|
|
115
|
+
reflex/components/datadisplay/datatable.pyi,sha256=GumHMtQQO_Obus495cRonte0dEQPycgUpahJELhOc7k,7124
|
|
113
116
|
reflex/components/datadisplay/divider.py,sha256=5iapFyWm_nnO7LYmKpivPCDequKSWes0kS72s9hj9vw,655
|
|
114
117
|
reflex/components/datadisplay/divider.pyi,sha256=PFy1F5vPmrpXQD9claRQBnXkxw5yxjbVhQO16nO5hAY,3991
|
|
115
118
|
reflex/components/datadisplay/keyboard_key.py,sha256=gqSX2VqnC8zzkmHnwvnXtnfNpuEsGeBmaLCdo7TgNqg,185
|
|
@@ -143,8 +146,8 @@ reflex/components/el/element.pyi,sha256=7DZ1eAmSTE-OaCyORvH_gRKLi-HBaRZrmmn0u91R
|
|
|
143
146
|
reflex/components/el/elements/__init__.py,sha256=jWqZctwIYVVKg3XJu06vO25EasGa7dTJ3L-kFuAAFEQ,3506
|
|
144
147
|
reflex/components/el/elements/base.py,sha256=ZNdYF0IL1rQ5lclVqgwhPqGkYLDTjkwnSjxI0yzAjK8,2104
|
|
145
148
|
reflex/components/el/elements/base.pyi,sha256=nJhsjGezYjkK1YH-pDax-l208x8AiTkg7DBhHtATEJk,6618
|
|
146
|
-
reflex/components/el/elements/forms.py,sha256=
|
|
147
|
-
reflex/components/el/elements/forms.pyi,sha256=
|
|
149
|
+
reflex/components/el/elements/forms.py,sha256=_NsiCzJNx2OoKWw0NMEx9fMcLZ41ubxS4k7taSnWUgg,12751
|
|
150
|
+
reflex/components/el/elements/forms.pyi,sha256=I-YRig9xbXWblxINTPJGl76CrC7mcOCu5nl-3qQjXRY,100882
|
|
148
151
|
reflex/components/el/elements/inline.py,sha256=-Wg5ubLlY_V8zwCKSMe7T0J49VAMhcplP8Yy26cJ-_4,3441
|
|
149
152
|
reflex/components/el/elements/inline.pyi,sha256=jIZFDj8MJK9aJ17ej9hKmmKJ_IsIOqeyzMLJuSo1Be8,172316
|
|
150
153
|
reflex/components/el/elements/media.py,sha256=AaDFbVLAsr4xyrpAlfOSMfGFqb4_Llo7SP4pux2mTgY,9053
|
|
@@ -219,8 +222,8 @@ reflex/components/forms/textarea.pyi,sha256=YfWOSRB6tAGcRKbtTumsVrQxt6Q9CVaBfjwU
|
|
|
219
222
|
reflex/components/forms/upload.py,sha256=A4lxEaBWqr-In4ty-lPVGc4qtZUfG4YiN-Rl9dBrc4g,5940
|
|
220
223
|
reflex/components/forms/upload.pyi,sha256=ztJw0ry8d1ujPB9hXGI7L2cJYhrNb7SlMne-lP6IIBs,8354
|
|
221
224
|
reflex/components/graphing/__init__.py,sha256=ZprrsFBfhR63q3vxHWCm3H-rSJhTfxjVOaUcGDfxMrw,149
|
|
222
|
-
reflex/components/graphing/plotly.py,sha256=
|
|
223
|
-
reflex/components/graphing/plotly.pyi,sha256=
|
|
225
|
+
reflex/components/graphing/plotly.py,sha256=bIXN9lsxYEbpmSvbau6GPYdLTZihEB3YgT1psTGVzXI,910
|
|
226
|
+
reflex/components/graphing/plotly.pyi,sha256=CkQ3n0p2tI3J7DDRMgAktBDeMRBPuJSi5S_J58ha2N8,6902
|
|
224
227
|
reflex/components/graphing/recharts/__init__.py,sha256=_z8TImfBT085hUYH-UQGwtSO69ZIlg5IWu-IKLIwUyc,2373
|
|
225
228
|
reflex/components/graphing/recharts/cartesian.py,sha256=kSOdShCDIP7sXSmRxTfwPYSuOEoBs8MNcT9yja37-bc,19595
|
|
226
229
|
reflex/components/graphing/recharts/cartesian.pyi,sha256=DCapfKTgwpFRCr7ZS4GdnjV-Whag3tnPvSEhpCdmQJQ,85504
|
|
@@ -266,15 +269,14 @@ reflex/components/libs/chakra.pyi,sha256=GzDPqiNgzVywAAsGJtLP8X5Lg0zN2jqk4_7u_U-
|
|
|
266
269
|
reflex/components/libs/react_player.py,sha256=DvxvcGr2ZQY3TtiW75QffUKrl3__MRHKXBnA5uLGBiM,1096
|
|
267
270
|
reflex/components/libs/react_player.pyi,sha256=_MTgN8FrcH5pH9nvp29Ih0HyLUj0bQrBU0F0FYXcioM,4430
|
|
268
271
|
reflex/components/literals.py,sha256=zsKMvdKqMoPm8SW8A7hnoOO5s4rRLuSRO68VpasmGLo,156
|
|
269
|
-
reflex/components/media/__init__.py,sha256=
|
|
272
|
+
reflex/components/media/__init__.py,sha256=htxRQjS1NyvDBZwvZiU_v3TIuMLcDTSCbIfhK7CZndM,215
|
|
270
273
|
reflex/components/media/audio.py,sha256=dLV0w_zIBBJccj8b3cOfZnx2QVhVCSxOlNcpwRVOCD0,195
|
|
271
274
|
reflex/components/media/audio.pyi,sha256=Lmjbc5qritmC4WApON79JMk9EhTYoMeSQdd756GZu04,4396
|
|
272
275
|
reflex/components/media/avatar.py,sha256=1Cy9Vhkp66vGVOvrWpqLhwOblM5w9wLReCbniKB6TvA,1673
|
|
273
276
|
reflex/components/media/avatar.pyi,sha256=S_H5-ux4HxVtYyktB0u0RALGWCH2PxcH98kSz5h8mcE,10651
|
|
274
277
|
reflex/components/media/icon.py,sha256=Kvs-oOQpC1FJdglLLgkzB60qEK1VH4LLy0mjqzEclSM,2458
|
|
275
278
|
reflex/components/media/icon.pyi,sha256=hceJFS5f3f0-VLNExaRyz1p5e3AKUBQcu9eFmBzRP7g,6335
|
|
276
|
-
reflex/components/media/image.
|
|
277
|
-
reflex/components/media/image.pyi,sha256=T7AE9pxbapS8AfbS_JfHaWXY2fgupMVJAmd_yaEyYyY,5628
|
|
279
|
+
reflex/components/media/image.pyi,sha256=fT1vJ5kCvsLCyJsteT9rS8njsKwqKmDfQ5IoZyxy6C4,5488
|
|
278
280
|
reflex/components/media/video.py,sha256=CJ99fj_JQp8zrY-x2YHkcp3v6oh6YDyaMJguAM7FygU,195
|
|
279
281
|
reflex/components/media/video.pyi,sha256=YZQm75lglPSg_jW7hgpufaHthHE752ZjdVock_bXnPg,4396
|
|
280
282
|
reflex/components/navigation/__init__.py,sha256=M3mwbxDZRbj-mg-eud95uSI9gnJCShvi3QdpXfsr1hs,450
|
|
@@ -290,6 +292,13 @@ reflex/components/navigation/nextlink.py,sha256=9djgcEeAYiejW1hVpp5yMXV-b-GGD_2J
|
|
|
290
292
|
reflex/components/navigation/nextlink.pyi,sha256=Demxs4Xe7FTlZ94iCKtMPDzNG6scazfBjuFM5LeCI3Q,3537
|
|
291
293
|
reflex/components/navigation/stepper.py,sha256=m9hXgIkgXzWMTFCpdPS4HBdtplEFufd3EWigMWBrdn4,2940
|
|
292
294
|
reflex/components/navigation/stepper.pyi,sha256=njbDxxDxvH5gSKUHtFQFM6IpDiiK9GYwOqWJHSIfnwc,28483
|
|
295
|
+
reflex/components/next/__init__.py,sha256=ZE6r4Z-jPVq3ZNnz5g1Wiz1gD20TZqDAIKjjGdFQJ1M,184
|
|
296
|
+
reflex/components/next/base.py,sha256=Di_-_T6N3DqvuwaJD2KSCSgKgw202VbNOcBKGvTDv7I,189
|
|
297
|
+
reflex/components/next/base.pyi,sha256=8fnpDpvW9RHo8WJ9JnJOrmoGLErQEj1L0FQxPjALjDs,3299
|
|
298
|
+
reflex/components/next/image.py,sha256=ZK_hwW8R4aqEvL76RnW26REf788hv-5u3IWH7nB0slk,3831
|
|
299
|
+
reflex/components/next/image.pyi,sha256=T0QyFRlAzP9WgeyjYddOuRzvzm25MvS-tYpXkJmRwKE,5790
|
|
300
|
+
reflex/components/next/video.py,sha256=2f81Ftb-6sikQb1xvExZqqQe0tcVjUY80ldh-GJ_uZw,730
|
|
301
|
+
reflex/components/next/video.pyi,sha256=KJRYUhFWMFfN1e46hFQ8Hl-L8qHqicqpb0E6GHtI_0w,3424
|
|
293
302
|
reflex/components/overlay/__init__.py,sha256=tl59pMyYL3d-M8td8qLUinxTWVk5GJB19i6vIGbEMF4,904
|
|
294
303
|
reflex/components/overlay/alertdialog.py,sha256=lADPdtTkL-U0jsvm8DfZc4fQ3oJ8pnYEAGpA341M8_U,5198
|
|
295
304
|
reflex/components/overlay/alertdialog.pyi,sha256=BBE2yDNIx4ZmM6HXUMddd37U55y7hZzmwcro4avplws,24397
|
|
@@ -306,15 +315,99 @@ reflex/components/overlay/popover.pyi,sha256=uFDJmqS67tg0NxORinCyXKWEp6RUs_Y96i_
|
|
|
306
315
|
reflex/components/overlay/tooltip.py,sha256=0BlLdOeZmAUHPOx_xlt8_0XkICanJUJBM6Q0KVSJAbM,2132
|
|
307
316
|
reflex/components/overlay/tooltip.pyi,sha256=aFc-dyJNPgFVf2DDHPbg5mCJiTGlsPzj32UDUwGJ69s,6124
|
|
308
317
|
reflex/components/radix/__init__.py,sha256=h17lShMGLzeWJ64oiVaXk2cAihC3TRE7sckq7UZAyJQ,63
|
|
309
|
-
reflex/components/radix/
|
|
310
|
-
reflex/components/radix/
|
|
311
|
-
reflex/components/radix/
|
|
312
|
-
reflex/components/radix/themes/
|
|
313
|
-
reflex/components/radix/themes/
|
|
314
|
-
reflex/components/radix/themes/
|
|
315
|
-
reflex/components/radix/themes/
|
|
318
|
+
reflex/components/radix/primitives/__init__.py,sha256=hs19lINi-zYlsOUPrXSwjPFbrGyWx-w34669KQnUyTs,106
|
|
319
|
+
reflex/components/radix/primitives/accordion.py,sha256=5Ldri-NKh7FwG90eEG_lLpVX337Jw7bzkLMfdBHaDQE,7451
|
|
320
|
+
reflex/components/radix/primitives/accordion.pyi,sha256=9RR8hZSQn2-w9IFtzw_D-9DJtxw7s7exgX1tj9pA6Nw,23153
|
|
321
|
+
reflex/components/radix/themes/__init__.py,sha256=615Yg-j04dqhEZJdKoafCyOOXBTtCT20u7d2cBKleeI,237
|
|
322
|
+
reflex/components/radix/themes/base.py,sha256=-njjbSJ32BZok_m7NzxiJ49RGXz4IYWnuSa2XsgpjPI,4558
|
|
323
|
+
reflex/components/radix/themes/base.pyi,sha256=l15DTLw2JzDTkhemG7xI9V6IjIiidQhvxxYLhzNdMV4,21252
|
|
324
|
+
reflex/components/radix/themes/components/__init__.py,sha256=TSb0XgGJetYksN-_UzlowzLoYzhEUJesyOBVBLfoQlI,4742
|
|
325
|
+
reflex/components/radix/themes/components/alertdialog.py,sha256=eTSgX1Dm9L978z20uw6n5CPE2L76if1tQKHIyjCt55k,1942
|
|
326
|
+
reflex/components/radix/themes/components/alertdialog.pyi,sha256=o4chq1XTpzQc70NdK5KPbPFkIwZVEteZ4D5J7pC0Nnw,28444
|
|
327
|
+
reflex/components/radix/themes/components/aspectratio.py,sha256=W4CZuDFYHdLHoMn_ow5r3HJRCiqmT60FYJx6puUQ4fE,480
|
|
328
|
+
reflex/components/radix/themes/components/aspectratio.pyi,sha256=pzsXWqfgr0kk5bWF3DONcU2q_OuW06tt69eMurNX3JE,5501
|
|
329
|
+
reflex/components/radix/themes/components/avatar.py,sha256=mzcM87siqaBOLcPvB4hxO_KqP4zXlIOtWiwWxt_Xkxs,942
|
|
330
|
+
reflex/components/radix/themes/components/avatar.pyi,sha256=Ub5wKzb9l3E1JuMZ5uU3SfeHfYGcJaYfyA99r0ieeS0,8297
|
|
331
|
+
reflex/components/radix/themes/components/badge.py,sha256=AxoFSq8nBa5yQAnsBhHlYJpDI1Gd7y290RJv_2zThno,978
|
|
332
|
+
reflex/components/radix/themes/components/badge.pyi,sha256=tMi52RVfwWzB7IIZkunGTfljepfiOPBmgolQFQqQ8sE,11526
|
|
333
|
+
reflex/components/radix/themes/components/button.py,sha256=2O5K7ttuLY8uHTGrpJdU9Ly1qZGXYXXXf6k3av9CEN8,1086
|
|
334
|
+
reflex/components/radix/themes/components/button.pyi,sha256=M1etdwBJGCoL7ow3eMoLyDMpEdx0OgTEmwMmTbjHAD8,13783
|
|
335
|
+
reflex/components/radix/themes/components/callout.py,sha256=z8LBQH-Q_5sdUfG2upJTcJo7ROiUjG2jZE8_5IWcp_U,1424
|
|
336
|
+
reflex/components/radix/themes/components/callout.pyi,sha256=QLoB6eZCjABtwpwbnbkFHPAJd71v_unViNeooBoIQ5Y,27680
|
|
337
|
+
reflex/components/radix/themes/components/card.py,sha256=jshS75eMaxgmDUiYEkbEqFVWgsaFSnBfo9yyE2YKTRo,700
|
|
338
|
+
reflex/components/radix/themes/components/card.pyi,sha256=h2zzh83T2ikW59MhstvTaMGGi05vPu35epNZrFUcbYs,9182
|
|
339
|
+
reflex/components/radix/themes/components/checkbox.py,sha256=kYkH3pCxEVdujQ2W2rFk7QvqDcAGdIh-JNPW6Rb-YwE,1837
|
|
340
|
+
reflex/components/radix/themes/components/checkbox.pyi,sha256=_q7lzXnkiGm_pudS4DIoYFXvI5N8MrfUexrmXC35Hf8,9345
|
|
341
|
+
reflex/components/radix/themes/components/contextmenu.py,sha256=zUTll40KITIS7I4EGkVqILHI9sD0fmsVj7ceAxfXZaw,4200
|
|
342
|
+
reflex/components/radix/themes/components/contextmenu.pyi,sha256=Gxs2DR4KxgD3XpYKSaNck67nl3srDU9umLMvUczT7BM,45151
|
|
343
|
+
reflex/components/radix/themes/components/dialog.py,sha256=Rw6eRkqIOtvAwAJDCBJXAIW-__xdevfTRpfEO4h1UiI,2290
|
|
344
|
+
reflex/components/radix/themes/components/dialog.pyi,sha256=J0ccEab6jEOv4Cy48C8JneY4KizZN7nWMANdu4Cg0Es,28827
|
|
345
|
+
reflex/components/radix/themes/components/dropdownmenu.py,sha256=C7PljWx04NmF0xmvUaZ2byzjPMQbnWUVTxW9vTlxj8E,3178
|
|
346
|
+
reflex/components/radix/themes/components/dropdownmenu.pyi,sha256=yGmKT34VnMJSw7kFZ_BMnhWXmrIY90ciMdGuiPk-N6I,39223
|
|
347
|
+
reflex/components/radix/themes/components/hovercard.py,sha256=_PAN2h5EL3pd0ewk4gfZlc5x3x_znucndLvtFCTQKhk,2112
|
|
348
|
+
reflex/components/radix/themes/components/hovercard.pyi,sha256=v8S1VMdvEZRPetAhX7BYKZoTsdsKwrurCziEBDCG7IA,19868
|
|
349
|
+
reflex/components/radix/themes/components/iconbutton.py,sha256=By7ikf6nIWRqys1C55_buFZauPDKklvRufWi6qtvXfs,1098
|
|
350
|
+
reflex/components/radix/themes/components/iconbutton.pyi,sha256=BDN47vJRFmjFOeXLnIin7_rl6AtEcGD-tHR9Fyn9FsY,13841
|
|
351
|
+
reflex/components/radix/themes/components/icons.py,sha256=bYS0YAnCocSrAsIG-ljAIHG97nOH6pEM8WZoihTX9fM,7884
|
|
352
|
+
reflex/components/radix/themes/components/icons.pyi,sha256=Q4A3AFUjP-d0jrJVjbbyztx6I7PX71GQ30k2i4FmOEA,6577
|
|
353
|
+
reflex/components/radix/themes/components/inset.py,sha256=xVmYzxfUIjmzJMJbK_GYXgXk4G-tAH9YKYL8Xl8eJxQ,958
|
|
354
|
+
reflex/components/radix/themes/components/inset.pyi,sha256=HebXDUwGwAc3JIffA6xrKA1HmLJXRCLZsp1tjj3ijMw,9834
|
|
355
|
+
reflex/components/radix/themes/components/popover.py,sha256=1FB2hbR44c0PVG8pLj4aax1v1ioLJ-hM8mmbwWkWzTY,2803
|
|
356
|
+
reflex/components/radix/themes/components/popover.pyi,sha256=5YgRjLHi4NajdFC_JEGFGDj_zrpleo0YFRt9OvO1E6w,25330
|
|
357
|
+
reflex/components/radix/themes/components/radiogroup.py,sha256=HX_BHDHwWgrHqjsFSRfcXRECflW4B7qDJcjjwjKNAP0,2209
|
|
358
|
+
reflex/components/radix/themes/components/radiogroup.pyi,sha256=smg2tVGhhQjiNI3i5ffGY-zTdGgDwUeV8MooHOSROWo,14127
|
|
359
|
+
reflex/components/radix/themes/components/scrollarea.py,sha256=puVu_tUTZLxNikwRy4KEJOO7IMzWvkvjszQkIIzLzNs,1105
|
|
360
|
+
reflex/components/radix/themes/components/scrollarea.pyi,sha256=CsbU2DxDiUmaj9ds6rEQcv-OpMM3Yez3ygsH6NfWwXc,6659
|
|
361
|
+
reflex/components/radix/themes/components/select.py,sha256=CFi-IZM9KVaZRsql8IE6M34b-eHDaeJiEH6LXEiGFJ4,4675
|
|
362
|
+
reflex/components/radix/themes/components/select.pyi,sha256=nfBX1Pf_e8dvzCWIsEn3Hj40x0PKpXv_lXFiJqjH244,41843
|
|
363
|
+
reflex/components/radix/themes/components/separator.py,sha256=Z98WGWqpEFegf3yBkdzrDHAurs_H3ChhueNQtkD0GfA,847
|
|
364
|
+
reflex/components/radix/themes/components/separator.pyi,sha256=oQN7q6mOnekUD7FBkdUK3RlS8b4w_bwOTdnvDp6s8ks,7855
|
|
365
|
+
reflex/components/radix/themes/components/slider.py,sha256=YPZluZv6rrdUs7xU0RurMcfzqxHTRlLwcWR_on2FzXg,1944
|
|
366
|
+
reflex/components/radix/themes/components/slider.pyi,sha256=cRcV1Vhoke_FlX8-T8CIc9zDrx2VnZkMAdCjSMO2EEA,9558
|
|
367
|
+
reflex/components/radix/themes/components/switch.py,sha256=Lp_feJEgo9YoWjtXRXKwHRNE2SGiNJzcbUFN5s1av28,1950
|
|
368
|
+
reflex/components/radix/themes/components/switch.pyi,sha256=EVn04sIlPxT6Sbse9F5GQ8h4b9L_CTSvhp1m31xepkM,9424
|
|
369
|
+
reflex/components/radix/themes/components/table.py,sha256=3IXQM0FyyIYP57g9k1Yj1Q3w1cB5io2O-2yZ18Ra3Eg,2223
|
|
370
|
+
reflex/components/radix/themes/components/table.pyi,sha256=efLZ1PWHjP9NyWvnEhuV161hdk3i6k95jWAtHdxEnm0,63441
|
|
371
|
+
reflex/components/radix/themes/components/tabs.py,sha256=BjF_yUSg1r16fnPqH5vVVx_kirIWYaRAYpcm0QRxvh8,1889
|
|
372
|
+
reflex/components/radix/themes/components/tabs.pyi,sha256=bvvdD_42ROwjZh-dsZNSV5emba1j89-ulOcid_a1yOQ,20799
|
|
373
|
+
reflex/components/radix/themes/components/textarea.py,sha256=tmvc2vGvdEFVBMgZMIU_ovmQlWNxUuq9TEVnM-SAS7E,2331
|
|
374
|
+
reflex/components/radix/themes/components/textarea.pyi,sha256=LMdI1znoZYX04JHyLS6x-_K8BWn8Ghy44UrjqJx7WtI,13866
|
|
375
|
+
reflex/components/radix/themes/components/textfield.py,sha256=nomA7FkJW8nnY8Flj2OO5xaBzsWM_9WTMWcRnA-hSL8,3040
|
|
376
|
+
reflex/components/radix/themes/components/textfield.pyi,sha256=Wscg7XFcD5QNbp7vIrK4zMDfV8U1RphXGjzZJlVqa2c,33271
|
|
377
|
+
reflex/components/radix/themes/layout/__init__.py,sha256=B8KvgTw9HHKDugL9RNbL4pI0utMQqSoogZoAd6mFx2g,265
|
|
378
|
+
reflex/components/radix/themes/layout/base.py,sha256=OSGDf_RgNEzb1BPZ72VmM9b9TT1dwV08Dsfwb6AUB70,1176
|
|
379
|
+
reflex/components/radix/themes/layout/base.pyi,sha256=071nzD2JwkXR2SjVmzedQCLgQwbKW-rDnHEw4ofijes,7495
|
|
380
|
+
reflex/components/radix/themes/layout/box.py,sha256=tl3qPM0GxOIXP8lpaqZGXhgiq5ZNL-8gBqOomzwAY5U,262
|
|
381
|
+
reflex/components/radix/themes/layout/box.pyi,sha256=NNIw9iPFGbTQQ7FKwsUEPfWquyaBlHqS8bvaEzHOLdw,10618
|
|
382
|
+
reflex/components/radix/themes/layout/container.py,sha256=q_otAvN8f4sHWK5ndinSP28QD9UXVS4DR7P04e5pMGY,541
|
|
383
|
+
reflex/components/radix/themes/layout/container.pyi,sha256=DaUllxb6XmKJC_PHu7ZugYVRQeq5d1xV4KMY95Wt_38,10935
|
|
384
|
+
reflex/components/radix/themes/layout/flex.py,sha256=LVFIR21FJOye9twlxMpt8AiemNH8YftrrmiHswB3ZJQ,1416
|
|
385
|
+
reflex/components/radix/themes/layout/flex.pyi,sha256=6JECUWLzPkg9TwjhROQGZiw9Fgy8kF5P_TAWnshizt8,12984
|
|
386
|
+
reflex/components/radix/themes/layout/grid.py,sha256=Jjh2WxAtelmtaYrszOxOH6N85uqX0qLAdSYyyAc-Gfc,1448
|
|
387
|
+
reflex/components/radix/themes/layout/grid.pyi,sha256=wMoK_7lUYgyhb_-il8xQYiO0Y34docYT6ga_JdIFIx0,9104
|
|
388
|
+
reflex/components/radix/themes/layout/section.py,sha256=Z8PE4GT_uDIMezgmzIKBJ0ktTIZ81R48kYQldeUVwXo,447
|
|
389
|
+
reflex/components/radix/themes/layout/section.pyi,sha256=5_jRUJ1nfvaaqhXKIYW9U5TLVYDPyrtC748gx0kLUyY,10914
|
|
390
|
+
reflex/components/radix/themes/typography/__init__.py,sha256=oJrViUdhgjSkRZ3rc5jSXiudGj5AQzGpwuv3dVbi4aE,446
|
|
391
|
+
reflex/components/radix/themes/typography/base.py,sha256=uxSmOnrr5bnP6_aPI8FI95kn2bf9DZYLXshg-GpCDug,408
|
|
392
|
+
reflex/components/radix/themes/typography/blockquote.py,sha256=wBoOzqg-CVrUXib1cAROmd58XD8BJ8SUkULYYU5FZA4,834
|
|
393
|
+
reflex/components/radix/themes/typography/blockquote.pyi,sha256=Y5OtJZVR6DEmam-RV_oMLpu1VT8lhRhYLxnVcn0WJXo,11351
|
|
394
|
+
reflex/components/radix/themes/typography/code.py,sha256=LpeqyBn19X120ZEo-3jPp5oIWcx8ru6fzjQWDVInFYU,944
|
|
395
|
+
reflex/components/radix/themes/typography/code.pyi,sha256=8m_eqb55DgZ5ALH41zYNWnOF3HM_ydUofE4rY9zRen0,11569
|
|
396
|
+
reflex/components/radix/themes/typography/em.py,sha256=QCorF2A7GD6-zAGGgAxY2CqDTZRm0D76xmOovh38nkg,344
|
|
397
|
+
reflex/components/radix/themes/typography/em.pyi,sha256=-_r53h3p_rUw24ul1Ss89Y0ftkGI6yLP1qdqqOmhyk0,8511
|
|
398
|
+
reflex/components/radix/themes/typography/heading.py,sha256=qpPHCLUQpw2FiE2iT0FDnVOI9vAgkyA2Ka9We67nbLs,1359
|
|
399
|
+
reflex/components/radix/themes/typography/heading.pyi,sha256=LhR08SV85Xj41GKQIb18-ISxxpkP2GE_PGvNwjhvKP8,12141
|
|
400
|
+
reflex/components/radix/themes/typography/kbd.py,sha256=c7wQhhp1I6fy020ZR-3WdNmt3-Yof78YrhmZm1ocAI4,485
|
|
401
|
+
reflex/components/radix/themes/typography/kbd.pyi,sha256=rN_H4sYPdd1RsFhluYAsW8a8oFWvHo4QfpSmJzkflyI,8836
|
|
402
|
+
reflex/components/radix/themes/typography/link.py,sha256=2CQQxQCxFPgW3kXqoNSpYvF57sSCd11t2ZzSyOo4-Vo,1271
|
|
403
|
+
reflex/components/radix/themes/typography/link.pyi,sha256=NfTJlwlh446GGeys910gJ2tXRk6Ubmvz-hYXlTTKFSU,8745
|
|
404
|
+
reflex/components/radix/themes/typography/quote.py,sha256=rGzV-36ksmRLUj5JShs6ZNksZ_Ifv2trx3KkSJmnct8,344
|
|
405
|
+
reflex/components/radix/themes/typography/quote.pyi,sha256=PLyEZ-WR6KJzgrmo5NIWRNnTAcRfJh9bybJkP4fcRCk,8608
|
|
406
|
+
reflex/components/radix/themes/typography/strong.py,sha256=0tTpRWiVba8-S-l0EWRXdGZHsUHIv1Y7JI2XQJGEr20,366
|
|
407
|
+
reflex/components/radix/themes/typography/strong.pyi,sha256=P49T3LIA39UwJrpkLkKA-7gHuJD54-yMxTE5K4dmZpI,8527
|
|
408
|
+
reflex/components/radix/themes/typography/text.py,sha256=JRTu0pN5nBJzebafFOVbOgtsbibMb_2clq4aSGMVI6M,1352
|
|
409
|
+
reflex/components/radix/themes/typography/text.pyi,sha256=WIhMFb2HA6eUxRkhqQ6mAOOxkHtcACzEnWsBAjQXEWg,12134
|
|
316
410
|
reflex/components/radix/themes/typography.py,sha256=HN2Wq1ELYLDqnnZfbVxtO-wqGvsVbdVZayY54yoKaDg,3714
|
|
317
|
-
reflex/components/radix/themes/typography.pyi,sha256=UrLiYnoeTMPqFeG1tJXgiHUEenT-mvp39E6UQeouexA,59847
|
|
318
411
|
reflex/components/tags/__init__.py,sha256=_YJZvciLOMcImlxycpIt9YnZO1Hg30EWXDafnKcZw5o,120
|
|
319
412
|
reflex/components/tags/cond_tag.py,sha256=v5BO78bGQQuCy8lM45yI7nAuasxjQoRyQNdj5kakPBY,447
|
|
320
413
|
reflex/components/tags/iter_tag.py,sha256=88UCoM2KWureOFkKpPRZjQeW3o3dY_98Pa91Iu_422c,3626
|
|
@@ -333,10 +426,10 @@ reflex/components/typography/text.py,sha256=32HSSQteGs_brWsuCnCiFiZkfIyAt6VTJlA8
|
|
|
333
426
|
reflex/components/typography/text.pyi,sha256=u4fLPQvOSwStBBCxHIesnSCY1XhEb9EX47XIuUWz74I,3660
|
|
334
427
|
reflex/config.py,sha256=EEY7gBZ2T3p9g6-LqbD-wt_jO6qcPW3a2t6NLtk1QKo,10606
|
|
335
428
|
reflex/config.pyi,sha256=Gf0Ptm9h0xEPsv0FAfwsSq6fs5ycjiR0WxbYimt9TKY,3278
|
|
336
|
-
reflex/constants/__init__.py,sha256=
|
|
337
|
-
reflex/constants/base.py,sha256=
|
|
429
|
+
reflex/constants/__init__.py,sha256=hvoydrEk17n1KHsm4dq_DgAYUDIKz0YB9sZuXjJFFvI,1823
|
|
430
|
+
reflex/constants/base.py,sha256=wbkAU-CKWWxct5EfIW2UQSnkMzzlVzc_6O9QQrHK9jo,5364
|
|
338
431
|
reflex/constants/compiler.py,sha256=PuZuIasjtj-EJtZBAJtVd_Yjhe5yiLDbdLOntVs1DLE,3683
|
|
339
|
-
reflex/constants/config.py,sha256=
|
|
432
|
+
reflex/constants/config.py,sha256=7uUypVy-ezLt3UN3jXEX1XvL3sKaCLBwnJCyYjg9erI,1331
|
|
340
433
|
reflex/constants/event.py,sha256=8Glq8yt5M0Wlac3iySZ38de_ZHF_VjG6bXVX39D22xU,2266
|
|
341
434
|
reflex/constants/installer.py,sha256=aDRDkyFMNEZcsSkfy4Es2sSuG6Hx2nJFT7KL4s69PnE,3139
|
|
342
435
|
reflex/constants/route.py,sha256=yk0WEPqQrNbTvvV8TEy1vvmV2ISg_Gr5jdVxSqFWEm4,1956
|
|
@@ -345,33 +438,33 @@ reflex/event.py,sha256=kTxt2vk_t93FfzGcOuO-lpde-A1_o7x8qJDg0-7B3nI,24918
|
|
|
345
438
|
reflex/middleware/__init__.py,sha256=x7xTeDuc73Hjj43k1J63naC9x8vzFxl4sq7cCFBX7sk,111
|
|
346
439
|
reflex/middleware/hydrate_middleware.py,sha256=8wkeB92prQ5rWg2VBU2dO-zgg3qOdeE8T2Dckr6mgws,1924
|
|
347
440
|
reflex/middleware/middleware.py,sha256=PX9TPaCHI1O-F3OucsZSp94gtMP3ALYs3zXSALOlN9E,1169
|
|
348
|
-
reflex/model.py,sha256=
|
|
441
|
+
reflex/model.py,sha256=XJap0qphr0hEdf2HifeY9HJvAnj2JAE6LrHaoU3ZsHw,10757
|
|
349
442
|
reflex/page.py,sha256=VkrInVJ1jIlu141y4ssFh4dW7d5Uc8CbOaWY9JzwBa0,1916
|
|
350
443
|
reflex/page.pyi,sha256=nFfbDe-tBsrIrcAKWsoTy92olMkAosbmddh_Pgf2Sxc,505
|
|
351
|
-
reflex/reflex.py,sha256=
|
|
444
|
+
reflex/reflex.py,sha256=WzTE0itKnNPzRm7CTtb7WSI-9v-qN7zXvl_G3ct5OqM,16812
|
|
352
445
|
reflex/route.py,sha256=eVi2TSk9uM7DDGBy6rDYe6Gq4iuHZFK00Vmoq9IbIjk,2732
|
|
353
|
-
reflex/state.py,sha256=
|
|
354
|
-
reflex/style.py,sha256=
|
|
355
|
-
reflex/testing.py,sha256=
|
|
446
|
+
reflex/state.py,sha256=ZNBcG7_OzkTMtpDTH4oH8KWWlqZcn4p4sCZUcF067bQ,71927
|
|
447
|
+
reflex/style.py,sha256=fegWZ7Z0VihRbnRYWniaF-BYPMSvJrDbIv6d7ggqBV4,7232
|
|
448
|
+
reflex/testing.py,sha256=_lzylC3xzHEbv-LQdKa3qmw2zHVG9VCtlwFNm8zb-_c,26264
|
|
356
449
|
reflex/utils/__init__.py,sha256=y-AHKiRQAhk2oAkvn7W8cRVTZVK625ff8tTwvZtO7S4,24
|
|
357
450
|
reflex/utils/build.py,sha256=fjzLHP1yzOvn8OF9MKq7Jj72_n-kSXrQojTDIRAL5xA,8083
|
|
358
451
|
reflex/utils/console.py,sha256=oEEaV9oSw5B24LPEwBOGlyrk2xI91Fo-pqGEsNICrjg,4583
|
|
359
452
|
reflex/utils/exceptions.py,sha256=tDY0Bu1bmNzcozM_-dGaiYWudVCIO8Qo00_4klIbHCg,390
|
|
360
453
|
reflex/utils/exec.py,sha256=Th2CQ0UysTE0_L5mwZz5h0xaQsj41J7q-rbwaGsUZyw,8634
|
|
361
454
|
reflex/utils/export.py,sha256=gjtISftVt__OYMlJXXVslHbedVym7mTCHqzav7IuEjE,2445
|
|
362
|
-
reflex/utils/format.py,sha256=
|
|
455
|
+
reflex/utils/format.py,sha256=CY4PKXwx1J7Z4Yjm2_b-HEtarq1ijfIzW5-QCJb4Teg,19147
|
|
363
456
|
reflex/utils/imports.py,sha256=yah1kSVsOyUxA0wOMxJTwcmu6xlmkLJtV_zRIhshpsA,1919
|
|
364
457
|
reflex/utils/path_ops.py,sha256=pUcqPPKsvP6G5VVggX9fcw8lEkiKueTNoFq0eUlMyGc,4706
|
|
365
|
-
reflex/utils/prerequisites.py,sha256=
|
|
366
|
-
reflex/utils/processes.py,sha256=
|
|
367
|
-
reflex/utils/serializers.py,sha256=
|
|
458
|
+
reflex/utils/prerequisites.py,sha256=N_Wcb3mmc7oy4rp7Z27G0wZEo1pz8OvLqnoiLabQYpM,27832
|
|
459
|
+
reflex/utils/processes.py,sha256=3VZ48WzPy_PDZ6kSoewnHxHahqA9nAsW2ITXGPcK8LQ,8351
|
|
460
|
+
reflex/utils/serializers.py,sha256=r6POCP0eaVW2GITtLrmcXSsSJkhaezp68riut626VD4,7635
|
|
368
461
|
reflex/utils/telemetry.py,sha256=CxRreEGR3e3mq6oOuAf3krN4cCKtdPs47Q9gaY0svr8,2388
|
|
369
|
-
reflex/utils/types.py,sha256=
|
|
462
|
+
reflex/utils/types.py,sha256=Z_rTzYeyqMfirUQ1JKC9tfLv5_sI-3KBIWqdLE1xcbc,8208
|
|
370
463
|
reflex/utils/watch.py,sha256=HzGrHQIZ_62Di0BO46kd2AZktNA3A6nFIBuf8c6ip30,2609
|
|
371
|
-
reflex/vars.py,sha256=
|
|
464
|
+
reflex/vars.py,sha256=kcuV-UE0Qvw1M85M8USllrbxNGRPtzwNxc-Zw3DdKsM,59430
|
|
372
465
|
reflex/vars.pyi,sha256=VsVyNRIcuWnCDo2xrxF25gHV7qTM8wU1O350UBay3Rk,5032
|
|
373
|
-
reflex-0.3.
|
|
374
|
-
reflex-0.3.
|
|
375
|
-
reflex-0.3.
|
|
376
|
-
reflex-0.3.
|
|
377
|
-
reflex-0.3.
|
|
466
|
+
reflex-0.3.7.dist-info/LICENSE,sha256=dw3zLrp9f5ObD7kqS32vWfhcImfO52PMmRqvtxq_YEE,11358
|
|
467
|
+
reflex-0.3.7.dist-info/METADATA,sha256=iyYTWvPR7g95UOQtirLFgl4svw_jS3D0nuxfe4FsOeI,11095
|
|
468
|
+
reflex-0.3.7.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
|
|
469
|
+
reflex-0.3.7.dist-info/entry_points.txt,sha256=H1Z5Yat_xJfy0dRT1Frk2PkO_p41Xy7fCKlj4FcdL9o,44
|
|
470
|
+
reflex-0.3.7.dist-info/RECORD,,
|