reflex 0.5.9.dev1__py3-none-any.whl → 0.5.10__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.

Files changed (170) hide show
  1. reflex/.templates/web/utils/client_side_routing.js +6 -1
  2. reflex/__init__.py +21 -2
  3. reflex/__init__.pyi +0 -1
  4. reflex/app.py +1 -1
  5. reflex/components/__init__.py +0 -1
  6. reflex/components/__init__.pyi +0 -1
  7. reflex/components/markdown/markdown.py +1 -1
  8. reflex/components/recharts/cartesian.py +3 -0
  9. reflex/components/recharts/cartesian.pyi +2 -0
  10. reflex/components/sonner/toast.py +27 -1
  11. reflex/components/sonner/toast.pyi +5 -0
  12. reflex/constants/base.py +2 -0
  13. reflex/constants/installer.py +2 -0
  14. reflex/experimental/hooks.py +1 -1
  15. reflex/reflex.py +0 -15
  16. reflex/state.py +22 -22
  17. reflex/testing.py +8 -3
  18. reflex/utils/net.py +43 -0
  19. reflex/utils/prerequisites.py +27 -126
  20. reflex/utils/registry.py +48 -0
  21. reflex/utils/types.py +1 -1
  22. reflex/vars.py +4 -2
  23. {reflex-0.5.9.dev1.dist-info → reflex-0.5.10.dist-info}/METADATA +2 -1
  24. {reflex-0.5.9.dev1.dist-info → reflex-0.5.10.dist-info}/RECORD +27 -168
  25. reflex/components/chakra/__init__.py +0 -204
  26. reflex/components/chakra/base.py +0 -210
  27. reflex/components/chakra/base.pyi +0 -319
  28. reflex/components/chakra/datadisplay/__init__.py +0 -10
  29. reflex/components/chakra/datadisplay/badge.py +0 -16
  30. reflex/components/chakra/datadisplay/badge.pyi +0 -96
  31. reflex/components/chakra/datadisplay/code.py +0 -11
  32. reflex/components/chakra/datadisplay/code.pyi +0 -87
  33. reflex/components/chakra/datadisplay/divider.py +0 -20
  34. reflex/components/chakra/datadisplay/divider.pyi +0 -100
  35. reflex/components/chakra/datadisplay/keyboard_key.py +0 -9
  36. reflex/components/chakra/datadisplay/keyboard_key.pyi +0 -87
  37. reflex/components/chakra/datadisplay/list.py +0 -60
  38. reflex/components/chakra/datadisplay/list.pyi +0 -339
  39. reflex/components/chakra/datadisplay/stat.py +0 -80
  40. reflex/components/chakra/datadisplay/stat.pyi +0 -477
  41. reflex/components/chakra/datadisplay/table.py +0 -305
  42. reflex/components/chakra/datadisplay/table.pyi +0 -737
  43. reflex/components/chakra/datadisplay/tag.py +0 -85
  44. reflex/components/chakra/datadisplay/tag.pyi +0 -433
  45. reflex/components/chakra/disclosure/__init__.py +0 -14
  46. reflex/components/chakra/disclosure/accordion.py +0 -110
  47. reflex/components/chakra/disclosure/accordion.pyi +0 -411
  48. reflex/components/chakra/disclosure/tabs.py +0 -117
  49. reflex/components/chakra/disclosure/tabs.pyi +0 -496
  50. reflex/components/chakra/disclosure/transition.py +0 -73
  51. reflex/components/chakra/disclosure/transition.pyi +0 -509
  52. reflex/components/chakra/disclosure/visuallyhidden.py +0 -9
  53. reflex/components/chakra/disclosure/visuallyhidden.pyi +0 -87
  54. reflex/components/chakra/feedback/__init__.py +0 -7
  55. reflex/components/chakra/feedback/alert.py +0 -68
  56. reflex/components/chakra/feedback/alert.pyi +0 -335
  57. reflex/components/chakra/feedback/circularprogress.py +0 -68
  58. reflex/components/chakra/feedback/circularprogress.pyi +0 -185
  59. reflex/components/chakra/feedback/progress.py +0 -33
  60. reflex/components/chakra/feedback/progress.pyi +0 -101
  61. reflex/components/chakra/feedback/skeleton.py +0 -70
  62. reflex/components/chakra/feedback/skeleton.pyi +0 -271
  63. reflex/components/chakra/feedback/spinner.py +0 -25
  64. reflex/components/chakra/feedback/spinner.pyi +0 -102
  65. reflex/components/chakra/forms/__init__.py +0 -49
  66. reflex/components/chakra/forms/button.py +0 -83
  67. reflex/components/chakra/forms/button.pyi +0 -262
  68. reflex/components/chakra/forms/checkbox.py +0 -77
  69. reflex/components/chakra/forms/checkbox.pyi +0 -247
  70. reflex/components/chakra/forms/colormodeswitch.py +0 -104
  71. reflex/components/chakra/forms/colormodeswitch.pyi +0 -473
  72. reflex/components/chakra/forms/date_picker.py +0 -11
  73. reflex/components/chakra/forms/date_picker.pyi +0 -129
  74. reflex/components/chakra/forms/date_time_picker.py +0 -11
  75. reflex/components/chakra/forms/date_time_picker.pyi +0 -129
  76. reflex/components/chakra/forms/editable.py +0 -67
  77. reflex/components/chakra/forms/editable.pyi +0 -343
  78. reflex/components/chakra/forms/email.py +0 -11
  79. reflex/components/chakra/forms/email.pyi +0 -129
  80. reflex/components/chakra/forms/form.py +0 -103
  81. reflex/components/chakra/forms/form.pyi +0 -484
  82. reflex/components/chakra/forms/iconbutton.py +0 -38
  83. reflex/components/chakra/forms/iconbutton.pyi +0 -108
  84. reflex/components/chakra/forms/input.py +0 -130
  85. reflex/components/chakra/forms/input.pyi +0 -566
  86. reflex/components/chakra/forms/multiselect.py +0 -355
  87. reflex/components/chakra/forms/numberinput.py +0 -128
  88. reflex/components/chakra/forms/numberinput.pyi +0 -442
  89. reflex/components/chakra/forms/password.py +0 -11
  90. reflex/components/chakra/forms/password.pyi +0 -129
  91. reflex/components/chakra/forms/pininput.py +0 -201
  92. reflex/components/chakra/forms/pininput.pyi +0 -215
  93. reflex/components/chakra/forms/radio.py +0 -101
  94. reflex/components/chakra/forms/radio.pyi +0 -197
  95. reflex/components/chakra/forms/rangeslider.py +0 -149
  96. reflex/components/chakra/forms/rangeslider.pyi +0 -354
  97. reflex/components/chakra/forms/select.py +0 -103
  98. reflex/components/chakra/forms/select.pyi +0 -204
  99. reflex/components/chakra/forms/slider.py +0 -130
  100. reflex/components/chakra/forms/slider.pyi +0 -449
  101. reflex/components/chakra/forms/switch.py +0 -49
  102. reflex/components/chakra/forms/switch.pyi +0 -159
  103. reflex/components/chakra/forms/textarea.py +0 -79
  104. reflex/components/chakra/forms/textarea.pyi +0 -123
  105. reflex/components/chakra/forms/time_picker.py +0 -11
  106. reflex/components/chakra/forms/time_picker.pyi +0 -129
  107. reflex/components/chakra/layout/__init__.py +0 -14
  108. reflex/components/chakra/layout/aspect_ratio.py +0 -13
  109. reflex/components/chakra/layout/aspect_ratio.pyi +0 -89
  110. reflex/components/chakra/layout/box.py +0 -31
  111. reflex/components/chakra/layout/box.pyi +0 -93
  112. reflex/components/chakra/layout/card.py +0 -100
  113. reflex/components/chakra/layout/card.pyi +0 -379
  114. reflex/components/chakra/layout/center.py +0 -21
  115. reflex/components/chakra/layout/center.pyi +0 -239
  116. reflex/components/chakra/layout/container.py +0 -13
  117. reflex/components/chakra/layout/container.pyi +0 -89
  118. reflex/components/chakra/layout/flex.py +0 -33
  119. reflex/components/chakra/layout/flex.pyi +0 -101
  120. reflex/components/chakra/layout/grid.py +0 -125
  121. reflex/components/chakra/layout/grid.pyi +0 -293
  122. reflex/components/chakra/layout/spacer.py +0 -9
  123. reflex/components/chakra/layout/spacer.pyi +0 -87
  124. reflex/components/chakra/layout/stack.py +0 -48
  125. reflex/components/chakra/layout/stack.pyi +0 -305
  126. reflex/components/chakra/layout/wrap.py +0 -57
  127. reflex/components/chakra/layout/wrap.pyi +0 -179
  128. reflex/components/chakra/media/__init__.py +0 -7
  129. reflex/components/chakra/media/avatar.py +0 -58
  130. reflex/components/chakra/media/avatar.pyi +0 -267
  131. reflex/components/chakra/media/icon.py +0 -111
  132. reflex/components/chakra/media/icon.pyi +0 -171
  133. reflex/components/chakra/media/image.py +0 -74
  134. reflex/components/chakra/media/image.pyi +0 -118
  135. reflex/components/chakra/navigation/__init__.py +0 -18
  136. reflex/components/chakra/navigation/breadcrumb.py +0 -98
  137. reflex/components/chakra/navigation/breadcrumb.pyi +0 -351
  138. reflex/components/chakra/navigation/link.py +0 -62
  139. reflex/components/chakra/navigation/link.pyi +0 -105
  140. reflex/components/chakra/navigation/linkoverlay.py +0 -22
  141. reflex/components/chakra/navigation/linkoverlay.pyi +0 -167
  142. reflex/components/chakra/navigation/stepper.py +0 -113
  143. reflex/components/chakra/navigation/stepper.pyi +0 -762
  144. reflex/components/chakra/overlay/__init__.py +0 -50
  145. reflex/components/chakra/overlay/alertdialog.py +0 -153
  146. reflex/components/chakra/overlay/alertdialog.pyi +0 -612
  147. reflex/components/chakra/overlay/drawer.py +0 -168
  148. reflex/components/chakra/overlay/drawer.pyi +0 -652
  149. reflex/components/chakra/overlay/menu.py +0 -225
  150. reflex/components/chakra/overlay/menu.pyi +0 -708
  151. reflex/components/chakra/overlay/modal.py +0 -166
  152. reflex/components/chakra/overlay/modal.pyi +0 -600
  153. reflex/components/chakra/overlay/popover.py +0 -183
  154. reflex/components/chakra/overlay/popover.pyi +0 -757
  155. reflex/components/chakra/overlay/tooltip.py +0 -70
  156. reflex/components/chakra/overlay/tooltip.pyi +0 -129
  157. reflex/components/chakra/typography/__init__.py +0 -10
  158. reflex/components/chakra/typography/heading.py +0 -16
  159. reflex/components/chakra/typography/heading.pyi +0 -96
  160. reflex/components/chakra/typography/highlight.py +0 -23
  161. reflex/components/chakra/typography/highlight.pyi +0 -91
  162. reflex/components/chakra/typography/span.py +0 -15
  163. reflex/components/chakra/typography/span.pyi +0 -89
  164. reflex/components/chakra/typography/text.py +0 -18
  165. reflex/components/chakra/typography/text.pyi +0 -91
  166. reflex/components/media/__init__.py +0 -1
  167. reflex/components/media/icon.py +0 -3
  168. {reflex-0.5.9.dev1.dist-info → reflex-0.5.10.dist-info}/LICENSE +0 -0
  169. {reflex-0.5.9.dev1.dist-info → reflex-0.5.10.dist-info}/WHEEL +0 -0
  170. {reflex-0.5.9.dev1.dist-info → reflex-0.5.10.dist-info}/entry_points.txt +0 -0
