reflex 0.7.2a2__py3-none-any.whl → 0.7.3a1__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 (54) hide show
  1. benchmarks/__init__.py +3 -0
  2. benchmarks/benchmark_compile_times.py +147 -0
  3. benchmarks/benchmark_imports.py +128 -0
  4. benchmarks/benchmark_lighthouse.py +75 -0
  5. benchmarks/benchmark_package_size.py +135 -0
  6. benchmarks/benchmark_web_size.py +106 -0
  7. benchmarks/conftest.py +20 -0
  8. benchmarks/lighthouse.sh +77 -0
  9. benchmarks/utils.py +74 -0
  10. reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +6 -3
  11. reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +1 -1
  12. reflex/.templates/web/components/shiki/code.js +26 -21
  13. reflex/.templates/web/postcss.config.js +1 -1
  14. reflex/.templates/web/utils/client_side_routing.js +18 -16
  15. reflex/.templates/web/utils/helpers/dataeditor.js +1 -1
  16. reflex/.templates/web/utils/helpers/range.js +30 -30
  17. reflex/.templates/web/utils/state.js +44 -22
  18. reflex/app_mixins/middleware.py +7 -7
  19. reflex/compiler/compiler.py +7 -0
  20. reflex/components/core/banner.py +1 -1
  21. reflex/components/core/foreach.py +3 -2
  22. reflex/components/datadisplay/logo.py +1 -1
  23. reflex/components/el/__init__.pyi +22 -0
  24. reflex/components/el/elements/__init__.py +20 -1
  25. reflex/components/el/elements/__init__.pyi +42 -1
  26. reflex/components/el/elements/media.py +11 -0
  27. reflex/components/el/elements/media.pyi +11 -0
  28. reflex/components/lucide/icon.py +8 -6
  29. reflex/components/lucide/icon.pyi +0 -1
  30. reflex/components/radix/themes/components/slider.py +2 -1
  31. reflex/config.py +13 -7
  32. reflex/custom_components/custom_components.py +23 -25
  33. reflex/event.py +7 -2
  34. reflex/istate/data.py +59 -7
  35. reflex/reflex.py +75 -32
  36. reflex/state.py +3 -3
  37. reflex/style.py +3 -3
  38. reflex/testing.py +4 -10
  39. reflex/utils/exceptions.py +31 -1
  40. reflex/utils/exec.py +4 -8
  41. reflex/utils/export.py +2 -2
  42. reflex/utils/prerequisites.py +3 -45
  43. reflex/utils/pyi_generator.py +2 -2
  44. reflex/utils/redir.py +3 -12
  45. reflex/vars/base.py +26 -3
  46. reflex/vars/number.py +22 -21
  47. reflex/vars/object.py +29 -0
  48. reflex/vars/sequence.py +37 -0
  49. {reflex-0.7.2a2.dist-info → reflex-0.7.3a1.dist-info}/METADATA +52 -66
  50. {reflex-0.7.2a2.dist-info → reflex-0.7.3a1.dist-info}/RECORD +53 -44
  51. {reflex-0.7.2a2.dist-info → reflex-0.7.3a1.dist-info}/WHEEL +1 -1
  52. reflex-0.7.3a1.dist-info/entry_points.txt +5 -0
  53. reflex-0.7.2a2.dist-info/entry_points.txt +0 -3
  54. {reflex-0.7.2a2.dist-info → reflex-0.7.3a1.dist-info/licenses}/LICENSE +0 -0
reflex/vars/number.py CHANGED
@@ -23,6 +23,7 @@ from reflex.utils.exceptions import (
23
23
  VarValueError,
24
24
  )
25
25
  from reflex.utils.imports import ImportDict, ImportVar
26
+ from reflex.utils.types import safe_issubclass
26
27
 
