reflex 0.6.0a2__tar.gz → 0.6.0a3__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.6.0a2 → reflex-0.6.0a3}/PKG-INFO +3 -5
- {reflex-0.6.0a2 → reflex-0.6.0a3}/README.md +1 -1
- {reflex-0.6.0a2 → reflex-0.6.0a3}/pyproject.toml +6 -11
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/jinja/custom_components/pyproject.toml.jinja2 +2 -2
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/app.py +6 -2
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/component.py +0 -3
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/core/breakpoints.py +3 -1
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/custom_components/custom_components.py +3 -1
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/event.py +2 -2
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/state.py +1 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/utils/exceptions.py +4 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/utils/format.py +32 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/utils/telemetry.py +1 -1
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/utils/types.py +1 -1
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/vars/base.py +41 -19
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/vars/number.py +26 -3
- {reflex-0.6.0a2 → reflex-0.6.0a3}/LICENSE +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/apps/blank/assets/favicon.ico +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/apps/blank/code/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/apps/blank/code/blank.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/jinja/app/rxconfig.py.jinja2 +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/jinja/custom_components/README.md.jinja2 +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/jinja/custom_components/__init__.py.jinja2 +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/jinja/custom_components/demo_app.py.jinja2 +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/jinja/custom_components/src.py.jinja2 +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/jinja/web/package.json.jinja2 +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/jinja/web/pages/_app.js.jinja2 +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/jinja/web/pages/_document.js.jinja2 +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/jinja/web/pages/component.js.jinja2 +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/jinja/web/pages/index.js.jinja2 +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/jinja/web/pages/stateful_components.js.jinja2 +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/jinja/web/pages/utils.js.jinja2 +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/jinja/web/styles/styles.css.jinja2 +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/jinja/web/tailwind.config.js.jinja2 +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/jinja/web/utils/context.js.jinja2 +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/jinja/web/utils/theme.js.jinja2 +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/web/.gitignore +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/web/jsconfig.json +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/web/next.config.js +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/web/postcss.config.js +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/web/styles/tailwind.css +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/web/utils/client_side_routing.js +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/web/utils/helpers/dataeditor.js +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/web/utils/helpers/debounce.js +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/web/utils/helpers/paste.js +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/web/utils/helpers/range.js +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/web/utils/helpers/throttle.js +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/web/utils/state.js +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/__init__.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/__main__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/admin.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/app_mixins/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/app_mixins/lifespan.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/app_mixins/middleware.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/app_mixins/mixin.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/app_module_for_backend.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/base.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/compiler/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/compiler/compiler.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/compiler/templates.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/compiler/utils.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/__init__.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/base/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/base/__init__.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/base/app_wrap.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/base/app_wrap.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/base/bare.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/base/body.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/base/body.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/base/document.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/base/document.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/base/error_boundary.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/base/error_boundary.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/base/fragment.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/base/fragment.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/base/head.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/base/head.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/base/link.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/base/link.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/base/meta.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/base/meta.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/base/script.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/base/script.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/core/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/core/__init__.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/core/banner.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/core/banner.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/core/client_side_routing.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/core/client_side_routing.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/core/clipboard.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/core/clipboard.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/core/colors.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/core/cond.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/core/debounce.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/core/debounce.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/core/foreach.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/core/html.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/core/html.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/core/layout/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/core/match.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/core/responsive.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/core/upload.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/core/upload.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/datadisplay/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/datadisplay/__init__.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/datadisplay/code.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/datadisplay/code.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/datadisplay/dataeditor.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/datadisplay/dataeditor.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/datadisplay/logo.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/el/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/el/__init__.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/el/constants/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/el/constants/html.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/el/constants/react.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/el/constants/reflex.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/el/element.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/el/element.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/el/elements/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/el/elements/__init__.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/el/elements/base.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/el/elements/base.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/el/elements/forms.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/el/elements/forms.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/el/elements/inline.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/el/elements/inline.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/el/elements/media.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/el/elements/media.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/el/elements/metadata.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/el/elements/metadata.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/el/elements/other.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/el/elements/other.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/el/elements/scripts.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/el/elements/scripts.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/el/elements/sectioning.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/el/elements/sectioning.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/el/elements/tables.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/el/elements/tables.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/el/elements/typography.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/el/elements/typography.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/gridjs/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/gridjs/datatable.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/gridjs/datatable.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/literals.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/lucide/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/lucide/icon.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/lucide/icon.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/markdown/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/markdown/markdown.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/markdown/markdown.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/moment/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/moment/moment.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/moment/moment.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/next/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/next/base.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/next/base.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/next/image.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/next/image.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/next/link.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/next/link.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/next/video.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/next/video.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/plotly/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/plotly/plotly.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/plotly/plotly.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/props.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/__init__.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/primitives/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/primitives/__init__.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/primitives/accordion.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/primitives/accordion.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/primitives/base.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/primitives/base.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/primitives/drawer.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/primitives/drawer.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/primitives/form.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/primitives/form.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/primitives/progress.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/primitives/progress.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/primitives/slider.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/primitives/slider.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/__init__.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/base.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/base.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/color_mode.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/color_mode.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/__init__.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/alert_dialog.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/alert_dialog.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/aspect_ratio.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/aspect_ratio.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/avatar.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/avatar.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/badge.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/badge.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/button.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/button.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/callout.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/callout.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/card.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/card.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/checkbox.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/checkbox.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/checkbox_cards.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/checkbox_cards.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/checkbox_group.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/checkbox_group.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/context_menu.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/context_menu.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/data_list.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/data_list.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/dialog.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/dialog.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/dropdown_menu.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/dropdown_menu.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/hover_card.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/hover_card.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/icon_button.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/icon_button.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/inset.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/inset.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/popover.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/popover.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/progress.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/progress.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/radio.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/radio.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/radio_cards.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/radio_cards.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/radio_group.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/radio_group.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/scroll_area.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/scroll_area.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/segmented_control.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/segmented_control.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/select.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/select.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/separator.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/separator.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/skeleton.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/skeleton.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/slider.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/slider.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/spinner.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/spinner.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/switch.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/switch.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/table.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/table.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/tabs.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/tabs.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/text_area.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/text_area.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/text_field.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/text_field.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/tooltip.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/components/tooltip.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/layout/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/layout/__init__.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/layout/base.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/layout/base.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/layout/box.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/layout/box.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/layout/center.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/layout/center.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/layout/container.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/layout/container.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/layout/flex.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/layout/flex.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/layout/grid.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/layout/grid.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/layout/list.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/layout/list.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/layout/section.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/layout/section.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/layout/spacer.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/layout/spacer.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/layout/stack.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/layout/stack.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/typography/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/typography/__init__.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/typography/base.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/typography/blockquote.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/typography/blockquote.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/typography/code.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/typography/code.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/typography/heading.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/typography/heading.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/typography/link.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/typography/link.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/typography/text.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/radix/themes/typography/text.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/react_player/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/react_player/audio.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/react_player/audio.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/react_player/react_player.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/react_player/react_player.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/react_player/video.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/react_player/video.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/recharts/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/recharts/__init__.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/recharts/cartesian.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/recharts/cartesian.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/recharts/charts.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/recharts/charts.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/recharts/general.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/recharts/general.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/recharts/polar.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/recharts/polar.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/recharts/recharts.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/recharts/recharts.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/sonner/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/sonner/toast.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/sonner/toast.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/suneditor/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/suneditor/editor.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/suneditor/editor.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/tags/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/tags/cond_tag.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/tags/iter_tag.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/tags/match_tag.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/tags/tag.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/components/tags/tagless.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/config.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/constants/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/constants/base.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/constants/colors.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/constants/compiler.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/constants/config.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/constants/custom_components.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/constants/event.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/constants/installer.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/constants/route.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/constants/style.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/custom_components/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/experimental/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/experimental/assets.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/experimental/client_state.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/experimental/hooks.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/experimental/layout.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/experimental/layout.pyi +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/experimental/misc.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/middleware/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/middleware/hydrate_middleware.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/middleware/middleware.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/model.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/page.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/reflex.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/route.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/style.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/testing.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/utils/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/utils/build.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/utils/codespaces.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/utils/compat.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/utils/console.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/utils/exec.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/utils/export.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/utils/imports.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/utils/lazy_loader.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/utils/net.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/utils/path_ops.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/utils/prerequisites.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/utils/processes.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/utils/pyi_generator.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/utils/redir.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/utils/registry.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/utils/serializers.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/vars/__init__.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/vars/function.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/vars/object.py +0 -0
- {reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/vars/sequence.py +0 -0
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: reflex
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.0a3
|
|
4
4
|
Summary: Web apps in pure Python.
|
|
5
5
|
Home-page: https://reflex.dev
|
|
6
6
|
License: Apache-2.0
|
|
7
7
|
Keywords: web,framework
|
|
8
8
|
Author: Nikhil Rao
|
|
9
9
|
Author-email: nikhil@reflex.dev
|
|
10
|
-
Requires-Python: >=3.
|
|
10
|
+
Requires-Python: >=3.10,<4.0
|
|
11
11
|
Classifier: Development Status :: 4 - Beta
|
|
12
12
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
13
13
|
Classifier: Programming Language :: Python :: 3
|
|
14
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
15
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
16
14
|
Classifier: Programming Language :: Python :: 3.10
|
|
17
15
|
Classifier: Programming Language :: Python :: 3.11
|
|
18
16
|
Classifier: Programming Language :: Python :: 3.12
|
|
@@ -88,7 +86,7 @@ See our [architecture page](https://reflex.dev/blog/2024-03-21-reflex-architectu
|
|
|
88
86
|
|
|
89
87
|
## ⚙️ Installation
|
|
90
88
|
|
|
91
|
-
Open a terminal and run (Requires Python 3.
|
|
89
|
+
Open a terminal and run (Requires Python 3.10+):
|
|
92
90
|
|
|
93
91
|
```bash
|
|
94
92
|
pip install reflex
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "reflex"
|
|
3
|
-
version = "0.6.
|
|
3
|
+
version = "0.6.0a3"
|
|
4
4
|
description = "Web apps in pure Python."
|
|
5
5
|
license = "Apache-2.0"
|
|
6
6
|
authors = [
|
|
@@ -26,7 +26,7 @@ packages = [
|
|
|
26
26
|
]
|
|
27
27
|
|
|
28
28
|
[tool.poetry.dependencies]
|
|
29
|
-
python = "^3.
|
|
29
|
+
python = "^3.10"
|
|
30
30
|
dill = ">=0.3.8,<0.4"
|
|
31
31
|
fastapi = ">=0.96.0,!=0.111.0,!=0.111.1"
|
|
32
32
|
gunicorn = ">=20.1.0,<24.0"
|
|
@@ -70,16 +70,11 @@ toml = ">=0.10.2,<1.0"
|
|
|
70
70
|
pytest-asyncio = ">=0.20.1,<0.22.0" # https://github.com/pytest-dev/pytest-asyncio/issues/706
|
|
71
71
|
pytest-cov = ">=4.0.0,<5.0"
|
|
72
72
|
ruff = "^0.4.9"
|
|
73
|
-
pandas =
|
|
74
|
-
|
|
75
|
-
{version = ">=1.5.3,<2.0", python = ">=3.8,<3.9"},
|
|
76
|
-
]
|
|
77
|
-
pillow = [
|
|
78
|
-
{version = ">=10.0.0,<11.0", python = ">=3.8,<4.0"}
|
|
79
|
-
]
|
|
73
|
+
pandas = ">=2.1.1,<3.0"
|
|
74
|
+
pillow = ">=10.0.0,<11.0"
|
|
80
75
|
plotly = ">=5.13.0,<6.0"
|
|
81
76
|
asynctest = ">=0.13.0,<1.0"
|
|
82
|
-
pre-commit =
|
|
77
|
+
pre-commit = ">=3.2.1"
|
|
83
78
|
selenium = ">=4.11.0,<5.0"
|
|
84
79
|
pytest-benchmark = ">=4.0.0,<5.0"
|
|
85
80
|
|
|
@@ -93,7 +88,7 @@ build-backend = "poetry.core.masonry.api"
|
|
|
93
88
|
[tool.pyright]
|
|
94
89
|
|
|
95
90
|
[tool.ruff]
|
|
96
|
-
target-version = "
|
|
91
|
+
target-version = "py310"
|
|
97
92
|
lint.select = ["B", "D", "E", "F", "I", "SIM", "W"]
|
|
98
93
|
lint.ignore = ["B008", "D203", "D205", "D213", "D401", "D406", "D407", "E501", "F403", "F405", "F541"]
|
|
99
94
|
lint.pydocstyle.convention = "google"
|
{reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/jinja/custom_components/pyproject.toml.jinja2
RENAMED
|
@@ -8,11 +8,11 @@ version = "0.0.1"
|
|
|
8
8
|
description = "Reflex custom component {{ module_name }}"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = { text = "Apache-2.0" }
|
|
11
|
-
requires-python = ">=3.
|
|
11
|
+
requires-python = ">=3.10"
|
|
12
12
|
authors = [{ name = "", email = "YOUREMAIL@domain.com" }]
|
|
13
13
|
keywords = ["reflex","reflex-custom-components"]
|
|
14
14
|
|
|
15
|
-
dependencies = ["reflex>=
|
|
15
|
+
dependencies = ["reflex>={{ reflex_version }}"]
|
|
16
16
|
|
|
17
17
|
classifiers = ["Development Status :: 4 - Beta"]
|
|
18
18
|
|
|
@@ -606,7 +606,10 @@ class App(MiddlewareMixin, LifespanMixin, Base):
|
|
|
606
606
|
for route in self.pages:
|
|
607
607
|
replaced_route = replace_brackets_with_keywords(route)
|
|
608
608
|
for rw, r, nr in zip(
|
|
609
|
-
replaced_route.split("/"),
|
|
609
|
+
replaced_route.split("/"),
|
|
610
|
+
route.split("/"),
|
|
611
|
+
new_route.split("/"),
|
|
612
|
+
strict=False,
|
|
610
613
|
):
|
|
611
614
|
if rw in segments and r != nr:
|
|
612
615
|
# If the slugs in the segments of both routes are not the same, then the route is invalid
|
|
@@ -955,7 +958,7 @@ class App(MiddlewareMixin, LifespanMixin, Base):
|
|
|
955
958
|
|
|
956
959
|
# Prepopulate the global ExecutorSafeFunctions class with input data required by the compile functions.
|
|
957
960
|
# This is required for multiprocessing to work, in presence of non-picklable inputs.
|
|
958
|
-
for route, component in zip(self.pages, page_components):
|
|
961
|
+
for route, component in zip(self.pages, page_components, strict=False):
|
|
959
962
|
ExecutorSafeFunctions.COMPILE_PAGE_ARGS_BY_ROUTE[route] = (
|
|
960
963
|
route,
|
|
961
964
|
component,
|
|
@@ -1169,6 +1172,7 @@ class App(MiddlewareMixin, LifespanMixin, Base):
|
|
|
1169
1172
|
FRONTEND_ARG_SPEC,
|
|
1170
1173
|
BACKEND_ARG_SPEC,
|
|
1171
1174
|
],
|
|
1175
|
+
strict=False,
|
|
1172
1176
|
):
|
|
1173
1177
|
if hasattr(handler_fn, "__name__"):
|
|
1174
1178
|
_fn_name = handler_fn.__name__
|
|
@@ -4,7 +4,6 @@ from __future__ import annotations
|
|
|
4
4
|
|
|
5
5
|
import copy
|
|
6
6
|
import typing
|
|
7
|
-
import warnings
|
|
8
7
|
from abc import ABC, abstractmethod
|
|
9
8
|
from functools import lru_cache, wraps
|
|
10
9
|
from hashlib import md5
|
|
@@ -170,8 +169,6 @@ ComponentStyle = Dict[
|
|
|
170
169
|
]
|
|
171
170
|
ComponentChild = Union[types.PrimitiveType, Var, BaseComponent]
|
|
172
171
|
|
|
173
|
-
warnings.filterwarnings("ignore", message="fields may not start with an underscore")
|
|
174
|
-
|
|
175
172
|
|
|
176
173
|
class Component(BaseComponent, ABC):
|
|
177
174
|
"""A component with style, event trigger and other props."""
|
|
@@ -65,7 +65,9 @@ def _create_package_config(module_name: str, package_name: str):
|
|
|
65
65
|
with open(CustomComponents.PYPROJECT_TOML, "w") as f:
|
|
66
66
|
f.write(
|
|
67
67
|
templates.CUSTOM_COMPONENTS_PYPROJECT_TOML.render(
|
|
68
|
-
module_name=module_name,
|
|
68
|
+
module_name=module_name,
|
|
69
|
+
package_name=package_name,
|
|
70
|
+
reflex_version=constants.Reflex.VERSION,
|
|
69
71
|
)
|
|
70
72
|
)
|
|
71
73
|
|
|
@@ -217,7 +217,7 @@ class EventHandler(EventActionsMixin):
|
|
|
217
217
|
raise EventHandlerTypeError(
|
|
218
218
|
f"Arguments to event handlers must be Vars or JSON-serializable. Got {arg} of type {type(arg)}."
|
|
219
219
|
) from e
|
|
220
|
-
payload = tuple(zip(fn_args, values))
|
|
220
|
+
payload = tuple(zip(fn_args, values, strict=False))
|
|
221
221
|
|
|
222
222
|
# Return the event spec.
|
|
223
223
|
return EventSpec(
|
|
@@ -310,7 +310,7 @@ class EventSpec(EventActionsMixin):
|
|
|
310
310
|
raise EventHandlerTypeError(
|
|
311
311
|
f"Arguments to event handlers must be Vars or JSON-serializable. Got {arg} of type {type(arg)}."
|
|
312
312
|
) from e
|
|
313
|
-
new_payload = tuple(zip(fn_args, values))
|
|
313
|
+
new_payload = tuple(zip(fn_args, values, strict=False))
|
|
314
314
|
return self.with_args(self.args + new_payload)
|
|
315
315
|
|
|
316
316
|
|
|
@@ -107,3 +107,7 @@ class EventHandlerShadowsBuiltInStateMethod(ReflexError, NameError):
|
|
|
107
107
|
|
|
108
108
|
class GeneratedCodeHasNoFunctionDefs(ReflexError):
|
|
109
109
|
"""Raised when refactored code generated with flexgen has no functions defined."""
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
class PrimitiveUnserializableToJSON(ReflexError, ValueError):
|
|
113
|
+
"""Raised when a primitive type is unserializable to JSON. Usually with NaN and Infinity."""
|
|
@@ -10,6 +10,7 @@ from typing import TYPE_CHECKING, Any, Callable, List, Optional, Union
|
|
|
10
10
|
|
|
11
11
|
from reflex import constants
|
|
12
12
|
from reflex.utils import exceptions, types
|
|
13
|
+
from reflex.utils.console import deprecate
|
|
13
14
|
|
|
14
15
|
if TYPE_CHECKING:
|
|
15
16
|
from reflex.components.component import ComponentStyle
|
|
@@ -502,6 +503,37 @@ if TYPE_CHECKING:
|
|
|
502
503
|
from reflex.vars import Var
|
|
503
504
|
|
|
504
505
|
|
|
506
|
+
def format_event_chain(
|
|
507
|
+
event_chain: EventChain | Var[EventChain],
|
|
508
|
+
event_arg: Var | None = None,
|
|
509
|
+
) -> str:
|
|
510
|
+
"""DEPRECATED: format an event chain as a javascript invocation.
|
|
511
|
+
|
|
512
|
+
Use str(rx.Var.create(event_chain)) instead.
|
|
513
|
+
|
|
514
|
+
Args:
|
|
515
|
+
event_chain: The event chain to format.
|
|
516
|
+
event_arg: this argument is ignored.
|
|
517
|
+
|
|
518
|
+
Returns:
|
|
519
|
+
Compiled javascript code to queue the given event chain on the frontend.
|
|
520
|
+
"""
|
|
521
|
+
deprecate(
|
|
522
|
+
feature_name="format_event_chain",
|
|
523
|
+
reason="Use str(rx.Var.create(event_chain)) instead",
|
|
524
|
+
deprecation_version="0.6.0",
|
|
525
|
+
removal_version="0.7.0",
|
|
526
|
+
)
|
|
527
|
+
|
|
528
|
+
from reflex.vars import Var
|
|
529
|
+
from reflex.vars.function import ArgsFunctionOperation
|
|
530
|
+
|
|
531
|
+
result = Var.create(event_chain)
|
|
532
|
+
if isinstance(result, ArgsFunctionOperation):
|
|
533
|
+
result = result._return_expr
|
|
534
|
+
return str(result)
|
|
535
|
+
|
|
536
|
+
|
|
505
537
|
def format_queue_events(
|
|
506
538
|
events: (
|
|
507
539
|
EventSpec
|
|
@@ -632,7 +632,7 @@ def validate_parameter_literals(func):
|
|
|
632
632
|
annotations = {param[0]: param[1].annotation for param in func_params}
|
|
633
633
|
|
|
634
634
|
# validate args
|
|
635
|
-
for param, arg in zip(annotations, args):
|
|
635
|
+
for param, arg in zip(annotations, args, strict=False):
|
|
636
636
|
if annotations[param] is inspect.Parameter.empty:
|
|
637
637
|
continue
|
|
638
638
|
validate_literal(param, arg, annotations[param], func.__name__)
|
|
@@ -13,6 +13,7 @@ import random
|
|
|
13
13
|
import re
|
|
14
14
|
import string
|
|
15
15
|
import sys
|
|
16
|
+
import warnings
|
|
16
17
|
from types import CodeType, FunctionType
|
|
17
18
|
from typing import (
|
|
18
19
|
TYPE_CHECKING,
|
|
@@ -72,6 +73,8 @@ if TYPE_CHECKING:
|
|
|
72
73
|
|
|
73
74
|
VAR_TYPE = TypeVar("VAR_TYPE", covariant=True)
|
|
74
75
|
|
|
76
|
+
warnings.filterwarnings("ignore", message="fields may not start with an underscore")
|
|
77
|
+
|
|
75
78
|
|
|
76
79
|
@dataclasses.dataclass(
|
|
77
80
|
eq=False,
|
|
@@ -116,6 +119,16 @@ class Var(Generic[VAR_TYPE]):
|
|
|
116
119
|
"""
|
|
117
120
|
return self._js_expr
|
|
118
121
|
|
|
122
|
+
@property
|
|
123
|
+
@deprecated("Use `_js_expr` instead.")
|
|
124
|
+
def _var_name_unwrapped(self) -> str:
|
|
125
|
+
"""The name of the var without extra curly braces.
|
|
126
|
+
|
|
127
|
+
Returns:
|
|
128
|
+
The name of the var.
|
|
129
|
+
"""
|
|
130
|
+
return self._js_expr
|
|
131
|
+
|
|
119
132
|
@property
|
|
120
133
|
def _var_is_string(self) -> bool:
|
|
121
134
|
"""Whether the var is a string literal.
|
|
@@ -1029,6 +1042,20 @@ class LiteralVar(Var):
|
|
|
1029
1042
|
if isinstance(value, EventHandler):
|
|
1030
1043
|
return Var(_js_expr=".".join(filter(None, get_event_handler_parts(value))))
|
|
1031
1044
|
|
|
1045
|
+
serialized_value = serializers.serialize(value)
|
|
1046
|
+
if serialized_value is not None:
|
|
1047
|
+
if isinstance(serialized_value, dict):
|
|
1048
|
+
return LiteralObjectVar.create(
|
|
1049
|
+
serialized_value,
|
|
1050
|
+
_var_type=type(value),
|
|
1051
|
+
_var_data=_var_data,
|
|
1052
|
+
)
|
|
1053
|
+
if isinstance(serialized_value, str):
|
|
1054
|
+
return LiteralStringVar.create(
|
|
1055
|
+
serialized_value, _var_type=type(value), _var_data=_var_data
|
|
1056
|
+
)
|
|
1057
|
+
return LiteralVar.create(serialized_value, _var_data=_var_data)
|
|
1058
|
+
|
|
1032
1059
|
if isinstance(value, Base):
|
|
1033
1060
|
# get the fields of the pydantic class
|
|
1034
1061
|
fields = value.__fields__.keys()
|
|
@@ -1044,20 +1071,6 @@ class LiteralVar(Var):
|
|
|
1044
1071
|
_var_data=_var_data,
|
|
1045
1072
|
)
|
|
1046
1073
|
|
|
1047
|
-
serialized_value = serializers.serialize(value)
|
|
1048
|
-
if serialized_value is not None:
|
|
1049
|
-
if isinstance(serialized_value, dict):
|
|
1050
|
-
return LiteralObjectVar.create(
|
|
1051
|
-
serialized_value,
|
|
1052
|
-
_var_type=type(value),
|
|
1053
|
-
_var_data=_var_data,
|
|
1054
|
-
)
|
|
1055
|
-
if isinstance(serialized_value, str):
|
|
1056
|
-
return LiteralStringVar.create(
|
|
1057
|
-
serialized_value, _var_type=type(value), _var_data=_var_data
|
|
1058
|
-
)
|
|
1059
|
-
return LiteralVar.create(serialized_value, _var_data=_var_data)
|
|
1060
|
-
|
|
1061
1074
|
if dataclasses.is_dataclass(value) and not isinstance(value, type):
|
|
1062
1075
|
return LiteralObjectVar.create(
|
|
1063
1076
|
{
|
|
@@ -1199,10 +1212,13 @@ def unionize(*args: Type) -> Type:
|
|
|
1199
1212
|
"""
|
|
1200
1213
|
if not args:
|
|
1201
1214
|
return Any
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
return Union[
|
|
1215
|
+
if len(args) == 1:
|
|
1216
|
+
return args[0]
|
|
1217
|
+
# We are bisecting the args list here to avoid hitting the recursion limit
|
|
1218
|
+
# In Python versions >= 3.11, we can simply do `return Union[*args]`
|
|
1219
|
+
midpoint = len(args) // 2
|
|
1220
|
+
first_half, second_half = args[:midpoint], args[midpoint:]
|
|
1221
|
+
return Union[unionize(*first_half), unionize(*second_half)]
|
|
1206
1222
|
|
|
1207
1223
|
|
|
1208
1224
|
def figure_out_type(value: Any) -> types.GenericType:
|
|
@@ -1983,17 +1999,23 @@ class CustomVarOperationReturn(Var[RETURN]):
|
|
|
1983
1999
|
def var_operation_return(
|
|
1984
2000
|
js_expression: str,
|
|
1985
2001
|
var_type: Type[RETURN] | None = None,
|
|
2002
|
+
var_data: VarData | None = None,
|
|
1986
2003
|
) -> CustomVarOperationReturn[RETURN]:
|
|
1987
2004
|
"""Shortcut for creating a CustomVarOperationReturn.
|
|
1988
2005
|
|
|
1989
2006
|
Args:
|
|
1990
2007
|
js_expression: The JavaScript expression to evaluate.
|
|
1991
2008
|
var_type: The type of the var.
|
|
2009
|
+
var_data: Additional hooks and imports associated with the Var.
|
|
1992
2010
|
|
|
1993
2011
|
Returns:
|
|
1994
2012
|
The CustomVarOperationReturn.
|
|
1995
2013
|
"""
|
|
1996
|
-
return CustomVarOperationReturn.create(
|
|
2014
|
+
return CustomVarOperationReturn.create(
|
|
2015
|
+
js_expression,
|
|
2016
|
+
var_type,
|
|
2017
|
+
var_data,
|
|
2018
|
+
)
|
|
1997
2019
|
|
|
1998
2020
|
|
|
1999
2021
|
@dataclasses.dataclass(
|
|
@@ -4,6 +4,7 @@ from __future__ import annotations
|
|
|
4
4
|
|
|
5
5
|
import dataclasses
|
|
6
6
|
import json
|
|
7
|
+
import math
|
|
7
8
|
import sys
|
|
8
9
|
from typing import (
|
|
9
10
|
TYPE_CHECKING,
|
|
@@ -17,7 +18,9 @@ from typing import (
|
|
|
17
18
|
overload,
|
|
18
19
|
)
|
|
19
20
|
|
|
20
|
-
from reflex.
|
|
21
|
+
from reflex.constants.base import Dirs
|
|
22
|
+
from reflex.utils.exceptions import PrimitiveUnserializableToJSON, VarTypeError
|
|
23
|
+
from reflex.utils.imports import ImportDict, ImportVar
|
|
21
24
|
|
|
22
25
|
from .base import (
|
|
23
26
|
CustomVarOperationReturn,
|
|
@@ -1038,7 +1041,14 @@ class LiteralNumberVar(LiteralVar, NumberVar):
|
|
|
1038
1041
|
|
|
1039
1042
|
Returns:
|
|
1040
1043
|
The JSON representation of the var.
|
|
1044
|
+
|
|
1045
|
+
Raises:
|
|
1046
|
+
PrimitiveUnserializableToJSON: If the var is unserializable to JSON.
|
|
1041
1047
|
"""
|
|
1048
|
+
if math.isinf(self._var_value) or math.isnan(self._var_value):
|
|
1049
|
+
raise PrimitiveUnserializableToJSON(
|
|
1050
|
+
f"No valid JSON representation for {self}"
|
|
1051
|
+
)
|
|
1042
1052
|
return json.dumps(self._var_value)
|
|
1043
1053
|
|
|
1044
1054
|
def __hash__(self) -> int:
|
|
@@ -1060,8 +1070,15 @@ class LiteralNumberVar(LiteralVar, NumberVar):
|
|
|
1060
1070
|
Returns:
|
|
1061
1071
|
The number var.
|
|
1062
1072
|
"""
|
|
1073
|
+
if math.isinf(value):
|
|
1074
|
+
js_expr = "Infinity" if value > 0 else "-Infinity"
|
|
1075
|
+
elif math.isnan(value):
|
|
1076
|
+
js_expr = "NaN"
|
|
1077
|
+
else:
|
|
1078
|
+
js_expr = str(value)
|
|
1079
|
+
|
|
1063
1080
|
return cls(
|
|
1064
|
-
_js_expr=
|
|
1081
|
+
_js_expr=js_expr,
|
|
1065
1082
|
_var_type=type(value),
|
|
1066
1083
|
_var_data=_var_data,
|
|
1067
1084
|
_var_value=value,
|
|
@@ -1098,6 +1115,11 @@ class ToBooleanVarOperation(ToOperation, BooleanVar):
|
|
|
1098
1115
|
_default_var_type: ClassVar[Type] = bool
|
|
1099
1116
|
|
|
1100
1117
|
|
|
1118
|
+
_IS_TRUE_IMPORT: ImportDict = {
|
|
1119
|
+
f"/{Dirs.STATE_PATH}": [ImportVar(tag="isTrue")],
|
|
1120
|
+
}
|
|
1121
|
+
|
|
1122
|
+
|
|
1101
1123
|
@var_operation
|
|
1102
1124
|
def boolify(value: Var):
|
|
1103
1125
|
"""Convert the value to a boolean.
|
|
@@ -1109,8 +1131,9 @@ def boolify(value: Var):
|
|
|
1109
1131
|
The boolean value.
|
|
1110
1132
|
"""
|
|
1111
1133
|
return var_operation_return(
|
|
1112
|
-
js_expression=f"
|
|
1134
|
+
js_expression=f"isTrue({value})",
|
|
1113
1135
|
var_type=bool,
|
|
1136
|
+
var_data=VarData(imports=_IS_TRUE_IMPORT),
|
|
1114
1137
|
)
|
|
1115
1138
|
|
|
1116
1139
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/jinja/custom_components/README.md.jinja2
RENAMED
|
File without changes
|
{reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/jinja/custom_components/__init__.py.jinja2
RENAMED
|
File without changes
|
{reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/jinja/custom_components/demo_app.py.jinja2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/jinja/web/pages/custom_component.js.jinja2
RENAMED
|
File without changes
|
|
File without changes
|
{reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2
RENAMED
|
File without changes
|
{reflex-0.6.0a2 → reflex-0.6.0a3}/reflex/.templates/jinja/web/pages/stateful_components.js.jinja2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|