@@ -6,7 +6,6 @@ import functools
6
6
  import glob
7
7
  import importlib
8
8
  import importlib.metadata
9
- import inspect
10
9
  import json
11
10
  import os
12
11
  import platform
@@ -31,13 +30,13 @@ from packaging import version
31
30
  from redis import Redis as RedisSync
32
31
  from redis.asyncio import Redis
33
32
 
34
- import reflex
35
33
  from reflex import constants, model
36
34
  from reflex.base import Base
37
35
  from reflex.compiler import templates
38
36
  from reflex.config import Config, get_config
39
- from reflex.utils import console, path_ops, processes
37
+ from reflex.utils import console, net, path_ops, processes
40
38
  from reflex.utils.format import format_library_name
39
+ from reflex.utils.registry import _get_best_registry
41
40
 
42
41
  CURRENTLY_INSTALLING_NODE = False
43
42
 
@@ -81,7 +80,7 @@ def check_latest_package_version(package_name: str):
81
80
  # Get the latest version from PyPI
82
81
  current_version = importlib.metadata.version(package_name)
83
82
  url = f"https://pypi.org/pypi/{package_name}/json"
84
- response = httpx.get(url)
83
+ response = net.get(url)
85
84
  latest_version = response.json()["info"]["version"]
86
85
  if (
87
86
  version.parse(current_version) < version.parse(latest_version)
@@ -577,6 +576,15 @@ def initialize_package_json():
577
576
  code = _compile_package_json()
578
577
  output_path.write_text(code)
579
578
 
579
+ best_registry = _get_best_registry()
580
+ bun_config_path = get_web_dir() / constants.Bun.CONFIG_PATH
581
+ bun_config_path.write_text(
582
+ f"""
583
+ [install]
584
+ registry = "{best_registry}"
585
+ """
586
+ )
587
+
580
588
 
581
589
  def init_reflex_json(project_hash: int | None):
582
590
  """Write the hash of the Reflex project to a REFLEX_JSON.
@@ -662,7 +670,7 @@ def download_and_run(url: str, *args, show_status: bool = False, **env):
662
670
  """
663
671
  # Download the script
664
672
  console.debug(f"Downloading {url}")
665
- response = httpx.get(url)
673
+ response = net.get(url)
666
674
  if response.status_code != httpx.codes.OK:
667
675
  response.raise_for_status()
668
676
 
@@ -692,11 +700,11 @@ def download_and_extract_fnm_zip():
692
700
  try:
693
701
  # Download the FNM zip release.
694
702
  # TODO: show progress to improve UX
695
- with httpx.stream("GET", url, follow_redirects=True) as response:
696
- response.raise_for_status()
697
- with open(fnm_zip_file, "wb") as output_file:
698
- for chunk in response.iter_bytes():
699
- output_file.write(chunk)
703
+ response = net.get(url, follow_redirects=True)
704
+ response.raise_for_status()
705
+ with open(fnm_zip_file, "wb") as output_file:
706
+ for chunk in response.iter_bytes():
707
+ output_file.write(chunk)
700
708
 
701
709
  # Extract the downloaded zip file.
702
710
  with zipfile.ZipFile(fnm_zip_file, "r") as zip_ref:
@@ -1159,114 +1167,6 @@ def prompt_for_template(templates: list[Template]) -> str:
1159
1167
  return templates[int(template)].name
1160
1168
 
1161
1169
 
1162
- def should_show_rx_chakra_migration_instructions() -> bool:
1163
- """Should we show the migration instructions for rx.chakra.* => rx.*?.
1164
-
1165
- Returns:
1166
- bool: True if we should show the migration instructions.
1167
- """
1168
- if os.getenv("REFLEX_PROMPT_MIGRATE_TO_RX_CHAKRA") == "yes":
1169
- return True
1170
-
1171
- if not Path(constants.Config.FILE).exists():
1172
- # They are running reflex init for the first time.
1173
- return False
1174
-
1175
- existing_init_reflex_version = None
1176
- reflex_json = get_web_dir() / constants.Dirs.REFLEX_JSON
1177
- if reflex_json.exists():
1178
- with reflex_json.open("r") as f:
1179
- data = json.load(f)
1180
- existing_init_reflex_version = data.get("version", None)
1181
-
1182
- if existing_init_reflex_version is None:
1183
- # They clone a reflex app from git for the first time.
1184
- # That app may or may not be 0.4 compatible.
1185
- # So let's just show these instructions THIS TIME.
1186
- return True
1187
-
1188
- if constants.Reflex.VERSION < "0.4":
1189
- return False
1190
- else:
1191
- return existing_init_reflex_version < "0.4"
1192
-
1193
-
1194
- def show_rx_chakra_migration_instructions():
1195
- """Show the migration instructions for rx.chakra.* => rx.*."""
1196
- console.log(
1197
- "Prior to reflex 0.4.0, rx.* components are based on Chakra UI. They are now based on Radix UI. To stick to Chakra UI, use rx.chakra.*."
1198
- )
1199
- console.log("")
1200
- console.log(
1201
- "[bold]Run `reflex script keep-chakra` to automatically update your app."
1202
- )
1203
- console.log("")
1204
- console.log(
1205
- "For more details, please see https://reflex.dev/blog/2024-02-16-reflex-v0.4.0/"
1206
- )
1207
-
1208
-
1209
- def migrate_to_rx_chakra():
1210
- """Migrate rx.button => r.chakra.button, etc."""
1211
- file_pattern = os.path.join(get_config().app_name, "**/*.py")
1212
- file_list = glob.glob(file_pattern, recursive=True)
1213
-
1214
- # Populate with all rx.<x> components that have been moved to rx.chakra.<x>
1215
- patterns = {
1216
- rf"\brx\.{name}\b": f"rx.chakra.{name}"
1217
- for name in _get_rx_chakra_component_to_migrate()
1218
- }
1219
-
1220
- for file_path in file_list:
1221
- with FileInput(file_path, inplace=True) as file:
1222
- for _line_num, line in enumerate(file):
1223
- for old, new in patterns.items():
1224
- line = re.sub(old, new, line)
1225
- print(line, end="")
1226
-
1227
-
1228
- def _get_rx_chakra_component_to_migrate() -> set[str]:
1229
- from reflex.components.chakra import ChakraComponent
1230
-
1231
- rx_chakra_names = set(dir(reflex.chakra))
1232
-
1233
- names_to_migrate = set()
1234
-
1235
- # whitelist names will always be rewritten as rx.chakra.<x>
1236
- whitelist = {
1237
- "ColorModeIcon",
1238
- "MultiSelect",
1239
- "MultiSelectOption",
1240
- "color_mode_icon",
1241
- "multi_select",
1242
- "multi_select_option",
1243
- }
1244
-
1245
- for rx_chakra_name in sorted(rx_chakra_names):
1246
- if rx_chakra_name.startswith("_"):
1247
- continue
1248
-
1249
- rx_chakra_object = getattr(reflex.chakra, rx_chakra_name)
1250
- try:
1251
- if (
1252
- (
1253
- inspect.ismethod(rx_chakra_object)
1254
- and inspect.isclass(rx_chakra_object.__self__)
1255
- and issubclass(rx_chakra_object.__self__, ChakraComponent)
1256
- )
1257
- or (
1258
- inspect.isclass(rx_chakra_object)
1259
- and issubclass(rx_chakra_object, ChakraComponent)
1260
- )
1261
- or rx_chakra_name in whitelist
1262
- ):
1263
- names_to_migrate.add(rx_chakra_name)
1264
-
1265
- except Exception:
1266
- raise
1267
- return names_to_migrate
1268
-
1269
-
1270
1170
  def migrate_to_reflex():
1271
1171
  """Migration from Pynecone to Reflex."""
1272
1172
  # Check if the old config file exists.
@@ -1311,9 +1211,6 @@ def migrate_to_reflex():
1311
1211
  print(line, end="")
1312
1212
 
1313
1213
 
1314
- RELEASES_URL = f"https://api.github.com/repos/reflex-dev/templates/releases"
1315
-
1316
-
1317
1214
  def fetch_app_templates(version: str) -> dict[str, Template]:
1318
1215
  """Fetch a dict of templates from the templates repo using github API.
1319
1216
 
@@ -1325,7 +1222,7 @@ def fetch_app_templates(version: str) -> dict[str, Template]:
1325
1222
  """
1326
1223
 
1327
1224
  def get_release_by_tag(tag: str) -> dict | None:
1328
- response = httpx.get(RELEASES_URL)
1225
+ response = net.get(constants.Reflex.RELEASES_URL)
1329
1226
  response.raise_for_status()
1330
1227
  releases = response.json()
1331
1228
  for release in releases:
@@ -1346,7 +1243,7 @@ def fetch_app_templates(version: str) -> dict[str, Template]:
1346
1243
  else:
1347
1244
  templates_url = asset["browser_download_url"]
1348
1245
 
1349
- templates_data = httpx.get(templates_url, follow_redirects=True).json()["templates"]
1246
+ templates_data = net.get(templates_url, follow_redirects=True).json()["templates"]
1350
1247
 
1351
1248
  for template in templates_data:
1352
1249
  if template["name"] == "blank":
@@ -1389,7 +1286,7 @@ def create_config_init_app_from_remote_template(app_name: str, template_url: str
1389
1286
  zip_file_path = Path(temp_dir) / "template.zip"
1390
1287
  try:
1391
1288
  # Note: following redirects can be risky. We only allow this for reflex built templates at the moment.
1392
- response = httpx.get(template_url, follow_redirects=True)
1289
+ response = net.get(template_url, follow_redirects=True)
1393
1290
  console.debug(f"Server responded download request: {response}")
1394
1291
  response.raise_for_status()
1395
1292
  except httpx.HTTPError as he:
@@ -1437,7 +1334,11 @@ def create_config_init_app_from_remote_template(app_name: str, template_url: str
1437
1334
  template_code_dir_name=template_name,
1438
1335
  template_dir=template_dir,
1439
1336
  )
1440
-
1337
+ req_file = Path("requirements.txt")
1338
+ if req_file.exists() and len(req_file.read_text().splitlines()) > 1:
1339
+ console.info(
1340
+ "Run `pip install -r requirements.txt` to install the required python packages for this template."
1341
+ )
1441
1342
  # Clean up the temp directories.
1442
1343
  shutil.rmtree(temp_dir)
1443
1344
  shutil.rmtree(unzip_dir)
@@ -1516,7 +1417,7 @@ def initialize_main_module_index_from_generation(app_name: str, generation_hash:
1516
1417
  generation_hash: The generation hash from reflex.build.
1517
1418
  """
1518
1419
  # Download the reflex code for the generation.
1519
- resp = httpx.get(
1420
+ resp = net.get(
1520
1421
  constants.Templates.REFLEX_BUILD_CODE_URL.format(
1521
1422
  generation_hash=generation_hash
1522
1423
  )
@@ -0,0 +1,48 @@
1
+ """Utilities for working with registries."""
2
+
3
+ import httpx
4
+
5
+ from reflex.utils import console
6
+
7
+
8
+ def latency(registry: str) -> int:
9
+ """Get the latency of a registry.
10
+
11
+ Args:
12
+ registry (str): The URL of the registry.
13
+
14
+ Returns:
15
+ int: The latency of the registry in microseconds.
16
+ """
17
+ try:
18
+ return httpx.get(registry).elapsed.microseconds
19
+ except httpx.HTTPError:
20
+ console.info(f"Failed to connect to {registry}.")
21
+ return 10_000_000
22
+
23
+
24
+ def average_latency(registry, attempts: int = 3) -> int:
25
+ """Get the average latency of a registry.
26
+
27
+ Args:
28
+ registry (str): The URL of the registry.
29
+ attempts (int): The number of attempts to make. Defaults to 10.
30
+
31
+ Returns:
32
+ int: The average latency of the registry in microseconds.
33
+ """
34
+ return sum(latency(registry) for _ in range(attempts)) // attempts
35
+
36
+
37
+ def _get_best_registry() -> str:
38
+ """Get the best registry based on latency.
39
+
40
+ Returns:
41
+ str: The best registry.
42
+ """
43
+ registries = [
44
+ "https://registry.npmjs.org",
45
+ "https://r.cnpmjs.org",
46
+ ]
47
+
48
+ return min(registries, key=average_latency)
reflex/utils/types.py CHANGED
@@ -49,7 +49,7 @@ from reflex.base import Base
49
49
  from reflex.utils import console
50
50
 
51
51
  if sys.version_info >= (3, 12):
52
- from typing import override
52
+ from typing import override as override
53
53
  else:
54
54
 
55
55
  def override(func: Callable) -> Callable:
reflex/vars.py CHANGED
@@ -2588,15 +2588,17 @@ def get_uuid_string_var() -> Var:
2588
2588
  """
2589
2589
  from reflex.utils.imports import ImportVar
2590
2590
 
2591
+ unique_uuid_var = get_unique_variable_name()
2591
2592
  unique_uuid_var_data = VarData(
2592
2593
  imports={
2593
2594
  f"/{constants.Dirs.STATE_PATH}": {ImportVar(tag="generateUUID")}, # type: ignore
2594
2595
  "react": "useMemo",
2595
- }
2596
+ },
2597
+ hooks={f"const {unique_uuid_var} = useMemo(generateUUID, [])": None},
2596
2598
  )
2597
2599
 
2598
2600
  return BaseVar(
2599
- _var_name="useMemo(generateUUID, [])",
2601
+ _var_name=unique_uuid_var,
2600
2602
  _var_type=str,
2601
2603
  _var_data=unique_uuid_var_data,
2602
2604
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: reflex
3
- Version: 0.5.9.dev1
3
+ Version: 0.5.10
4
4
  Summary: Web apps in pure Python.
5
5
  Home-page: https://reflex.dev
6
6
  License: Apache-2.0
@@ -34,6 +34,7 @@ Requires-Dist: python-engineio (!=4.6.0)
34
34
  Requires-Dist: python-multipart (>=0.0.5,<0.1)
35
35
  Requires-Dist: python-socketio (>=5.7.0,<6.0)
36
36
  Requires-Dist: redis (>=4.3.5,<6.0)
37
+ Requires-Dist: reflex-chakra (>=0.1.1a1,<0.6)
37
38
  Requires-Dist: reflex-hosting-cli (>=0.1.2,<2.0)
38
39
  Requires-Dist: rich (>=13.0.0,<14.0)
39
40
  Requires-Dist: setuptools (>=69.1.1,<70.2)
@@ -56,18 +56,18 @@ reflex/.templates/web/jsconfig.json,sha256=Y9sEhjJcpk-ZDj-sxHYCvF9UZF4fyBL4oUlph
56
56
  reflex/.templates/web/next.config.js,sha256=ZpGOqo9wHEbt0S08G70VfUNUjFe79UXo7Cde8X8V10E,118
57
57
  reflex/.templates/web/postcss.config.js,sha256=oEjUS1dzudKcmoPCD_B1ss2m1K14VDM0S6GAyrs1Ric,108
58
58
  reflex/.templates/web/styles/tailwind.css,sha256=wGOoICTy1G0e5bWZ4LYOVgRa3ZT7M44tC4g6CKh6ZPo,112
59
- reflex/.templates/web/utils/client_side_routing.js,sha256=iGGnZY07XMNLUT2GT_Y6OEICP7uc1FaWn9cPlQUpGgo,1254
59
+ reflex/.templates/web/utils/client_side_routing.js,sha256=za3bslTR0cKLC4h-bxAr48nJFj0nPwrj28Dlv2A3dV4,1431
60
60
  reflex/.templates/web/utils/helpers/dataeditor.js,sha256=anZgi8RJ_J0yqDez1Ks51fNDIQOvP3WkIm1QRDwccSk,1622
61
61
  reflex/.templates/web/utils/helpers/debounce.js,sha256=xGhtTRtS_xIcaeqnYVvYJNseLgQVk-DW-eFiHJYO9As,528
62
62
  reflex/.templates/web/utils/helpers/paste.js,sha256=ef30HsR83jRzzvZnl8yV79yqFP8TC_u8SlN99cCS_OM,1799
63
63
  reflex/.templates/web/utils/helpers/range.js,sha256=FevdZzCVxjF57ullfjpcUpeOXRxh5v09YnBB0jPbrS4,1152
64
64
  reflex/.templates/web/utils/helpers/throttle.js,sha256=qxeyaEojaTeX36FPGftzVWrzDsRQU4iqg3U9RJz9Vj4,566
65
65
  reflex/.templates/web/utils/state.js,sha256=G_mjYXiYhP4wnR36HnVrJXsexFJ8tiJfSUHMtdbGNYA,26088
66
- reflex/__init__.py,sha256=ODbR-WJ4-ugGhepPf34fUy2GZdkxo3TpZaca1tpD7kw,9728
67
- reflex/__init__.pyi,sha256=brBPyevzsUhaSKKgJVkXmm8VmXy8umVIIBjjV4IwcTI,10751
66
+ reflex/__init__.py,sha256=o83mgcAAofcdyPV2g3eyerAEpTGnqkaurGMdnjJLu6Y,10244
67
+ reflex/__init__.pyi,sha256=EOPrAjsyIr2i2uT2QB8k9ZZywp8uAXQQiKABYs89a3c,10710
68
68
  reflex/__main__.py,sha256=6cVrGEyT3j3tEvlEVUatpaYfbB5EF3UVY-6vc_Z7-hw,108
69
69
  reflex/admin.py,sha256=_3pkkauMiTGJJ0kwAEBnsUWAgZZ_1WNnCaaObbhpmUI,374
70
- reflex/app.py,sha256=QlpVJWwkmVyTPRiEitwWh5I6rO7NNVI6311NurG8W1c,54708
70
+ reflex/app.py,sha256=Sa8Vpcgqs6WMzXhgtZWonBximPbWKrCHUKfTR9zzcgM,54702
71
71
  reflex/app_mixins/__init__.py,sha256=Oegz3-gZLP9p2OAN5ALNbsgxuNQfS6lGZgQA8cc-9mQ,137
72
72
  reflex/app_mixins/lifespan.py,sha256=0PaavAPTYmF7JdLKGfZQu_NT7oAaxyq7-5fauLZ9e8Y,2048
73
73
  reflex/app_mixins/middleware.py,sha256=6Yby_Uw1-J0K7NgPyh-X7tGGhmezn6D7-KsfABYAVBU,3130
@@ -78,8 +78,8 @@ reflex/compiler/__init__.py,sha256=r8jqmDSFf09iV2lHlNhfc9XrTLjNxfDNwPYlxS4cmHE,2
78
78
  reflex/compiler/compiler.py,sha256=1_PfhgLXozGmkMhFx58NBmCLF3gA4erf-vVerERB3_4,17814
79
79
  reflex/compiler/templates.py,sha256=qY3qH7Z4oH_5i4nhMxffAFXbY6Fc9mEnCtlVP7uU7nU,4562
80
80
  reflex/compiler/utils.py,sha256=7pEs27NEdDy2cORe3I4ues8lFGXfNuc7y7CEaZ-N5jU,13957
81
- reflex/components/__init__.py,sha256=W_KyltR_KeMweL1-j0Q1tu3e7wJ8osDGxEh0LAFfqDI,638
82
- reflex/components/__init__.pyi,sha256=yQyzkFsaQMsJkDYUbj-ITwyWcoYxRpnlpGUrdg4Hmy8,892
81
+ reflex/components/__init__.py,sha256=zbIXThv1WPI0FdIGf9G9RAmGoCRoGy7nHcSZ8K5D5bA,624
82
+ reflex/components/__init__.pyi,sha256=qoj1zIWaitcZOGcJ6k7wuGJk_GAJCE9Xtx8CeRVrvoE,861
83
83
  reflex/components/base/__init__.py,sha256=QIOxOPT87WrSE4TSHAsZ-358VzvUXAe1w8vWogQ3Uuo,730
84
84
  reflex/components/base/__init__.pyi,sha256=c-8lUF9MAgAo9OHMjKIrV2ScM5S0fg8gTXp3iYFwVKU,1055
85
85
  reflex/components/base/app_wrap.py,sha256=45fkel5ATAcCp7-eUCGXNuq4QwnCpI33VNJOIP_L6k4,574
@@ -101,147 +101,6 @@ reflex/components/base/meta.py,sha256=RWITTQTA_35-FbaVGhjkAWDOmU65rzJ-WedENRJk-3
101
101
  reflex/components/base/meta.pyi,sha256=u5THQWPAlBppkdDr7Cw8aWeTNmLZeHxK9o7PyToeqwo,12712
102
102
  reflex/components/base/script.py,sha256=EMypn_Azzr1SXLI4mHrdHTaMweOjC0FEyTcM-WV480A,2391
103
103
  reflex/components/base/script.pyi,sha256=5x0DBkIQKJ0f1Rz3izBa7t4JZJAGcbAaigys7RjXAbE,4616
104
- reflex/components/chakra/__init__.py,sha256=IvxaXNdJH_df-HZRf4IXilvl6XpLLzIzCSlLL0KVMsU,6378
105
- reflex/components/chakra/base.py,sha256=DTCbEFl0k_Xdm_qNLc8Kh6Zmz03ZQ_YqxT6j4mmlHLw,5270
106
- reflex/components/chakra/base.pyi,sha256=o5ggy_LK6TbK_52imBcJ8z_xQq0qx4kcXUgK3MXyl_M,10870
107
- reflex/components/chakra/datadisplay/__init__.py,sha256=yDWJHYXf8i-WTXMdAAU4alskP1RLizvsYt9BKAi0Uts,459
108
- reflex/components/chakra/datadisplay/badge.py,sha256=G0x7yacjFYQSD0Wrxc6UvC3kHJJ-qlRNbDyONxpbVmU,352
109
- reflex/components/chakra/datadisplay/badge.pyi,sha256=dTTnosdaMC9bOJJZa_aVbsC5NiOCEmhwCkTncEQzQEw,3597
110
- reflex/components/chakra/datadisplay/code.py,sha256=z1NfmQGghbiyvfl8lFm__162l9iCKXids2nZpWRpKws,175
111
- reflex/components/chakra/datadisplay/code.pyi,sha256=6CCAVyGSiaV3tovSuS4d-Wi1E8-Da1CAFK99roWJLaw,3207
112
- reflex/components/chakra/datadisplay/divider.py,sha256=C2MdeT5l1pkB14Tznzru5TLi06OsBMRkNzk2Wt1nUlY,658
113
- reflex/components/chakra/datadisplay/divider.pyi,sha256=Sms5AczWPZ7_AO8jFXMkM9JLZqw4RLtw_l380eE99ho,3843
114
- reflex/components/chakra/datadisplay/keyboard_key.py,sha256=twR7opuIdsWBKQJYIC8WVxMgWTufTqQmWOWGVvSAX0c,180
115
- reflex/components/chakra/datadisplay/keyboard_key.pyi,sha256=Zyus9JpZx4A418TMXzkwHlwXnJvhqnmhN40BknKKqoM,3229
116
- reflex/components/chakra/datadisplay/list.py,sha256=v6oQIKaLuwUBfH7mnaHi6Q52EUPAI-0hc0i-rUq4gfM,1484
117
- reflex/components/chakra/datadisplay/list.pyi,sha256=b_JAI2ggUcNKPbnjrGZrUXUYZx02_iZZg41oQwhDRY4,12843
118
- reflex/components/chakra/datadisplay/stat.py,sha256=vIIemV6DSusZ7Rh73u2GK1VJaVAIDniNASWjJQcWq_g,2149
119
- reflex/components/chakra/datadisplay/stat.pyi,sha256=Kn5-ggQyLZyQgYRzp-nAQ3qV2DNz49rSHrcDl1jNhuY,17366
120
- reflex/components/chakra/datadisplay/table.py,sha256=njazO71jUtjHHJjcpEOLgMd6656_9xZbhI87gsNndzk,9123
121
- reflex/components/chakra/datadisplay/table.pyi,sha256=bkapJgZ1R_561txTb9w_PrwFQp9aCNQUCnkdQMdypMk,27050
122
- reflex/components/chakra/datadisplay/tag.py,sha256=qKolJdjwN6YbOss1sMp1SMuACp04Nu20Axo-BGTP5JM,2295
123
- reflex/components/chakra/datadisplay/tag.pyi,sha256=xT98KGGwwlH8i0gIMeSu29GXkvJt7mccqKuTEjca1TM,15602
124
- reflex/components/chakra/disclosure/__init__.py,sha256=x3d_1fLJVoxNyabvcB_Ik9CiFlALbHE6pzcfSrEfP_M,384
125
- reflex/components/chakra/disclosure/accordion.py,sha256=kEYXTdBujmEgcF50nOTIEkxYTWpyP-mTIqvV1Nt--bk,3510
126
- reflex/components/chakra/disclosure/accordion.pyi,sha256=bKyBbChIX7w4ESkwO_Cvuj8ZOG_m6ugRI2YYJ4Vtprk,15611
127
- reflex/components/chakra/disclosure/tabs.py,sha256=u05ZQwgWU4dZ7fZ5h6hpj75gt_yASO8tT5b8wxgVWUw,3295
128
- reflex/components/chakra/disclosure/tabs.pyi,sha256=W_55XK70ADuSO2zbTDZo1VvwA7nYhHH7usguiMu8G3w,18341
129
- reflex/components/chakra/disclosure/transition.py,sha256=vs1O0H5c91Rv7hMq39zqgPxnhCMRGIyX2CmwM4IeUM0,1733
130
- reflex/components/chakra/disclosure/transition.pyi,sha256=54k0pe2XViwUaIhDkUlBjpTsQVsPz8AiLu3WsDW6Ack,19912
131
- reflex/components/chakra/disclosure/visuallyhidden.py,sha256=ofooF8gUOWDaDj_43sSLLjYJMSnszv1_mIjOkKp3eV0,278
132
- reflex/components/chakra/disclosure/visuallyhidden.pyi,sha256=P8F0dS6I4DTAQ-ti3EVYz5Wcabuag5PG71nEo1nxQqg,3236
133
- reflex/components/chakra/feedback/__init__.py,sha256=07F8-Y7FJxJSNmKEDqeTHIAJ9jyXsX-ii67-LaJ-0GY,313
134
- reflex/components/chakra/feedback/alert.py,sha256=9f6-mqPgjc4oMm3cViGHA89dt9NPt9opgxCA57cQAL8,1623
135
- reflex/components/chakra/feedback/alert.pyi,sha256=1MgMftgly32K6pxhiBxsJCEqRlOz9GggAg4JCzTT5lw,12257
136
- reflex/components/chakra/feedback/circularprogress.py,sha256=-njwnhScQQ9qNOx2ZkFo7J-F0q3f2w2VbSMmyovzKnQ,2007
137
- reflex/components/chakra/feedback/circularprogress.pyi,sha256=of3aN_R4W0axGilsG1e2JIItMY3EAUIN7bNLjhji0As,7506
138
- reflex/components/chakra/feedback/progress.py,sha256=9PNzfkcoGz62DjZb2NKciAEmlVfnqojbg0Ri-oy5Iic,871
139
- reflex/components/chakra/feedback/progress.pyi,sha256=1n6uiAUTJeCaumL32Is8IFHmyVS4JIYhmh_4RhrL9bc,4196
140
- reflex/components/chakra/feedback/skeleton.py,sha256=A_3XRK_5PVei9vtgN0nE5NpLROse8w6W9LBiDRuGADI,1776
141
- reflex/components/chakra/feedback/skeleton.pyi,sha256=Cxcwc2uBHgR2NZ3LrZPvd0DFAHIP-xRMyjRAFDi35oI,10642
142
- reflex/components/chakra/feedback/spinner.py,sha256=NlnnwyTIf-I8AVkc2cDKN-522DjE-taG5dtzmBHar74,704
143
- reflex/components/chakra/feedback/spinner.pyi,sha256=hEQR3Os7EVhQGyZZmNQWHFL6hfFmoshzZycVxBDsl48,4046
144
- reflex/components/chakra/forms/__init__.py,sha256=6TeCxpmKfVy3IxkhTE8amKowHiprEs5Q9P4C_BArygE,1453
145
- reflex/components/chakra/forms/button.py,sha256=IWkGc_AK5k4JMywCQsuAwAZX7mBjYZ5h06E-iO1PjD4,2396
146
- reflex/components/chakra/forms/button.pyi,sha256=FG0-hqUxIyTywV16rn7j4MpUzlNrgtVdrlfczoTxehg,10379
147
- reflex/components/chakra/forms/checkbox.py,sha256=IbmVGW7susNvzO3CsTLX2JLVCQeMaKfeedOmCcwoJhE,2461
148
- reflex/components/chakra/forms/checkbox.pyi,sha256=zjEyM9x6GHrdYq-plkUZ-oX-3_kVaSbI9YYy3c3St-Q,10084
149
- reflex/components/chakra/forms/colormodeswitch.py,sha256=TYOuhjmsAUXJTL7Btjp90eLBz7CKn-AMWvngkwbU-18,2861
150
- reflex/components/chakra/forms/colormodeswitch.pyi,sha256=d0lqdowpdeljc4oj5LXtW2TaEkRSuIQOEUrgf_z9pGA,18360
151
- reflex/components/chakra/forms/date_picker.py,sha256=ntDsnY5eDN8aiRbjMmpS6yriUGpuJt5ik5ffACYY1ds,246
152
- reflex/components/chakra/forms/date_picker.pyi,sha256=AQNTl7_2LWoOx8v2MIWuCjKO6vDreXQkQOHB_5qW_R4,5800
153
- reflex/components/chakra/forms/date_time_picker.py,sha256=4rRwpXVcTXtMEwkpstH0QKL159Sv4ze-2bimDqzw5Qc,280
154
- reflex/components/chakra/forms/date_time_picker.pyi,sha256=C08-DI3oz7RrHgX6IJZ8dWqknxFdV4z4-kWRpGW5VtQ,5813
155
- reflex/components/chakra/forms/editable.py,sha256=ZfJzGpO2XOuWhMh4blRb1DwD5zlXBqVEfbshvwrFVmc,1884
156
- reflex/components/chakra/forms/editable.pyi,sha256=1v6J0FfpeQAxPdXRF0zhMMh0XR37thZr6H_IseBF4aA,13151
157
- reflex/components/chakra/forms/email.py,sha256=1uoXLW7GgUm2FbHOmCy-sgipZk3SMZCUuzJAn008sHk,246
158
- reflex/components/chakra/forms/email.pyi,sha256=9hwIbna9_S7Ju3QHctaugl6OpfEKv9ZxkNR4DE2WoiM,5784
159
- reflex/components/chakra/forms/form.py,sha256=Ekrgx7czqaxQCz4eCWS1hlIkUw58D5onmGk7QybX1oc,2580
160
- reflex/components/chakra/forms/form.pyi,sha256=RPruZAvgs4HVWF-X7ppcyg22u_PZZET4EZBR4gb1ERQ,20040
161
- reflex/components/chakra/forms/iconbutton.py,sha256=KgmCYKOVAUgCLDSnyoDGd4aoRPdBtOjk-eykiDBQiBI,935
162
- reflex/components/chakra/forms/iconbutton.pyi,sha256=fl0Cedm0cEmLBVQ3KJIgaQbIIyMHz6OenDJX6JlhV5A,4590
163
- reflex/components/chakra/forms/input.py,sha256=tsFDXLIrjDvnoWBeEF3e3gYuu5g9tGYoAL7jNPFNfys,4152
164
- reflex/components/chakra/forms/input.pyi,sha256=EMzAvMggQnsxS7lJam7zBHpghcS23yl8fV_Sj9qoWSs,21177
165
- reflex/components/chakra/forms/multiselect.py,sha256=PAkLRdNipO1VLWR7AN3gOpQe2LaOfri5PzWh1_-r6D0,12941
166
- reflex/components/chakra/forms/numberinput.py,sha256=c0gGhE3dVKxohlOiNDOxQK3m6gCm81_FOeRC30Tqa44,4011
167
- reflex/components/chakra/forms/numberinput.pyi,sha256=X4Mdd6VoMGlwqV6I8j3O2mgF5STwEfdUTwzCqWYV5Hg,17830
168
- reflex/components/chakra/forms/password.py,sha256=rjFELopI5j5exce9QZJqf4hSIp5aW44DUbpbpfiB24w,256
169
- reflex/components/chakra/forms/password.pyi,sha256=Ox5zX6-5drO2CnoMR3LdRrJ505awZsqM3ZH9FYa19YQ,5793
170
- reflex/components/chakra/forms/pininput.py,sha256=23aajygkQPQcd1rqrkf66x1OxJRM7tyGpqoHEF01fdc,6245
171
- reflex/components/chakra/forms/pininput.pyi,sha256=E2Vwf0WPT59E0RhG_sUnGRcWw9RJNzU3wvW5URZVYKg,8973
172
- reflex/components/chakra/forms/radio.py,sha256=7XbqcoK8NRzTJIURLNzWET1n828lRoy2B_Q6Lx0Z1Jw,2858
173
- reflex/components/chakra/forms/radio.pyi,sha256=KkupbIAT7-w_px5FnhocO8Ss3eIy64laJMOFRf69qa4,8064
174
- reflex/components/chakra/forms/rangeslider.py,sha256=y9l7VB7WUYZqwCdwJ3C9z-EujIoOJjk2g2Eg_zO3ZOU,4313
175
- reflex/components/chakra/forms/rangeslider.pyi,sha256=m9hkwHRAvqUvLZWdFcEy2TvVke-QmYvJiyBUzQ6qQPs,13644
176
- reflex/components/chakra/forms/select.py,sha256=IgSolfMABBzOCwP8Zoh0mP2b2WB8E_ShnclXqMvTU1s,3299
177
- reflex/components/chakra/forms/select.pyi,sha256=4vLsk1-K0FPgM2K-53u3P7bZ2mNo487zp7YGE5DGXs0,8510
178
- reflex/components/chakra/forms/slider.py,sha256=U9PHz3BYRDvUBxudwZ1tpZQ_LckcT3vJ89qzhSFLyjY,3264
179
- reflex/components/chakra/forms/slider.pyi,sha256=3Qkb4BZWDLV0Rs-xnrYpQiKIOeQGhQsF3LQKLm7ZrM4,17200
180
- reflex/components/chakra/forms/switch.py,sha256=XfmJleQbiqNkYMqFNyFkhjYEGLjMG0YSQCb1DGR_kg8,1502
181
- reflex/components/chakra/forms/switch.pyi,sha256=ZRZaPmXobcMlWCHiiAhSa8aGR16iSvoNFOc3BQj0tWU,6329
182
- reflex/components/chakra/forms/textarea.py,sha256=TidqIehxzu7WkXpcpraTbSWYyqQCVE6Qu-bDXlMajuw,2273
183
- reflex/components/chakra/forms/textarea.pyi,sha256=BIssqwQ_r5f_v_IJZ5rOGXqatmapwz3OhFli44qPw8s,5108
184
- reflex/components/chakra/forms/time_picker.py,sha256=BriPTj3MYdmSbgqUJfTGGbQCPNWl6DjXWEX-iyE-l4s,246
185
- reflex/components/chakra/forms/time_picker.pyi,sha256=WTLM7WURTx_wU97CisPGrWY_4wswr13c5adN8Xr8xMs,5800
186
- reflex/components/chakra/layout/__init__.py,sha256=PDSgqTkLhaXAFOXUtaSOp_v_0P7fLX_Q3TBOHXCRnqM,487
187
- reflex/components/chakra/layout/aspect_ratio.py,sha256=8_qwFZeeHmdaRJ0oNtBWfJrvYirvNTeHdw7bvVnlJ8I,315
188
- reflex/components/chakra/layout/aspect_ratio.pyi,sha256=L7p5gMxQFNw52vGyS71j0xGedIL2aKKEVdAOubKgU-E,3329
189
- reflex/components/chakra/layout/box.py,sha256=S1zYdFGFVTeUCQz5OrmFqnN6zS86LRkHNcJvYjl1dtA,755
190
- reflex/components/chakra/layout/box.pyi,sha256=QbQEde8pSr0olhZH_iaug_ZGmBZQqN5ZJ9p2L_QMwkw,3573
191
- reflex/components/chakra/layout/card.py,sha256=QplYEaWhe-O7uHYN4b5nZyKcnwcJjcTqpt1aTPcZ298,2967
192
- reflex/components/chakra/layout/card.pyi,sha256=zqIgRu8Ue_txoRnCuHSYw3dubaM-KWL2CXNGfjkaK78,13716
193
- reflex/components/chakra/layout/center.py,sha256=B1k9QmzSjPzohmTry_CxHlhJrldOXYmr4TZJsa7dE0Y,389
194
- reflex/components/chakra/layout/center.pyi,sha256=xUNCmA0op45mpTh7YrAULaXhS2-mO8nirmpRHPsqPJA,8672
195
- reflex/components/chakra/layout/container.py,sha256=qvisCz961B6UixsPD2FH8LbJEa6Wqpaopte3nCCDLXQ,354
196
- reflex/components/chakra/layout/container.pyi,sha256=5e37fqha8wiGr7R1Qx9HJFFwRcidRfEqZSsxPuinw6g,3381
197
- reflex/components/chakra/layout/flex.py,sha256=reu2d5JwtsiFq06Z3g1En7Tm0-wIBJEpSo22h2huMog,715
198
- reflex/components/chakra/layout/flex.pyi,sha256=06JFUfQ4UlMzPiptJQ6NPh59qAkbdI_W3_seM6hit4o,4027
199
- reflex/components/chakra/layout/grid.py,sha256=TAVeomIWYnRtQVmTJFbQJ-ScHDLrd4gZos99LYTNLb0,4318
200
- reflex/components/chakra/layout/grid.pyi,sha256=4gcsQKFHhwmv3tRqYlEkwT_VNqGrdOJFFmtjCgqNtRE,13787
201
- reflex/components/chakra/layout/spacer.py,sha256=r1dBTNzqYnfX15sn-dEd28lp8nzFzOJgK9eWyiqHnU8,179
202
- reflex/components/chakra/layout/spacer.pyi,sha256=F6honfDvPGXWzJcGRwnumIJC0TXsJG-4VzHysdbzWWk,3208
203
- reflex/components/chakra/layout/stack.py,sha256=Qhi-fMRiX7m_31G-Nq7_zZMJgtOITyy6oimtvXFFfpc,1077
204
- reflex/components/chakra/layout/stack.pyi,sha256=xx6RIiIpBejksUS_bKe8FyTMyXv9wTYEBw_vo_NnOSY,12159
205
- reflex/components/chakra/layout/wrap.py,sha256=NW_Lymib9klEBE_PxQruF1EUsxyzIzAYvHDFi0z3FWQ,1463
206
- reflex/components/chakra/layout/wrap.pyi,sha256=rrPByNBBqb0nK7W2pDKR-fn8tEIaaqC4A6E5miJf154,6844
207
- reflex/components/chakra/media/__init__.py,sha256=hVpGoLNC4OTGRW0MFzR1Qao_-8j65fzZHTO_CYddxgs,190
208
- reflex/components/chakra/media/avatar.py,sha256=WuTwJVMEFXdSIOtgbQqyTjadJYpSsnN2OBycdyCogzQ,1471
209
- reflex/components/chakra/media/avatar.pyi,sha256=UvN3L8zSsNmyU1jlO7vdl-3ovMWm9f5QPlnQXNOyCr0,10289
210
- reflex/components/chakra/media/icon.py,sha256=1tmT8liwQIhmKeVALaOrcU94NsQVYc3nzu4MjfUcrJs,2463
211
- reflex/components/chakra/media/icon.pyi,sha256=g1ncRGXRmTJ0zZX0nLFO4ZCulhEPbHaDZXbVflAlvH0,6200
212
- reflex/components/chakra/media/image.py,sha256=aZ1-E4ct-jdofQjK8VBhL7usypUSBFHue0PtpaMzn_Q,2269
213
- reflex/components/chakra/media/image.pyi,sha256=Xruhtuv440n5HhPnwVa0HHzyrrxjZzsCBOgV_8pVBU0,5253
214
- reflex/components/chakra/navigation/__init__.py,sha256=4S77tyjUNQfrKW1ablw3L8q2hNz8k04eSvtmoPN65tg,419
215
- reflex/components/chakra/navigation/breadcrumb.py,sha256=b6hhci_Qw3qgCGYa-_xqsQNJSZyoWkVA48rXkTe6Ocs,2925
216
- reflex/components/chakra/navigation/breadcrumb.pyi,sha256=PQe651FjIn9bzdlz51xHTFN2HpvleJa0fqZrE9H8meo,13427
217
- reflex/components/chakra/navigation/link.py,sha256=ndiyKjFDlhN49sUQHbRT22VhhhH7oeAvuRcia83lWcM,1604
218
- reflex/components/chakra/navigation/link.pyi,sha256=kVrjTegfdPwfcxKFuisDFUo-TPwK1XM9X5n7Ph_o4JA,3946
219
- reflex/components/chakra/navigation/linkoverlay.py,sha256=eaGeVhohX5-NuQN8FqheHfRp79NVJN-cNslR978P7bE,521
220
- reflex/components/chakra/navigation/linkoverlay.pyi,sha256=Toqv_fys6GA3G5-6RSWo6f9JtjlM8jeyLd1SmZ2Gr3o,6184
221
- reflex/components/chakra/navigation/stepper.py,sha256=AEcovUKA6UkdZUbA2IJwtSQX_NExo2Rw4xso5J_HBAs,2935
222
- reflex/components/chakra/navigation/stepper.pyi,sha256=ar2uwzp4IXoDFXSZ5oVkHeFx27OHozj1W1nQxgBVgYI,27782
223
- reflex/components/chakra/overlay/__init__.py,sha256=mXTw82F74gn9Jg-wovAP3Icrdzmr7I2ySDdT9hsnSH8,850
224
- reflex/components/chakra/overlay/alertdialog.py,sha256=5gDQA9FGC8CRFtycmtFZsrAP3AAh-Km-VIqymHLUFF8,5167
225
- reflex/components/chakra/overlay/alertdialog.pyi,sha256=w6fn2_Zv_7KGE099Vaq5UDqGJUAAxCNs6q9bXCM6l_M,23725
226
- reflex/components/chakra/overlay/drawer.py,sha256=kLdZnjDYHj0w6cKSYjLpyy2EEh_k93yAlVsma2TTyKQ,5153
227
- reflex/components/chakra/overlay/drawer.pyi,sha256=4notTGVQfOPBiW22Sumdghao2bljs5yoXl7eeQ1JU4I,25123
228
- reflex/components/chakra/overlay/menu.py,sha256=yFUSpoq5lwt5MBNlBI31x3chusZ3v8n6-6RQ7Qa8mtw,6832
229
- reflex/components/chakra/overlay/menu.pyi,sha256=PL7Jdx-589EFnTKnQ2uQYvcnQ_rGjOEFey4_lzOUVIc,28407
230
- reflex/components/chakra/overlay/modal.py,sha256=vUYp1SM3Qf8A6IBpKcNILnqCF_Oxpw-c91DZ37ZYtxI,5263
231
- reflex/components/chakra/overlay/modal.pyi,sha256=3doip2ltD1XZodiSmAhUdDQzoeaqnJoHcV96DI9pvMU,23349
232
- reflex/components/chakra/overlay/popover.py,sha256=dJzDYffVW99wCJSb7s2lgmJb6dL-aU4Meaqgfe_XYsQ,5812
233
- reflex/components/chakra/overlay/popover.pyi,sha256=TFcaVph6Dr02kuyzP5Oy8SVFTU9O4OYOl7_tN1bf_iI,29632
234
- reflex/components/chakra/overlay/tooltip.py,sha256=Ng0h9NTrd2nXTkoAgyO3Evvon0Jry18yY0fecfhJbwo,1973
235
- reflex/components/chakra/overlay/tooltip.pyi,sha256=hQuhPLY6n5rkAHpNnY2VuChywZjJeBI2Rydxa9LZeVU,5897
236
- reflex/components/chakra/typography/__init__.py,sha256=MiaAaf19bItqPAgQ_oHYJAnKnZeXT4nXSA7eGVBVJOs,271
237
- reflex/components/chakra/typography/heading.py,sha256=CzGudsC5Uqlqkq7r1wbp26Wt5zgQVTBC5FBTJxf-ULw,378
238
- reflex/components/chakra/typography/heading.pyi,sha256=JmZ1wyZdGc-yEa1WrelDSJhEzeIdwrA53b5lidLKK-Q,3645
239
- reflex/components/chakra/typography/highlight.py,sha256=qk_lihqY5Y9huSDbD0M3B786p_hs9CIKF6qg_dLkDag,671
240
- reflex/components/chakra/typography/highlight.pyi,sha256=xMAO7NnwxUzni5Kar5Zg_71YSCFHXJ1yUkJRhu4LUpA,3532
241
- reflex/components/chakra/typography/span.py,sha256=232EckN22_fOv5aodO6jXPzmLZwJHF-Lu7cwJeNvJEI,329
242
- reflex/components/chakra/typography/span.pyi,sha256=ABOFwFt9qsaZDSGDmkWH4OTJ4CCfnKHDDljbFsfguMY,3322
243
- reflex/components/chakra/typography/text.py,sha256=hJuVhzYtUbHpf7ZBEvCelNH2Rj8vOVbL9nKddbMISc4,473
244
- reflex/components/chakra/typography/text.pyi,sha256=BAB7RTUo8GnF1TRy8Ee0EsG8nJB4HU3EqvUEvefzEUk,3546
245
104
  reflex/components/component.py,sha256=SzrB2f4pBDgn8nCODb0RT0KM1DjtUqlgrW1Hnzrx6NE,79673
246
105
  reflex/components/core/__init__.py,sha256=msAsWb_6bmZGSei4gEpyYczuJ0VNEZtg20fRtyb3wwM,1285
247
106
  reflex/components/core/__init__.pyi,sha256=hmng2kT4e3iBSSI_x9t7g2-58G6Cb4rhuwz_APJ-UZM,1994
@@ -309,10 +168,8 @@ reflex/components/lucide/__init__.py,sha256=EggTK2MuQKQeOBLKW-mF0VaDK9zdWBImu1HO
309
168
  reflex/components/lucide/icon.py,sha256=L-Nc9AGk0neNlZqe_RofhTgOrSfmmhKO1ZTuMsgNdsU,34077
310
169
  reflex/components/lucide/icon.pyi,sha256=zSBpYtzFztrVh8Bbv-4rZCHBgSflksHzbAVd3BLlb1k,37828
311
170
  reflex/components/markdown/__init__.py,sha256=Dfl1At5uYoY7H4ufZU_RY2KOGQDLtj75dsZ2BTqqAns,87
312
- reflex/components/markdown/markdown.py,sha256=d8N9N155Iy1i8Y-Ps18cBsyRtMDOWsHD8WVx4beyGRU,10905
171
+ reflex/components/markdown/markdown.py,sha256=xvGcFXsikeGidgjzPNgd6TjJb7QgqFzelTjqKAC72Ro,10927
313
172
  reflex/components/markdown/markdown.pyi,sha256=VqZrqm9kfa2JRG5OG1ITxzFDan78DkM7Fuauu5MIfX0,4777
314
- reflex/components/media/__init__.py,sha256=TsrfSzpXcRImityfegI2N9-vfj1a47ONUS-vyCUCEds,44
315
- reflex/components/media/icon.py,sha256=JL1vzcrhW6mspMW215SGGbf6KOeOAMD9N-bqKSK27aI,103
316
173
  reflex/components/moment/__init__.py,sha256=jGnZgRBivYJQPIcFgtLaXFteCeIG3gGH5ACXkjEgmsI,92
317
174
  reflex/components/moment/moment.py,sha256=ZfS3nCsKCoy7bBm-QvLKWsKoJ-TpRbBp6dQ1_iGvc68,3673
318
175
  reflex/components/moment/moment.pyi,sha256=QFrM9Tt9SAohnUtzQiwIjgeVGQfgWqqFXkpqjY-P_QQ,6764
@@ -467,8 +324,8 @@ reflex/components/react_player/video.py,sha256=2V6tiwCwrzu9WPI1Wmuepk8kQ6M6K8nnM
467
324
  reflex/components/react_player/video.pyi,sha256=dzqTEpt5wZ1odNNvK2OhsO1lPYt1ww1nGTPoBXHT7b8,6191
468
325
  reflex/components/recharts/__init__.py,sha256=GUifJIUtG91u4K55junZ_-l5ArcRFFDIyjS4y0lyAL4,2644
469
326
  reflex/components/recharts/__init__.pyi,sha256=FUu_BmjhVTbjU92KH2NnYEFr4eeZLMkthX8iIwswDIM,5076
470
- reflex/components/recharts/cartesian.py,sha256=6FNC-ze-pHsGl2ujMkGr_WSOwMLkMLoljeHYBJ-7A9E,31032
471
- reflex/components/recharts/cartesian.pyi,sha256=iiNZxKdA0llw260CGj87gv9NS7VbGogT_Ln1NLwSX8U,108485
327
+ reflex/components/recharts/cartesian.py,sha256=oKlCQQzpfttcnRzqslXNv8Jd64Z-FqeAvFDSP__pvCg,31134
328
+ reflex/components/recharts/cartesian.pyi,sha256=EC72cXEu0ts-9Wa-oIBOrtDhiDobTW0dVXAVbfP8wIc,108635
472
329
  reflex/components/recharts/charts.py,sha256=hG30Prn3w3C4zi6giXazjv0hgeVZeihDCfMhyVNhEgE,17770
473
330
  reflex/components/recharts/charts.pyi,sha256=zwE0ijRdw387uH-ESrMTg5ZrpTA7x7ptC0HMYDJRomU,54587
474
331
  reflex/components/recharts/general.py,sha256=zOrYHP6NJm4sOnuBT1qnNiNPYRPBukhvfAcJEyUm9Zc,7835
@@ -478,8 +335,8 @@ reflex/components/recharts/polar.pyi,sha256=WpNnvR87iVvwT243HFQesemxOQ3faYNKv3gC
478
335
  reflex/components/recharts/recharts.py,sha256=Krz2U0DNzr0Q_Z7Kuwr6_dFX8HdLpH6eBBwp29CdPq4,3433
479
336
  reflex/components/recharts/recharts.pyi,sha256=42KHKkYPwzLcH8uLd9IHd8J_hQ4lh3yniVG2luyy9xI,8592
480
337
  reflex/components/sonner/__init__.py,sha256=L_mdRIy7-ccRGSz5VK6J8O-c-e-D1p9xWw29_ErrvGg,68
481
- reflex/components/sonner/toast.py,sha256=U1FPg_D99Ecb1KQ7Uf1FJyIyTqFdH1WQezFC4DudIBA,11350
482
- reflex/components/sonner/toast.pyi,sha256=K5O6LDuGZVs2kNfOFicen7BKqNqHCN3ciWt-SBgHouE,8194
338
+ reflex/components/sonner/toast.py,sha256=rSQJi2vxlvtVg_70mYgNFErBAs0jrClfbwAH-7EZsiM,12205
339
+ reflex/components/sonner/toast.pyi,sha256=XYJPbO7n2RRsru0V00wrdpux_NX1X_ID0QjoBPH3HYA,8308
483
340
  reflex/components/suneditor/__init__.py,sha256=htkPzy0O_1ro1nw8w8gFPjYhg5xywMpsUfc4Dl3OHuw,109
484
341
  reflex/components/suneditor/editor.py,sha256=MTj3QBN11TSUDgsv8fToWrjEgkMSRVGohAVRi2VzS_k,7525
485
342
  reflex/components/suneditor/editor.pyi,sha256=a28U4PcxCd0pRoWt8WYCFzuJeJDnXdjue0ii39Nbz2s,9998
@@ -491,13 +348,13 @@ reflex/components/tags/tag.py,sha256=iORWH5NBQ8U1cdMfUKaAkvFiZhvs5FPR9eHKlGjmPYg
491
348
  reflex/components/tags/tagless.py,sha256=qO7Gm4V0ITDyymHkyltfz53155ZBt-W_WIPDYy93ca0,587
492
349
  reflex/config.py,sha256=YbLTNeQ8P31b4HiYmC1rFPfRplP0OQp_2BZU6Azv-aw,11958
493
350
  reflex/constants/__init__.py,sha256=ICWLo-8TEu_HuMqy-dXdw3Zi7NYbA7ZvHmWGpt3L_VY,2030
494
- reflex/constants/base.py,sha256=R0wnIJh_SSz2C9_KKSNEGz0nkEJSJjapHplEr-isFUo,6356
351
+ reflex/constants/base.py,sha256=riWCfpgc2ppHJGdSxkjdRXmcSAjenuA75zk0zaodWsY,6438
495
352
  reflex/constants/colors.py,sha256=gab_GwjKcbpRJGS2zX0gkmc_yFT1nmQbFDHqx0mXKB0,1625
496
353
  reflex/constants/compiler.py,sha256=Nool-szUS4fMEvEZx829sCyOw2g7f__RCfd1rNcAtec,4933
497
354
  reflex/constants/config.py,sha256=1ocFCpfKmCo8UPpeSSqjt45-bmjvl1nFgeAY2pBs7so,1475
498
355
  reflex/constants/custom_components.py,sha256=SX0SQVb-d6HJkZdezFL4UgkumyF6eJF682y4OvRUqUM,1268
499
356
  reflex/constants/event.py,sha256=LeZFFqVpiuzMJZ99VvhSbrd88rWmCS-pdzgtRei4GfM,2795
500
- reflex/constants/installer.py,sha256=kLchxwqV2jfTVkqfwhbOw5_dVRweoJUnqFD4mp3pZsE,3427
357
+ reflex/constants/installer.py,sha256=IOjAPppNHXjdBEGSj07cmzubcfUzEylVoFPOsHfGfBE,3489
501
358
  reflex/constants/route.py,sha256=fu1jp9MoIriUJ8Cu4gLeinTxkyVBbRPs8Bkt35vqYOM,2144
502
359
  reflex/constants/style.py,sha256=sJ6LuPY1OWemwMXnI1Htm-pa087HWT6PWljUeyokcUI,474
503
360
  reflex/custom_components/__init__.py,sha256=R4zsvOi4dfPmHc18KEphohXnQFBPnUCb50cMR5hSLDE,36
@@ -506,7 +363,7 @@ reflex/event.py,sha256=FGGrItbo0B-DoFQ6c0t2Hx0iislVL9pDa4733W2gixM,29635
506
363
  reflex/experimental/__init__.py,sha256=TuRC9SlIR4mEQ7KlKKtIj5Eyv_bQjUtlz-TyOn_VmnE,1406
507
364
  reflex/experimental/assets.py,sha256=nWj4454REHDP2gybtlhOac0Xyb0uqBMzjAFqYlaYwcE,1758
508
365
  reflex/experimental/client_state.py,sha256=DvBZhdW43nGL3Trx5fciwuP4U5hsghA0BmJTv5KzvCA,8733
509
- reflex/experimental/hooks.py,sha256=veeds9cSvEdLZDDNIFD-Ye5XRQombrBQNRmiVYOBXp8,2437
366
+ reflex/experimental/hooks.py,sha256=VsBkhBtLLj9q82cQJjW4grNvaroX4olN5XeVI1h5AFk,2422
510
367
  reflex/experimental/layout.py,sha256=Zx8AGqWJrSzXY1XapsorOx-jNo2kRqaWOc4QJRulQdU,7656
511
368
  reflex/experimental/layout.pyi,sha256=aThlDKlifnG3QqIMQH5SwYewrLLXws8u38z3VW8BRSk,18933
512
369
  reflex/experimental/misc.py,sha256=Ikmr-XuQfzOZqrY6yxDXkmpr7C5uDagc4nnowYmjWsc,610
@@ -521,11 +378,11 @@ reflex/middleware/hydrate_middleware.py,sha256=gZ5RTvsfKfrTkQN6QsTLfSnBAczCtGiBQ
521
378
  reflex/middleware/middleware.py,sha256=1tEckRzSNWAwW8VsKt_x88lkk2vSFnRWH1uorsauNwI,1170
522
379
  reflex/model.py,sha256=f9F3J3JZX_NmUCU5mN4Lh7afclq9fikPUB1K2FmNlhU,13545
523
380
  reflex/page.py,sha256=NPT0xMownZGTiYiRtrUJnvAe_4oEvlzEJEkG-vrGhqI,2077
524
- reflex/reflex.py,sha256=QfywgrbaQYnhTxgXLYegbcU8pB4q216csgzj8VRWFS8,18989
381
+ reflex/reflex.py,sha256=xkghsOzZJVP-Obnw7okr-GK_LXxL67qK6uvbNZ3pZWQ,18440
525
382
  reflex/route.py,sha256=WZS7stKgO94nekFFYHaOqNgN3zZGpJb3YpGF4ViTHmw,4198
526
- reflex/state.py,sha256=-0yvUXVK2SFMZRtWSBz1UsHWvpq-4SG9Jx7y4E96G9k,114551
383
+ reflex/state.py,sha256=_PGFnIFiMGadh-HeAGsRNpGxkN10LqqKD0lg0SWf950,114404
527
384
  reflex/style.py,sha256=sLeIKBKUpZV1q1QwexVyckqFphjoxsPqCstVQf-D0Ak,11703
528
- reflex/testing.py,sha256=zyIoa0PZuTuPP0My64zUc1aiqiekLKkb6GAXFUjzFfc,34081
385
+ reflex/testing.py,sha256=EkQJlwGFtiURbCyJNB5yDacp1sLYWOW6oauyTjwN8Fw,34285
529
386
  reflex/utils/__init__.py,sha256=y-AHKiRQAhk2oAkvn7W8cRVTZVK625ff8tTwvZtO7S4,24
530
387
  reflex/utils/build.py,sha256=DJryIUJ_3DV2nn4pZ9SiV60lwIGYPZWgYw9prsQXrKA,8482
531
388
  reflex/utils/codespaces.py,sha256=tKmju4aGzDMPy76_eQSzJd3RYmVmiiNZy3Yc0e3zG_w,2856
@@ -537,19 +394,21 @@ reflex/utils/export.py,sha256=3dI9QjoU0ZA_g8OSQipVLpFWQcxWa_sHkpezWemvWbo,2366
537
394
  reflex/utils/format.py,sha256=elfO3XY5dVBvv6drfZFbfMUokcldiOk03qupvvRuDkk,26389
538
395
  reflex/utils/imports.py,sha256=Pvdcr_bkFpTgZ5gZfc5SKKPCvbcqlZSfwyGVhxNh2kc,4770
539
396
  reflex/utils/lazy_loader.py,sha256=utVpUjKcz32GC1I7g0g7OlTyvVoZNFcuAjNtnxiSYww,1282
397
+ reflex/utils/net.py,sha256=UFCfaOjvRDVLTeTzLKJ5iDAWtPNuhng5gOs-pIMYQek,1267
540
398
  reflex/utils/path_ops.py,sha256=XQVq_r_2tFHECWuJPyxzk3GzijCJemgXxfI5w2rc_Vs,4924
541
- reflex/utils/prerequisites.py,sha256=HtlkDnQ3EfUecwerL1KUN60mjT9VbS83_O29osz-nF8,54892
399
+ reflex/utils/prerequisites.py,sha256=8dlCDS71EvwxoGNlZVA2Og9lHDhsO4hQEosC2jpU2ao,51721
542
400
  reflex/utils/processes.py,sha256=y8X5PxycEWT1ItLtpIS-rzrUvNQ9MUOkHdIg_zK9Vp0,13228
543
401
  reflex/utils/pyi_generator.py,sha256=7kz5F0hzE8nEdybnrU8C_y3xaZwpjX3J50d3PVPwIhs,34363
544
402
  reflex/utils/redir.py,sha256=B0K9m6ejDW0ABeclBb4AsRRORvx_stCTWsrDe1YvkzY,1679
403
+ reflex/utils/registry.py,sha256=NKtd1ewsu0_p-FoD0pmLWCEzRrm_6t4Lis8Erip3w4g,1161
545
404
  reflex/utils/serializers.py,sha256=lARTafxXhtNmC15lFaw424MJVwGRcWb8D42_osjKDWE,11689
546
405
  reflex/utils/telemetry.py,sha256=t4cvQmoAxTKAWF53vGH6ZEX5QYrK_KEcarmvMy-4_E4,5568
547
- reflex/utils/types.py,sha256=nXB0RTGDfNQkiAvfb2RdXLHxFS9TX9cy-wfgqbPiIpw,17826
406
+ reflex/utils/types.py,sha256=tTA5z7rSWQjOcKi_hdw9wLioU4UP3fDZQolgdMBc37M,17838
548
407
  reflex/utils/watch.py,sha256=ukPT3YrvqsXYN6BInWiO_RPry5osSch9lOomQhxDyk0,2685
549
- reflex/vars.py,sha256=h3rj-A3YN9Gq_Iie9QqYVzlM3m-T0Mkd-jofyjfPwLI,85181
408
+ reflex/vars.py,sha256=Ft-DOADYSOyWdLuQ9Axjzg777n9ZdZ8glEZMvU5u_G0,85297
550
409
  reflex/vars.pyi,sha256=d55fH5lM6vt8RU_CPSvvOYVTr6orhXOCbL_XY2HgGIc,7214
551
- reflex-0.5.9.dev1.dist-info/LICENSE,sha256=dw3zLrp9f5ObD7kqS32vWfhcImfO52PMmRqvtxq_YEE,11358
552
- reflex-0.5.9.dev1.dist-info/METADATA,sha256=Xt_MDx8HgJ2fGl1xjX_rcVUPXLjNsE9YbThpVeM98zA,12193
553
- reflex-0.5.9.dev1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
554
- reflex-0.5.9.dev1.dist-info/entry_points.txt,sha256=H1Z5Yat_xJfy0dRT1Frk2PkO_p41Xy7fCKlj4FcdL9o,44
555
- reflex-0.5.9.dev1.dist-info/RECORD,,
410
+ reflex-0.5.10.dist-info/LICENSE,sha256=dw3zLrp9f5ObD7kqS32vWfhcImfO52PMmRqvtxq_YEE,11358
411
+ reflex-0.5.10.dist-info/METADATA,sha256=S0e7nISkX-CpLewOXaKyAj-wWPIkbTnufgVJN3dU-Fc,12235
412
+ reflex-0.5.10.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
413
+ reflex-0.5.10.dist-info/entry_points.txt,sha256=H1Z5Yat_xJfy0dRT1Frk2PkO_p41Xy7fCKlj4FcdL9o,44
414
+ reflex-0.5.10.dist-info/RECORD,,