reflex 0.7.2.dev1__py3-none-any.whl → 0.7.3a2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of reflex might be problematic. Click here for more details.
- reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +6 -3
- reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +1 -1
- reflex/.templates/web/components/shiki/code.js +26 -21
- reflex/.templates/web/postcss.config.js +1 -1
- reflex/.templates/web/utils/client_side_routing.js +18 -16
- reflex/.templates/web/utils/helpers/dataeditor.js +1 -1
- reflex/.templates/web/utils/helpers/range.js +30 -30
- reflex/.templates/web/utils/state.js +44 -22
- reflex/app_mixins/middleware.py +9 -10
- reflex/compiler/compiler.py +7 -0
- reflex/components/core/banner.py +1 -1
- reflex/components/core/foreach.py +3 -2
- reflex/components/datadisplay/logo.py +1 -1
- reflex/components/el/__init__.pyi +22 -0
- reflex/components/el/elements/__init__.py +20 -1
- reflex/components/el/elements/__init__.pyi +42 -1
- reflex/components/el/elements/media.py +11 -0
- reflex/components/el/elements/media.pyi +11 -0
- reflex/components/lucide/icon.py +8 -6
- reflex/components/lucide/icon.pyi +0 -1
- reflex/components/radix/themes/components/slider.py +2 -1
- reflex/config.py +13 -7
- reflex/custom_components/custom_components.py +23 -25
- reflex/event.py +7 -2
- reflex/istate/data.py +59 -7
- reflex/reflex.py +69 -30
- reflex/state.py +3 -3
- reflex/testing.py +4 -10
- reflex/utils/exceptions.py +31 -1
- reflex/utils/exec.py +4 -8
- reflex/utils/export.py +2 -2
- reflex/vars/base.py +23 -1
- reflex/vars/number.py +22 -21
- reflex/vars/object.py +29 -0
- reflex/vars/sequence.py +37 -0
- {reflex-0.7.2.dev1.dist-info → reflex-0.7.3a2.dist-info}/METADATA +42 -42
- {reflex-0.7.2.dev1.dist-info → reflex-0.7.3a2.dist-info}/RECORD +61 -70
- {reflex-0.7.2.dev1.dist-info → reflex-0.7.3a2.dist-info}/WHEEL +1 -1
- {reflex-0.7.2.dev1.dist-info → reflex-0.7.3a2.dist-info}/entry_points.txt +0 -3
- benchmarks/__init__.py +0 -3
- benchmarks/benchmark_compile_times.py +0 -147
- benchmarks/benchmark_imports.py +0 -128
- benchmarks/benchmark_lighthouse.py +0 -75
- benchmarks/benchmark_package_size.py +0 -135
- benchmarks/benchmark_web_size.py +0 -106
- benchmarks/conftest.py +0 -20
- benchmarks/lighthouse.sh +0 -77
- benchmarks/utils.py +0 -74
- {reflex-0.7.2.dev1.dist-info → reflex-0.7.3a2.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,48 +1,54 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: reflex
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.3a2
|
|
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:
|
|
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
|
[](https://badge.fury.io/py/reflex)
|
|
54
61
|

|
|
55
62
|
[](https://reflex.dev/docs/getting-started/introduction)
|
|
56
63
|
[](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
|
-
|
|
71
|
-
|
|
72
|
-
|
|
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) |
|
|
273
|
+
📑 [Docs](https://reflex.dev/docs/getting-started/introduction) | 🗞️ [Blog](https://reflex.dev/blog) | 📱 [Component Library](https://reflex.dev/docs/library) | 🖼️ [Templates](https://reflex.dev/templates/) | 🛸 [Deployment](https://reflex.dev/docs/hosting/deploy-quick-start)
|
|
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
|
-
-
|
|
290
|
-
-
|
|
291
|
-
-
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
reflex
|
|
11
|
-
reflex
|
|
12
|
-
reflex
|
|
13
|
-
reflex
|
|
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=
|
|
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=
|
|
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=
|
|
46
|
-
reflex/.templates/web/utils/
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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/
|
|
136
|
-
reflex/components/el/
|
|
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=
|
|
146
|
-
reflex/components/el/elements/media.pyi,sha256=
|
|
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=
|
|
165
|
-
reflex/components/lucide/icon.pyi,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
391
|
-
reflex/utils/exec.py,sha256=
|
|
392
|
-
reflex/utils/export.py,sha256=
|
|
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=
|
|
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=
|
|
412
|
-
reflex/vars/object.py,sha256
|
|
413
|
-
reflex/vars/sequence.py,sha256=
|
|
414
|
-
reflex-0.7.
|
|
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.3a2.dist-info/METADATA,sha256=Jnwppkn5ZoQCXpqehgIsJXD8PyHro4LU_nxWDWeC3a4,12090
|
|
402
|
+
reflex-0.7.3a2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
403
|
+
reflex-0.7.3a2.dist-info/entry_points.txt,sha256=Rxt4dXc7MLBNt5CSHTehVPuSe9Xqow4HLX55nD9tQQ0,45
|
|
404
|
+
reflex-0.7.3a2.dist-info/licenses/LICENSE,sha256=dw3zLrp9f5ObD7kqS32vWfhcImfO52PMmRqvtxq_YEE,11358
|
|
405
|
+
reflex-0.7.3a2.dist-info/RECORD,,
|
benchmarks/__init__.py
DELETED
|
@@ -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()
|