reflex 0.7.4a0__tar.gz → 0.7.4a1__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.4a0 → reflex-0.7.4a1}/PKG-INFO +3 -3
- {reflex-0.7.4a0 → reflex-0.7.4a1}/README.md +1 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/pyproject.toml +6 -5
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/app.py +16 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/compiler/compiler.py +2 -4
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/core/client_side_routing.py +3 -3
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/core/cond.py +20 -12
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/dynamic.py +2 -4
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/lucide/icon.py +20 -27
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/config.py +17 -17
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/custom_components/custom_components.py +8 -3
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/reflex.py +18 -4
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/state.py +1 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/utils/exec.py +136 -60
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/utils/prerequisites.py +20 -1
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/utils/processes.py +4 -4
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/vars/base.py +2 -3
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/vars/sequence.py +84 -0
- reflex-0.7.4a0/reflex/app_module_for_backend.py +0 -33
- {reflex-0.7.4a0 → reflex-0.7.4a1}/.gitignore +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/LICENSE +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/apps/blank/assets/favicon.ico +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/apps/blank/code/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/apps/blank/code/blank.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/jinja/app/rxconfig.py.jinja2 +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/jinja/custom_components/README.md.jinja2 +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/jinja/custom_components/__init__.py.jinja2 +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/jinja/custom_components/demo_app.py.jinja2 +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/jinja/custom_components/pyproject.toml.jinja2 +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/jinja/custom_components/src.py.jinja2 +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/jinja/web/package.json.jinja2 +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/jinja/web/pages/_app.js.jinja2 +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/jinja/web/pages/_document.js.jinja2 +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/jinja/web/pages/component.js.jinja2 +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/jinja/web/pages/index.js.jinja2 +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/jinja/web/pages/macros.js.jinja2 +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/jinja/web/pages/stateful_components.js.jinja2 +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/jinja/web/pages/utils.js.jinja2 +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/jinja/web/styles/styles.css.jinja2 +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/jinja/web/tailwind.config.js.jinja2 +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/jinja/web/utils/context.js.jinja2 +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/jinja/web/utils/theme.js.jinja2 +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/web/.gitignore +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/web/components/shiki/code.js +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/web/jsconfig.json +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/web/next.config.js +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/web/postcss.config.js +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/web/styles/tailwind.css +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/web/utils/client_side_routing.js +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/web/utils/helpers/dataeditor.js +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/web/utils/helpers/debounce.js +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/web/utils/helpers/paste.js +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/web/utils/helpers/range.js +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/web/utils/helpers/throttle.js +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/.templates/web/utils/state.js +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/__init__.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/__main__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/admin.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/app_mixins/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/app_mixins/lifespan.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/app_mixins/middleware.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/app_mixins/mixin.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/assets.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/base.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/compiler/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/compiler/templates.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/compiler/utils.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/__init__.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/base/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/base/__init__.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/base/app_wrap.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/base/app_wrap.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/base/bare.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/base/body.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/base/body.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/base/document.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/base/document.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/base/error_boundary.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/base/error_boundary.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/base/fragment.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/base/fragment.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/base/head.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/base/head.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/base/link.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/base/link.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/base/meta.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/base/meta.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/base/script.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/base/script.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/base/strict_mode.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/base/strict_mode.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/component.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/core/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/core/__init__.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/core/auto_scroll.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/core/auto_scroll.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/core/banner.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/core/banner.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/core/breakpoints.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/core/client_side_routing.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/core/clipboard.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/core/clipboard.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/core/colors.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/core/debounce.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/core/debounce.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/core/foreach.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/core/html.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/core/html.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/core/layout/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/core/match.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/core/responsive.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/core/sticky.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/core/sticky.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/core/upload.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/core/upload.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/datadisplay/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/datadisplay/__init__.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/datadisplay/code.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/datadisplay/code.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/datadisplay/dataeditor.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/datadisplay/dataeditor.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/datadisplay/logo.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/datadisplay/shiki_code_block.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/datadisplay/shiki_code_block.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/el/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/el/__init__.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/el/constants/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/el/constants/html.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/el/constants/react.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/el/constants/reflex.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/el/element.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/el/element.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/el/elements/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/el/elements/__init__.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/el/elements/base.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/el/elements/base.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/el/elements/forms.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/el/elements/forms.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/el/elements/inline.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/el/elements/inline.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/el/elements/media.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/el/elements/media.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/el/elements/metadata.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/el/elements/metadata.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/el/elements/other.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/el/elements/other.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/el/elements/scripts.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/el/elements/scripts.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/el/elements/sectioning.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/el/elements/sectioning.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/el/elements/tables.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/el/elements/tables.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/el/elements/typography.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/el/elements/typography.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/gridjs/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/gridjs/datatable.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/gridjs/datatable.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/literals.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/lucide/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/lucide/icon.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/markdown/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/markdown/markdown.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/markdown/markdown.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/moment/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/moment/moment.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/moment/moment.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/next/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/next/base.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/next/base.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/next/image.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/next/image.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/next/link.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/next/link.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/next/video.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/next/video.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/plotly/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/plotly/plotly.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/plotly/plotly.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/props.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/__init__.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/primitives/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/primitives/__init__.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/primitives/accordion.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/primitives/accordion.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/primitives/base.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/primitives/base.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/primitives/drawer.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/primitives/drawer.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/primitives/form.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/primitives/form.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/primitives/progress.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/primitives/progress.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/primitives/slider.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/primitives/slider.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/__init__.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/base.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/base.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/color_mode.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/color_mode.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/__init__.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/alert_dialog.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/alert_dialog.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/aspect_ratio.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/aspect_ratio.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/avatar.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/avatar.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/badge.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/badge.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/button.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/button.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/callout.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/callout.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/card.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/card.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/checkbox.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/checkbox.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/checkbox_cards.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/checkbox_cards.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/checkbox_group.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/checkbox_group.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/context_menu.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/context_menu.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/data_list.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/data_list.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/dialog.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/dialog.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/dropdown_menu.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/dropdown_menu.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/hover_card.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/hover_card.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/icon_button.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/icon_button.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/inset.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/inset.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/popover.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/popover.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/progress.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/progress.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/radio.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/radio.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/radio_cards.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/radio_cards.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/radio_group.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/radio_group.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/scroll_area.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/scroll_area.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/segmented_control.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/segmented_control.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/select.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/select.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/separator.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/separator.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/skeleton.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/skeleton.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/slider.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/slider.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/spinner.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/spinner.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/switch.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/switch.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/table.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/table.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/tabs.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/tabs.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/text_area.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/text_area.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/text_field.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/text_field.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/tooltip.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/components/tooltip.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/layout/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/layout/__init__.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/layout/base.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/layout/base.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/layout/box.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/layout/box.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/layout/center.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/layout/center.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/layout/container.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/layout/container.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/layout/flex.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/layout/flex.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/layout/grid.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/layout/grid.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/layout/list.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/layout/list.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/layout/section.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/layout/section.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/layout/spacer.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/layout/spacer.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/layout/stack.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/layout/stack.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/typography/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/typography/__init__.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/typography/base.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/typography/blockquote.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/typography/blockquote.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/typography/code.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/typography/code.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/typography/heading.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/typography/heading.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/typography/link.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/typography/link.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/typography/text.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/radix/themes/typography/text.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/react_player/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/react_player/audio.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/react_player/audio.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/react_player/react_player.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/react_player/react_player.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/react_player/video.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/react_player/video.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/recharts/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/recharts/__init__.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/recharts/cartesian.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/recharts/cartesian.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/recharts/charts.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/recharts/charts.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/recharts/general.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/recharts/general.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/recharts/polar.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/recharts/polar.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/recharts/recharts.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/recharts/recharts.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/sonner/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/sonner/toast.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/sonner/toast.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/suneditor/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/suneditor/editor.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/suneditor/editor.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/tags/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/tags/cond_tag.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/tags/iter_tag.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/tags/match_tag.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/tags/tag.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/components/tags/tagless.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/constants/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/constants/base.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/constants/colors.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/constants/compiler.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/constants/config.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/constants/custom_components.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/constants/event.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/constants/installer.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/constants/route.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/constants/state.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/constants/style.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/constants/utils.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/custom_components/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/event.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/experimental/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/experimental/client_state.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/experimental/hooks.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/experimental/layout.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/experimental/layout.pyi +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/experimental/misc.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/istate/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/istate/data.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/istate/dynamic.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/istate/proxy.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/istate/storage.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/istate/wrappers.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/middleware/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/middleware/hydrate_middleware.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/middleware/middleware.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/model.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/page.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/py.typed +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/route.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/style.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/testing.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/utils/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/utils/build.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/utils/codespaces.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/utils/compat.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/utils/console.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/utils/decorator.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/utils/exceptions.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/utils/export.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/utils/format.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/utils/imports.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/utils/lazy_loader.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/utils/net.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/utils/path_ops.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/utils/pyi_generator.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/utils/redir.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/utils/registry.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/utils/serializers.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/utils/telemetry.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/utils/types.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/vars/__init__.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/vars/datetime.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/vars/dep_tracking.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/vars/function.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/vars/number.py +0 -0
- {reflex-0.7.4a0 → reflex-0.7.4a1}/reflex/vars/object.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: reflex
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.4a1
|
|
4
4
|
Summary: Web apps in pure Python.
|
|
5
5
|
Project-URL: homepage, https://reflex.dev
|
|
6
6
|
Project-URL: repository, https://github.com/reflex-dev/reflex
|
|
@@ -23,7 +23,7 @@ Requires-Dist: build<2.0,>=1.0.3
|
|
|
23
23
|
Requires-Dist: charset-normalizer<4.0,>=3.3.2
|
|
24
24
|
Requires-Dist: distro<2.0,>=1.8.0; platform_system == 'Linux'
|
|
25
25
|
Requires-Dist: fastapi!=0.111.0,!=0.111.1,>=0.96.0
|
|
26
|
-
Requires-Dist:
|
|
26
|
+
Requires-Dist: granian[reload]>=2.0.0
|
|
27
27
|
Requires-Dist: httpx<1.0,>=0.25.1
|
|
28
28
|
Requires-Dist: jinja2<4.0,>=3.1.2
|
|
29
29
|
Requires-Dist: lazy-loader>=0.4
|
|
@@ -44,7 +44,6 @@ Requires-Dist: tomlkit<1.0,>=0.12.4
|
|
|
44
44
|
Requires-Dist: twine<7.0,>=4.0.0
|
|
45
45
|
Requires-Dist: typer<1.0,>=0.15.1
|
|
46
46
|
Requires-Dist: typing-extensions>=4.6.0
|
|
47
|
-
Requires-Dist: uvicorn>=0.20.0
|
|
48
47
|
Requires-Dist: wheel<1.0,>=0.42.0
|
|
49
48
|
Requires-Dist: wrapt<2.0,>=1.17.0
|
|
50
49
|
Description-Content-Type: text/markdown
|
|
@@ -60,6 +59,7 @@ Description-Content-Type: text/markdown
|
|
|
60
59
|
[](https://badge.fury.io/py/reflex)
|
|
61
60
|

|
|
62
61
|
[](https://reflex.dev/docs/getting-started/introduction)
|
|
62
|
+
[](https://pepy.tech/projects/reflex)
|
|
63
63
|
[](https://discord.gg/T5WSbC2YtQ)
|
|
64
64
|
|
|
65
65
|
</div>
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
[](https://badge.fury.io/py/reflex)
|
|
10
10
|

|
|
11
11
|
[](https://reflex.dev/docs/getting-started/introduction)
|
|
12
|
+
[](https://pepy.tech/projects/reflex)
|
|
12
13
|
[](https://discord.gg/T5WSbC2YtQ)
|
|
13
14
|
|
|
14
15
|
</div>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "reflex"
|
|
3
|
-
version = "0.7.
|
|
3
|
+
version = "0.7.4a1"
|
|
4
4
|
description = "Web apps in pure Python."
|
|
5
5
|
license = { text = "Apache-2.0" }
|
|
6
6
|
authors = [
|
|
@@ -25,7 +25,7 @@ dependencies = [
|
|
|
25
25
|
"charset-normalizer >=3.3.2,<4.0",
|
|
26
26
|
"distro >=1.8.0,<2.0; platform_system == 'Linux'",
|
|
27
27
|
"fastapi >=0.96.0,!=0.111.0,!=0.111.1",
|
|
28
|
-
"
|
|
28
|
+
"granian[reload] >=2.0.0",
|
|
29
29
|
"httpx >=0.25.1,<1.0",
|
|
30
30
|
"jinja2 >=3.1.2,<4.0",
|
|
31
31
|
"lazy_loader >=0.4",
|
|
@@ -46,7 +46,6 @@ dependencies = [
|
|
|
46
46
|
"twine >=4.0.0,<7.0",
|
|
47
47
|
"typer >=0.15.1,<1.0",
|
|
48
48
|
"typing_extensions >=4.6.0",
|
|
49
|
-
"uvicorn >=0.20.0",
|
|
50
49
|
"wheel >=0.42.0,<1.0",
|
|
51
50
|
"wrapt >=1.17.0,<2.0",
|
|
52
51
|
]
|
|
@@ -140,7 +139,7 @@ dev = [
|
|
|
140
139
|
"asynctest >=0.13.0,<1.0",
|
|
141
140
|
"darglint >=1.8.1,<2.0",
|
|
142
141
|
"dill >=0.3.8",
|
|
143
|
-
"
|
|
142
|
+
"libsass >=0.23.0,<1.0",
|
|
144
143
|
"numpy >=2.2.3,<3.0",
|
|
145
144
|
"pandas >=2.1.1,<3.0",
|
|
146
145
|
"pillow >=10.0.0,<12.0",
|
|
@@ -158,7 +157,9 @@ dev = [
|
|
|
158
157
|
"pytest-playwright >=0.5.1",
|
|
159
158
|
"pytest-retry >=1.7.0,<2.0",
|
|
160
159
|
"pytest-split >=0.10.0,<1.0",
|
|
161
|
-
"
|
|
160
|
+
"python-dotenv >=1,<2",
|
|
161
|
+
"ruff ==0.11.0",
|
|
162
162
|
"selenium >=4.11.0,<5.0",
|
|
163
163
|
"toml >=0.10.2,<1.0",
|
|
164
|
+
"uvicorn >=0.20.0",
|
|
164
165
|
]
|
|
@@ -576,6 +576,22 @@ class App(MiddlewareMixin, LifespanMixin):
|
|
|
576
576
|
"""
|
|
577
577
|
if not self.api:
|
|
578
578
|
raise ValueError("The app has not been initialized.")
|
|
579
|
+
|
|
580
|
+
# For py3.9 compatibility when redis is used, we MUST add any decorator pages
|
|
581
|
+
# before compiling the app in a thread to avoid event loop error (REF-2172).
|
|
582
|
+
self._apply_decorated_pages()
|
|
583
|
+
|
|
584
|
+
compile_future = concurrent.futures.ThreadPoolExecutor(max_workers=1).submit(
|
|
585
|
+
self._compile
|
|
586
|
+
)
|
|
587
|
+
compile_future.add_done_callback(
|
|
588
|
+
# Force background compile errors to print eagerly
|
|
589
|
+
lambda f: f.result()
|
|
590
|
+
)
|
|
591
|
+
# Wait for the compile to finish in prod mode to ensure all optional endpoints are mounted.
|
|
592
|
+
if is_prod_mode():
|
|
593
|
+
compile_future.result()
|
|
594
|
+
|
|
579
595
|
return self.api
|
|
580
596
|
|
|
581
597
|
def _add_default_endpoints(self):
|
|
@@ -368,13 +368,11 @@ def _compile_stateful_components(
|
|
|
368
368
|
|
|
369
369
|
# Include dynamic imports in the shared component.
|
|
370
370
|
if dynamic_imports := component._get_all_dynamic_imports():
|
|
371
|
-
rendered_components.update(
|
|
372
|
-
{dynamic_import: None for dynamic_import in dynamic_imports}
|
|
373
|
-
)
|
|
371
|
+
rendered_components.update(dict.fromkeys(dynamic_imports))
|
|
374
372
|
|
|
375
373
|
# Include custom code in the shared component.
|
|
376
374
|
rendered_components.update(
|
|
377
|
-
|
|
375
|
+
dict.fromkeys(component._get_all_custom_code()),
|
|
378
376
|
)
|
|
379
377
|
|
|
380
378
|
# Include all imports in the shared component.
|
|
@@ -53,9 +53,9 @@ def wait_for_client_redirect(component: Component) -> Component:
|
|
|
53
53
|
The conditionally rendered component.
|
|
54
54
|
"""
|
|
55
55
|
return cond(
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
route_not_found,
|
|
57
|
+
component,
|
|
58
|
+
ClientSideRouting.create(),
|
|
59
59
|
)
|
|
60
60
|
|
|
61
61
|
|
|
@@ -31,7 +31,7 @@ class Cond(MemoizationLeaf):
|
|
|
31
31
|
cls,
|
|
32
32
|
cond: Var,
|
|
33
33
|
comp1: BaseComponent,
|
|
34
|
-
comp2: BaseComponent |
|
|
34
|
+
comp2: BaseComponent | types.Unset = types.Unset(),
|
|
35
35
|
) -> Component:
|
|
36
36
|
"""Create a conditional component.
|
|
37
37
|
|
|
@@ -44,10 +44,14 @@ class Cond(MemoizationLeaf):
|
|
|
44
44
|
The conditional component.
|
|
45
45
|
"""
|
|
46
46
|
# Wrap everything in fragments.
|
|
47
|
-
if type(comp1)
|
|
47
|
+
if type(comp1) is not Fragment:
|
|
48
48
|
comp1 = Fragment.create(comp1)
|
|
49
|
-
if comp2
|
|
50
|
-
comp2 =
|
|
49
|
+
if isinstance(comp2, types.Unset) or type(comp2) is not Fragment:
|
|
50
|
+
comp2 = (
|
|
51
|
+
Fragment.create(comp2)
|
|
52
|
+
if not isinstance(comp2, types.Unset)
|
|
53
|
+
else Fragment.create()
|
|
54
|
+
)
|
|
51
55
|
return Fragment.create(
|
|
52
56
|
cls._create(
|
|
53
57
|
children=[comp1, comp2],
|
|
@@ -96,18 +100,22 @@ class Cond(MemoizationLeaf):
|
|
|
96
100
|
|
|
97
101
|
|
|
98
102
|
@overload
|
|
99
|
-
def cond(condition: Any, c1: Component, c2: Any) -> Component: ... # pyright: ignore [reportOverlappingOverload]
|
|
103
|
+
def cond(condition: Any, c1: Component, c2: Any, /) -> Component: ... # pyright: ignore [reportOverlappingOverload]
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
@overload
|
|
107
|
+
def cond(condition: Any, c1: Component, /) -> Component: ...
|
|
100
108
|
|
|
101
109
|
|
|
102
110
|
@overload
|
|
103
|
-
def cond(condition: Any, c1: Component) -> Component: ...
|
|
111
|
+
def cond(condition: Any, c1: Any, c2: Component, /) -> Component: ... # pyright: ignore [reportOverlappingOverload]
|
|
104
112
|
|
|
105
113
|
|
|
106
114
|
@overload
|
|
107
|
-
def cond(condition: Any, c1: Any, c2: Any) -> Var: ...
|
|
115
|
+
def cond(condition: Any, c1: Any, c2: Any, /) -> Var: ...
|
|
108
116
|
|
|
109
117
|
|
|
110
|
-
def cond(condition: Any, c1: Any, c2: Any =
|
|
118
|
+
def cond(condition: Any, c1: Any, c2: Any = types.Unset(), /) -> Component | Var:
|
|
111
119
|
"""Create a conditional component or Prop.
|
|
112
120
|
|
|
113
121
|
Args:
|
|
@@ -128,15 +136,15 @@ def cond(condition: Any, c1: Any, c2: Any = None) -> Component | Var:
|
|
|
128
136
|
|
|
129
137
|
# If the first component is a component, create a Cond component.
|
|
130
138
|
if isinstance(c1, BaseComponent):
|
|
131
|
-
if c2
|
|
132
|
-
|
|
139
|
+
if not isinstance(c2, types.Unset) and not isinstance(c2, BaseComponent):
|
|
140
|
+
return Cond.create(cond_var.bool(), c1, Fragment.create(c2))
|
|
133
141
|
return Cond.create(cond_var.bool(), c1, c2)
|
|
134
142
|
|
|
135
143
|
# Otherwise, create a conditional Var.
|
|
136
144
|
# Check that the second argument is valid.
|
|
137
145
|
if isinstance(c2, BaseComponent):
|
|
138
|
-
|
|
139
|
-
if c2
|
|
146
|
+
return Cond.create(cond_var.bool(), Fragment.create(c1), c2)
|
|
147
|
+
if isinstance(c2, types.Unset):
|
|
140
148
|
raise ValueError("For conditional vars, the second argument must be set.")
|
|
141
149
|
|
|
142
150
|
# convert the truth and false cond parts into vars so the _var_data can be obtained.
|
|
@@ -72,13 +72,11 @@ def load_dynamic_serializer():
|
|
|
72
72
|
rendered_components = {}
|
|
73
73
|
# Include dynamic imports in the shared component.
|
|
74
74
|
if dynamic_imports := component._get_all_dynamic_imports():
|
|
75
|
-
rendered_components.update(
|
|
76
|
-
{dynamic_import: None for dynamic_import in dynamic_imports}
|
|
77
|
-
)
|
|
75
|
+
rendered_components.update(dict.fromkeys(dynamic_imports))
|
|
78
76
|
|
|
79
77
|
# Include custom code in the shared component.
|
|
80
78
|
rendered_components.update(
|
|
81
|
-
|
|
79
|
+
dict.fromkeys(component._get_all_custom_code()),
|
|
82
80
|
)
|
|
83
81
|
|
|
84
82
|
rendered_components[
|
|
@@ -53,42 +53,35 @@ class Icon(LucideIconComponent):
|
|
|
53
53
|
if "tag" not in props:
|
|
54
54
|
raise AttributeError("Missing 'tag' keyword-argument for Icon")
|
|
55
55
|
|
|
56
|
-
|
|
57
|
-
if isinstance(
|
|
58
|
-
if isinstance(
|
|
59
|
-
tag =
|
|
56
|
+
tag_var: Var | LiteralVar = Var.create(props.pop("tag"))
|
|
57
|
+
if isinstance(tag_var, LiteralVar):
|
|
58
|
+
if isinstance(tag_var, LiteralStringVar):
|
|
59
|
+
tag = format.to_snake_case(tag_var._var_value.lower())
|
|
60
60
|
else:
|
|
61
|
-
raise TypeError(f"Icon name must be a string, got {type(
|
|
62
|
-
elif isinstance(
|
|
63
|
-
tag_stringified =
|
|
61
|
+
raise TypeError(f"Icon name must be a string, got {type(tag_var)}")
|
|
62
|
+
elif isinstance(tag_var, Var):
|
|
63
|
+
tag_stringified = tag_var.guess_type()
|
|
64
64
|
if not isinstance(tag_stringified, StringVar):
|
|
65
|
-
raise TypeError(f"Icon name must be a string, got {
|
|
65
|
+
raise TypeError(f"Icon name must be a string, got {tag_var._var_type}")
|
|
66
66
|
return DynamicIcon.create(name=tag_stringified.replace("_", "-"), **props)
|
|
67
67
|
|
|
68
|
-
if
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
tag, s
|
|
77
|
-
),
|
|
78
|
-
reverse=True,
|
|
79
|
-
)
|
|
80
|
-
else:
|
|
81
|
-
icons_sorted = LUCIDE_ICON_LIST
|
|
68
|
+
if tag not in LUCIDE_ICON_LIST:
|
|
69
|
+
icons_sorted = sorted(
|
|
70
|
+
LUCIDE_ICON_LIST,
|
|
71
|
+
key=lambda s, tag=tag: format.length_of_largest_common_substring(
|
|
72
|
+
tag, s
|
|
73
|
+
),
|
|
74
|
+
reverse=True,
|
|
75
|
+
)
|
|
82
76
|
console.warn(
|
|
83
77
|
f"Invalid icon tag: {tag}. Please use one of the following: {', '.join(icons_sorted[0:10])}, ..."
|
|
84
78
|
"\nSee full list at https://reflex.dev/docs/library/data-display/icon/#icons-list. Using 'circle-help' icon instead."
|
|
85
79
|
)
|
|
86
|
-
tag = "
|
|
80
|
+
tag = "circle_help"
|
|
87
81
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
props["tag"] = format.to_title_case(format.to_snake_case(tag)) + "Icon"
|
|
82
|
+
props["tag"] = LUCIDE_ICON_MAPPING_OVERRIDE.get(
|
|
83
|
+
tag, format.to_title_case(tag) + "Icon"
|
|
84
|
+
)
|
|
92
85
|
props["alias"] = f"Lucide{props['tag']}"
|
|
93
86
|
props.setdefault("color", "var(--current-color)")
|
|
94
87
|
return super().create(**props)
|
|
@@ -30,7 +30,6 @@ from typing import (
|
|
|
30
30
|
)
|
|
31
31
|
|
|
32
32
|
import pydantic.v1 as pydantic
|
|
33
|
-
from reflex_cli.constants.hosting import Hosting
|
|
34
33
|
|
|
35
34
|
from reflex import constants
|
|
36
35
|
from reflex.base import Base
|
|
@@ -602,7 +601,7 @@ class EnvironmentVariables:
|
|
|
602
601
|
# The npm registry to use.
|
|
603
602
|
NPM_CONFIG_REGISTRY: EnvVar[str | None] = env_var(None)
|
|
604
603
|
|
|
605
|
-
# Whether to use Granian for the backend.
|
|
604
|
+
# Whether to use Granian for the backend. By default, the backend uses Uvicorn if available.
|
|
606
605
|
REFLEX_USE_GRANIAN: EnvVar[bool] = env_var(False)
|
|
607
606
|
|
|
608
607
|
# The username to use for authentication on python package repository. Username and password must both be provided.
|
|
@@ -807,8 +806,8 @@ class Config(Base):
|
|
|
807
806
|
# Tailwind config.
|
|
808
807
|
tailwind: dict[str, Any] | None = {"plugins": ["@tailwindcss/typography"]}
|
|
809
808
|
|
|
810
|
-
# Timeout when launching the gunicorn server.
|
|
811
|
-
timeout: int =
|
|
809
|
+
# DEPRECATED. Timeout when launching the gunicorn server.
|
|
810
|
+
timeout: int | None = None
|
|
812
811
|
|
|
813
812
|
# Whether to enable or disable nextJS gzip compression.
|
|
814
813
|
next_compression: bool = True
|
|
@@ -819,22 +818,17 @@ class Config(Base):
|
|
|
819
818
|
# Additional frontend packages to install.
|
|
820
819
|
frontend_packages: list[str] = []
|
|
821
820
|
|
|
822
|
-
# The
|
|
823
|
-
cp_backend_url: str = Hosting.HOSTING_SERVICE
|
|
824
|
-
# The hosting service frontend URL.
|
|
825
|
-
cp_web_url: str = Hosting.HOSTING_SERVICE_UI
|
|
826
|
-
|
|
827
|
-
# The worker class used in production mode
|
|
821
|
+
# DEPRECATED. The worker class used in production mode
|
|
828
822
|
gunicorn_worker_class: str = "uvicorn.workers.UvicornH11Worker"
|
|
829
823
|
|
|
830
|
-
# Number of gunicorn workers from user
|
|
824
|
+
# DEPRECATED. Number of gunicorn workers from user
|
|
831
825
|
gunicorn_workers: int | None = None
|
|
832
826
|
|
|
833
|
-
# Number of requests before a worker is restarted; set to 0 to disable
|
|
834
|
-
gunicorn_max_requests: int =
|
|
827
|
+
# DEPRECATED. Number of requests before a worker is restarted; set to 0 to disable
|
|
828
|
+
gunicorn_max_requests: int | None = None
|
|
835
829
|
|
|
836
|
-
# Variance limit for max requests; gunicorn only
|
|
837
|
-
gunicorn_max_requests_jitter: int =
|
|
830
|
+
# DEPRECATED. Variance limit for max requests; gunicorn only
|
|
831
|
+
gunicorn_max_requests_jitter: int | None = None
|
|
838
832
|
|
|
839
833
|
# Indicate which type of state manager to use
|
|
840
834
|
state_manager_mode: constants.StateManagerMode = constants.StateManagerMode.DISK
|
|
@@ -938,8 +932,14 @@ class Config(Base):
|
|
|
938
932
|
"""The `python-dotenv` package is required to load environment variables from a file. Run `pip install "python-dotenv>=1.0.1"`."""
|
|
939
933
|
)
|
|
940
934
|
else:
|
|
941
|
-
# load env
|
|
942
|
-
|
|
935
|
+
# load env files in reverse order if they exist
|
|
936
|
+
for env_file_path in [
|
|
937
|
+
Path(p)
|
|
938
|
+
for s in reversed(env_file.split(os.pathsep))
|
|
939
|
+
if (p := s.strip())
|
|
940
|
+
]:
|
|
941
|
+
if env_file_path.exists():
|
|
942
|
+
load_dotenv(env_file_path, override=True)
|
|
943
943
|
|
|
944
944
|
updated_values = {}
|
|
945
945
|
# Iterate over the fields.
|
|
@@ -826,12 +826,19 @@ def _collect_details_for_gallery():
|
|
|
826
826
|
Raises:
|
|
827
827
|
Exit: If pyproject.toml file is ill-formed or the request to the backend services fails.
|
|
828
828
|
"""
|
|
829
|
+
import reflex_cli.constants
|
|
829
830
|
from reflex_cli.utils import hosting
|
|
830
831
|
|
|
831
832
|
console.rule("[bold]Authentication with Reflex Services")
|
|
832
833
|
console.print("First let's log in to Reflex backend services.")
|
|
833
834
|
access_token, _ = hosting.authenticated_token()
|
|
834
835
|
|
|
836
|
+
if not access_token:
|
|
837
|
+
console.error(
|
|
838
|
+
"Unable to authenticate with Reflex backend services. Make sure you are logged in."
|
|
839
|
+
)
|
|
840
|
+
raise typer.Exit(code=1)
|
|
841
|
+
|
|
835
842
|
console.rule("[bold]Custom Component Information")
|
|
836
843
|
params = {}
|
|
837
844
|
package_name = None
|
|
@@ -845,10 +852,8 @@ def _collect_details_for_gallery():
|
|
|
845
852
|
console.print(f"[ Custom component package name ] : {package_name}")
|
|
846
853
|
params["package_name"] = package_name
|
|
847
854
|
|
|
848
|
-
config = get_config()
|
|
849
|
-
|
|
850
855
|
post_custom_components_gallery_endpoint = (
|
|
851
|
-
f"{
|
|
856
|
+
f"{reflex_cli.constants.Hosting.HOSTING_SERVICE}/custom-components/gallery"
|
|
852
857
|
)
|
|
853
858
|
|
|
854
859
|
# Check the backend services if the user is allowed to update information of this package is already shared.
|
|
@@ -7,13 +7,14 @@ from pathlib import Path
|
|
|
7
7
|
|
|
8
8
|
import typer
|
|
9
9
|
import typer.core
|
|
10
|
-
from reflex_cli.v2.deployments import
|
|
10
|
+
from reflex_cli.v2.deployments import hosting_cli
|
|
11
11
|
|
|
12
12
|
from reflex import constants
|
|
13
13
|
from reflex.config import environment, get_config
|
|
14
14
|
from reflex.custom_components.custom_components import custom_components_cli
|
|
15
15
|
from reflex.state import reset_disk_state_manager
|
|
16
16
|
from reflex.utils import console, redir, telemetry
|
|
17
|
+
from reflex.utils.exec import should_use_granian
|
|
17
18
|
|
|
18
19
|
# Disable typer+rich integration for help panels
|
|
19
20
|
typer.core.rich = None # pyright: ignore [reportPrivateImportUsage]
|
|
@@ -203,9 +204,19 @@ def _run(
|
|
|
203
204
|
|
|
204
205
|
prerequisites.check_latest_package_version(constants.Reflex.MODULE_NAME)
|
|
205
206
|
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
207
|
+
# Get the app module.
|
|
208
|
+
app_task = prerequisites.compile_app if frontend else prerequisites.validate_app
|
|
209
|
+
|
|
210
|
+
# Granian fails if the app is already imported.
|
|
211
|
+
if should_use_granian():
|
|
212
|
+
import concurrent.futures
|
|
213
|
+
|
|
214
|
+
compile_future = concurrent.futures.ProcessPoolExecutor(max_workers=1).submit(
|
|
215
|
+
app_task
|
|
216
|
+
)
|
|
217
|
+
compile_future.result()
|
|
218
|
+
else:
|
|
219
|
+
app_task()
|
|
209
220
|
|
|
210
221
|
# Warn if schema is not up to date.
|
|
211
222
|
prerequisites.check_schema_up_to_date()
|
|
@@ -386,6 +397,7 @@ def export(
|
|
|
386
397
|
def login(loglevel: constants.LogLevel | None = typer.Option(None)):
|
|
387
398
|
"""Authenticate with experimental Reflex hosting service."""
|
|
388
399
|
from reflex_cli.v2 import cli as hosting_cli
|
|
400
|
+
from reflex_cli.v2.deployments import check_version
|
|
389
401
|
|
|
390
402
|
loglevel = loglevel or get_config().loglevel
|
|
391
403
|
|
|
@@ -407,6 +419,7 @@ def logout(
|
|
|
407
419
|
):
|
|
408
420
|
"""Log out of access to Reflex hosting service."""
|
|
409
421
|
from reflex_cli.v2.cli import logout
|
|
422
|
+
from reflex_cli.v2.deployments import check_version
|
|
410
423
|
|
|
411
424
|
check_version()
|
|
412
425
|
|
|
@@ -567,6 +580,7 @@ def deploy(
|
|
|
567
580
|
from reflex_cli.constants.base import LogLevel as HostingLogLevel
|
|
568
581
|
from reflex_cli.utils import dependency
|
|
569
582
|
from reflex_cli.v2 import cli as hosting_cli
|
|
583
|
+
from reflex_cli.v2.deployments import check_version
|
|
570
584
|
|
|
571
585
|
from reflex.utils import export as export_utils
|
|
572
586
|
from reflex.utils import prerequisites
|
|
@@ -1671,6 +1671,7 @@ class BaseState(Base, ABC, extra=pydantic.Extra.allow):
|
|
|
1671
1671
|
|
|
1672
1672
|
raise TypeError(
|
|
1673
1673
|
f"Your handler {handler.fn.__qualname__} must only return/yield: None, Events or other EventHandlers referenced by their class (i.e. using `type(self)` or other class references)."
|
|
1674
|
+
f" Returned events of types {', '.join(map(str, map(type, events)))!s}."
|
|
1674
1675
|
)
|
|
1675
1676
|
|
|
1676
1677
|
async def _as_state_update(
|