27
28
  from .base import (
28
29
  CustomVarOperationReturn,
@@ -524,7 +525,7 @@ class NumberVar(Var[NUMBER_T], python_types=(int, float)):
524
525
  Returns:
525
526
  bool: True if the number is a float.
526
527
  """
527
- return issubclass(self._var_type, float)
528
+ return safe_issubclass(self._var_type, float)
528
529
 
529
530
  def _is_strict_int(self) -> bool:
530
531
  """Check if the number is an int.
@@ -532,7 +533,7 @@ class NumberVar(Var[NUMBER_T], python_types=(int, float)):
532
533
  Returns:
533
534
  bool: True if the number is an int.
534
535
  """
535
- return issubclass(self._var_type, int)
536
+ return safe_issubclass(self._var_type, int)
536
537
 
537
538
  def __format__(self, format_spec: str) -> str:
538
539
  """Format the number.
@@ -546,6 +547,20 @@ class NumberVar(Var[NUMBER_T], python_types=(int, float)):
546
547
  Raises:
547
548
  VarValueError: If the format specifier is not supported.
548
549
  """
550
+ from .sequence import (
551
+ get_decimal_string_operation,
552
+ get_decimal_string_separator_operation,
553
+ )
554
+
555
+ separator = ""
556
+
557
+ if format_spec and format_spec[:1] == ",":
558
+ separator = ","
559
+ format_spec = format_spec[1:]
560
+ elif format_spec and format_spec[:1] == "_":
561
+ separator = "_"
562
+ format_spec = format_spec[1:]
563
+
549
564
  if (
550
565
  format_spec
551
566
  and format_spec[-1] == "f"
@@ -553,14 +568,17 @@ class NumberVar(Var[NUMBER_T], python_types=(int, float)):
553
568
  and format_spec[1:-1].isdigit()
554
569
  ):
555
570
  how_many_decimals = int(format_spec[1:-1])
571
+ return f"{get_decimal_string_operation(self, Var.create(how_many_decimals), Var.create(separator))}"
572
+
573
+ if not format_spec and separator:
556
574
  return (
557
- f"{get_decimal_string_operation(self, Var.create(how_many_decimals))}"
575
+ f"{get_decimal_string_separator_operation(self, Var.create(separator))}"
558
576
  )
559
577
 
560
578
  if format_spec:
561
579
  raise VarValueError(
562
580
  (
563
- "Unknown format code '{}' for object of type 'NumberVar'. It is only supported to use '.f' for float numbers."
581
+ "Unknown format code '{}' for object of type 'NumberVar'. It is only supported to use ',', '_', and '.f' for float numbers."
564
582
  "If possible, use computed variables instead: https://reflex.dev/docs/vars/computed-vars/"
565
583
  ).format(format_spec)
566
584
  )
@@ -568,23 +586,6 @@ class NumberVar(Var[NUMBER_T], python_types=(int, float)):
568
586
  return super().__format__(format_spec)
569
587
 
570
588
 
571
- @var_operation
572
- def get_decimal_string_operation(value: NumberVar, decimals: NumberVar):
573
- """Get the decimal string of the number.
574
-
575
- Args:
576
- value: The number.
577
- decimals: The number of decimals.
578
-
579
- Returns:
580
- The decimal string of the number.
581
- """
582
- return var_operation_return(
583
- js_expression=f"({value}.toFixed({decimals}))",
584
- var_type=str,
585
- )
586
-
587
-
588
589
  def binary_number_operation(
589
590
  func: Callable[[NumberVar, NumberVar], str],
590
591
  ) -> Callable[[number_types, number_types], NumberVar]:
reflex/vars/object.py CHANGED
@@ -202,6 +202,12 @@ class ObjectVar(Var[OBJECT_TYPE], python_types=Mapping):
202
202
  key: Var | Any,
203
203
  ) -> ObjectVar[Mapping[OTHER_KEY_TYPE, VALUE_TYPE]]: ...
204
204
 
205
+ @overload
206
+ def __getitem__(
207
+ self: ObjectVar[Mapping[Any, VALUE_TYPE]],
208
+ key: Var | Any,
209
+ ) -> Var[VALUE_TYPE]: ...
210
+
205
211
  def __getitem__(self, key: Var | Any) -> Var:
206
212
  """Get an item from the object.
207
213
 
@@ -221,6 +227,29 @@ class ObjectVar(Var[OBJECT_TYPE], python_types=Mapping):
221
227
  return self.__getattr__(key)
222
228
  return ObjectItemOperation.create(self, key).guess_type()
223
229
 
230
+ def get(self, key: Var | Any, default: Var | Any | None = None) -> Var:
231
+ """Get an item from the object.
232
+
233
+ Args:
234
+ key: The key to get from the object.
235
+ default: The default value if the key is not found.
236
+
237
+ Returns:
238
+ The item from the object.
239
+ """
240
+ from reflex.components.core.cond import cond
241
+
242
+ if default is None:
243
+ default = Var.create(None)
244
+
245
+ value = self.__getitem__(key) # pyright: ignore[reportUnknownVariableType,reportAttributeAccessIssue,reportUnknownMemberType]
246
+
247
+ return cond( # pyright: ignore[reportUnknownVariableType]
248
+ value,
249
+ value,
250
+ default,
251
+ )
252
+
224
253
  # NoReturn is used here to catch when key value is Any
225
254
  @overload
226
255
  def __getattr__( # pyright: ignore [reportOverlappingOverload]
reflex/vars/sequence.py CHANGED
@@ -1202,6 +1202,43 @@ def string_replace_operation(
1202
1202
  )
1203
1203
 
1204
1204
 
1205
+ @var_operation
1206
+ def get_decimal_string_separator_operation(value: NumberVar, separator: StringVar):
1207
+ """Get the decimal string separator.
1208
+
1209
+ Args:
1210
+ value: The number.
1211
+ separator: The separator.
1212
+
1213
+ Returns:
1214
+ The decimal string separator.
1215
+ """
1216
+ return var_operation_return(
1217
+ js_expression=f"({value}.toLocaleString('en-US').replaceAll(',', {separator}))",
1218
+ var_type=str,
1219
+ )
1220
+
1221
+
1222
+ @var_operation
1223
+ def get_decimal_string_operation(
1224
+ value: NumberVar, decimals: NumberVar, separator: StringVar
1225
+ ):
1226
+ """Get the decimal string of the number.
1227
+
1228
+ Args:
1229
+ value: The number.
1230
+ decimals: The number of decimals.
1231
+ separator: The separator.
1232
+
1233
+ Returns:
1234
+ The decimal string of the number.
1235
+ """
1236
+ return var_operation_return(
1237
+ js_expression=f"({value}.toLocaleString('en-US', ((decimals) => ({{minimumFractionDigits: decimals, maximumFractionDigits: decimals}}))({decimals})).replaceAll(',', {separator}))",
1238
+ var_type=str,
1239
+ )
1240
+
1241
+
1205
1242
  # Compile regex for finding reflex var tags.
1206
1243
  _decode_var_pattern_re = (
1207
1244
  rf"{constants.REFLEX_VAR_OPENING_TAG}(.*?){constants.REFLEX_VAR_CLOSING_TAG}"
@@ -1,54 +1,47 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: reflex
3
- Version: 0.7.2a2
3
+ Version: 0.7.3a1
4
4
  Summary: Web apps in pure Python.
5
- License: Apache-2.0
6
5
  Keywords: web,framework
7
- Author: Nikhil Rao
8
- Author-email: nikhil@reflex.dev
9
- Requires-Python: >=3.10,<4.0
10
- Classifier: Development Status :: 4 - Beta
11
- Classifier: License :: OSI Approved :: Apache Software License
12
- Classifier: Programming Language :: Python :: 3
13
- Classifier: Programming Language :: Python :: 3.10
14
- Classifier: Programming Language :: Python :: 3.11
15
- Classifier: Programming Language :: Python :: 3.12
16
- Classifier: Programming Language :: Python :: 3.13
17
- Requires-Dist: alembic (>=1.11.1,<2.0)
18
- Requires-Dist: build (>=1.0.3,<2.0)
19
- Requires-Dist: charset-normalizer (>=3.3.2,<4.0)
20
- Requires-Dist: distro (>=1.8.0,<2.0) ; sys_platform == "linux"
21
- Requires-Dist: fastapi (>=0.96.0,!=0.111.0,!=0.111.1)
22
- Requires-Dist: gunicorn (>=20.1.0,<24.0)
23
- Requires-Dist: httpx (>=0.25.1,<1.0)
24
- Requires-Dist: jinja2 (>=3.1.2,<4.0)
25
- Requires-Dist: lazy_loader (>=0.4)
26
- Requires-Dist: packaging (>=23.1,<25.0)
27
- Requires-Dist: platformdirs (>=3.10.0,<5.0)
28
- Requires-Dist: psutil (>=5.9.4,<7.0)
29
- Requires-Dist: pydantic (>=1.10.21,<3.0)
30
- Requires-Dist: python-engineio (!=4.6.0)
31
- Requires-Dist: python-multipart (>=0.0.5,<0.1)
32
- Requires-Dist: python-socketio (>=5.7.0,<6.0)
33
- Requires-Dist: redis (>=4.3.5,<6.0)
34
- Requires-Dist: reflex-hosting-cli (>=0.1.29)
35
- Requires-Dist: rich (>=13.0.0,<14.0)
36
- Requires-Dist: setuptools (>=75.0)
37
- Requires-Dist: sqlmodel (>=0.0.14,<0.1)
38
- Requires-Dist: starlette-admin (>=0.11.0,<1.0)
39
- Requires-Dist: tomlkit (>=0.12.4,<1.0)
40
- Requires-Dist: twine (>=4.0.0,<7.0)
41
- Requires-Dist: typer (>=0.15.1,<1.0)
42
- Requires-Dist: typing_extensions (>=4.6.0)
43
- Requires-Dist: uvicorn (>=0.20.0)
44
- Requires-Dist: wheel (>=0.42.0,<1.0)
45
- Requires-Dist: wrapt (>=1.17.0,<2.0)
46
- Project-URL: Documentation, https://reflex.dev/docs/getting-started/introduction
47
- Project-URL: Homepage, https://reflex.dev
48
- Project-URL: Repository, https://github.com/reflex-dev/reflex
6
+ Author: Elijah Ahianyo
7
+ Author-Email: Nikhil Rao <nikhil@reflex.dev>, Alek Petuskey <alek@reflex.dev>, Masen Furer <masen@reflex.dev>, =?utf-8?q?Thomas_Brand=C3=A9ho?= <thomas@reflex.dev>, Khaleel Al-Adhami <khaleel@reflex.dev>
8
+ Maintainer-Email: Masen Furer <masen@reflex.dev>, =?utf-8?q?Thomas_Brand=C3=A9ho?= <thomas@reflex.dev>, Khaleel Al-Adhami <khaleel@reflex.dev>
9
+ License-Expression: Apache-2.0
10
+ Project-URL: homepage, https://reflex.dev
11
+ Project-URL: repository, https://github.com/reflex-dev/reflex
12
+ Project-URL: documentation, https://reflex.dev/docs/getting-started/introduction
13
+ Requires-Python: <4.0,>=3.10
14
+ Requires-Dist: fastapi!=0.111.0,!=0.111.1,>=0.96.0
15
+ Requires-Dist: gunicorn<24.0,>=20.1.0
16
+ Requires-Dist: jinja2<4.0,>=3.1.2
17
+ Requires-Dist: psutil<8.0,>=5.9.4
18
+ Requires-Dist: pydantic<3.0,>=1.10.21
19
+ Requires-Dist: python-multipart<0.1,>=0.0.5
20
+ Requires-Dist: python-socketio<6.0,>=5.7.0
21
+ Requires-Dist: redis<6.0,>=4.3.5
22
+ Requires-Dist: rich<14.0,>=13.0.0
23
+ Requires-Dist: sqlmodel<0.1,>=0.0.14
24
+ Requires-Dist: typer<1.0,>=0.15.1
25
+ Requires-Dist: uvicorn>=0.20.0
26
+ Requires-Dist: starlette-admin<1.0,>=0.11.0
27
+ Requires-Dist: alembic<2.0,>=1.11.1
28
+ Requires-Dist: platformdirs<5.0,>=3.10.0
29
+ Requires-Dist: distro<2.0,>=1.8.0; platform_system == "Linux"
30
+ Requires-Dist: python-engineio!=4.6.0
31
+ Requires-Dist: wrapt<2.0,>=1.17.0
32
+ Requires-Dist: packaging<25.0,>=23.1
33
+ Requires-Dist: reflex-hosting-cli>=0.1.29
34
+ Requires-Dist: charset-normalizer<4.0,>=3.3.2
35
+ Requires-Dist: wheel<1.0,>=0.42.0
36
+ Requires-Dist: build<2.0,>=1.0.3
37
+ Requires-Dist: setuptools>=75.0
38
+ Requires-Dist: httpx<1.0,>=0.25.1
39
+ Requires-Dist: twine<7.0,>=4.0.0
40
+ Requires-Dist: tomlkit<1.0,>=0.12.4
41
+ Requires-Dist: lazy_loader>=0.4
42
+ Requires-Dist: typing_extensions>=4.6.0
49
43
  Description-Content-Type: text/markdown
50
44
 
51
-
52
45
  <div align="center">
53
46
  <img src="https://raw.githubusercontent.com/reflex-dev/reflex/main/docs/images/reflex_dark.svg#gh-light-mode-only" alt="Reflex Logo" width="300px">
54
47
  <img src="https://raw.githubusercontent.com/reflex-dev/reflex/main/docs/images/reflex_light.svg#gh-dark-mode-only" alt="Reflex Logo" width="300px">
@@ -56,10 +49,12 @@ Description-Content-Type: text/markdown
56
49
  <hr>
57
50
 
58
51
  ### **✨ Performant, customizable web apps in pure Python. Deploy in seconds. ✨**
52
+
59
53
  [![PyPI version](https://badge.fury.io/py/reflex.svg)](https://badge.fury.io/py/reflex)
60
54
  ![versions](https://img.shields.io/pypi/pyversions/reflex.svg)
61
55
  [![Documentation](https://img.shields.io/badge/Documentation%20-Introduction%20-%20%23007ec6)](https://reflex.dev/docs/getting-started/introduction)
62
56
  [![Discord](https://img.shields.io/discord/1029853095527727165?color=%237289da&label=Discord)](https://discord.gg/T5WSbC2YtQ)
57
+
63
58
  </div>
64
59
 
65
60
  ---
@@ -73,9 +68,10 @@ Description-Content-Type: text/markdown
73
68
  Reflex is a library to build full-stack web apps in pure Python.
74
69
 
75
70
  Key features:
76
- * **Pure Python** - Write your app's frontend and backend all in Python, no need to learn Javascript.
77
- * **Full Flexibility** - Reflex is easy to get started with, but can also scale to complex apps.
78
- * **Deploy Instantly** - After building, deploy your app with a [single command](https://reflex.dev/docs/hosting/deploy-quick-start/) or host it on your own server.
71
+
72
+ - **Pure Python** - Write your app's frontend and backend all in Python, no need to learn Javascript.
73
+ - **Full Flexibility** - Reflex is easy to get started with, but can also scale to complex apps.
74
+ - **Deploy Instantly** - After building, deploy your app with a [single command](https://reflex.dev/docs/hosting/deploy-quick-start/) or host it on your own server.
79
75
 
80
76
  See our [architecture page](https://reflex.dev/blog/2024-03-21-reflex-architecture/#the-reflex-architecture) to learn how Reflex works under the hood.
81
77
 
@@ -99,7 +95,7 @@ cd my_app_name
99
95
  reflex init
100
96
  ```
101
97
 
102
- This command initializes a template app in your new directory.
98
+ This command initializes a template app in your new directory.
103
99
 
104
100
  You can run this app in development mode:
105
101
 
@@ -111,7 +107,6 @@ You should see your app running at http://localhost:3000.
111
107
 
112
108
  Now you can modify the source code in `my_app_name/my_app_name.py`. Reflex has fast refreshes so you can see your changes instantly when you save your code.
113
109
 
114
-
115
110
  ## 🫧 Example App
116
111
 
117
112
  Let's go over an example: creating an image generation UI around [DALL·E](https://platform.openai.com/docs/guides/images/image-generation?context=node). For simplicity, we just call the [OpenAI API](https://platform.openai.com/docs/api-reference/authentication), but you could replace this with an ML model run locally.
@@ -126,8 +121,6 @@ Let's go over an example: creating an image generation UI around [DALL·E](https
126
121
 
127
122
  Here is the complete code to create this. This is all done in one Python file!
128
123
 
129
-
130
-
131
124
  ```python
132
125
  import reflex as rx
133
126
  import openai
@@ -167,7 +160,7 @@ def index():
167
160
  width="25em",
168
161
  ),
169
162
  rx.button(
170
- "Generate Image",
163
+ "Generate Image",
171
164
  on_click=State.get_image,
172
165
  width="25em",
173
166
  loading=State.processing
@@ -187,17 +180,12 @@ app = rx.App()
187
180
  app.add_page(index, title="Reflex:DALL-E")
188
181
  ```
189
182
 
190
-
191
-
192
-
193
-
194
183
  ## Let's break this down.
195
184
 
196
185
  <div align="center">
197
186
  <img src="docs/images/dalle_colored_code_example.png" alt="Explaining the differences between backend and frontend parts of the DALL-E app." width="900" />
198
187
  </div>
199
188
 
200
-
201
189
  ### **Reflex UI**
202
190
 
203
191
  Let's start with the UI.
@@ -275,11 +263,10 @@ You can create a multi-page app by adding more pages.
275
263
 
276
264
  <div align="center">
277
265
 
278
- 📑 [Docs](https://reflex.dev/docs/getting-started/introduction) &nbsp; | &nbsp; 🗞️ [Blog](https://reflex.dev/blog) &nbsp; | &nbsp; 📱 [Component Library](https://reflex.dev/docs/library) &nbsp; | &nbsp; 🖼️ [Templates](https://reflex.dev/templates/) &nbsp; | &nbsp; 🛸 [Deployment](https://reflex.dev/docs/hosting/deploy-quick-start) &nbsp;
266
+ 📑 [Docs](https://reflex.dev/docs/getting-started/introduction) &nbsp; | &nbsp; 🗞️ [Blog](https://reflex.dev/blog) &nbsp; | &nbsp; 📱 [Component Library](https://reflex.dev/docs/library) &nbsp; | &nbsp; 🖼️ [Templates](https://reflex.dev/templates/) &nbsp; | &nbsp; 🛸 [Deployment](https://reflex.dev/docs/hosting/deploy-quick-start) &nbsp;
279
267
 
280
268
  </div>
281
269
 
282
-
283
270
  ## ✅ Status
284
271
 
285
272
  Reflex launched in December 2022 with the name Pynecone.
@@ -292,14 +279,14 @@ Reflex has new releases and features coming every other week! Make sure to :star
292
279
 
293
280
  We welcome contributions of any size! Below are some good ways to get started in the Reflex community.
294
281
 
295
- - **Join Our Discord**: Our [Discord](https://discord.gg/T5WSbC2YtQ) is the best place to get help on your Reflex project and to discuss how you can contribute.
296
- - **GitHub Discussions**: A great way to talk about features you want added or things that are confusing/need clarification.
297
- - **GitHub Issues**: [Issues](https://github.com/reflex-dev/reflex/issues) are an excellent way to report bugs. Additionally, you can try and solve an existing issue and submit a PR.
282
+ - **Join Our Discord**: Our [Discord](https://discord.gg/T5WSbC2YtQ) is the best place to get help on your Reflex project and to discuss how you can contribute.
283
+ - **GitHub Discussions**: A great way to talk about features you want added or things that are confusing/need clarification.
284
+ - **GitHub Issues**: [Issues](https://github.com/reflex-dev/reflex/issues) are an excellent way to report bugs. Additionally, you can try and solve an existing issue and submit a PR.
298
285
 
299
286
  We are actively looking for contributors, no matter your skill level or experience. To contribute check out [CONTRIBUTING.md](https://github.com/reflex-dev/reflex/blob/main/CONTRIBUTING.md)
300
287
 
301
-
302
288
  ## All Thanks To Our Contributors:
289
+
303
290
  <a href="https://github.com/reflex-dev/reflex/graphs/contributors">
304
291
  <img src="https://contrib.rocks/image?repo=reflex-dev/reflex" />
305
292
  </a>
@@ -307,4 +294,3 @@ We are actively looking for contributors, no matter your skill level or experien
307
294
  ## License
308
295
 
309
296
  Reflex is open-source and licensed under the [Apache License 2.0](LICENSE).
310
-
@@ -1,3 +1,16 @@
1
+ benchmarks/__init__.py,sha256=EPwQDZ_qYgf5GFMdYQGHWDbpkLvR1OdQiEvPkVByYpM,89
2
+ benchmarks/benchmark_compile_times.py,sha256=DA0MuUVF2SGXun1cIO6So_B7FE78YZepJkq2JUvHHK4,4500
3
+ benchmarks/benchmark_imports.py,sha256=rC9Ke0n4h9lty3GEfLF0nODZpbMpiiAPqWVkDLATdHk,3733
4
+ benchmarks/benchmark_lighthouse.py,sha256=EdoTJ9oOyWTalj3OZn5C_-J76kR3Tedw_WjDxzM52F8,2347
5
+ benchmarks/benchmark_package_size.py,sha256=118Np7CIX-T2lG5OGFISm_KPfrni-pMRz3aFfrFUdkw,3824
6
+ benchmarks/benchmark_web_size.py,sha256=KG3rWk8ARg6K7eqtwg5qTIjgBDev0zG3rPz_MlMAqLo,2972
7
+ benchmarks/conftest.py,sha256=ekR_xO0FL2c9W_zLCTMRn35uPjdqPma0IbIcSn2WKPU,487
8
+ benchmarks/lighthouse.sh,sha256=fbOaaTOvE69Z23nEhA4od-v_WehyLvtI1FJfPjYdPPk,2139
9
+ benchmarks/utils.py,sha256=NTI9WzkTvr4lE20GKh-DZ30Wc0Xqs-KN2Nb5og2dPzQ,1968
10
+ reflex-0.7.3a1.dist-info/METADATA,sha256=FjBH8MzNPQbWACgFY9KRakcLeNqYjD8A89kfM08jkeM,11736
11
+ reflex-0.7.3a1.dist-info/WHEEL,sha256=thaaA2w1JzcGC48WYufAs8nrYZjJm8LqNfnXFOFyCC4,90
12
+ reflex-0.7.3a1.dist-info/entry_points.txt,sha256=XfumVjOeM8bxbPMTjy5CvSe65xnMKHCBQ4MxWWHCidM,61
13
+ reflex-0.7.3a1.dist-info/licenses/LICENSE,sha256=dw3zLrp9f5ObD7kqS32vWfhcImfO52PMmRqvtxq_YEE,11358
1
14
  reflex/.templates/apps/blank/assets/favicon.ico,sha256=baxxgDAQ2V4-G5Q4S2yK5uUJTUGkv-AOWBQ0xd6myUo,4286
2
15
  reflex/.templates/apps/blank/code/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
16
  reflex/.templates/apps/blank/code/blank.py,sha256=oKnsBBZM1-_RFAuwGKgfiCzgsrHlN_m_XP0-Fpnld7k,926
@@ -12,7 +25,7 @@ reflex/.templates/jinja/web/pages/_app.js.jinja2,sha256=s0pSHZAZB9SUI3PabTB8uB4I
12
25
  reflex/.templates/jinja/web/pages/_document.js.jinja2,sha256=E2r3MWp-gimAa6DdRs9ErQpPEyjS_yV5fdid_wdOOlA,182
13
26
  reflex/.templates/jinja/web/pages/base_page.js.jinja2,sha256=-Jykv29ZqzsQyyRe_iR2gUD5ac-X5RhDrGs0-diOMOA,400
14
27
  reflex/.templates/jinja/web/pages/component.js.jinja2,sha256=1Pui62uSL7LYA7FXZrh9ZmhKH8vHYu663eR134hhsAY,86
15
- reflex/.templates/jinja/web/pages/custom_component.js.jinja2,sha256=2yj6YbuxHy3ztrbh8iB5cngB5pClQmD2ke4pS2Uq0BI,454
28
+ reflex/.templates/jinja/web/pages/custom_component.js.jinja2,sha256=xUOfUwREPp4h2kozr6mEqSAASnNLzC9b9XHCXVsUQjg,485
16
29
  reflex/.templates/jinja/web/pages/index.js.jinja2,sha256=1Vh4XCF8-ekVgiqwZzO7ekcY-tTKmS8FUjPrmKyhJJo,376
17
30
  reflex/.templates/jinja/web/pages/macros.js.jinja2,sha256=RtMZ6eufmMrHghNDMKpueSAhd-znKjgBbJXAAHFc7vU,901
18
31
  reflex/.templates/jinja/web/pages/stateful_component.js.jinja2,sha256=E_CwG5o4pKteF1-Qjltkx9-8QGNSDoB-HvFgmgA4CJA,337
@@ -23,19 +36,19 @@ reflex/.templates/jinja/web/tailwind.config.js.jinja2,sha256=uZMIvtL94OZh6h8zsdu
23
36
  reflex/.templates/jinja/web/utils/context.js.jinja2,sha256=-fAc0G1h_GJ-geT59KzdtgE1wfpt3ouXBA8ySWjcRIw,3911
24
37
  reflex/.templates/jinja/web/utils/theme.js.jinja2,sha256=OSpBMh0Z9tTeqb10js4ZtnE9s1RV4gJfE8629csST8M,26
25
38
  reflex/.templates/web/.gitignore,sha256=3tT0CtVkCL09D_Y3Hd4myUgGcBuESeavCa0WHU5ifJ4,417
26
- reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js,sha256=e-COyGS34-IRhh018M9GDN3nx4iZYPqG95rba92h-TU,1620
27
- reflex/.templates/web/components/shiki/code.js,sha256=ohs-hdDvNSnlK_wEG4wzneIBh4arP1ETHikyJCeSBVk,1158
39
+ reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js,sha256=Xx_SdWsxABz3JzWDKxuOkuq87GEXK7DD5sqahPFbEzw,1621
40
+ reflex/.templates/web/components/shiki/code.js,sha256=UO0hQnm2w1j2VMgj46cnplO6ZLK3p3qhcxp6irjZBxQ,1116
28
41
  reflex/.templates/web/jsconfig.json,sha256=rhQZZRBYxBWclFYTeU6UakzbGveM4qyRQZUpEAVhyqY,118
29
42
  reflex/.templates/web/next.config.js,sha256=ZpGOqo9wHEbt0S08G70VfUNUjFe79UXo7Cde8X8V10E,118
30
- reflex/.templates/web/postcss.config.js,sha256=oEjUS1dzudKcmoPCD_B1ss2m1K14VDM0S6GAyrs1Ric,108
43
+ reflex/.templates/web/postcss.config.js,sha256=pWczoUW-Y0gYUuHAW4ZK0hQNWTcMC2UGu2i-sQ-YqUs,109
31
44
  reflex/.templates/web/styles/tailwind.css,sha256=wGOoICTy1G0e5bWZ4LYOVgRa3ZT7M44tC4g6CKh6ZPo,112
32
- reflex/.templates/web/utils/client_side_routing.js,sha256=za3bslTR0cKLC4h-bxAr48nJFj0nPwrj28Dlv2A3dV4,1431
33
- reflex/.templates/web/utils/helpers/dataeditor.js,sha256=anZgi8RJ_J0yqDez1Ks51fNDIQOvP3WkIm1QRDwccSk,1622
45
+ reflex/.templates/web/utils/client_side_routing.js,sha256=cOu4wUHDQtGl1yo5goxljZ94SLZLyr9R3S9Rehcvjio,1475
46
+ reflex/.templates/web/utils/helpers/dataeditor.js,sha256=pG6MgsHuStDR7-qPipzfiK32j9bKDBa-4hZ0JSUo4JM,1623
34
47
  reflex/.templates/web/utils/helpers/debounce.js,sha256=xGhtTRtS_xIcaeqnYVvYJNseLgQVk-DW-eFiHJYO9As,528
35
48
  reflex/.templates/web/utils/helpers/paste.js,sha256=ef30HsR83jRzzvZnl8yV79yqFP8TC_u8SlN99cCS_OM,1799
36
- reflex/.templates/web/utils/helpers/range.js,sha256=FevdZzCVxjF57ullfjpcUpeOXRxh5v09YnBB0jPbrS4,1152
49
+ reflex/.templates/web/utils/helpers/range.js,sha256=Bjr7Ex1Mghpsopjfrcp__IVFw8F8AsMiP-0nE20ZZwk,1091
37
50
  reflex/.templates/web/utils/helpers/throttle.js,sha256=qxeyaEojaTeX36FPGftzVWrzDsRQU4iqg3U9RJz9Vj4,566
38
- reflex/.templates/web/utils/state.js,sha256=Y2OYTzc1IJArMkudtTwXrG9i96jj_QXuo_stwAPfxFE,29761
51
+ reflex/.templates/web/utils/state.js,sha256=4qK7Xshvif92_LjfiBBCKymPNhfa5O7syFpvZ4oDe1U,30529
39
52
  reflex/__init__.py,sha256=64HB9b6MKesl3Yv6aZMsozdMKKpgnxirKk-aeN45UYY,10341
40
53
  reflex/__init__.pyi,sha256=j4ZkO-mKKw5dFBhJVbaOg7AlncO-JCckV2cHENPiLG0,11303
41
54
  reflex/__main__.py,sha256=6cVrGEyT3j3tEvlEVUatpaYfbB5EF3UVY-6vc_Z7-hw,108
@@ -43,13 +56,13 @@ reflex/admin.py,sha256=wu_vYqB0rU2njYBJSI0XZgVEkAFVZNQNUkUUXrlFbZc,343
43
56
  reflex/app.py,sha256=YQBe77CIgT_xTpTM-H3TIbwHUUYlHQ4UGA-K4lnzG5k,68739
44
57
  reflex/app_mixins/__init__.py,sha256=Oegz3-gZLP9p2OAN5ALNbsgxuNQfS6lGZgQA8cc-9mQ,137
45
58
  reflex/app_mixins/lifespan.py,sha256=fwtaa9NnyENdDa8_RUHUsT8L9qnZKxcpL-mEGLTGldo,3280
46
- reflex/app_mixins/middleware.py,sha256=pYcLdTzr9BWaB8ohJ7r1avRZja3sCP41YFD72w4Ug3Y,3325
59
+ reflex/app_mixins/middleware.py,sha256=oaCO-SJmyRDixX8M9D4SYZ_CeMn2KhU7Pe3o280EEUI,3328
47
60
  reflex/app_mixins/mixin.py,sha256=si0Pa0U1EtJc-a6iZntqU9B7_NrPILwrGFxk9mKHBCE,317
48
61
  reflex/app_module_for_backend.py,sha256=iuEYcJNRai59vReNUIZgixtYlFHYcYp_LNFB9DPQnKs,1134
49
62
  reflex/assets.py,sha256=PLTKAMYPKMZq8eWXKX8uco6NZ9IiPGWal0bOPLUmU7k,3364
50
63
  reflex/base.py,sha256=T1sY7SJJOpTsOveEiFxp-K39EoIQtRLgqdFZhsdM0DE,3976
51
64
  reflex/compiler/__init__.py,sha256=r8jqmDSFf09iV2lHlNhfc9XrTLjNxfDNwPYlxS4cmHE,27
52
- reflex/compiler/compiler.py,sha256=ll6n9EZDrK4YEUDSlweRepd7jLbiye5MPZItW9Goe7Y,23579
65
+ reflex/compiler/compiler.py,sha256=S7v2t5um_TrkAEP48LUjcZ9oQPd1AGQtPcANc7LP4r4,23789
53
66
  reflex/compiler/templates.py,sha256=NX3YUMVGGyDsy2JuDv-AmklMM0pKJHLPsIpdqamgqRQ,5854
54
67
  reflex/compiler/utils.py,sha256=w8KcAXneXQxPOSei7BvAfA9MzR4jQWjDlxm8ahN1UM0,16083
55
68
  reflex/components/__init__.py,sha256=zbIXThv1WPI0FdIGf9G9RAmGoCRoGy7nHcSZ8K5D5bA,624
@@ -82,7 +95,7 @@ reflex/components/core/__init__.py,sha256=1Z5MUA5wRPi4w7TXzRFyCfxbG8lUMqs29buWHI
82
95
  reflex/components/core/__init__.pyi,sha256=HDZSx-RIBpryukJo8ECdxSnZwpThP0IR2LV66h1XyJ4,2046
83
96
  reflex/components/core/auto_scroll.py,sha256=3jtFUqMUM1R_YyxWjbNVLiLktw6HHp50EzIFTkFtgto,3616
84
97
  reflex/components/core/auto_scroll.pyi,sha256=4oTNr6ixo5D0rzmIQVXGCEUpHSSa7KdrkWpF1ffDdbs,8687
85
- reflex/components/core/banner.py,sha256=CIRu9sZQ4Z2BBTmcPAhUdsqFZM7GQT7PFt6rqyTn5jo,18477
98
+ reflex/components/core/banner.py,sha256=OB8HlnytknFQotVoBNsbCHxE6_3W96JCCtvxS6R3QKU,18473
86
99
  reflex/components/core/banner.pyi,sha256=owB8dbiHh2YMeJsggCM5zQ3kpfIcGXoxTWQdscakpwQ,24586
87
100
  reflex/components/core/breakpoints.py,sha256=fDtfDoZqJnAOnBvpp0640FCKbuMyC9dVoSf0-RE7n6Y,2756
88
101
  reflex/components/core/client_side_routing.py,sha256=z2WD2jT9U-xDOyHTLjCs0mf5HkwSEJpMmUeXzl4S7ZU,1897
@@ -93,7 +106,7 @@ reflex/components/core/colors.py,sha256=-hzVGLEq3TiqroqzMi_YzGBCPXMvkNsen3pS_NzI
93
106
  reflex/components/core/cond.py,sha256=Pa9kbunY5Gq000yPXxMex0zsUeAiffDsUrqSIFVLoqs,5372
94
107
  reflex/components/core/debounce.py,sha256=qZsnu-7xfxz3NJS4-UnA_2YQz2P8SznJyuwZz98nEwE,4961
95
108
  reflex/components/core/debounce.pyi,sha256=QjyPCR1eVGxTdDFnFPD9Ir9QbJLk-2xU8f-hSMZHcfU,2883
96
- reflex/components/core/foreach.py,sha256=cmEgmDbReVZoikET4sJPBmap0ULnUgMGrI6D9PWwH2g,5866
109
+ reflex/components/core/foreach.py,sha256=s2wgxcgEBc_8PfTKolDjbRz1pgdKZCdq8tqk87t3QVQ,5827
97
110
  reflex/components/core/html.py,sha256=RnFLDLSNqNz3ypSEH5CRV3YcjGzuZ33ok2qSYd9LzQQ,1299
98
111
  reflex/components/core/html.pyi,sha256=-v5BiB_x-pqNUF5b-Ewil_UmK0Gz5BgiX1OPYE6o9qE,8742
99
112
  reflex/components/core/layout/__init__.py,sha256=znldZaj_NGt8qCZDG70GMwjMTskcvCf_2N_EjCAHwdc,30
@@ -109,28 +122,28 @@ reflex/components/datadisplay/code.py,sha256=5tO--QgPJj3-hBNjQ3SGNgLYpjBwTwtOUnW
109
122
  reflex/components/datadisplay/code.pyi,sha256=z3IV6Jevp0vjr8jduIHFE9dsELCnuKj_Vs9a_l3_l2w,41033
110
123
  reflex/components/datadisplay/dataeditor.py,sha256=WVCesC_xdg7k765ueN0ZetMMpbt-UPEf0nfn3FX-l2w,13519
111
124
  reflex/components/datadisplay/dataeditor.pyi,sha256=Q85OI-lq1iIbcQv5AEQD2SZc5Qh0BvbHjOt-80lEIKY,12356
112
- reflex/components/datadisplay/logo.py,sha256=Vs8utucOyIHHFY55JGoc7DYnd42u8qjYnnyOxvYZQoA,1985
125
+ reflex/components/datadisplay/logo.py,sha256=5YeXXIg19jJdY-KMP1_WJNmrh0oVSy4axy8Pbp275es,1981
113
126
  reflex/components/datadisplay/shiki_code_block.py,sha256=H1sJ26aqUSO6_RQRo5DeFPGCSaKdN0dgpCFowy3bcUY,23740
114
127
  reflex/components/datadisplay/shiki_code_block.pyi,sha256=fW2igOLVSfB4qaaOXQJMo9dyJbH1pfUESd7yBec9Tak,56361
115
128
  reflex/components/dynamic.py,sha256=W-jNbNzll1w6YoMcoF-LMjHqP4UtoQHPV-NamXs-eAY,7220
116
129
  reflex/components/el/__init__.py,sha256=nfIjf_cyieEmxptKjA6wRjoongswXv4X3n6vDmsdarI,416
117
- reflex/components/el/__init__.pyi,sha256=8XE7IflK45ShTh4jhoUnDtz8yT8cuO5Xa11xkibUh68,9876
130
+ reflex/components/el/__init__.pyi,sha256=hp8dLScFQR0avzEAKrB_GKk8iFty184mLcVij6IQ3Vc,10894
118
131
  reflex/components/el/constants/__init__.py,sha256=9h2hdnOSltQLDEM6w1nGmv1B8Bf0tMquTCi5RhvBT6c,113
119
132
  reflex/components/el/constants/html.py,sha256=hIebFwWritMmd3VCMYBNg0k_2UM1QDIhT_Q-EQsCWEA,7175
120
133
  reflex/components/el/constants/react.py,sha256=f1-Vo8iWn2jSrR7vy-UwGbGRvw88UUZnbb3Rb56MSS4,15554
121
134
  reflex/components/el/constants/reflex.py,sha256=7ChVeOvzjovZLHa-4vjWEGDqHsefV3tNsa8TKHWFaXM,1697
122
135
  reflex/components/el/element.py,sha256=CFUa_6Dz4WsIdP11MzqlW9GBDhJcSU6lJSmWA9zap0c,501
123
136
  reflex/components/el/element.pyi,sha256=pP5jMTGjYm06d8ZaQGeQazx5PuFLLlBDXcZB7cC7kp8,2166
124
- reflex/components/el/elements/__init__.py,sha256=Slx-rO0DOJeHTUbhocKyYm2wb570MJOXnRf7AI7uxjk,2342
125
- reflex/components/el/elements/__init__.pyi,sha256=0D3Iw6gktb0vio95VVR69WNY7HXwULQdsy8YMIam9xk,9900
137
+ reflex/components/el/elements/__init__.py,sha256=tHmTJKW02etckBiNqKwu7y_OwqFFSOscKEtzfhOygCM,2697
138
+ reflex/components/el/elements/__init__.pyi,sha256=1rtYb-IgDJ6sbVuC83V_9gS5d6oSsFmVTerlsPCdfiw,11075
126
139
  reflex/components/el/elements/base.py,sha256=4jnwyCQUHvWcIfwiIWVCiIC_jbwZlkAiOgx73t7tdw8,3075
127
140
  reflex/components/el/elements/base.pyi,sha256=lCvreiB4vd87UWsmmZqEvUe4Bn7XoK7cqmyZbRKVpOU,9872
128
141
  reflex/components/el/elements/forms.py,sha256=Uv7Pr7iblKuFdJ0d21wA5sOi2Z1uFPY522oXfc4N6JQ,20142
129
142
  reflex/components/el/elements/forms.pyi,sha256=NJYmmpd8WeU2S80DyHQWJyWhApeH7SgGAvGntDOoBec,124663
130
143
  reflex/components/el/elements/inline.py,sha256=GxOYtkNm1OfdMeqNvrFY_AUm-SVdc4Zg4JdSf3V3S6g,4064
131
144
  reflex/components/el/elements/inline.pyi,sha256=3THlwfna_Jf75fxgxvLuUgsAiNdNtDobf8v_jEz0RSw,228048
132
- reflex/components/el/elements/media.py,sha256=Ae7BxSc8XPpQtC2dATMbd1B2aCuuXyCTPk2ZDfuA6ms,12797
133
- reflex/components/el/elements/media.pyi,sha256=f_k7N_skL9LKV_-PcHkReL0mbKJbn--JahMSxoJlc5g,218585
145
+ reflex/components/el/elements/media.py,sha256=n84bNz3KO4TkaCi7eFierpVkcDEB9uYTk5oBKl-s1GI,13064
146
+ reflex/components/el/elements/media.pyi,sha256=tclq60p7WnK-YX2gQH2YcPYTKO8rMu1dAUh2sA2E9LU,218852
134
147
  reflex/components/el/elements/metadata.py,sha256=uc1qV25pD1J3ODeewBOEYqwQHMvsjRGUqdPX-YG__fg,2288
135
148
  reflex/components/el/elements/metadata.pyi,sha256=pWpQu8ZtkWJVMth7SoCeAsd_ugppMm7Dnmgp7LWjEjs,38657
136
149
  reflex/components/el/elements/other.py,sha256=WON35QviPNYsBeLQTNbeN7a6m6ixLYIVa4WsDzo9YBY,1378
@@ -148,8 +161,8 @@ reflex/components/gridjs/datatable.py,sha256=Q2P2lFbPEujVa6bfetV0w4Oc81APX9YgVKG
148
161
  reflex/components/gridjs/datatable.pyi,sha256=zVZTSTTQJY5jjrCTnyah3XM6aySyhq_mbhBWnbFg6Io,4859
149
162
  reflex/components/literals.py,sha256=hogLnwTJxFJODIvqihg-GD9kFZVsEBDoYzaRit56Nuk,501
150
163
  reflex/components/lucide/__init__.py,sha256=EggTK2MuQKQeOBLKW-mF0VaDK9zdWBImu1HO2dvHZbE,73
151
- reflex/components/lucide/icon.py,sha256=bn_YCppah5C6xsy3EheqcfLncxRabAZPqCYajooAj8Q,33775
152
- reflex/components/lucide/icon.pyi,sha256=SYFykRIQU0WJJ1n111J7qWgJHWSjHNCBedpEu_RO11s,35936
164
+ reflex/components/lucide/icon.py,sha256=jwwQGyoUXItWh991O2l4Jh2j9Caocmt5J0KXJwdaZ3o,33849
165
+ reflex/components/lucide/icon.pyi,sha256=DZkrFkUSq-BT23taozAIDfPuHAF3V9AsVYwaEeOCgm0,35884
153
166
  reflex/components/markdown/__init__.py,sha256=Dfl1At5uYoY7H4ufZU_RY2KOGQDLtj75dsZ2BTqqAns,87
154
167
  reflex/components/markdown/markdown.py,sha256=9VoxHQNZe44pVDoT_2b897dTn7vcel7oglBF-iTu0aM,16186
155
168
  reflex/components/markdown/markdown.pyi,sha256=cRik6patnRRumtNcRXDLCNPcMa6ZSpKApHhNpPdid8k,4135
@@ -247,7 +260,7 @@ reflex/components/radix/themes/components/separator.py,sha256=JqdQAEuPol1mwYKmMu
247
260
  reflex/components/radix/themes/components/separator.pyi,sha256=FlyYAKpxD0LbKL-qSPGYvHxPlON_3JkRWmtwxepu2YI,4705
248
261
  reflex/components/radix/themes/components/skeleton.py,sha256=v_nFTShDBLJHeN_y4leMv7KWDPFZrYDbRFrJwNItJrw,890
249
262
  reflex/components/radix/themes/components/skeleton.pyi,sha256=vjnQfsAH3PO9tpNCvS_D0n1BZ9mE-pvdKPrHjDfboB8,3643
250
- reflex/components/radix/themes/components/slider.py,sha256=ApVWCYc2tIeEDtaJb6UAVpBjlUuYCynjB38OK7ci0Rc,3326
263
+ reflex/components/radix/themes/components/slider.py,sha256=zMMDcX5dIeGV7dVtWt6we7nOJtvM2D9YuXh0ovAFqsQ,3385
251
264
  reflex/components/radix/themes/components/slider.pyi,sha256=FOastMwo5EImtk3R2lsohPJetULwPuUcUXtzmxNVdHI,6774
252
265
  reflex/components/radix/themes/components/spinner.py,sha256=8kO7e4EEGaXm-J4YFkLPUuph3QLY82memrQQFrvUPyk,493
253
266
  reflex/components/radix/themes/components/spinner.pyi,sha256=fhcXA39MiwtygR_u5yRlBbXKkYr4joFIzojNgCg-CWQ,2882
@@ -329,7 +342,7 @@ reflex/components/tags/iter_tag.py,sha256=AgKtcRvuxUe8QJPU8iQp6HvOQwdENjlYFO8dYs
329
342
  reflex/components/tags/match_tag.py,sha256=3lba1H5pCcKkqxEHzM6DZb5s9s0yJLN4Se3vdhzar24,580
330
343
  reflex/components/tags/tag.py,sha256=1fopahujLVjH871UOdmau_n1kEddbQotN5MpKW_s8PU,3644
331
344
  reflex/components/tags/tagless.py,sha256=qO7Gm4V0ITDyymHkyltfz53155ZBt-W_WIPDYy93ca0,587
332
- reflex/config.py,sha256=c5gPQMB3t3jjhhJ3hsjvJXm9PRKu_MxhT7p8ZMLMJOk,34825
345
+ reflex/config.py,sha256=abb4ake03wkXWRWvOfqu5IhSgFIFNcYxuaF3Kt2Q5Q0,35151
333
346
  reflex/constants/__init__.py,sha256=BG41QmjUHMQmtaROrD7YsV8AO24t2NnvKIvDx_0Qwss,2196
334
347
  reflex/constants/base.py,sha256=RfzOQdfJcQhVoIQRBNRAcIMyhllIHFd2hRZ37P1N28E,7837
335
348
  reflex/constants/colors.py,sha256=cgLn8iEWtlpjQgbhhlCOGjbhfOULKnzqqzPph63SJoI,1613
@@ -343,8 +356,8 @@ reflex/constants/state.py,sha256=6Mfr7xVcAZOj5aSy7kp0W6r8oTs7K30URgGDAAFLfPQ,294
343
356
  reflex/constants/style.py,sha256=EPgRYHhAlcrPUBc2HkDTdTj-Q0uDAXHlq8Sp6D35Zf4,475
344
357
  reflex/constants/utils.py,sha256=GJhFj1uba54CDPEm70tWs8B5iS2siHgeNi--oGCjeRc,759
345
358
  reflex/custom_components/__init__.py,sha256=R4zsvOi4dfPmHc18KEphohXnQFBPnUCb50cMR5hSLDE,36
346
- reflex/custom_components/custom_components.py,sha256=NrPdblkbRvxCDr0Nr1L5eCIU5_UzAIi5oWWqtI-uBr0,33364
347
- reflex/event.py,sha256=H0WosNsvEVv35Htuq6yh11X0cvAaQgrBC_kybmQ6_fI,60715
359
+ reflex/custom_components/custom_components.py,sha256=62mG6tCj6nt6t_UYFu8Vcjsv7PiqABiJRQ-xsYGYsX0,33376
360
+ reflex/event.py,sha256=EX-9X-c8gIudZjRDG8qSrVAbegcaGkYXxLLRWg-7IOA,60758
348
361
  reflex/experimental/__init__.py,sha256=bvJ6qFeO3xT3L-8IBtk4ecoi5rda3EDvblgNP60yhEo,2206
349
362
  reflex/experimental/client_state.py,sha256=p_Toz94fNQGMbHY1WlwfQ-i_M01f1ExA9t1iokSvdLc,9880
350
363
  reflex/experimental/hooks.py,sha256=CHYGrAE5t8riltrJmDFgJ4D2Vhmhw-y3B3MSGNlOQow,2366
@@ -352,7 +365,7 @@ reflex/experimental/layout.py,sha256=IzyAu_M121IYsrsnctiXFbeXInVvKKb4GuyFJKXcJnQ
352
365
  reflex/experimental/layout.pyi,sha256=r8SysDBM9TPicKx4fgubAP0WuKAP-VR_xP2UW6_GFLM,24571
353
366
  reflex/experimental/misc.py,sha256=X0vgTWn72VduWi6p2hMU-gGksRkhu7isDJNJ0kNVaAo,704
354
367
  reflex/istate/__init__.py,sha256=LDu_3-31ZI1Jn9NWp4mM0--fDiXI0x8x3gR4-kdrziY,57
355
- reflex/istate/data.py,sha256=P1vrT6nhvNs07yNlZ3PIevVRu7NMGy8vCDqrLzKguOs,4284
368
+ reflex/istate/data.py,sha256=9lITDKYS4N9gSJuwx25hdsOnkCQYhtZTTd4XQ_aCSng,5789
356
369
  reflex/istate/dynamic.py,sha256=xOQ9upZVPf6ngqcLQZ9HdAAYmoWwJ8kRFPH34Q5HTiM,91
357
370
  reflex/istate/proxy.py,sha256=ttfcMFBNOYnRT48U2fzkyo55Gr-Z8hkoulzPr0tD5VU,1059
358
371
  reflex/istate/storage.py,sha256=hcuXcbJcz5k8WeB5s3VuSBvbz_OIRaAVrtFRLh_MNEM,4343
@@ -363,43 +376,39 @@ reflex/middleware/middleware.py,sha256=p5VVoIgQ_NwOg_GOY6g0S4fmrV76_VE1zt-HiwbMw
363
376
  reflex/model.py,sha256=k6qCweATPW1YRB_qcHwa5X35btJmtIlB4zEQ63FaW3w,17527
364
377
  reflex/page.py,sha256=qEt8n5EtawSywCzdsiaNQJWhC8ie-vg8ig0JGuVavPI,2386
365
378
  reflex/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
366
- reflex/reflex.py,sha256=idDTvinthj0VsTP_TS225Y4p9wBSTTeGllRbyqiEmYU,19325
379
+ reflex/reflex.py,sha256=gmYVXXASlx_4kpyYuqEASS2qNdG2lWbmVpNQ_LYeOJQ,20399
367
380
  reflex/route.py,sha256=nn_hJwtQdjiqH_dHXfqMGWKllnyPQZTSR-KWdHDhoOs,4210
368
- reflex/state.py,sha256=nnNIr-uQ2qfmzQVF7D5jghzdKZ8vL7-nBiFBlDnSww4,141506
369
- reflex/style.py,sha256=453BgplrVhZ_OKFSCY403J7qjIZE6I_YPYXTiDaGe9s,13146
370
- reflex/testing.py,sha256=wzqppu_-4e1QeFJ-vLVpW19egTGm-JpU_c7wUPiURlE,35693
381
+ reflex/state.py,sha256=VmXm7SNuecE2y3sZo4yu-JW7frlb3Wi6V2o4A3it4eQ,141566
382
+ reflex/style.py,sha256=dilXPn8de80NzsXT53GPJrmjELC5nPYIlCgongyq1zM,13145
383
+ reflex/testing.py,sha256=c3boyBotUiDImK1lsO-Odeb4tgqRAvRdaT1lZ9QzPHg,35458
371
384
  reflex/utils/__init__.py,sha256=y-AHKiRQAhk2oAkvn7W8cRVTZVK625ff8tTwvZtO7S4,24
372
385
  reflex/utils/build.py,sha256=gm_lRsOqKeRD5mBiRToJcT4Vt_ZQPzDuazGfvJlSeeQ,9024
373
386
  reflex/utils/codespaces.py,sha256=TzDK--pHwP4r8Nzl0iB_8r-cOFmmL6nHfZ9xRQHA-KY,2754
374
387
  reflex/utils/compat.py,sha256=aSJH_M6iomgHPQ4onQ153xh1MWqPi3HSYDzE68N6gZM,2635
375
388
  reflex/utils/console.py,sha256=slDTb_5QXfSvdflFiwJauc874R2zqo8BOSh37JUhYLY,9469
376
389
  reflex/utils/decorator.py,sha256=EYdAjPdfgFjqjYSmLlc9qzOYnoihzavG5T4tgVgzsw4,1171
377
- reflex/utils/exceptions.py,sha256=qL5E6F-lKcY7FrYJwKg-LjdvuugYnjszdnbfWkLemsE,7844
378
- reflex/utils/exec.py,sha256=fVC0ZFNlzHFiDIdHc-WfquNpesS2ME_87rgeiWswlhE,17429
379
- reflex/utils/export.py,sha256=IdDhF-HlGxty2SWKbQywY4V4fkm8NPK2b6f0mT_cFyE,2533
390
+ reflex/utils/exceptions.py,sha256=Wwu7Ji2xgq521bJKtU2NgjwhmFfnG8erirEVN2h8S-g,8884
391
+ reflex/utils/exec.py,sha256=QCLU-70WfDsm-h2e7Aw8qX4PbBUx4rFZrm8oN_RLgPA,17228
392
+ reflex/utils/export.py,sha256=bcJA0L8lBbjij-5PU93ka2c1d_yJqrIurp5u4mN5f68,2537
380
393
  reflex/utils/format.py,sha256=a8em_yzqp9pLTrPXRsdzFWSO1qL2x25BpJXOf9DV1t8,20638
381
394
  reflex/utils/imports.py,sha256=-EkUt9y5U3qmImjfpsXwYh7JI9qJHd_L6X9y12EPJew,3921
382
395
  reflex/utils/lazy_loader.py,sha256=-3DcwIqHNft2fb1ikgDYAMiEwNfbiWfrTBAf1gEVX2o,1367
383
396
  reflex/utils/net.py,sha256=0Yd9OLK8R_px2sqnqrDkTky6hYHtG2pEDvvilOjDfjc,1219
384
397
  reflex/utils/path_ops.py,sha256=Sio_pZ9-dqu6pAPUkO_JA9ONXDsyLGKWOVRoA-dCrec,7903
385
- reflex/utils/prerequisites.py,sha256=Y6M53kvLVNnLzws9HAUexmNUp8zAyexhhR6ivsPz3bo,65033
398
+ reflex/utils/prerequisites.py,sha256=fhpp1yaRkBr0_zAowNSFeaRDZ1qjsmhR6_Tz34nebK0,63578
386
399
  reflex/utils/processes.py,sha256=1iZe-3Yrg-ja8jZxxAfggljqqcJgsFu8fi4bu4XQGx0,13489
387
- reflex/utils/pyi_generator.py,sha256=jVgUULay9ROrIaIuMRbfeXMyJCvsl9tNMVRfK8ruqBg,41582
388
- reflex/utils/redir.py,sha256=bmQGAgoNWwySeLRQTpoMpmKInwIOCW77wkXT61fwcj8,1868
400
+ reflex/utils/pyi_generator.py,sha256=cKdssbtAtGj2deOSDos9OF96w10qte8JM-TlfbzSdtw,41602
401
+ reflex/utils/redir.py,sha256=kTqY2WSouF5_ftOe5bnvPEyU3SLpg3pcysTcxFH1UxI,1505
389
402
  reflex/utils/registry.py,sha256=bseD0bIO8b3pctHKpD5J2MRdDzcf7eWKtHEZVutVNJ0,1401
390
403
  reflex/utils/serializers.py,sha256=K8-erpNIjJNIKif0cDFExa9f5DEVuQUq0j5v5VH6aBI,13408
391
404
  reflex/utils/telemetry.py,sha256=qwJBwjdtAV-OGKgO4h-NWhgTvfC3gbduBdn1UB8Ikes,5608
392
405
  reflex/utils/types.py,sha256=nGX44Q_Jp33wIaxf2vxANwBWe1743V2B8RRS8H9yV4c,33449
393
406
  reflex/vars/__init__.py,sha256=2Kv6Oh9g3ISZFESjL1al8KiO7QBZUXmLKGMCBsP-DoY,1243
394
- reflex/vars/base.py,sha256=dehVty3r8P88V98ONX-Zeeyz6hQW6cuZEjNDVhcH0PQ,101295
407
+ reflex/vars/base.py,sha256=ugAwqusvYHT3FfPsCsXkxxNgvtd9SQH-hAwqjQqEGcY,101926
395
408
  reflex/vars/datetime.py,sha256=WOEzQF6qjMjYvCat80XxgB_4hmVNHwIIZNMBSmfu0PM,5790
396
409
  reflex/vars/dep_tracking.py,sha256=kluvF4Pfbpdqf0GcpmYHjT1yP-D1erAzaSQP6qIxjB0,13846
397
410
  reflex/vars/function.py,sha256=2sVnhgetPSwtor8VFtAiYJdzZ9IRNzAKdsUJG6dXQcE,14461
398
- reflex/vars/number.py,sha256=RHY_KsUxliIgn7sptYPPyDubIfLkGYr0TZjX4PB_dgI,29334
399
- reflex/vars/object.py,sha256=cHVXN7I1MNw32KfpYKcmgStNSD4BnF3Y2CjkPABmjeo,16233
400
- reflex/vars/sequence.py,sha256=X4Gducv2u6fSEZm9uBlMr030bhDO0jUxnKkUXNg4Mwg,54878
401
- reflex-0.7.2a2.dist-info/LICENSE,sha256=dw3zLrp9f5ObD7kqS32vWfhcImfO52PMmRqvtxq_YEE,11358
402
- reflex-0.7.2a2.dist-info/METADATA,sha256=c91IdRnfmecqq_4ZaI1uU5J7cM87O012JddW-HDHSQI,11875
403
- reflex-0.7.2a2.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
404
- reflex-0.7.2a2.dist-info/entry_points.txt,sha256=H1Z5Yat_xJfy0dRT1Frk2PkO_p41Xy7fCKlj4FcdL9o,44
405
- reflex-0.7.2a2.dist-info/RECORD,,
411
+ reflex/vars/number.py,sha256=hacFEtv-63tMQN-oeVDWkrLFQL4utYG-b3ahYTb8b4M,29573
412
+ reflex/vars/object.py,sha256=-fGqHThozjxAAuQL-wTwEItPiFI-ps53P2bKoSlW_As,17081
413
+ reflex/vars/sequence.py,sha256=wxyiTV-_-N6FJNufIatubsnhEpXHFShcw3GEEEpYy3M,55893
414
+ reflex-0.7.3a1.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.1.1
2
+ Generator: pdm-backend (2.4.3)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -0,0 +1,5 @@
1
+ [console_scripts]
2
+ reflex = reflex.reflex:cli
3
+
4
+ [gui_scripts]
5
+