reflex 0.7.3a1__tar.gz → 0.7.3a2__tar.gz
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-0.7.3a2/.gitignore +21 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/PKG-INFO +29 -22
- reflex-0.7.3a2/pyproject.toml +164 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/web/utils/state.js +1 -1
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/app_mixins/middleware.py +2 -3
- reflex-0.7.3a1/benchmarks/__init__.py +0 -3
- reflex-0.7.3a1/benchmarks/benchmark_compile_times.py +0 -147
- reflex-0.7.3a1/benchmarks/benchmark_imports.py +0 -128
- reflex-0.7.3a1/benchmarks/benchmark_lighthouse.py +0 -75
- reflex-0.7.3a1/benchmarks/benchmark_package_size.py +0 -135
- reflex-0.7.3a1/benchmarks/benchmark_web_size.py +0 -106
- reflex-0.7.3a1/benchmarks/conftest.py +0 -20
- reflex-0.7.3a1/benchmarks/lighthouse.sh +0 -77
- reflex-0.7.3a1/benchmarks/utils.py +0 -74
- reflex-0.7.3a1/pyproject.toml +0 -203
- reflex-0.7.3a1/tests/__init__.py +0 -5
- reflex-0.7.3a1/tests/benchmarks/__init__.py +0 -0
- reflex-0.7.3a1/tests/benchmarks/conftest.py +0 -3
- reflex-0.7.3a1/tests/benchmarks/fixtures.py +0 -383
- reflex-0.7.3a1/tests/benchmarks/test_compilation.py +0 -25
- reflex-0.7.3a1/tests/benchmarks/test_evaluate.py +0 -11
- reflex-0.7.3a1/tests/integration/__init__.py +0 -1
- reflex-0.7.3a1/tests/integration/conftest.py +0 -43
- reflex-0.7.3a1/tests/integration/init-test/Dockerfile +0 -8
- reflex-0.7.3a1/tests/integration/init-test/in_docker_test_script.sh +0 -37
- reflex-0.7.3a1/tests/integration/shared/state.py +0 -9
- reflex-0.7.3a1/tests/integration/test_background_task.py +0 -381
- reflex-0.7.3a1/tests/integration/test_call_script.py +0 -542
- reflex-0.7.3a1/tests/integration/test_client_storage.py +0 -760
- reflex-0.7.3a1/tests/integration/test_component_state.py +0 -204
- reflex-0.7.3a1/tests/integration/test_computed_vars.py +0 -275
- reflex-0.7.3a1/tests/integration/test_connection_banner.py +0 -223
- reflex-0.7.3a1/tests/integration/test_deploy_url.py +0 -99
- reflex-0.7.3a1/tests/integration/test_dynamic_components.py +0 -170
- reflex-0.7.3a1/tests/integration/test_dynamic_routes.py +0 -430
- reflex-0.7.3a1/tests/integration/test_event_actions.py +0 -385
- reflex-0.7.3a1/tests/integration/test_event_chain.py +0 -579
- reflex-0.7.3a1/tests/integration/test_exception_handlers.py +0 -204
- reflex-0.7.3a1/tests/integration/test_extra_overlay_function.py +0 -87
- reflex-0.7.3a1/tests/integration/test_form_submit.py +0 -262
- reflex-0.7.3a1/tests/integration/test_input.py +0 -188
- reflex-0.7.3a1/tests/integration/test_large_state.py +0 -91
- reflex-0.7.3a1/tests/integration/test_lifespan.py +0 -133
- reflex-0.7.3a1/tests/integration/test_login_flow.py +0 -147
- reflex-0.7.3a1/tests/integration/test_media.py +0 -163
- reflex-0.7.3a1/tests/integration/test_memo.py +0 -67
- reflex-0.7.3a1/tests/integration/test_navigation.py +0 -93
- reflex-0.7.3a1/tests/integration/test_server_side_event.py +0 -184
- reflex-0.7.3a1/tests/integration/test_shared_state.py +0 -77
- reflex-0.7.3a1/tests/integration/test_state_inheritance.py +0 -452
- reflex-0.7.3a1/tests/integration/test_tailwind.py +0 -122
- reflex-0.7.3a1/tests/integration/test_upload.py +0 -503
- reflex-0.7.3a1/tests/integration/test_urls.py +0 -68
- reflex-0.7.3a1/tests/integration/test_var_operations.py +0 -975
- reflex-0.7.3a1/tests/integration/tests_playwright/test_appearance.py +0 -218
- reflex-0.7.3a1/tests/integration/tests_playwright/test_datetime_operations.py +0 -87
- reflex-0.7.3a1/tests/integration/tests_playwright/test_link_hover.py +0 -46
- reflex-0.7.3a1/tests/integration/tests_playwright/test_stateless_app.py +0 -59
- reflex-0.7.3a1/tests/integration/tests_playwright/test_table.py +0 -103
- reflex-0.7.3a1/tests/integration/utils.py +0 -191
- reflex-0.7.3a1/tests/test_node_version.py +0 -73
- reflex-0.7.3a1/tests/units/__init__.py +0 -5
- reflex-0.7.3a1/tests/units/assets/custom_script.js +0 -1
- reflex-0.7.3a1/tests/units/assets/test_assets.py +0 -81
- reflex-0.7.3a1/tests/units/compiler/__init__.py +0 -1
- reflex-0.7.3a1/tests/units/compiler/test_compiler.py +0 -219
- reflex-0.7.3a1/tests/units/compiler/test_compiler_utils.py +0 -7
- reflex-0.7.3a1/tests/units/components/__init__.py +0 -1
- reflex-0.7.3a1/tests/units/components/base/test_bare.py +0 -26
- reflex-0.7.3a1/tests/units/components/base/test_link.py +0 -15
- reflex-0.7.3a1/tests/units/components/base/test_script.py +0 -75
- reflex-0.7.3a1/tests/units/components/core/__init__.py +0 -0
- reflex-0.7.3a1/tests/units/components/core/test_banner.py +0 -59
- reflex-0.7.3a1/tests/units/components/core/test_colors.py +0 -136
- reflex-0.7.3a1/tests/units/components/core/test_cond.py +0 -146
- reflex-0.7.3a1/tests/units/components/core/test_debounce.py +0 -185
- reflex-0.7.3a1/tests/units/components/core/test_foreach.py +0 -325
- reflex-0.7.3a1/tests/units/components/core/test_html.py +0 -41
- reflex-0.7.3a1/tests/units/components/core/test_match.py +0 -317
- reflex-0.7.3a1/tests/units/components/core/test_responsive.py +0 -38
- reflex-0.7.3a1/tests/units/components/core/test_upload.py +0 -130
- reflex-0.7.3a1/tests/units/components/datadisplay/__init__.py +0 -1
- reflex-0.7.3a1/tests/units/components/datadisplay/conftest.py +0 -89
- reflex-0.7.3a1/tests/units/components/datadisplay/test_code.py +0 -13
- reflex-0.7.3a1/tests/units/components/datadisplay/test_dataeditor.py +0 -11
- reflex-0.7.3a1/tests/units/components/datadisplay/test_datatable.py +0 -124
- reflex-0.7.3a1/tests/units/components/datadisplay/test_shiki_code.py +0 -175
- reflex-0.7.3a1/tests/units/components/el/test_html.py +0 -6
- reflex-0.7.3a1/tests/units/components/el/test_svg.py +0 -74
- reflex-0.7.3a1/tests/units/components/forms/__init__.py +0 -0
- reflex-0.7.3a1/tests/units/components/forms/test_form.py +0 -20
- reflex-0.7.3a1/tests/units/components/graphing/__init__.py +0 -1
- reflex-0.7.3a1/tests/units/components/graphing/test_plotly.py +0 -44
- reflex-0.7.3a1/tests/units/components/graphing/test_recharts.py +0 -52
- reflex-0.7.3a1/tests/units/components/layout/__init__.py +0 -1
- reflex-0.7.3a1/tests/units/components/lucide/test_icon.py +0 -36
- reflex-0.7.3a1/tests/units/components/markdown/__init__.py +0 -0
- reflex-0.7.3a1/tests/units/components/markdown/test_markdown.py +0 -191
- reflex-0.7.3a1/tests/units/components/media/__init__.py +0 -1
- reflex-0.7.3a1/tests/units/components/media/test_image.py +0 -65
- reflex-0.7.3a1/tests/units/components/radix/test_icon_button.py +0 -30
- reflex-0.7.3a1/tests/units/components/radix/test_layout.py +0 -6
- reflex-0.7.3a1/tests/units/components/recharts/test_cartesian.py +0 -50
- reflex-0.7.3a1/tests/units/components/recharts/test_polar.py +0 -38
- reflex-0.7.3a1/tests/units/components/test_component.py +0 -2317
- reflex-0.7.3a1/tests/units/components/test_component_future_annotations.py +0 -37
- reflex-0.7.3a1/tests/units/components/test_component_state.py +0 -63
- reflex-0.7.3a1/tests/units/components/test_props.py +0 -59
- reflex-0.7.3a1/tests/units/components/test_tag.py +0 -135
- reflex-0.7.3a1/tests/units/components/typography/__init__.py +0 -0
- reflex-0.7.3a1/tests/units/components/typography/test_markdown.py +0 -49
- reflex-0.7.3a1/tests/units/conftest.py +0 -238
- reflex-0.7.3a1/tests/units/middleware/__init__.py +0 -0
- reflex-0.7.3a1/tests/units/middleware/conftest.py +0 -25
- reflex-0.7.3a1/tests/units/middleware/test_hydrate_middleware.py +0 -50
- reflex-0.7.3a1/tests/units/states/__init__.py +0 -34
- reflex-0.7.3a1/tests/units/states/mutation.py +0 -219
- reflex-0.7.3a1/tests/units/states/upload.py +0 -174
- reflex-0.7.3a1/tests/units/test_app.py +0 -1774
- reflex-0.7.3a1/tests/units/test_attribute_access_type.py +0 -416
- reflex-0.7.3a1/tests/units/test_base.py +0 -100
- reflex-0.7.3a1/tests/units/test_config.py +0 -291
- reflex-0.7.3a1/tests/units/test_db_config.py +0 -204
- reflex-0.7.3a1/tests/units/test_event.py +0 -481
- reflex-0.7.3a1/tests/units/test_health_endpoint.py +0 -130
- reflex-0.7.3a1/tests/units/test_model.py +0 -193
- reflex-0.7.3a1/tests/units/test_page.py +0 -79
- reflex-0.7.3a1/tests/units/test_prerequisites.py +0 -387
- reflex-0.7.3a1/tests/units/test_route.py +0 -122
- reflex-0.7.3a1/tests/units/test_sqlalchemy.py +0 -166
- reflex-0.7.3a1/tests/units/test_state.py +0 -3942
- reflex-0.7.3a1/tests/units/test_state_tree.py +0 -380
- reflex-0.7.3a1/tests/units/test_style.py +0 -554
- reflex-0.7.3a1/tests/units/test_telemetry.py +0 -49
- reflex-0.7.3a1/tests/units/test_testing.py +0 -40
- reflex-0.7.3a1/tests/units/test_var.py +0 -1920
- reflex-0.7.3a1/tests/units/utils/__init__.py +0 -0
- reflex-0.7.3a1/tests/units/utils/test_format.py +0 -715
- reflex-0.7.3a1/tests/units/utils/test_imports.py +0 -117
- reflex-0.7.3a1/tests/units/utils/test_serializers.py +0 -240
- reflex-0.7.3a1/tests/units/utils/test_types.py +0 -92
- reflex-0.7.3a1/tests/units/utils/test_utils.py +0 -698
- reflex-0.7.3a1/tests/units/vars/test_base.py +0 -63
- reflex-0.7.3a1/tests/units/vars/test_object.py +0 -163
- {reflex-0.7.3a1 → reflex-0.7.3a2}/LICENSE +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/README.md +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/apps/blank/assets/favicon.ico +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/apps/blank/code/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/apps/blank/code/blank.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/jinja/app/rxconfig.py.jinja2 +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/jinja/custom_components/README.md.jinja2 +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/jinja/custom_components/__init__.py.jinja2 +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/jinja/custom_components/demo_app.py.jinja2 +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/jinja/custom_components/pyproject.toml.jinja2 +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/jinja/custom_components/src.py.jinja2 +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/jinja/web/package.json.jinja2 +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/jinja/web/pages/_app.js.jinja2 +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/jinja/web/pages/_document.js.jinja2 +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/jinja/web/pages/component.js.jinja2 +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/jinja/web/pages/index.js.jinja2 +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/jinja/web/pages/macros.js.jinja2 +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/jinja/web/pages/stateful_components.js.jinja2 +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/jinja/web/pages/utils.js.jinja2 +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/jinja/web/styles/styles.css.jinja2 +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/jinja/web/tailwind.config.js.jinja2 +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/jinja/web/utils/context.js.jinja2 +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/jinja/web/utils/theme.js.jinja2 +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/web/.gitignore +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/web/components/shiki/code.js +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/web/jsconfig.json +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/web/next.config.js +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/web/postcss.config.js +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/web/styles/tailwind.css +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/web/utils/client_side_routing.js +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/web/utils/helpers/dataeditor.js +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/web/utils/helpers/debounce.js +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/web/utils/helpers/paste.js +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/web/utils/helpers/range.js +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/.templates/web/utils/helpers/throttle.js +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/__init__.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/__main__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/admin.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/app.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/app_mixins/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/app_mixins/lifespan.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/app_mixins/mixin.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/app_module_for_backend.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/assets.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/base.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/compiler/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/compiler/compiler.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/compiler/templates.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/compiler/utils.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/__init__.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/base/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/base/__init__.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/base/app_wrap.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/base/app_wrap.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/base/bare.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/base/body.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/base/body.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/base/document.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/base/document.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/base/error_boundary.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/base/error_boundary.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/base/fragment.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/base/fragment.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/base/head.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/base/head.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/base/link.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/base/link.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/base/meta.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/base/meta.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/base/script.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/base/script.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/base/strict_mode.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/base/strict_mode.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/component.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/core/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/core/__init__.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/core/auto_scroll.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/core/auto_scroll.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/core/banner.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/core/banner.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/core/breakpoints.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/core/client_side_routing.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/core/client_side_routing.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/core/clipboard.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/core/clipboard.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/core/colors.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/core/cond.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/core/debounce.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/core/debounce.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/core/foreach.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/core/html.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/core/html.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/core/layout/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/core/match.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/core/responsive.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/core/sticky.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/core/sticky.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/core/upload.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/core/upload.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/datadisplay/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/datadisplay/__init__.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/datadisplay/code.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/datadisplay/code.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/datadisplay/dataeditor.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/datadisplay/dataeditor.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/datadisplay/logo.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/datadisplay/shiki_code_block.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/datadisplay/shiki_code_block.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/dynamic.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/el/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/el/__init__.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/el/constants/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/el/constants/html.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/el/constants/react.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/el/constants/reflex.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/el/element.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/el/element.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/el/elements/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/el/elements/__init__.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/el/elements/base.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/el/elements/base.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/el/elements/forms.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/el/elements/forms.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/el/elements/inline.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/el/elements/inline.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/el/elements/media.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/el/elements/media.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/el/elements/metadata.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/el/elements/metadata.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/el/elements/other.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/el/elements/other.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/el/elements/scripts.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/el/elements/scripts.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/el/elements/sectioning.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/el/elements/sectioning.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/el/elements/tables.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/el/elements/tables.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/el/elements/typography.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/el/elements/typography.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/gridjs/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/gridjs/datatable.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/gridjs/datatable.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/literals.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/lucide/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/lucide/icon.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/lucide/icon.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/markdown/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/markdown/markdown.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/markdown/markdown.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/moment/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/moment/moment.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/moment/moment.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/next/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/next/base.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/next/base.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/next/image.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/next/image.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/next/link.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/next/link.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/next/video.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/next/video.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/plotly/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/plotly/plotly.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/plotly/plotly.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/props.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/__init__.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/primitives/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/primitives/__init__.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/primitives/accordion.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/primitives/accordion.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/primitives/base.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/primitives/base.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/primitives/drawer.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/primitives/drawer.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/primitives/form.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/primitives/form.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/primitives/progress.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/primitives/progress.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/primitives/slider.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/primitives/slider.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/__init__.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/base.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/base.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/color_mode.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/color_mode.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/__init__.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/alert_dialog.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/alert_dialog.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/aspect_ratio.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/aspect_ratio.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/avatar.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/avatar.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/badge.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/badge.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/button.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/button.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/callout.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/callout.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/card.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/card.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/checkbox.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/checkbox.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/checkbox_cards.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/checkbox_cards.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/checkbox_group.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/checkbox_group.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/context_menu.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/context_menu.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/data_list.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/data_list.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/dialog.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/dialog.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/dropdown_menu.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/dropdown_menu.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/hover_card.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/hover_card.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/icon_button.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/icon_button.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/inset.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/inset.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/popover.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/popover.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/progress.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/progress.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/radio.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/radio.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/radio_cards.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/radio_cards.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/radio_group.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/radio_group.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/scroll_area.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/scroll_area.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/segmented_control.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/segmented_control.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/select.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/select.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/separator.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/separator.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/skeleton.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/skeleton.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/slider.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/slider.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/spinner.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/spinner.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/switch.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/switch.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/table.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/table.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/tabs.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/tabs.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/text_area.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/text_area.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/text_field.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/text_field.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/tooltip.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/components/tooltip.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/layout/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/layout/__init__.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/layout/base.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/layout/base.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/layout/box.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/layout/box.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/layout/center.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/layout/center.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/layout/container.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/layout/container.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/layout/flex.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/layout/flex.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/layout/grid.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/layout/grid.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/layout/list.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/layout/list.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/layout/section.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/layout/section.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/layout/spacer.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/layout/spacer.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/layout/stack.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/layout/stack.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/typography/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/typography/__init__.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/typography/base.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/typography/blockquote.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/typography/blockquote.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/typography/code.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/typography/code.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/typography/heading.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/typography/heading.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/typography/link.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/typography/link.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/typography/text.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/radix/themes/typography/text.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/react_player/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/react_player/audio.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/react_player/audio.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/react_player/react_player.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/react_player/react_player.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/react_player/video.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/react_player/video.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/recharts/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/recharts/__init__.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/recharts/cartesian.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/recharts/cartesian.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/recharts/charts.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/recharts/charts.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/recharts/general.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/recharts/general.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/recharts/polar.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/recharts/polar.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/recharts/recharts.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/recharts/recharts.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/sonner/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/sonner/toast.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/sonner/toast.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/suneditor/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/suneditor/editor.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/suneditor/editor.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/tags/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/tags/cond_tag.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/tags/iter_tag.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/tags/match_tag.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/tags/tag.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/components/tags/tagless.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/config.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/constants/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/constants/base.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/constants/colors.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/constants/compiler.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/constants/config.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/constants/custom_components.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/constants/event.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/constants/installer.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/constants/route.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/constants/state.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/constants/style.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/constants/utils.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/custom_components/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/custom_components/custom_components.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/event.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/experimental/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/experimental/client_state.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/experimental/hooks.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/experimental/layout.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/experimental/layout.pyi +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/experimental/misc.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/istate/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/istate/data.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/istate/dynamic.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/istate/proxy.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/istate/storage.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/istate/wrappers.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/middleware/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/middleware/hydrate_middleware.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/middleware/middleware.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/model.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/page.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/py.typed +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/reflex.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/route.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/state.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/style.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/testing.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/utils/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/utils/build.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/utils/codespaces.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/utils/compat.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/utils/console.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/utils/decorator.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/utils/exceptions.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/utils/exec.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/utils/export.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/utils/format.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/utils/imports.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/utils/lazy_loader.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/utils/net.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/utils/path_ops.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/utils/prerequisites.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/utils/processes.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/utils/pyi_generator.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/utils/redir.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/utils/registry.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/utils/serializers.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/utils/telemetry.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/utils/types.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/vars/__init__.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/vars/base.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/vars/datetime.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/vars/dep_tracking.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/vars/function.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/vars/number.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/vars/object.py +0 -0
- {reflex-0.7.3a1 → reflex-0.7.3a2}/reflex/vars/sequence.py +0 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
**/.DS_Store
|
|
2
|
+
**/*.pyc
|
|
3
|
+
assets/external/*
|
|
4
|
+
dist/*
|
|
5
|
+
examples/
|
|
6
|
+
.web
|
|
7
|
+
.states
|
|
8
|
+
.idea
|
|
9
|
+
.vscode
|
|
10
|
+
.coverage
|
|
11
|
+
.coverage.*
|
|
12
|
+
.venv
|
|
13
|
+
venv
|
|
14
|
+
requirements.txt
|
|
15
|
+
.pyi_generator_last_run
|
|
16
|
+
.pyi_generator_diff
|
|
17
|
+
reflex.db
|
|
18
|
+
.codspeed
|
|
19
|
+
.env
|
|
20
|
+
.env.*
|
|
21
|
+
node_modules
|
|
@@ -1,45 +1,52 @@
|
|
|
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
52
|
<div align="center">
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "reflex"
|
|
3
|
+
version = "0.7.3a2"
|
|
4
|
+
description = "Web apps in pure Python."
|
|
5
|
+
license = { text = "Apache-2.0" }
|
|
6
|
+
authors = [
|
|
7
|
+
{ name = "Nikhil Rao", email = "nikhil@reflex.dev" },
|
|
8
|
+
{ name = "Alek Petuskey", email = "alek@reflex.dev" },
|
|
9
|
+
{ name = "Masen Furer", email = "masen@reflex.dev" },
|
|
10
|
+
{ name = "Elijah Ahianyo", email = "elijahahianyo@gmail.com" },
|
|
11
|
+
{ name = "Thomas Brandeho", email = "thomas@reflex.dev" },
|
|
12
|
+
{ name = "Khaleel Al-Adhami", email = "khaleel@reflex.dev" },
|
|
13
|
+
]
|
|
14
|
+
maintainers = [
|
|
15
|
+
{ name = "Masen Furer", email = "masen@reflex.dev" },
|
|
16
|
+
{ name = "Thomas Brandeho", email = "thomas@reflex.dev" },
|
|
17
|
+
{ name = "Khaleel Al-Adhami", email = "khaleel@reflex.dev" },
|
|
18
|
+
]
|
|
19
|
+
readme = "README.md"
|
|
20
|
+
keywords = ["web", "framework"]
|
|
21
|
+
requires-python = ">=3.10,<4.0"
|
|
22
|
+
dependencies = [
|
|
23
|
+
"alembic >=1.11.1,<2.0",
|
|
24
|
+
"build >=1.0.3,<2.0",
|
|
25
|
+
"charset-normalizer >=3.3.2,<4.0",
|
|
26
|
+
"distro >=1.8.0,<2.0; platform_system == 'Linux'",
|
|
27
|
+
"fastapi >=0.96.0,!=0.111.0,!=0.111.1",
|
|
28
|
+
"gunicorn >=20.1.0,<24.0",
|
|
29
|
+
"httpx >=0.25.1,<1.0",
|
|
30
|
+
"jinja2 >=3.1.2,<4.0",
|
|
31
|
+
"lazy_loader >=0.4",
|
|
32
|
+
"packaging >=23.1,<25.0",
|
|
33
|
+
"platformdirs >=3.10.0,<5.0",
|
|
34
|
+
"psutil >=5.9.4,<8.0",
|
|
35
|
+
"pydantic >=1.10.21,<3.0",
|
|
36
|
+
"python-engineio !=4.6.0",
|
|
37
|
+
"python-multipart >=0.0.5,<0.1",
|
|
38
|
+
"python-socketio >=5.7.0,<6.0",
|
|
39
|
+
"redis >=4.3.5,<6.0",
|
|
40
|
+
"reflex-hosting-cli >=0.1.29",
|
|
41
|
+
"rich >=13.0.0,<14.0",
|
|
42
|
+
"setuptools >=75.0",
|
|
43
|
+
"starlette-admin >=0.11.0,<1.0",
|
|
44
|
+
"sqlmodel >=0.0.14,<0.1",
|
|
45
|
+
"tomlkit >=0.12.4,<1.0",
|
|
46
|
+
"twine >=4.0.0,<7.0",
|
|
47
|
+
"typer >=0.15.1,<1.0",
|
|
48
|
+
"typing_extensions >=4.6.0",
|
|
49
|
+
"uvicorn >=0.20.0",
|
|
50
|
+
"wheel >=0.42.0,<1.0",
|
|
51
|
+
"wrapt >=1.17.0,<2.0",
|
|
52
|
+
]
|
|
53
|
+
classifiers = [
|
|
54
|
+
"Development Status :: 4 - Beta",
|
|
55
|
+
"License :: OSI Approved :: Apache Software License",
|
|
56
|
+
"Programming Language :: Python :: 3",
|
|
57
|
+
"Programming Language :: Python :: 3.10",
|
|
58
|
+
"Programming Language :: Python :: 3.11",
|
|
59
|
+
"Programming Language :: Python :: 3.12",
|
|
60
|
+
"Programming Language :: Python :: 3.13",
|
|
61
|
+
]
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
[project.urls]
|
|
65
|
+
homepage = "https://reflex.dev"
|
|
66
|
+
repository = "https://github.com/reflex-dev/reflex"
|
|
67
|
+
documentation = "https://reflex.dev/docs/getting-started/introduction"
|
|
68
|
+
|
|
69
|
+
[project.scripts]
|
|
70
|
+
reflex = "reflex.reflex:cli"
|
|
71
|
+
|
|
72
|
+
[build-system]
|
|
73
|
+
requires = ["hatchling"]
|
|
74
|
+
build-backend = "hatchling.build"
|
|
75
|
+
|
|
76
|
+
[tool.hatch.build]
|
|
77
|
+
include = ["reflex"]
|
|
78
|
+
|
|
79
|
+
[tool.pyright]
|
|
80
|
+
reportIncompatibleMethodOverride = false
|
|
81
|
+
|
|
82
|
+
[tool.ruff]
|
|
83
|
+
target-version = "py310"
|
|
84
|
+
output-format = "concise"
|
|
85
|
+
lint.isort.split-on-trailing-comma = false
|
|
86
|
+
lint.select = [
|
|
87
|
+
"ANN001",
|
|
88
|
+
"B",
|
|
89
|
+
"C4",
|
|
90
|
+
"D",
|
|
91
|
+
"E",
|
|
92
|
+
"ERA",
|
|
93
|
+
"F",
|
|
94
|
+
"FURB",
|
|
95
|
+
"I",
|
|
96
|
+
"N",
|
|
97
|
+
"PERF",
|
|
98
|
+
"PGH",
|
|
99
|
+
"PTH",
|
|
100
|
+
"RUF",
|
|
101
|
+
"SIM",
|
|
102
|
+
"T",
|
|
103
|
+
"TRY",
|
|
104
|
+
"W",
|
|
105
|
+
]
|
|
106
|
+
lint.ignore = [
|
|
107
|
+
"B008",
|
|
108
|
+
"D205",
|
|
109
|
+
"E501",
|
|
110
|
+
"F403",
|
|
111
|
+
"SIM115",
|
|
112
|
+
"RUF006",
|
|
113
|
+
"RUF008",
|
|
114
|
+
"RUF012",
|
|
115
|
+
"TRY0",
|
|
116
|
+
]
|
|
117
|
+
lint.pydocstyle.convention = "google"
|
|
118
|
+
|
|
119
|
+
[tool.ruff.lint.per-file-ignores]
|
|
120
|
+
"__init__.py" = ["F401"]
|
|
121
|
+
"tests/*.py" = ["ANN001", "D100", "D103", "D104", "B018", "PERF", "T", "N"]
|
|
122
|
+
"benchmarks/*.py" = ["ANN001", "D100", "D103", "D104", "B018", "PERF", "T", "N"]
|
|
123
|
+
"reflex/.templates/*.py" = ["D100", "D103", "D104"]
|
|
124
|
+
"*.pyi" = ["D301", "D415", "D417", "D418", "E742", "N", "PGH"]
|
|
125
|
+
"pyi_generator.py" = ["N802"]
|
|
126
|
+
"reflex/constants/*.py" = ["N"]
|
|
127
|
+
"*/blank.py" = ["I001"]
|
|
128
|
+
|
|
129
|
+
[tool.pytest.ini_options]
|
|
130
|
+
filterwarnings = "ignore:fields may not start with an underscore:RuntimeWarning"
|
|
131
|
+
asyncio_default_fixture_loop_scope = "function"
|
|
132
|
+
asyncio_mode = "auto"
|
|
133
|
+
|
|
134
|
+
[tool.codespell]
|
|
135
|
+
skip = "docs/*,*.html,examples/*, *.pyi, poetry.lock, uv.lock"
|
|
136
|
+
ignore-words-list = "te, TreeE"
|
|
137
|
+
|
|
138
|
+
[dependency-groups]
|
|
139
|
+
dev = [
|
|
140
|
+
"asynctest >=0.13.0,<1.0",
|
|
141
|
+
"darglint >=1.8.1,<2.0",
|
|
142
|
+
"dill >=0.3.8",
|
|
143
|
+
"granian[reload] >= 2.0.0",
|
|
144
|
+
"numpy >=2.2.3,<3.0",
|
|
145
|
+
"pandas >=2.1.1,<3.0",
|
|
146
|
+
"pillow >=10.0.0,<12.0",
|
|
147
|
+
"playwright >=1.46.0",
|
|
148
|
+
"plotly >=5.13.0,<6.0",
|
|
149
|
+
"pre-commit >=4.1.0,<5.0",
|
|
150
|
+
"psycopg[binary] >=3.2.6,<4.0",
|
|
151
|
+
"pyright >=1.1.396,<1.2",
|
|
152
|
+
"pytest >=7.1.2,<9.0",
|
|
153
|
+
"pytest-asyncio >=0.24.0",
|
|
154
|
+
"pytest-benchmark >=4.0.0,<6.0",
|
|
155
|
+
"pytest-codspeed >=3.1.2,<4.0.0",
|
|
156
|
+
"pytest-cov >=4.0.0,<7.0",
|
|
157
|
+
"pytest-mock >=3.10.0,<4.0",
|
|
158
|
+
"pytest-playwright >=0.5.1",
|
|
159
|
+
"pytest-retry >=1.7.0,<2.0",
|
|
160
|
+
"pytest-split >=0.10.0,<1.0",
|
|
161
|
+
"ruff ==0.9.10",
|
|
162
|
+
"selenium >=4.11.0,<5.0",
|
|
163
|
+
"toml >=0.10.2,<1.0",
|
|
164
|
+
]
|
|
@@ -74,6 +74,7 @@ class MiddlewareMixin(AppMixin):
|
|
|
74
74
|
Returns:
|
|
75
75
|
The state update to return.
|
|
76
76
|
"""
|
|
77
|
+
out = update
|
|
77
78
|
for middleware in self._middlewares:
|
|
78
79
|
if asyncio.iscoroutinefunction(middleware.postprocess):
|
|
79
80
|
out = await middleware.postprocess(
|
|
@@ -89,6 +90,4 @@ class MiddlewareMixin(AppMixin):
|
|
|
89
90
|
event=event,
|
|
90
91
|
update=update,
|
|
91
92
|
)
|
|
92
|
-
|
|
93
|
-
return out # pyright: ignore [reportReturnType]
|
|
94
|
-
return update
|
|
93
|
+
return out # pyright: ignore[reportReturnType]
|
|
@@ -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()
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
"""Extract and upload benchmarking data to PostHog."""
|
|
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) -> dict:
|
|
14
|
-
"""Extracts the stats from the JSON data and returns them as dictionaries.
|
|
15
|
-
|
|
16
|
-
Args:
|
|
17
|
-
json_file: The JSON file to extract the stats data from.
|
|
18
|
-
|
|
19
|
-
Returns:
|
|
20
|
-
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
|
-
result = data.get("results", [{}])[0]
|
|
29
|
-
return {
|
|
30
|
-
k: v
|
|
31
|
-
for k, v in result.items()
|
|
32
|
-
if k in ("mean", "stddev", "median", "min", "max")
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
def insert_benchmarking_data(
|
|
37
|
-
os_type_version: str,
|
|
38
|
-
python_version: str,
|
|
39
|
-
performance_data: dict,
|
|
40
|
-
commit_sha: str,
|
|
41
|
-
pr_title: str,
|
|
42
|
-
branch_name: str,
|
|
43
|
-
pr_id: str,
|
|
44
|
-
app_name: str,
|
|
45
|
-
):
|
|
46
|
-
"""Insert the benchmarking data into the database.
|
|
47
|
-
|
|
48
|
-
Args:
|
|
49
|
-
os_type_version: The OS type and version to insert.
|
|
50
|
-
python_version: The Python version to insert.
|
|
51
|
-
performance_data: The imports performance data to insert.
|
|
52
|
-
commit_sha: The commit SHA to insert.
|
|
53
|
-
pr_title: The PR title to insert.
|
|
54
|
-
branch_name: The name of the branch.
|
|
55
|
-
pr_id: Id of the PR.
|
|
56
|
-
app_name: The name of the app being measured.
|
|
57
|
-
"""
|
|
58
|
-
properties = {
|
|
59
|
-
"os": os_type_version,
|
|
60
|
-
"python_version": python_version,
|
|
61
|
-
"distinct_id": commit_sha,
|
|
62
|
-
"pr_title": pr_title,
|
|
63
|
-
"branch_name": branch_name,
|
|
64
|
-
"pr_id": pr_id,
|
|
65
|
-
"performance": performance_data,
|
|
66
|
-
"app_name": app_name,
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
send_data_to_posthog("import_benchmark", properties)
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
def main():
|
|
73
|
-
"""Runs the benchmarks and inserts the results."""
|
|
74
|
-
# Get the commit SHA and JSON directory from the command line arguments
|
|
75
|
-
parser = argparse.ArgumentParser(description="Run benchmarks and process results.")
|
|
76
|
-
parser.add_argument(
|
|
77
|
-
"--os", help="The OS type and version to insert into the database."
|
|
78
|
-
)
|
|
79
|
-
parser.add_argument(
|
|
80
|
-
"--python-version", help="The Python version to insert into the database."
|
|
81
|
-
)
|
|
82
|
-
parser.add_argument(
|
|
83
|
-
"--commit-sha", help="The commit SHA to insert into the database."
|
|
84
|
-
)
|
|
85
|
-
parser.add_argument(
|
|
86
|
-
"--benchmark-json",
|
|
87
|
-
help="The JSON file containing the benchmark results.",
|
|
88
|
-
)
|
|
89
|
-
parser.add_argument(
|
|
90
|
-
"--pr-title",
|
|
91
|
-
help="The PR title to insert into the database.",
|
|
92
|
-
)
|
|
93
|
-
parser.add_argument(
|
|
94
|
-
"--branch-name",
|
|
95
|
-
help="The current branch",
|
|
96
|
-
required=True,
|
|
97
|
-
)
|
|
98
|
-
parser.add_argument(
|
|
99
|
-
"--app-name",
|
|
100
|
-
help="The name of the app measured.",
|
|
101
|
-
required=True,
|
|
102
|
-
)
|
|
103
|
-
parser.add_argument(
|
|
104
|
-
"--pr-id",
|
|
105
|
-
help="ID of the PR.",
|
|
106
|
-
required=True,
|
|
107
|
-
)
|
|
108
|
-
args = parser.parse_args()
|
|
109
|
-
|
|
110
|
-
# Get the PR title from env or the args. For the PR merge or push event, there is no PR title, leaving it empty.
|
|
111
|
-
pr_title = args.pr_title or os.getenv("PR_TITLE", "")
|
|
112
|
-
|
|
113
|
-
cleaned_benchmark_results = extract_stats_from_json(args.benchmark_json)
|
|
114
|
-
# Insert the data into the database
|
|
115
|
-
insert_benchmarking_data(
|
|
116
|
-
os_type_version=args.os,
|
|
117
|
-
python_version=args.python_version,
|
|
118
|
-
performance_data=cleaned_benchmark_results,
|
|
119
|
-
commit_sha=args.commit_sha,
|
|
120
|
-
pr_title=pr_title,
|
|
121
|
-
branch_name=args.branch_name,
|
|
122
|
-
app_name=args.app_name,
|
|
123
|
-
pr_id=args.pr_id,
|
|
124
|
-
)
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
if __name__ == "__main__":
|
|
128
|
-
main()
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
"""Extracts the Lighthouse scores from the JSON files in the specified directory and inserts them into the database."""
|
|
2
|
-
|
|
3
|
-
from __future__ import annotations
|
|
4
|
-
|
|
5
|
-
import json
|
|
6
|
-
import sys
|
|
7
|
-
from pathlib import Path
|
|
8
|
-
|
|
9
|
-
from utils import send_data_to_posthog
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
def insert_benchmarking_data(
|
|
13
|
-
lighthouse_data: dict,
|
|
14
|
-
commit_sha: str,
|
|
15
|
-
):
|
|
16
|
-
"""Insert the benchmarking data into the database.
|
|
17
|
-
|
|
18
|
-
Args:
|
|
19
|
-
lighthouse_data: The Lighthouse data to insert.
|
|
20
|
-
commit_sha: The commit SHA to insert.
|
|
21
|
-
"""
|
|
22
|
-
properties = {
|
|
23
|
-
"distinct_id": commit_sha,
|
|
24
|
-
"lighthouse_data": lighthouse_data,
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
# Send the data to PostHog
|
|
28
|
-
send_data_to_posthog("lighthouse_benchmark", properties)
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
def get_lighthouse_scores(directory_path: str | Path) -> dict:
|
|
32
|
-
"""Extracts the Lighthouse scores from the JSON files in the specified directory.
|
|
33
|
-
|
|
34
|
-
Args:
|
|
35
|
-
directory_path (str): The path to the directory containing the JSON files.
|
|
36
|
-
|
|
37
|
-
Returns:
|
|
38
|
-
dict: The Lighthouse scores.
|
|
39
|
-
"""
|
|
40
|
-
scores = {}
|
|
41
|
-
directory_path = Path(directory_path)
|
|
42
|
-
try:
|
|
43
|
-
for filename in directory_path.iterdir():
|
|
44
|
-
if filename.suffix == ".json" and filename.stem != "manifest":
|
|
45
|
-
data = json.loads(filename.read_text())
|
|
46
|
-
# Extract scores and add them to the dictionary with the filename as key
|
|
47
|
-
scores[data["finalUrl"].replace("http://localhost:3000/", "/")] = {
|
|
48
|
-
"performance_score": data["categories"]["performance"]["score"],
|
|
49
|
-
"accessibility_score": data["categories"]["accessibility"]["score"],
|
|
50
|
-
"best_practices_score": data["categories"]["best-practices"][
|
|
51
|
-
"score"
|
|
52
|
-
],
|
|
53
|
-
"seo_score": data["categories"]["seo"]["score"],
|
|
54
|
-
}
|
|
55
|
-
except Exception as e:
|
|
56
|
-
return {"error": e}
|
|
57
|
-
|
|
58
|
-
return scores
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
def main():
|
|
62
|
-
"""Runs the benchmarks and inserts the results into the database."""
|
|
63
|
-
# Get the commit SHA and JSON directory from the command line arguments
|
|
64
|
-
commit_sha = sys.argv[1]
|
|
65
|
-
json_dir = sys.argv[2]
|
|
66
|
-
|
|
67
|
-
# Get the Lighthouse scores
|
|
68
|
-
lighthouse_scores = get_lighthouse_scores(json_dir)
|
|
69
|
-
|
|
70
|
-
# Insert the data into the database
|
|
71
|
-
insert_benchmarking_data(lighthouse_scores, commit_sha)
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
if __name__ == "__main__":
|
|
75
|
-
main()
|