reflex 0.7.2.dev1__py3-none-any.whl → 0.7.3__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 (49) hide show
  1. reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +6 -3
  2. reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +1 -1
  3. reflex/.templates/web/components/shiki/code.js +26 -21
  4. reflex/.templates/web/postcss.config.js +1 -1
  5. reflex/.templates/web/utils/client_side_routing.js +18 -16
  6. reflex/.templates/web/utils/helpers/dataeditor.js +1 -1
  7. reflex/.templates/web/utils/helpers/range.js +30 -30
  8. reflex/.templates/web/utils/state.js +44 -22
  9. reflex/app_mixins/middleware.py +9 -10
  10. reflex/compiler/compiler.py +7 -0
  11. reflex/components/core/banner.py +1 -1
  12. reflex/components/core/foreach.py +3 -2
  13. reflex/components/datadisplay/logo.py +1 -1
  14. reflex/components/el/__init__.pyi +22 -0
  15. reflex/components/el/elements/__init__.py +20 -1
  16. reflex/components/el/elements/__init__.pyi +42 -1
  17. reflex/components/el/elements/media.py +11 -0
  18. reflex/components/el/elements/media.pyi +11 -0
  19. reflex/components/lucide/icon.py +8 -6
  20. reflex/components/lucide/icon.pyi +0 -1
  21. reflex/components/radix/themes/components/slider.py +2 -1
  22. reflex/config.py +13 -7
  23. reflex/custom_components/custom_components.py +23 -25
  24. reflex/event.py +7 -2
  25. reflex/istate/data.py +59 -7
  26. reflex/reflex.py +69 -30
  27. reflex/state.py +3 -3
  28. reflex/testing.py +4 -10
  29. reflex/utils/exceptions.py +31 -1
  30. reflex/utils/exec.py +4 -8
  31. reflex/utils/export.py +2 -2
  32. reflex/vars/base.py +23 -1
  33. reflex/vars/number.py +22 -21
  34. reflex/vars/object.py +29 -0
  35. reflex/vars/sequence.py +37 -0
  36. {reflex-0.7.2.dev1.dist-info → reflex-0.7.3.dist-info}/METADATA +42 -42
  37. {reflex-0.7.2.dev1.dist-info → reflex-0.7.3.dist-info}/RECORD +61 -70
  38. {reflex-0.7.2.dev1.dist-info → reflex-0.7.3.dist-info}/WHEEL +1 -1
  39. {reflex-0.7.2.dev1.dist-info → reflex-0.7.3.dist-info}/entry_points.txt +0 -3
  40. benchmarks/__init__.py +0 -3
  41. benchmarks/benchmark_compile_times.py +0 -147
  42. benchmarks/benchmark_imports.py +0 -128
  43. benchmarks/benchmark_lighthouse.py +0 -75
  44. benchmarks/benchmark_package_size.py +0 -135
  45. benchmarks/benchmark_web_size.py +0 -106
  46. benchmarks/conftest.py +0 -20
  47. benchmarks/lighthouse.sh +0 -77
  48. benchmarks/utils.py +0 -74
  49. {reflex-0.7.2.dev1.dist-info → reflex-0.7.3.dist-info}/licenses/LICENSE +0 -0
@@ -1,48 +1,54 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: reflex
3
- Version: 0.7.2.dev1
3
+ Version: 0.7.3
4
4
  Summary: Web apps in pure Python.
5
- Keywords: web,framework
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
5
  Project-URL: homepage, https://reflex.dev
11
6
  Project-URL: repository, https://github.com/reflex-dev/reflex
12
7
  Project-URL: documentation, https://reflex.dev/docs/getting-started/introduction
8
+ Author-email: Nikhil Rao <nikhil@reflex.dev>, Alek Petuskey <alek@reflex.dev>, Masen Furer <masen@reflex.dev>, Elijah Ahianyo <elijahahianyo@gmail.com>, Thomas Brandeho <thomas@reflex.dev>, Khaleel Al-Adhami <khaleel@reflex.dev>
9
+ Maintainer-email: Masen Furer <masen@reflex.dev>, Thomas Brandeho <thomas@reflex.dev>, Khaleel Al-Adhami <khaleel@reflex.dev>
10
+ License: Apache-2.0
11
+ License-File: LICENSE
12
+ Keywords: framework,web
13
+ Classifier: Development Status :: 4 - Beta
14
+ Classifier: License :: OSI Approved :: Apache Software License
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
13
20
  Requires-Python: <4.0,>=3.10
21
+ Requires-Dist: alembic<2.0,>=1.11.1
22
+ Requires-Dist: build<2.0,>=1.0.3
23
+ Requires-Dist: charset-normalizer<4.0,>=3.3.2
24
+ Requires-Dist: distro<2.0,>=1.8.0; platform_system == 'Linux'
14
25
  Requires-Dist: fastapi!=0.111.0,!=0.111.1,>=0.96.0
15
26
  Requires-Dist: gunicorn<24.0,>=20.1.0
27
+ Requires-Dist: httpx<1.0,>=0.25.1
16
28
  Requires-Dist: jinja2<4.0,>=3.1.2
29
+ Requires-Dist: lazy-loader>=0.4
30
+ Requires-Dist: packaging<25.0,>=23.1
31
+ Requires-Dist: platformdirs<5.0,>=3.10.0
17
32
  Requires-Dist: psutil<8.0,>=5.9.4
18
33
  Requires-Dist: pydantic<3.0,>=1.10.21
34
+ Requires-Dist: python-engineio!=4.6.0
19
35
  Requires-Dist: python-multipart<0.1,>=0.0.5
20
36
  Requires-Dist: python-socketio<6.0,>=5.7.0
21
37
  Requires-Dist: redis<6.0,>=4.3.5
38
+ Requires-Dist: reflex-hosting-cli>=0.1.29
22
39
  Requires-Dist: rich<14.0,>=13.0.0
40
+ Requires-Dist: setuptools>=75.0
23
41
  Requires-Dist: sqlmodel<0.1,>=0.0.14
42
+ Requires-Dist: starlette-admin<1.0,>=0.11.0
43
+ Requires-Dist: tomlkit<1.0,>=0.12.4
44
+ Requires-Dist: twine<7.0,>=4.0.0
24
45
  Requires-Dist: typer<1.0,>=0.15.1
46
+ Requires-Dist: typing-extensions>=4.6.0
25
47
  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
48
  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
+ Requires-Dist: wrapt<2.0,>=1.17.0
43
50
  Description-Content-Type: text/markdown
44
51
 
45
-
46
52
  <div align="center">
47
53
  <img src="https://raw.githubusercontent.com/reflex-dev/reflex/main/docs/images/reflex_dark.svg#gh-light-mode-only" alt="Reflex Logo" width="300px">
48
54
  <img src="https://raw.githubusercontent.com/reflex-dev/reflex/main/docs/images/reflex_light.svg#gh-dark-mode-only" alt="Reflex Logo" width="300px">
@@ -50,10 +56,12 @@ Description-Content-Type: text/markdown
50
56
  <hr>
51
57
 
52
58
  ### **✨ Performant, customizable web apps in pure Python. Deploy in seconds. ✨**
59
+
53
60
  [![PyPI version](https://badge.fury.io/py/reflex.svg)](https://badge.fury.io/py/reflex)
54
61
  ![versions](https://img.shields.io/pypi/pyversions/reflex.svg)
55
62
  [![Documentation](https://img.shields.io/badge/Documentation%20-Introduction%20-%20%23007ec6)](https://reflex.dev/docs/getting-started/introduction)
56
63
  [![Discord](https://img.shields.io/discord/1029853095527727165?color=%237289da&label=Discord)](https://discord.gg/T5WSbC2YtQ)
64
+
57
65
  </div>
58
66
 
59
67
  ---
@@ -67,9 +75,10 @@ Description-Content-Type: text/markdown
67
75
  Reflex is a library to build full-stack web apps in pure Python.
68
76
 
69
77
  Key features:
70
- * **Pure Python** - Write your app's frontend and backend all in Python, no need to learn Javascript.
71
- * **Full Flexibility** - Reflex is easy to get started with, but can also scale to complex apps.
72
- * **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.
78
+
79
+ - **Pure Python** - Write your app's frontend and backend all in Python, no need to learn Javascript.
80
+ - **Full Flexibility** - Reflex is easy to get started with, but can also scale to complex apps.
81
+ - **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.
73
82
 
74
83
  See our [architecture page](https://reflex.dev/blog/2024-03-21-reflex-architecture/#the-reflex-architecture) to learn how Reflex works under the hood.
75
84
 
@@ -93,7 +102,7 @@ cd my_app_name
93
102
  reflex init
94
103
  ```
95
104
 
96
- This command initializes a template app in your new directory.
105
+ This command initializes a template app in your new directory.
97
106
 
98
107
  You can run this app in development mode:
99
108
 
@@ -105,7 +114,6 @@ You should see your app running at http://localhost:3000.
105
114
 
106
115
  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.
107
116
 
108
-
109
117
  ## 🫧 Example App
110
118
 
111
119
  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.
@@ -120,8 +128,6 @@ Let's go over an example: creating an image generation UI around [DALL·E](https
120
128
 
121
129
  Here is the complete code to create this. This is all done in one Python file!
122
130
 
123
-
124
-
125
131
  ```python
126
132
  import reflex as rx
127
133
  import openai
@@ -161,7 +167,7 @@ def index():
161
167
  width="25em",
162
168
  ),
163
169
  rx.button(
164
- "Generate Image",
170
+ "Generate Image",
165
171
  on_click=State.get_image,
166
172
  width="25em",
167
173
  loading=State.processing
@@ -181,17 +187,12 @@ app = rx.App()
181
187
  app.add_page(index, title="Reflex:DALL-E")
182
188
  ```
183
189
 
184
-
185
-
186
-
187
-
188
190
  ## Let's break this down.
189
191
 
190
192
  <div align="center">
191
193
  <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" />
192
194
  </div>
193
195
 
194
-
195
196
  ### **Reflex UI**
196
197
 
197
198
  Let's start with the UI.
@@ -269,11 +270,10 @@ You can create a multi-page app by adding more pages.
269
270
 
270
271
  <div align="center">
271
272
 
272
- 📑 [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;
273
+ 📑 [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;
273
274
 
274
275
  </div>
275
276
 
276
-
277
277
  ## ✅ Status
278
278
 
279
279
  Reflex launched in December 2022 with the name Pynecone.
@@ -286,14 +286,14 @@ Reflex has new releases and features coming every other week! Make sure to :star
286
286
 
287
287
  We welcome contributions of any size! Below are some good ways to get started in the Reflex community.
288
288
 
289
- - **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.
290
- - **GitHub Discussions**: A great way to talk about features you want added or things that are confusing/need clarification.
291
- - **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.
289
+ - **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.
290
+ - **GitHub Discussions**: A great way to talk about features you want added or things that are confusing/need clarification.
291
+ - **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.
292
292
 
293
293
  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)
294
294
 
295
-
296
295
  ## All Thanks To Our Contributors:
296
+
297
297
  <a href="https://github.com/reflex-dev/reflex/graphs/contributors">
298
298
  <img src="https://contrib.rocks/image?repo=reflex-dev/reflex" />
299
299
  </a>
@@ -1,16 +1,21 @@
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.2.dev1.dist-info/METADATA,sha256=31Tj75jzbJX_H6-g04JcBF9sbkiHtjYKM5OQCLzzrlE,11764
11
- reflex-0.7.2.dev1.dist-info/WHEEL,sha256=thaaA2w1JzcGC48WYufAs8nrYZjJm8LqNfnXFOFyCC4,90
12
- reflex-0.7.2.dev1.dist-info/entry_points.txt,sha256=XfumVjOeM8bxbPMTjy5CvSe65xnMKHCBQ4MxWWHCidM,61
13
- reflex-0.7.2.dev1.dist-info/licenses/LICENSE,sha256=dw3zLrp9f5ObD7kqS32vWfhcImfO52PMmRqvtxq_YEE,11358
1
+ reflex/__init__.py,sha256=64HB9b6MKesl3Yv6aZMsozdMKKpgnxirKk-aeN45UYY,10341
2
+ reflex/__init__.pyi,sha256=j4ZkO-mKKw5dFBhJVbaOg7AlncO-JCckV2cHENPiLG0,11303
3
+ reflex/__main__.py,sha256=6cVrGEyT3j3tEvlEVUatpaYfbB5EF3UVY-6vc_Z7-hw,108
4
+ reflex/admin.py,sha256=wu_vYqB0rU2njYBJSI0XZgVEkAFVZNQNUkUUXrlFbZc,343
5
+ reflex/app.py,sha256=YQBe77CIgT_xTpTM-H3TIbwHUUYlHQ4UGA-K4lnzG5k,68739
6
+ reflex/app_module_for_backend.py,sha256=iuEYcJNRai59vReNUIZgixtYlFHYcYp_LNFB9DPQnKs,1134
7
+ reflex/assets.py,sha256=PLTKAMYPKMZq8eWXKX8uco6NZ9IiPGWal0bOPLUmU7k,3364
8
+ reflex/base.py,sha256=T1sY7SJJOpTsOveEiFxp-K39EoIQtRLgqdFZhsdM0DE,3976
9
+ reflex/config.py,sha256=abb4ake03wkXWRWvOfqu5IhSgFIFNcYxuaF3Kt2Q5Q0,35151
10
+ reflex/event.py,sha256=EX-9X-c8gIudZjRDG8qSrVAbegcaGkYXxLLRWg-7IOA,60758
11
+ reflex/model.py,sha256=k6qCweATPW1YRB_qcHwa5X35btJmtIlB4zEQ63FaW3w,17527
12
+ reflex/page.py,sha256=qEt8n5EtawSywCzdsiaNQJWhC8ie-vg8ig0JGuVavPI,2386
13
+ reflex/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
+ reflex/reflex.py,sha256=gmYVXXASlx_4kpyYuqEASS2qNdG2lWbmVpNQ_LYeOJQ,20399
15
+ reflex/route.py,sha256=nn_hJwtQdjiqH_dHXfqMGWKllnyPQZTSR-KWdHDhoOs,4210
16
+ reflex/state.py,sha256=VmXm7SNuecE2y3sZo4yu-JW7frlb3Wi6V2o4A3it4eQ,141566
17
+ reflex/style.py,sha256=dilXPn8de80NzsXT53GPJrmjELC5nPYIlCgongyq1zM,13145
18
+ reflex/testing.py,sha256=c3boyBotUiDImK1lsO-Odeb4tgqRAvRdaT1lZ9QzPHg,35458
14
19
  reflex/.templates/apps/blank/assets/favicon.ico,sha256=baxxgDAQ2V4-G5Q4S2yK5uUJTUGkv-AOWBQ0xd6myUo,4286
15
20
  reflex/.templates/apps/blank/code/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
21
  reflex/.templates/apps/blank/code/blank.py,sha256=oKnsBBZM1-_RFAuwGKgfiCzgsrHlN_m_XP0-Fpnld7k,926
@@ -21,52 +26,48 @@ reflex/.templates/jinja/custom_components/demo_app.py.jinja2,sha256=ipbKtObNqQLc
21
26
  reflex/.templates/jinja/custom_components/pyproject.toml.jinja2,sha256=HG-k3pruUlMy7xYz339hgFkNMTLqB-C_FTLKkOgfBPM,630
22
27
  reflex/.templates/jinja/custom_components/src.py.jinja2,sha256=e80PwMI6NoeQtGJ0NXWhYrkqUe7jvvJTFuztYQe-R5w,2403
23
28
  reflex/.templates/jinja/web/package.json.jinja2,sha256=Dyg7DbKaEgxUoaV_DUsv_bHcT0h1mXKgO4R_pVzlHQw,707
29
+ reflex/.templates/jinja/web/tailwind.config.js.jinja2,sha256=uZMIvtL94OZh6h8zsduv3ox6EXnnYgfVXB_5moOe86E,761
24
30
  reflex/.templates/jinja/web/pages/_app.js.jinja2,sha256=s0pSHZAZB9SUI3PabTB8uB4I3kehMc-L2DXBxSW6iQY,1375
25
31
  reflex/.templates/jinja/web/pages/_document.js.jinja2,sha256=E2r3MWp-gimAa6DdRs9ErQpPEyjS_yV5fdid_wdOOlA,182
26
32
  reflex/.templates/jinja/web/pages/base_page.js.jinja2,sha256=-Jykv29ZqzsQyyRe_iR2gUD5ac-X5RhDrGs0-diOMOA,400
27
33
  reflex/.templates/jinja/web/pages/component.js.jinja2,sha256=1Pui62uSL7LYA7FXZrh9ZmhKH8vHYu663eR134hhsAY,86
28
- reflex/.templates/jinja/web/pages/custom_component.js.jinja2,sha256=2yj6YbuxHy3ztrbh8iB5cngB5pClQmD2ke4pS2Uq0BI,454
34
+ reflex/.templates/jinja/web/pages/custom_component.js.jinja2,sha256=xUOfUwREPp4h2kozr6mEqSAASnNLzC9b9XHCXVsUQjg,485
29
35
  reflex/.templates/jinja/web/pages/index.js.jinja2,sha256=1Vh4XCF8-ekVgiqwZzO7ekcY-tTKmS8FUjPrmKyhJJo,376
30
36
  reflex/.templates/jinja/web/pages/macros.js.jinja2,sha256=RtMZ6eufmMrHghNDMKpueSAhd-znKjgBbJXAAHFc7vU,901
31
37
  reflex/.templates/jinja/web/pages/stateful_component.js.jinja2,sha256=E_CwG5o4pKteF1-Qjltkx9-8QGNSDoB-HvFgmgA4CJA,337
32
38
  reflex/.templates/jinja/web/pages/stateful_components.js.jinja2,sha256=BfHi7ckH9u5xOliKWxjgmnia6AJbNnII97SC-dt_KSU,101
33
39
  reflex/.templates/jinja/web/pages/utils.js.jinja2,sha256=RRsAXc5VM5SJ5jgxc0M6XSDxRUGefUdK85TTEEZ1d3I,3653
34
40
  reflex/.templates/jinja/web/styles/styles.css.jinja2,sha256=4-CvqGR8-nRzkuCOSp_PdqmhPEmOs_kOhskOlhLMEUg,141
35
- reflex/.templates/jinja/web/tailwind.config.js.jinja2,sha256=uZMIvtL94OZh6h8zsduv3ox6EXnnYgfVXB_5moOe86E,761
36
41
  reflex/.templates/jinja/web/utils/context.js.jinja2,sha256=-fAc0G1h_GJ-geT59KzdtgE1wfpt3ouXBA8ySWjcRIw,3911
37
42
  reflex/.templates/jinja/web/utils/theme.js.jinja2,sha256=OSpBMh0Z9tTeqb10js4ZtnE9s1RV4gJfE8629csST8M,26
38
43
  reflex/.templates/web/.gitignore,sha256=3tT0CtVkCL09D_Y3Hd4myUgGcBuESeavCa0WHU5ifJ4,417
39
- reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js,sha256=e-COyGS34-IRhh018M9GDN3nx4iZYPqG95rba92h-TU,1620
40
- reflex/.templates/web/components/shiki/code.js,sha256=ohs-hdDvNSnlK_wEG4wzneIBh4arP1ETHikyJCeSBVk,1158
41
44
  reflex/.templates/web/jsconfig.json,sha256=rhQZZRBYxBWclFYTeU6UakzbGveM4qyRQZUpEAVhyqY,118
42
45
  reflex/.templates/web/next.config.js,sha256=ZpGOqo9wHEbt0S08G70VfUNUjFe79UXo7Cde8X8V10E,118
43
- reflex/.templates/web/postcss.config.js,sha256=oEjUS1dzudKcmoPCD_B1ss2m1K14VDM0S6GAyrs1Ric,108
46
+ reflex/.templates/web/postcss.config.js,sha256=pWczoUW-Y0gYUuHAW4ZK0hQNWTcMC2UGu2i-sQ-YqUs,109
47
+ reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js,sha256=Xx_SdWsxABz3JzWDKxuOkuq87GEXK7DD5sqahPFbEzw,1621
48
+ reflex/.templates/web/components/shiki/code.js,sha256=UO0hQnm2w1j2VMgj46cnplO6ZLK3p3qhcxp6irjZBxQ,1116
44
49
  reflex/.templates/web/styles/tailwind.css,sha256=wGOoICTy1G0e5bWZ4LYOVgRa3ZT7M44tC4g6CKh6ZPo,112
45
- reflex/.templates/web/utils/client_side_routing.js,sha256=za3bslTR0cKLC4h-bxAr48nJFj0nPwrj28Dlv2A3dV4,1431
46
- reflex/.templates/web/utils/helpers/dataeditor.js,sha256=anZgi8RJ_J0yqDez1Ks51fNDIQOvP3WkIm1QRDwccSk,1622
50
+ reflex/.templates/web/utils/client_side_routing.js,sha256=cOu4wUHDQtGl1yo5goxljZ94SLZLyr9R3S9Rehcvjio,1475
51
+ reflex/.templates/web/utils/state.js,sha256=s_k36cWTWYI_8_GVa2X6oVigjQ7-3Zo5cf3gbD77iJA,30530
52
+ reflex/.templates/web/utils/helpers/dataeditor.js,sha256=pG6MgsHuStDR7-qPipzfiK32j9bKDBa-4hZ0JSUo4JM,1623
47
53
  reflex/.templates/web/utils/helpers/debounce.js,sha256=xGhtTRtS_xIcaeqnYVvYJNseLgQVk-DW-eFiHJYO9As,528
48
54
  reflex/.templates/web/utils/helpers/paste.js,sha256=ef30HsR83jRzzvZnl8yV79yqFP8TC_u8SlN99cCS_OM,1799
49
- reflex/.templates/web/utils/helpers/range.js,sha256=FevdZzCVxjF57ullfjpcUpeOXRxh5v09YnBB0jPbrS4,1152
55
+ reflex/.templates/web/utils/helpers/range.js,sha256=Bjr7Ex1Mghpsopjfrcp__IVFw8F8AsMiP-0nE20ZZwk,1091
50
56
  reflex/.templates/web/utils/helpers/throttle.js,sha256=qxeyaEojaTeX36FPGftzVWrzDsRQU4iqg3U9RJz9Vj4,566
51
- reflex/.templates/web/utils/state.js,sha256=Y2OYTzc1IJArMkudtTwXrG9i96jj_QXuo_stwAPfxFE,29761
52
- reflex/__init__.py,sha256=64HB9b6MKesl3Yv6aZMsozdMKKpgnxirKk-aeN45UYY,10341
53
- reflex/__init__.pyi,sha256=j4ZkO-mKKw5dFBhJVbaOg7AlncO-JCckV2cHENPiLG0,11303
54
- reflex/__main__.py,sha256=6cVrGEyT3j3tEvlEVUatpaYfbB5EF3UVY-6vc_Z7-hw,108
55
- reflex/admin.py,sha256=wu_vYqB0rU2njYBJSI0XZgVEkAFVZNQNUkUUXrlFbZc,343
56
- reflex/app.py,sha256=YQBe77CIgT_xTpTM-H3TIbwHUUYlHQ4UGA-K4lnzG5k,68739
57
57
  reflex/app_mixins/__init__.py,sha256=Oegz3-gZLP9p2OAN5ALNbsgxuNQfS6lGZgQA8cc-9mQ,137
58
58
  reflex/app_mixins/lifespan.py,sha256=fwtaa9NnyENdDa8_RUHUsT8L9qnZKxcpL-mEGLTGldo,3280
59
- reflex/app_mixins/middleware.py,sha256=pYcLdTzr9BWaB8ohJ7r1avRZja3sCP41YFD72w4Ug3Y,3325
59
+ reflex/app_mixins/middleware.py,sha256=_B33NZdbuI16IUPTENyfCmEfJ6OxFHm6rObl3JdIs-Y,3286
60
60
  reflex/app_mixins/mixin.py,sha256=si0Pa0U1EtJc-a6iZntqU9B7_NrPILwrGFxk9mKHBCE,317
61
- reflex/app_module_for_backend.py,sha256=iuEYcJNRai59vReNUIZgixtYlFHYcYp_LNFB9DPQnKs,1134
62
- reflex/assets.py,sha256=PLTKAMYPKMZq8eWXKX8uco6NZ9IiPGWal0bOPLUmU7k,3364
63
- reflex/base.py,sha256=T1sY7SJJOpTsOveEiFxp-K39EoIQtRLgqdFZhsdM0DE,3976
64
61
  reflex/compiler/__init__.py,sha256=r8jqmDSFf09iV2lHlNhfc9XrTLjNxfDNwPYlxS4cmHE,27
65
- reflex/compiler/compiler.py,sha256=ll6n9EZDrK4YEUDSlweRepd7jLbiye5MPZItW9Goe7Y,23579
62
+ reflex/compiler/compiler.py,sha256=S7v2t5um_TrkAEP48LUjcZ9oQPd1AGQtPcANc7LP4r4,23789
66
63
  reflex/compiler/templates.py,sha256=NX3YUMVGGyDsy2JuDv-AmklMM0pKJHLPsIpdqamgqRQ,5854
67
64
  reflex/compiler/utils.py,sha256=w8KcAXneXQxPOSei7BvAfA9MzR4jQWjDlxm8ahN1UM0,16083
68
65
  reflex/components/__init__.py,sha256=zbIXThv1WPI0FdIGf9G9RAmGoCRoGy7nHcSZ8K5D5bA,624
69
66
  reflex/components/__init__.pyi,sha256=qoj1zIWaitcZOGcJ6k7wuGJk_GAJCE9Xtx8CeRVrvoE,861
67
+ reflex/components/component.py,sha256=ksc0Vc3hgZkTEyDZksarETCrjA-pvDMnd7T11F01ecg,88766
68
+ reflex/components/dynamic.py,sha256=W-jNbNzll1w6YoMcoF-LMjHqP4UtoQHPV-NamXs-eAY,7220
69
+ reflex/components/literals.py,sha256=hogLnwTJxFJODIvqihg-GD9kFZVsEBDoYzaRit56Nuk,501
70
+ reflex/components/props.py,sha256=8F2ZNeF16BDiTh-E4F-U_vks41BMJgmkTM7xbjGvfOA,2593
70
71
  reflex/components/base/__init__.py,sha256=QIOxOPT87WrSE4TSHAsZ-358VzvUXAe1w8vWogQ3Uuo,730
71
72
  reflex/components/base/__init__.pyi,sha256=c-8lUF9MAgAo9OHMjKIrV2ScM5S0fg8gTXp3iYFwVKU,1055
72
73
  reflex/components/base/app_wrap.py,sha256=5K_myvYvHPeAJbm3BdEX17tKvdNEj6SV9RYahbIQBAQ,514
@@ -90,12 +91,11 @@ reflex/components/base/script.py,sha256=OZ2ZOWiEmzHRC0-OgH4qj_Dv6X-JSsX5OgaqLXld
90
91
  reflex/components/base/script.pyi,sha256=EvSAPlUHpYYtnSV7YVwaJao9-bhWIs3EpBzDE4T88W8,3505
91
92
  reflex/components/base/strict_mode.py,sha256=_Rl2uGzL8gXTANOpoSU7uxsUQRH5JeTk2EIceWJJa5E,251
92
93
  reflex/components/base/strict_mode.pyi,sha256=VpwCCPcubG0pdvzPKYLv8rBi730fUsySQfNCGAUuADM,2178
93
- reflex/components/component.py,sha256=ksc0Vc3hgZkTEyDZksarETCrjA-pvDMnd7T11F01ecg,88766
94
94
  reflex/components/core/__init__.py,sha256=1Z5MUA5wRPi4w7TXzRFyCfxbG8lUMqs29buWHIGG-CU,1321
95
95
  reflex/components/core/__init__.pyi,sha256=HDZSx-RIBpryukJo8ECdxSnZwpThP0IR2LV66h1XyJ4,2046
96
96
  reflex/components/core/auto_scroll.py,sha256=3jtFUqMUM1R_YyxWjbNVLiLktw6HHp50EzIFTkFtgto,3616
97
97
  reflex/components/core/auto_scroll.pyi,sha256=4oTNr6ixo5D0rzmIQVXGCEUpHSSa7KdrkWpF1ffDdbs,8687
98
- reflex/components/core/banner.py,sha256=CIRu9sZQ4Z2BBTmcPAhUdsqFZM7GQT7PFt6rqyTn5jo,18477
98
+ reflex/components/core/banner.py,sha256=OB8HlnytknFQotVoBNsbCHxE6_3W96JCCtvxS6R3QKU,18473
99
99
  reflex/components/core/banner.pyi,sha256=owB8dbiHh2YMeJsggCM5zQ3kpfIcGXoxTWQdscakpwQ,24586
100
100
  reflex/components/core/breakpoints.py,sha256=fDtfDoZqJnAOnBvpp0640FCKbuMyC9dVoSf0-RE7n6Y,2756
101
101
  reflex/components/core/client_side_routing.py,sha256=z2WD2jT9U-xDOyHTLjCs0mf5HkwSEJpMmUeXzl4S7ZU,1897
@@ -106,44 +106,43 @@ reflex/components/core/colors.py,sha256=-hzVGLEq3TiqroqzMi_YzGBCPXMvkNsen3pS_NzI
106
106
  reflex/components/core/cond.py,sha256=Pa9kbunY5Gq000yPXxMex0zsUeAiffDsUrqSIFVLoqs,5372
107
107
  reflex/components/core/debounce.py,sha256=qZsnu-7xfxz3NJS4-UnA_2YQz2P8SznJyuwZz98nEwE,4961
108
108
  reflex/components/core/debounce.pyi,sha256=QjyPCR1eVGxTdDFnFPD9Ir9QbJLk-2xU8f-hSMZHcfU,2883
109
- reflex/components/core/foreach.py,sha256=cmEgmDbReVZoikET4sJPBmap0ULnUgMGrI6D9PWwH2g,5866
109
+ reflex/components/core/foreach.py,sha256=s2wgxcgEBc_8PfTKolDjbRz1pgdKZCdq8tqk87t3QVQ,5827
110
110
  reflex/components/core/html.py,sha256=RnFLDLSNqNz3ypSEH5CRV3YcjGzuZ33ok2qSYd9LzQQ,1299
111
111
  reflex/components/core/html.pyi,sha256=-v5BiB_x-pqNUF5b-Ewil_UmK0Gz5BgiX1OPYE6o9qE,8742
112
- reflex/components/core/layout/__init__.py,sha256=znldZaj_NGt8qCZDG70GMwjMTskcvCf_2N_EjCAHwdc,30
113
112
  reflex/components/core/match.py,sha256=M39oK1DxnfU1GW07_78mo8vYttR7PP-jH7WZY111iRQ,9112
114
113
  reflex/components/core/responsive.py,sha256=ACZdtJ4a4F8B3dm1k8h6J2_UJx0Z5LDB7XHQ2ty4wAc,1911
115
114
  reflex/components/core/sticky.py,sha256=2B3TxrwG2Rtp_lv1VkMOIF2bqSiT7qYGbqbiZiMKxKY,3856
116
115
  reflex/components/core/sticky.pyi,sha256=fHmH_EwTvrVUHbq-13fT-TK0R_yUMBSc2Hp-1IowpTM,32071
117
116
  reflex/components/core/upload.py,sha256=PVlw_sP_-AV3q0ri5NPIVoz3QdZZtqVIcEQuRgeb8Rs,11913
118
117
  reflex/components/core/upload.pyi,sha256=ZK22Hnc4eXhOsRbrAbakrzM5oGk05DdRHWurBNI5HRM,14602
118
+ reflex/components/core/layout/__init__.py,sha256=znldZaj_NGt8qCZDG70GMwjMTskcvCf_2N_EjCAHwdc,30
119
119
  reflex/components/datadisplay/__init__.py,sha256=L8pWWKNHWdUD2fbZRoEKjd_8c_hpDdGYO463hwkoIi4,438
120
120
  reflex/components/datadisplay/__init__.pyi,sha256=rYMwO_X4NvUex6IL2MMTnhdFRp8Lz5zweMwXaW_l7nc,588
121
121
  reflex/components/datadisplay/code.py,sha256=5tO--QgPJj3-hBNjQ3SGNgLYpjBwTwtOUnWM5oLU4Kg,14674
122
122
  reflex/components/datadisplay/code.pyi,sha256=z3IV6Jevp0vjr8jduIHFE9dsELCnuKj_Vs9a_l3_l2w,41033
123
123
  reflex/components/datadisplay/dataeditor.py,sha256=WVCesC_xdg7k765ueN0ZetMMpbt-UPEf0nfn3FX-l2w,13519
124
124
  reflex/components/datadisplay/dataeditor.pyi,sha256=Q85OI-lq1iIbcQv5AEQD2SZc5Qh0BvbHjOt-80lEIKY,12356
125
- reflex/components/datadisplay/logo.py,sha256=Vs8utucOyIHHFY55JGoc7DYnd42u8qjYnnyOxvYZQoA,1985
125
+ reflex/components/datadisplay/logo.py,sha256=5YeXXIg19jJdY-KMP1_WJNmrh0oVSy4axy8Pbp275es,1981
126
126
  reflex/components/datadisplay/shiki_code_block.py,sha256=H1sJ26aqUSO6_RQRo5DeFPGCSaKdN0dgpCFowy3bcUY,23740
127
127
  reflex/components/datadisplay/shiki_code_block.pyi,sha256=fW2igOLVSfB4qaaOXQJMo9dyJbH1pfUESd7yBec9Tak,56361
128
- reflex/components/dynamic.py,sha256=W-jNbNzll1w6YoMcoF-LMjHqP4UtoQHPV-NamXs-eAY,7220
129
128
  reflex/components/el/__init__.py,sha256=nfIjf_cyieEmxptKjA6wRjoongswXv4X3n6vDmsdarI,416
130
- reflex/components/el/__init__.pyi,sha256=8XE7IflK45ShTh4jhoUnDtz8yT8cuO5Xa11xkibUh68,9876
129
+ reflex/components/el/__init__.pyi,sha256=hp8dLScFQR0avzEAKrB_GKk8iFty184mLcVij6IQ3Vc,10894
130
+ reflex/components/el/element.py,sha256=CFUa_6Dz4WsIdP11MzqlW9GBDhJcSU6lJSmWA9zap0c,501
131
+ reflex/components/el/element.pyi,sha256=pP5jMTGjYm06d8ZaQGeQazx5PuFLLlBDXcZB7cC7kp8,2166
131
132
  reflex/components/el/constants/__init__.py,sha256=9h2hdnOSltQLDEM6w1nGmv1B8Bf0tMquTCi5RhvBT6c,113
132
133
  reflex/components/el/constants/html.py,sha256=hIebFwWritMmd3VCMYBNg0k_2UM1QDIhT_Q-EQsCWEA,7175
133
134
  reflex/components/el/constants/react.py,sha256=f1-Vo8iWn2jSrR7vy-UwGbGRvw88UUZnbb3Rb56MSS4,15554
134
135
  reflex/components/el/constants/reflex.py,sha256=7ChVeOvzjovZLHa-4vjWEGDqHsefV3tNsa8TKHWFaXM,1697
135
- reflex/components/el/element.py,sha256=CFUa_6Dz4WsIdP11MzqlW9GBDhJcSU6lJSmWA9zap0c,501
136
- reflex/components/el/element.pyi,sha256=pP5jMTGjYm06d8ZaQGeQazx5PuFLLlBDXcZB7cC7kp8,2166
137
- reflex/components/el/elements/__init__.py,sha256=Slx-rO0DOJeHTUbhocKyYm2wb570MJOXnRf7AI7uxjk,2342
138
- reflex/components/el/elements/__init__.pyi,sha256=0D3Iw6gktb0vio95VVR69WNY7HXwULQdsy8YMIam9xk,9900
136
+ reflex/components/el/elements/__init__.py,sha256=tHmTJKW02etckBiNqKwu7y_OwqFFSOscKEtzfhOygCM,2697
137
+ reflex/components/el/elements/__init__.pyi,sha256=1rtYb-IgDJ6sbVuC83V_9gS5d6oSsFmVTerlsPCdfiw,11075
139
138
  reflex/components/el/elements/base.py,sha256=4jnwyCQUHvWcIfwiIWVCiIC_jbwZlkAiOgx73t7tdw8,3075
140
139
  reflex/components/el/elements/base.pyi,sha256=lCvreiB4vd87UWsmmZqEvUe4Bn7XoK7cqmyZbRKVpOU,9872
141
140
  reflex/components/el/elements/forms.py,sha256=Uv7Pr7iblKuFdJ0d21wA5sOi2Z1uFPY522oXfc4N6JQ,20142
142
141
  reflex/components/el/elements/forms.pyi,sha256=NJYmmpd8WeU2S80DyHQWJyWhApeH7SgGAvGntDOoBec,124663
143
142
  reflex/components/el/elements/inline.py,sha256=GxOYtkNm1OfdMeqNvrFY_AUm-SVdc4Zg4JdSf3V3S6g,4064
144
143
  reflex/components/el/elements/inline.pyi,sha256=3THlwfna_Jf75fxgxvLuUgsAiNdNtDobf8v_jEz0RSw,228048
145
- reflex/components/el/elements/media.py,sha256=Ae7BxSc8XPpQtC2dATMbd1B2aCuuXyCTPk2ZDfuA6ms,12797
146
- reflex/components/el/elements/media.pyi,sha256=f_k7N_skL9LKV_-PcHkReL0mbKJbn--JahMSxoJlc5g,218585
144
+ reflex/components/el/elements/media.py,sha256=n84bNz3KO4TkaCi7eFierpVkcDEB9uYTk5oBKl-s1GI,13064
145
+ reflex/components/el/elements/media.pyi,sha256=tclq60p7WnK-YX2gQH2YcPYTKO8rMu1dAUh2sA2E9LU,218852
147
146
  reflex/components/el/elements/metadata.py,sha256=uc1qV25pD1J3ODeewBOEYqwQHMvsjRGUqdPX-YG__fg,2288
148
147
  reflex/components/el/elements/metadata.pyi,sha256=pWpQu8ZtkWJVMth7SoCeAsd_ugppMm7Dnmgp7LWjEjs,38657
149
148
  reflex/components/el/elements/other.py,sha256=WON35QviPNYsBeLQTNbeN7a6m6ixLYIVa4WsDzo9YBY,1378
@@ -159,10 +158,9 @@ reflex/components/el/elements/typography.pyi,sha256=TTXR78HfvJ0sjYYqhny-RqZTe7tV
159
158
  reflex/components/gridjs/__init__.py,sha256=xJwDm1AZ70L5-t9LLqZwGUtDpijbf1KuMYDT-j8g3pM,88
160
159
  reflex/components/gridjs/datatable.py,sha256=Q2P2lFbPEujVa6bfetV0w4Oc81APX9YgVKGnKCvhSxY,4197
161
160
  reflex/components/gridjs/datatable.pyi,sha256=zVZTSTTQJY5jjrCTnyah3XM6aySyhq_mbhBWnbFg6Io,4859
162
- reflex/components/literals.py,sha256=hogLnwTJxFJODIvqihg-GD9kFZVsEBDoYzaRit56Nuk,501
163
161
  reflex/components/lucide/__init__.py,sha256=EggTK2MuQKQeOBLKW-mF0VaDK9zdWBImu1HO2dvHZbE,73
164
- reflex/components/lucide/icon.py,sha256=bn_YCppah5C6xsy3EheqcfLncxRabAZPqCYajooAj8Q,33775
165
- reflex/components/lucide/icon.pyi,sha256=SYFykRIQU0WJJ1n111J7qWgJHWSjHNCBedpEu_RO11s,35936
162
+ reflex/components/lucide/icon.py,sha256=jwwQGyoUXItWh991O2l4Jh2j9Caocmt5J0KXJwdaZ3o,33849
163
+ reflex/components/lucide/icon.pyi,sha256=DZkrFkUSq-BT23taozAIDfPuHAF3V9AsVYwaEeOCgm0,35884
166
164
  reflex/components/markdown/__init__.py,sha256=Dfl1At5uYoY7H4ufZU_RY2KOGQDLtj75dsZ2BTqqAns,87
167
165
  reflex/components/markdown/markdown.py,sha256=9VoxHQNZe44pVDoT_2b897dTn7vcel7oglBF-iTu0aM,16186
168
166
  reflex/components/markdown/markdown.pyi,sha256=cRik6patnRRumtNcRXDLCNPcMa6ZSpKApHhNpPdid8k,4135
@@ -181,7 +179,6 @@ reflex/components/next/video.pyi,sha256=z7nX_P2rSBgFIAMhqOVEbExCJM8srSdEczR2QXcP
181
179
  reflex/components/plotly/__init__.py,sha256=6B_woBJhkrVA9O_AbOTbsA_SxWsqjicYHmLA9FLjGfU,650
182
180
  reflex/components/plotly/plotly.py,sha256=YBYXZ-JMKHV6kt5Aki3iUjBDuu25Dz6JsNAxGyWaOlI,14854
183
181
  reflex/components/plotly/plotly.pyi,sha256=Qsxuz3ltLozNpk40e8iY92X8sos4hI7NhXAVqAndzkg,46843
184
- reflex/components/props.py,sha256=8F2ZNeF16BDiTh-E4F-U_vks41BMJgmkTM7xbjGvfOA,2593
185
182
  reflex/components/radix/__init__.py,sha256=fRsLvIO3MrTtPOXtmnxYDB9phvzlcbyB_utgpafYMho,474
186
183
  reflex/components/radix/__init__.pyi,sha256=YpWw_k35yv_Yq_0RZNCb52fJZ3dANWAnQllhVoVCWEE,3988
187
184
  reflex/components/radix/primitives/__init__.py,sha256=R2sdZJqQCYaLScGkXnXDKAjVgV5MidceemooEUtvBt4,443
@@ -260,7 +257,7 @@ reflex/components/radix/themes/components/separator.py,sha256=JqdQAEuPol1mwYKmMu
260
257
  reflex/components/radix/themes/components/separator.pyi,sha256=FlyYAKpxD0LbKL-qSPGYvHxPlON_3JkRWmtwxepu2YI,4705
261
258
  reflex/components/radix/themes/components/skeleton.py,sha256=v_nFTShDBLJHeN_y4leMv7KWDPFZrYDbRFrJwNItJrw,890
262
259
  reflex/components/radix/themes/components/skeleton.pyi,sha256=vjnQfsAH3PO9tpNCvS_D0n1BZ9mE-pvdKPrHjDfboB8,3643
263
- reflex/components/radix/themes/components/slider.py,sha256=ApVWCYc2tIeEDtaJb6UAVpBjlUuYCynjB38OK7ci0Rc,3326
260
+ reflex/components/radix/themes/components/slider.py,sha256=zMMDcX5dIeGV7dVtWt6we7nOJtvM2D9YuXh0ovAFqsQ,3385
264
261
  reflex/components/radix/themes/components/slider.pyi,sha256=FOastMwo5EImtk3R2lsohPJetULwPuUcUXtzmxNVdHI,6774
265
262
  reflex/components/radix/themes/components/spinner.py,sha256=8kO7e4EEGaXm-J4YFkLPUuph3QLY82memrQQFrvUPyk,493
266
263
  reflex/components/radix/themes/components/spinner.pyi,sha256=fhcXA39MiwtygR_u5yRlBbXKkYr4joFIzojNgCg-CWQ,2882
@@ -342,7 +339,6 @@ reflex/components/tags/iter_tag.py,sha256=AgKtcRvuxUe8QJPU8iQp6HvOQwdENjlYFO8dYs
342
339
  reflex/components/tags/match_tag.py,sha256=3lba1H5pCcKkqxEHzM6DZb5s9s0yJLN4Se3vdhzar24,580
343
340
  reflex/components/tags/tag.py,sha256=1fopahujLVjH871UOdmau_n1kEddbQotN5MpKW_s8PU,3644
344
341
  reflex/components/tags/tagless.py,sha256=qO7Gm4V0ITDyymHkyltfz53155ZBt-W_WIPDYy93ca0,587
345
- reflex/config.py,sha256=c5gPQMB3t3jjhhJ3hsjvJXm9PRKu_MxhT7p8ZMLMJOk,34825
346
342
  reflex/constants/__init__.py,sha256=BG41QmjUHMQmtaROrD7YsV8AO24t2NnvKIvDx_0Qwss,2196
347
343
  reflex/constants/base.py,sha256=RfzOQdfJcQhVoIQRBNRAcIMyhllIHFd2hRZ37P1N28E,7837
348
344
  reflex/constants/colors.py,sha256=cgLn8iEWtlpjQgbhhlCOGjbhfOULKnzqqzPph63SJoI,1613
@@ -356,8 +352,7 @@ reflex/constants/state.py,sha256=6Mfr7xVcAZOj5aSy7kp0W6r8oTs7K30URgGDAAFLfPQ,294
356
352
  reflex/constants/style.py,sha256=EPgRYHhAlcrPUBc2HkDTdTj-Q0uDAXHlq8Sp6D35Zf4,475
357
353
  reflex/constants/utils.py,sha256=GJhFj1uba54CDPEm70tWs8B5iS2siHgeNi--oGCjeRc,759
358
354
  reflex/custom_components/__init__.py,sha256=R4zsvOi4dfPmHc18KEphohXnQFBPnUCb50cMR5hSLDE,36
359
- reflex/custom_components/custom_components.py,sha256=NrPdblkbRvxCDr0Nr1L5eCIU5_UzAIi5oWWqtI-uBr0,33364
360
- reflex/event.py,sha256=H0WosNsvEVv35Htuq6yh11X0cvAaQgrBC_kybmQ6_fI,60715
355
+ reflex/custom_components/custom_components.py,sha256=62mG6tCj6nt6t_UYFu8Vcjsv7PiqABiJRQ-xsYGYsX0,33376
361
356
  reflex/experimental/__init__.py,sha256=bvJ6qFeO3xT3L-8IBtk4ecoi5rda3EDvblgNP60yhEo,2206
362
357
  reflex/experimental/client_state.py,sha256=p_Toz94fNQGMbHY1WlwfQ-i_M01f1ExA9t1iokSvdLc,9880
363
358
  reflex/experimental/hooks.py,sha256=CHYGrAE5t8riltrJmDFgJ4D2Vhmhw-y3B3MSGNlOQow,2366
@@ -365,7 +360,7 @@ reflex/experimental/layout.py,sha256=IzyAu_M121IYsrsnctiXFbeXInVvKKb4GuyFJKXcJnQ
365
360
  reflex/experimental/layout.pyi,sha256=r8SysDBM9TPicKx4fgubAP0WuKAP-VR_xP2UW6_GFLM,24571
366
361
  reflex/experimental/misc.py,sha256=X0vgTWn72VduWi6p2hMU-gGksRkhu7isDJNJ0kNVaAo,704
367
362
  reflex/istate/__init__.py,sha256=LDu_3-31ZI1Jn9NWp4mM0--fDiXI0x8x3gR4-kdrziY,57
368
- reflex/istate/data.py,sha256=P1vrT6nhvNs07yNlZ3PIevVRu7NMGy8vCDqrLzKguOs,4284
363
+ reflex/istate/data.py,sha256=9lITDKYS4N9gSJuwx25hdsOnkCQYhtZTTd4XQ_aCSng,5789
369
364
  reflex/istate/dynamic.py,sha256=xOQ9upZVPf6ngqcLQZ9HdAAYmoWwJ8kRFPH34Q5HTiM,91
370
365
  reflex/istate/proxy.py,sha256=ttfcMFBNOYnRT48U2fzkyo55Gr-Z8hkoulzPr0tD5VU,1059
371
366
  reflex/istate/storage.py,sha256=hcuXcbJcz5k8WeB5s3VuSBvbz_OIRaAVrtFRLh_MNEM,4343
@@ -373,23 +368,15 @@ reflex/istate/wrappers.py,sha256=p8uuioXRbR5hperwbOJHUcWdu7hukLikQdoR7qrnKsI,909
373
368
  reflex/middleware/__init__.py,sha256=x7xTeDuc73Hjj43k1J63naC9x8vzFxl4sq7cCFBX7sk,111
374
369
  reflex/middleware/hydrate_middleware.py,sha256=1ch7bx2ZhojOR15b-LHD2JztrWCnpPJjTe8MWHJe-5Y,1510
375
370
  reflex/middleware/middleware.py,sha256=p5VVoIgQ_NwOg_GOY6g0S4fmrV76_VE1zt-HiwbMw-s,1158
376
- reflex/model.py,sha256=k6qCweATPW1YRB_qcHwa5X35btJmtIlB4zEQ63FaW3w,17527
377
- reflex/page.py,sha256=qEt8n5EtawSywCzdsiaNQJWhC8ie-vg8ig0JGuVavPI,2386
378
- reflex/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
379
- reflex/reflex.py,sha256=de26qs1UOfnvYjDrmBti5SX7gxAgIMPhuXgsS2LF4AY,19393
380
- reflex/route.py,sha256=nn_hJwtQdjiqH_dHXfqMGWKllnyPQZTSR-KWdHDhoOs,4210
381
- reflex/state.py,sha256=nnNIr-uQ2qfmzQVF7D5jghzdKZ8vL7-nBiFBlDnSww4,141506
382
- reflex/style.py,sha256=dilXPn8de80NzsXT53GPJrmjELC5nPYIlCgongyq1zM,13145
383
- reflex/testing.py,sha256=wzqppu_-4e1QeFJ-vLVpW19egTGm-JpU_c7wUPiURlE,35693
384
371
  reflex/utils/__init__.py,sha256=y-AHKiRQAhk2oAkvn7W8cRVTZVK625ff8tTwvZtO7S4,24
385
372
  reflex/utils/build.py,sha256=gm_lRsOqKeRD5mBiRToJcT4Vt_ZQPzDuazGfvJlSeeQ,9024
386
373
  reflex/utils/codespaces.py,sha256=TzDK--pHwP4r8Nzl0iB_8r-cOFmmL6nHfZ9xRQHA-KY,2754
387
374
  reflex/utils/compat.py,sha256=aSJH_M6iomgHPQ4onQ153xh1MWqPi3HSYDzE68N6gZM,2635
388
375
  reflex/utils/console.py,sha256=slDTb_5QXfSvdflFiwJauc874R2zqo8BOSh37JUhYLY,9469
389
376
  reflex/utils/decorator.py,sha256=EYdAjPdfgFjqjYSmLlc9qzOYnoihzavG5T4tgVgzsw4,1171
390
- reflex/utils/exceptions.py,sha256=qL5E6F-lKcY7FrYJwKg-LjdvuugYnjszdnbfWkLemsE,7844
391
- reflex/utils/exec.py,sha256=fVC0ZFNlzHFiDIdHc-WfquNpesS2ME_87rgeiWswlhE,17429
392
- reflex/utils/export.py,sha256=IdDhF-HlGxty2SWKbQywY4V4fkm8NPK2b6f0mT_cFyE,2533
377
+ reflex/utils/exceptions.py,sha256=Wwu7Ji2xgq521bJKtU2NgjwhmFfnG8erirEVN2h8S-g,8884
378
+ reflex/utils/exec.py,sha256=QCLU-70WfDsm-h2e7Aw8qX4PbBUx4rFZrm8oN_RLgPA,17228
379
+ reflex/utils/export.py,sha256=bcJA0L8lBbjij-5PU93ka2c1d_yJqrIurp5u4mN5f68,2537
393
380
  reflex/utils/format.py,sha256=a8em_yzqp9pLTrPXRsdzFWSO1qL2x25BpJXOf9DV1t8,20638
394
381
  reflex/utils/imports.py,sha256=-EkUt9y5U3qmImjfpsXwYh7JI9qJHd_L6X9y12EPJew,3921
395
382
  reflex/utils/lazy_loader.py,sha256=-3DcwIqHNft2fb1ikgDYAMiEwNfbiWfrTBAf1gEVX2o,1367
@@ -404,11 +391,15 @@ reflex/utils/serializers.py,sha256=K8-erpNIjJNIKif0cDFExa9f5DEVuQUq0j5v5VH6aBI,1
404
391
  reflex/utils/telemetry.py,sha256=qwJBwjdtAV-OGKgO4h-NWhgTvfC3gbduBdn1UB8Ikes,5608
405
392
  reflex/utils/types.py,sha256=nGX44Q_Jp33wIaxf2vxANwBWe1743V2B8RRS8H9yV4c,33449
406
393
  reflex/vars/__init__.py,sha256=2Kv6Oh9g3ISZFESjL1al8KiO7QBZUXmLKGMCBsP-DoY,1243
407
- reflex/vars/base.py,sha256=uJqKCT6maryYQ_5YON4hjFbyfoMwYva9Upwxyyn6zGk,101345
394
+ reflex/vars/base.py,sha256=ugAwqusvYHT3FfPsCsXkxxNgvtd9SQH-hAwqjQqEGcY,101926
408
395
  reflex/vars/datetime.py,sha256=WOEzQF6qjMjYvCat80XxgB_4hmVNHwIIZNMBSmfu0PM,5790
409
396
  reflex/vars/dep_tracking.py,sha256=kluvF4Pfbpdqf0GcpmYHjT1yP-D1erAzaSQP6qIxjB0,13846
410
397
  reflex/vars/function.py,sha256=2sVnhgetPSwtor8VFtAiYJdzZ9IRNzAKdsUJG6dXQcE,14461
411
- reflex/vars/number.py,sha256=RHY_KsUxliIgn7sptYPPyDubIfLkGYr0TZjX4PB_dgI,29334
412
- reflex/vars/object.py,sha256=cHVXN7I1MNw32KfpYKcmgStNSD4BnF3Y2CjkPABmjeo,16233
413
- reflex/vars/sequence.py,sha256=X4Gducv2u6fSEZm9uBlMr030bhDO0jUxnKkUXNg4Mwg,54878
414
- reflex-0.7.2.dev1.dist-info/RECORD,,
398
+ reflex/vars/number.py,sha256=hacFEtv-63tMQN-oeVDWkrLFQL4utYG-b3ahYTb8b4M,29573
399
+ reflex/vars/object.py,sha256=-fGqHThozjxAAuQL-wTwEItPiFI-ps53P2bKoSlW_As,17081
400
+ reflex/vars/sequence.py,sha256=wxyiTV-_-N6FJNufIatubsnhEpXHFShcw3GEEEpYy3M,55893
401
+ reflex-0.7.3.dist-info/METADATA,sha256=S0j2Tco-Bpl4zkbobE3eHGJhUfJAx1UaAevmJTYHFho,12088
402
+ reflex-0.7.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
403
+ reflex-0.7.3.dist-info/entry_points.txt,sha256=Rxt4dXc7MLBNt5CSHTehVPuSe9Xqow4HLX55nD9tQQ0,45
404
+ reflex-0.7.3.dist-info/licenses/LICENSE,sha256=dw3zLrp9f5ObD7kqS32vWfhcImfO52PMmRqvtxq_YEE,11358
405
+ reflex-0.7.3.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: pdm-backend (2.4.3)
2
+ Generator: hatchling 1.27.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -1,5 +1,2 @@
1
1
  [console_scripts]
2
2
  reflex = reflex.reflex:cli
3
-
4
- [gui_scripts]
5
-
benchmarks/__init__.py DELETED
@@ -1,3 +0,0 @@
1
- """Reflex benchmarks."""
2
-
3
- WINDOWS_SKIP_REASON = "Takes too much time as a result of npm"
@@ -1,147 +0,0 @@
1
- """Extracts the compile times from the JSON files in the specified directory and inserts them into the database."""
2
-
3
- from __future__ import annotations
4
-
5
- import argparse
6
- import json
7
- import os
8
- from pathlib import Path
9
-
10
- from utils import send_data_to_posthog
11
-
12
-
13
- def extract_stats_from_json(json_file: str) -> list[dict]:
14
- """Extracts the stats from the JSON data and returns them as a list of dictionaries.
15
-
16
- Args:
17
- json_file: The JSON file to extract the stats data from.
18
-
19
- Returns:
20
- list[dict]: The stats for each test.
21
- """
22
- with Path(json_file).open() as file:
23
- json_data = json.load(file)
24
-
25
- # Load the JSON data if it is a string, otherwise assume it's already a dictionary
26
- data = json.loads(json_data) if isinstance(json_data, str) else json_data
27
-
28
- # Initialize an empty list to store the stats for each test
29
- test_stats = []
30
-
31
- # Iterate over each test in the 'benchmarks' list
32
- for test in data.get("benchmarks", []):
33
- group = test.get("group", None)
34
- stats = test.get("stats", {})
35
- full_name = test.get("fullname")
36
- file_name = (
37
- full_name.split("/")[-1].split("::")[0].strip(".py") if full_name else None
38
- )
39
- test_name = test.get("name", "Unknown Test")
40
-
41
- test_stats.append(
42
- {
43
- "test_name": test_name,
44
- "group": group,
45
- "stats": stats,
46
- "full_name": full_name,
47
- "file_name": file_name,
48
- }
49
- )
50
- return test_stats
51
-
52
-
53
- def insert_benchmarking_data(
54
- os_type_version: str,
55
- python_version: str,
56
- performance_data: list[dict],
57
- commit_sha: str,
58
- pr_title: str,
59
- branch_name: str,
60
- event_type: str,
61
- pr_id: str,
62
- ):
63
- """Insert the benchmarking data into the database.
64
-
65
- Args:
66
- os_type_version: The OS type and version to insert.
67
- python_version: The Python version to insert.
68
- performance_data: The performance data of reflex web to insert.
69
- commit_sha: The commit SHA to insert.
70
- pr_title: The PR title to insert.
71
- branch_name: The name of the branch.
72
- event_type: Type of github event(push, pull request, etc).
73
- pr_id: Id of the PR.
74
- """
75
- # Prepare the event data
76
- properties = {
77
- "os": os_type_version,
78
- "python_version": python_version,
79
- "distinct_id": commit_sha,
80
- "pr_title": pr_title,
81
- "branch_name": branch_name,
82
- "event_type": event_type,
83
- "performance": performance_data,
84
- "pr_id": pr_id,
85
- }
86
-
87
- send_data_to_posthog("simple_app_benchmark", properties)
88
-
89
-
90
- def main():
91
- """Runs the benchmarks and inserts the results."""
92
- # Get the commit SHA and JSON directory from the command line arguments
93
- parser = argparse.ArgumentParser(description="Run benchmarks and process results.")
94
- parser.add_argument(
95
- "--os", help="The OS type and version to insert into the database."
96
- )
97
- parser.add_argument(
98
- "--python-version", help="The Python version to insert into the database."
99
- )
100
- parser.add_argument(
101
- "--commit-sha", help="The commit SHA to insert into the database."
102
- )
103
- parser.add_argument(
104
- "--benchmark-json",
105
- help="The JSON file containing the benchmark results.",
106
- )
107
- parser.add_argument(
108
- "--pr-title",
109
- help="The PR title to insert into the database.",
110
- )
111
- parser.add_argument(
112
- "--branch-name",
113
- help="The current branch",
114
- required=True,
115
- )
116
- parser.add_argument(
117
- "--event-type",
118
- help="The github event type",
119
- required=True,
120
- )
121
- parser.add_argument(
122
- "--pr-id",
123
- help="ID of the PR.",
124
- required=True,
125
- )
126
- args = parser.parse_args()
127
-
128
- # Get the PR title from env or the args. For the PR merge or push event, there is no PR title, leaving it empty.
129
- pr_title = args.pr_title or os.getenv("PR_TITLE", "")
130
-
131
- # Get the results of pytest benchmarks
132
- cleaned_benchmark_results = extract_stats_from_json(args.benchmark_json)
133
- # Insert the data into the database
134
- insert_benchmarking_data(
135
- os_type_version=args.os,
136
- python_version=args.python_version,
137
- performance_data=cleaned_benchmark_results,
138
- commit_sha=args.commit_sha,
139
- pr_title=pr_title,
140
- branch_name=args.branch_name,
141
- event_type=args.event_type,
142
- pr_id=args.pr_id,
143
- )
144
-
145
-
146
- if __name__ == "__main__":
147
- main()