reflex 0.6.0__tar.gz → 0.6.0a2__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.0 → reflex-0.6.0a2}/PKG-INFO +4 -3
- {reflex-0.6.0 → reflex-0.6.0a2}/README.md +1 -1
- {reflex-0.6.0 → reflex-0.6.0a2}/pyproject.toml +11 -6
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/jinja/custom_components/pyproject.toml.jinja2 +2 -2
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/web/utils/state.js +1 -3
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/app_module_for_backend.py +1 -1
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/component.py +4 -9
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/custom_components/custom_components.py +1 -3
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/experimental/client_state.py +6 -7
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/utils/exceptions.py +0 -4
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/utils/format.py +0 -32
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/utils/prerequisites.py +7 -20
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/utils/telemetry.py +1 -1
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/vars/base.py +19 -41
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/vars/number.py +3 -26
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/vars/sequence.py +8 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/LICENSE +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/apps/blank/assets/favicon.ico +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/apps/blank/code/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/apps/blank/code/blank.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/jinja/app/rxconfig.py.jinja2 +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/jinja/custom_components/README.md.jinja2 +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/jinja/custom_components/__init__.py.jinja2 +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/jinja/custom_components/demo_app.py.jinja2 +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/jinja/custom_components/src.py.jinja2 +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/jinja/web/package.json.jinja2 +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/jinja/web/pages/_app.js.jinja2 +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/jinja/web/pages/_document.js.jinja2 +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/jinja/web/pages/component.js.jinja2 +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/jinja/web/pages/index.js.jinja2 +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/jinja/web/pages/stateful_components.js.jinja2 +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/jinja/web/pages/utils.js.jinja2 +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/jinja/web/styles/styles.css.jinja2 +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/jinja/web/tailwind.config.js.jinja2 +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/jinja/web/utils/context.js.jinja2 +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/jinja/web/utils/theme.js.jinja2 +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/web/.gitignore +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/web/jsconfig.json +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/web/next.config.js +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/web/postcss.config.js +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/web/styles/tailwind.css +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/web/utils/client_side_routing.js +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/web/utils/helpers/dataeditor.js +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/web/utils/helpers/debounce.js +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/web/utils/helpers/paste.js +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/web/utils/helpers/range.js +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/web/utils/helpers/throttle.js +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/__init__.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/__main__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/admin.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/app.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/app_mixins/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/app_mixins/lifespan.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/app_mixins/middleware.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/app_mixins/mixin.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/base.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/compiler/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/compiler/compiler.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/compiler/templates.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/compiler/utils.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/__init__.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/base/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/base/__init__.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/base/app_wrap.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/base/app_wrap.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/base/bare.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/base/body.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/base/body.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/base/document.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/base/document.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/base/error_boundary.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/base/error_boundary.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/base/fragment.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/base/fragment.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/base/head.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/base/head.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/base/link.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/base/link.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/base/meta.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/base/meta.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/base/script.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/base/script.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/core/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/core/__init__.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/core/banner.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/core/banner.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/core/breakpoints.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/core/client_side_routing.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/core/client_side_routing.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/core/clipboard.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/core/clipboard.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/core/colors.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/core/cond.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/core/debounce.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/core/debounce.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/core/foreach.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/core/html.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/core/html.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/core/layout/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/core/match.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/core/responsive.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/core/upload.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/core/upload.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/datadisplay/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/datadisplay/__init__.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/datadisplay/code.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/datadisplay/code.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/datadisplay/dataeditor.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/datadisplay/dataeditor.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/datadisplay/logo.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/el/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/el/__init__.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/el/constants/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/el/constants/html.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/el/constants/react.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/el/constants/reflex.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/el/element.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/el/element.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/el/elements/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/el/elements/__init__.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/el/elements/base.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/el/elements/base.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/el/elements/forms.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/el/elements/forms.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/el/elements/inline.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/el/elements/inline.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/el/elements/media.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/el/elements/media.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/el/elements/metadata.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/el/elements/metadata.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/el/elements/other.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/el/elements/other.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/el/elements/scripts.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/el/elements/scripts.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/el/elements/sectioning.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/el/elements/sectioning.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/el/elements/tables.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/el/elements/tables.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/el/elements/typography.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/el/elements/typography.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/gridjs/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/gridjs/datatable.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/gridjs/datatable.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/literals.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/lucide/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/lucide/icon.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/lucide/icon.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/markdown/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/markdown/markdown.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/markdown/markdown.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/moment/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/moment/moment.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/moment/moment.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/next/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/next/base.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/next/base.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/next/image.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/next/image.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/next/link.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/next/link.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/next/video.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/next/video.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/plotly/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/plotly/plotly.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/plotly/plotly.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/props.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/__init__.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/primitives/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/primitives/__init__.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/primitives/accordion.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/primitives/accordion.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/primitives/base.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/primitives/base.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/primitives/drawer.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/primitives/drawer.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/primitives/form.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/primitives/form.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/primitives/progress.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/primitives/progress.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/primitives/slider.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/primitives/slider.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/__init__.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/base.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/base.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/color_mode.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/color_mode.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/__init__.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/alert_dialog.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/alert_dialog.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/aspect_ratio.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/aspect_ratio.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/avatar.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/avatar.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/badge.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/badge.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/button.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/button.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/callout.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/callout.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/card.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/card.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/checkbox.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/checkbox.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/checkbox_cards.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/checkbox_cards.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/checkbox_group.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/checkbox_group.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/context_menu.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/context_menu.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/data_list.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/data_list.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/dialog.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/dialog.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/dropdown_menu.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/dropdown_menu.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/hover_card.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/hover_card.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/icon_button.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/icon_button.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/inset.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/inset.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/popover.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/popover.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/progress.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/progress.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/radio.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/radio.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/radio_cards.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/radio_cards.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/radio_group.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/radio_group.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/scroll_area.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/scroll_area.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/segmented_control.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/segmented_control.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/select.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/select.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/separator.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/separator.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/skeleton.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/skeleton.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/slider.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/slider.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/spinner.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/spinner.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/switch.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/switch.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/table.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/table.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/tabs.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/tabs.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/text_area.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/text_area.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/text_field.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/text_field.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/tooltip.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/components/tooltip.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/layout/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/layout/__init__.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/layout/base.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/layout/base.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/layout/box.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/layout/box.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/layout/center.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/layout/center.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/layout/container.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/layout/container.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/layout/flex.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/layout/flex.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/layout/grid.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/layout/grid.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/layout/list.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/layout/list.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/layout/section.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/layout/section.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/layout/spacer.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/layout/spacer.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/layout/stack.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/layout/stack.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/typography/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/typography/__init__.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/typography/base.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/typography/blockquote.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/typography/blockquote.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/typography/code.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/typography/code.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/typography/heading.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/typography/heading.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/typography/link.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/typography/link.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/typography/text.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/radix/themes/typography/text.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/react_player/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/react_player/audio.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/react_player/audio.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/react_player/react_player.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/react_player/react_player.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/react_player/video.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/react_player/video.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/recharts/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/recharts/__init__.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/recharts/cartesian.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/recharts/cartesian.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/recharts/charts.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/recharts/charts.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/recharts/general.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/recharts/general.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/recharts/polar.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/recharts/polar.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/recharts/recharts.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/recharts/recharts.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/sonner/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/sonner/toast.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/sonner/toast.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/suneditor/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/suneditor/editor.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/suneditor/editor.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/tags/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/tags/cond_tag.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/tags/iter_tag.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/tags/match_tag.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/tags/tag.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/components/tags/tagless.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/config.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/constants/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/constants/base.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/constants/colors.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/constants/compiler.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/constants/config.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/constants/custom_components.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/constants/event.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/constants/installer.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/constants/route.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/constants/style.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/custom_components/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/event.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/experimental/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/experimental/assets.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/experimental/hooks.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/experimental/layout.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/experimental/layout.pyi +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/experimental/misc.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/middleware/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/middleware/hydrate_middleware.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/middleware/middleware.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/model.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/page.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/reflex.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/route.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/state.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/style.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/testing.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/utils/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/utils/build.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/utils/codespaces.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/utils/compat.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/utils/console.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/utils/exec.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/utils/export.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/utils/imports.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/utils/lazy_loader.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/utils/net.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/utils/path_ops.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/utils/processes.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/utils/pyi_generator.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/utils/redir.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/utils/registry.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/utils/serializers.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/utils/types.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/vars/__init__.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/vars/function.py +0 -0
- {reflex-0.6.0 → reflex-0.6.0a2}/reflex/vars/object.py +0 -0
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: reflex
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.0a2
|
|
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.8,<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
|
|
14
15
|
Classifier: Programming Language :: Python :: 3.9
|
|
15
16
|
Classifier: Programming Language :: Python :: 3.10
|
|
16
17
|
Classifier: Programming Language :: Python :: 3.11
|
|
@@ -87,7 +88,7 @@ See our [architecture page](https://reflex.dev/blog/2024-03-21-reflex-architectu
|
|
|
87
88
|
|
|
88
89
|
## ⚙️ Installation
|
|
89
90
|
|
|
90
|
-
Open a terminal and run (Requires Python 3.
|
|
91
|
+
Open a terminal and run (Requires Python 3.8+):
|
|
91
92
|
|
|
92
93
|
```bash
|
|
93
94
|
pip install reflex
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "reflex"
|
|
3
|
-
version = "0.6.
|
|
3
|
+
version = "0.6.0a2"
|
|
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.8"
|
|
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,11 +70,16 @@ 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
|
-
|
|
73
|
+
pandas = [
|
|
74
|
+
{version = ">=2.1.1,<3.0", python = ">=3.9,<3.13"},
|
|
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
|
+
]
|
|
75
80
|
plotly = ">=5.13.0,<6.0"
|
|
76
81
|
asynctest = ">=0.13.0,<1.0"
|
|
77
|
-
pre-commit = ">=3.2.1"
|
|
82
|
+
pre-commit = {version = ">=3.2.1", python = ">=3.8,<4.0"}
|
|
78
83
|
selenium = ">=4.11.0,<5.0"
|
|
79
84
|
pytest-benchmark = ">=4.0.0,<5.0"
|
|
80
85
|
|
|
@@ -88,7 +93,7 @@ build-backend = "poetry.core.masonry.api"
|
|
|
88
93
|
[tool.pyright]
|
|
89
94
|
|
|
90
95
|
[tool.ruff]
|
|
91
|
-
target-version = "
|
|
96
|
+
target-version = "py38"
|
|
92
97
|
lint.select = ["B", "D", "E", "F", "I", "SIM", "W"]
|
|
93
98
|
lint.ignore = ["B008", "D203", "D205", "D213", "D401", "D406", "D407", "E501", "F403", "F405", "F541"]
|
|
94
99
|
lint.pydocstyle.convention = "google"
|
{reflex-0.6.0 → reflex-0.6.0a2}/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.8"
|
|
12
12
|
authors = [{ name = "", email = "YOUREMAIL@domain.com" }]
|
|
13
13
|
keywords = ["reflex","reflex-custom-components"]
|
|
14
14
|
|
|
15
|
-
dependencies = ["reflex>=
|
|
15
|
+
dependencies = ["reflex>=0.4.2"]
|
|
16
16
|
|
|
17
17
|
classifiers = ["Development Status :: 4 - Beta"]
|
|
18
18
|
|
|
@@ -805,9 +805,7 @@ export const useEventLoop = (
|
|
|
805
805
|
* @returns True if the value is truthy, false otherwise.
|
|
806
806
|
*/
|
|
807
807
|
export const isTrue = (val) => {
|
|
808
|
-
|
|
809
|
-
if (val === Object(val)) return Object.keys(val).length > 0;
|
|
810
|
-
return Boolean(val);
|
|
808
|
+
return Array.isArray(val) ? val.length > 0 : !!val;
|
|
811
809
|
};
|
|
812
810
|
|
|
813
811
|
/**
|
|
@@ -15,7 +15,7 @@ if constants.CompileVars.APP != "app":
|
|
|
15
15
|
telemetry.send("compile")
|
|
16
16
|
app_module = get_app(reload=False)
|
|
17
17
|
app = getattr(app_module, constants.CompileVars.APP)
|
|
18
|
-
# For py3.9 compatibility when redis is used, we MUST add any decorator pages
|
|
18
|
+
# For py3.8 and py3.9 compatibility when redis is used, we MUST add any decorator pages
|
|
19
19
|
# before compiling the app in a thread to avoid event loop error (REF-2172).
|
|
20
20
|
app._apply_decorated_pages()
|
|
21
21
|
compile_future = ThreadPoolExecutor(max_workers=1).submit(app._compile)
|
|
@@ -4,6 +4,7 @@ from __future__ import annotations
|
|
|
4
4
|
|
|
5
5
|
import copy
|
|
6
6
|
import typing
|
|
7
|
+
import warnings
|
|
7
8
|
from abc import ABC, abstractmethod
|
|
8
9
|
from functools import lru_cache, wraps
|
|
9
10
|
from hashlib import md5
|
|
@@ -169,6 +170,8 @@ ComponentStyle = Dict[
|
|
|
169
170
|
]
|
|
170
171
|
ComponentChild = Union[types.PrimitiveType, Var, BaseComponent]
|
|
171
172
|
|
|
173
|
+
warnings.filterwarnings("ignore", message="fields may not start with an underscore")
|
|
174
|
+
|
|
172
175
|
|
|
173
176
|
class Component(BaseComponent, ABC):
|
|
174
177
|
"""A component with style, event trigger and other props."""
|
|
@@ -448,16 +451,8 @@ class Component(BaseComponent, ABC):
|
|
|
448
451
|
and not types._issubclass(passed_type, expected_type, value)
|
|
449
452
|
):
|
|
450
453
|
value_name = value._js_expr if isinstance(value, Var) else value
|
|
451
|
-
|
|
452
|
-
additional_info = (
|
|
453
|
-
" You can call `.bool()` on the value to convert it to a boolean."
|
|
454
|
-
if expected_type is bool and isinstance(value, Var)
|
|
455
|
-
else ""
|
|
456
|
-
)
|
|
457
|
-
|
|
458
454
|
raise TypeError(
|
|
459
|
-
f"Invalid var passed for prop {type(self).__name__}.{key}, expected type {expected_type}, got value {value_name} of type {passed_type}."
|
|
460
|
-
+ additional_info
|
|
455
|
+
f"Invalid var passed for prop {type(self).__name__}.{key}, expected type {expected_type}, got value {value_name} of type {passed_types or passed_type}."
|
|
461
456
|
)
|
|
462
457
|
# Check if the key is an event trigger.
|
|
463
458
|
if key in component_specific_triggers:
|
|
@@ -65,9 +65,7 @@ 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,
|
|
69
|
-
package_name=package_name,
|
|
70
|
-
reflex_version=constants.Reflex.VERSION,
|
|
68
|
+
module_name=module_name, package_name=package_name
|
|
71
69
|
)
|
|
72
70
|
)
|
|
73
71
|
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
import dataclasses
|
|
6
|
-
import re
|
|
7
6
|
import sys
|
|
8
7
|
from typing import Any, Callable, Union
|
|
9
8
|
|
|
@@ -175,15 +174,15 @@ class ClientStateVar(Var):
|
|
|
175
174
|
else self._setter_name
|
|
176
175
|
)
|
|
177
176
|
if value is not NoValue:
|
|
177
|
+
import re
|
|
178
|
+
|
|
178
179
|
# This is a hack to make it work like an EventSpec taking an arg
|
|
179
180
|
value_str = str(LiteralVar.create(value))
|
|
180
181
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
else:
|
|
186
|
-
setter = f"(() => {setter}({value_str}))"
|
|
182
|
+
# remove patterns of ["*"] from the value_str using regex
|
|
183
|
+
arg = re.sub(r"\[\".*\"\]", "", value_str)
|
|
184
|
+
|
|
185
|
+
setter = f"({arg}) => {setter}({str(value)})"
|
|
187
186
|
return Var(
|
|
188
187
|
_js_expr=setter,
|
|
189
188
|
_var_data=VarData(imports=_refs_import if self._global_ref else {}),
|
|
@@ -107,7 +107,3 @@ 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,7 +10,6 @@ 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
|
|
14
13
|
|
|
15
14
|
if TYPE_CHECKING:
|
|
16
15
|
from reflex.components.component import ComponentStyle
|
|
@@ -503,37 +502,6 @@ if TYPE_CHECKING:
|
|
|
503
502
|
from reflex.vars import Var
|
|
504
503
|
|
|
505
504
|
|
|
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
|
-
|
|
537
505
|
def format_queue_events(
|
|
538
506
|
events: (
|
|
539
507
|
EventSpec
|
|
@@ -73,18 +73,6 @@ def get_web_dir() -> Path:
|
|
|
73
73
|
return workdir
|
|
74
74
|
|
|
75
75
|
|
|
76
|
-
def _python_version_check():
|
|
77
|
-
"""Emit deprecation warning for deprecated python versions."""
|
|
78
|
-
# Check for end-of-life python versions.
|
|
79
|
-
if sys.version_info < (3, 10):
|
|
80
|
-
console.deprecate(
|
|
81
|
-
feature_name="Support for Python 3.9 and older",
|
|
82
|
-
reason="please upgrade to Python 3.10 or newer",
|
|
83
|
-
deprecation_version="0.6.0",
|
|
84
|
-
removal_version="0.7.0",
|
|
85
|
-
)
|
|
86
|
-
|
|
87
|
-
|
|
88
76
|
def check_latest_package_version(package_name: str):
|
|
89
77
|
"""Check if the latest version of the package is installed.
|
|
90
78
|
|
|
@@ -97,16 +85,15 @@ def check_latest_package_version(package_name: str):
|
|
|
97
85
|
url = f"https://pypi.org/pypi/{package_name}/json"
|
|
98
86
|
response = net.get(url)
|
|
99
87
|
latest_version = response.json()["info"]["version"]
|
|
100
|
-
if
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
#
|
|
88
|
+
if (
|
|
89
|
+
version.parse(current_version) < version.parse(latest_version)
|
|
90
|
+
and not get_or_set_last_reflex_version_check_datetime()
|
|
91
|
+
):
|
|
92
|
+
# only show a warning when the host version is outdated and
|
|
93
|
+
# the last_version_check_datetime is not set in reflex.json
|
|
105
94
|
console.warn(
|
|
106
95
|
f"Your version ({current_version}) of {package_name} is out of date. Upgrade to {latest_version} with 'pip install {package_name} --upgrade'"
|
|
107
96
|
)
|
|
108
|
-
# Check for depreacted python versions
|
|
109
|
-
_python_version_check()
|
|
110
97
|
except Exception:
|
|
111
98
|
pass
|
|
112
99
|
|
|
@@ -303,7 +290,7 @@ def get_compiled_app(reload: bool = False, export: bool = False) -> ModuleType:
|
|
|
303
290
|
"""
|
|
304
291
|
app_module = get_app(reload=reload)
|
|
305
292
|
app = getattr(app_module, constants.CompileVars.APP)
|
|
306
|
-
# For py3.9 compatibility when redis is used, we MUST add any decorator pages
|
|
293
|
+
# For py3.8 and py3.9 compatibility when redis is used, we MUST add any decorator pages
|
|
307
294
|
# before compiling the app in a thread to avoid event loop error (REF-2172).
|
|
308
295
|
app._apply_decorated_pages()
|
|
309
296
|
app._compile(export=export)
|
|
@@ -13,7 +13,6 @@ import random
|
|
|
13
13
|
import re
|
|
14
14
|
import string
|
|
15
15
|
import sys
|
|
16
|
-
import warnings
|
|
17
16
|
from types import CodeType, FunctionType
|
|
18
17
|
from typing import (
|
|
19
18
|
TYPE_CHECKING,
|
|
@@ -73,8 +72,6 @@ if TYPE_CHECKING:
|
|
|
73
72
|
|
|
74
73
|
VAR_TYPE = TypeVar("VAR_TYPE", covariant=True)
|
|
75
74
|
|
|
76
|
-
warnings.filterwarnings("ignore", message="fields may not start with an underscore")
|
|
77
|
-
|
|
78
75
|
|
|
79
76
|
@dataclasses.dataclass(
|
|
80
77
|
eq=False,
|
|
@@ -119,16 +116,6 @@ class Var(Generic[VAR_TYPE]):
|
|
|
119
116
|
"""
|
|
120
117
|
return self._js_expr
|
|
121
118
|
|
|
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
|
-
|
|
132
119
|
@property
|
|
133
120
|
def _var_is_string(self) -> bool:
|
|
134
121
|
"""Whether the var is a string literal.
|
|
@@ -1042,20 +1029,6 @@ class LiteralVar(Var):
|
|
|
1042
1029
|
if isinstance(value, EventHandler):
|
|
1043
1030
|
return Var(_js_expr=".".join(filter(None, get_event_handler_parts(value))))
|
|
1044
1031
|
|
|
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
|
-
|
|
1059
1032
|
if isinstance(value, Base):
|
|
1060
1033
|
# get the fields of the pydantic class
|
|
1061
1034
|
fields = value.__fields__.keys()
|
|
@@ -1071,6 +1044,20 @@ class LiteralVar(Var):
|
|
|
1071
1044
|
_var_data=_var_data,
|
|
1072
1045
|
)
|
|
1073
1046
|
|
|
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
|
+
|
|
1074
1061
|
if dataclasses.is_dataclass(value) and not isinstance(value, type):
|
|
1075
1062
|
return LiteralObjectVar.create(
|
|
1076
1063
|
{
|
|
@@ -1212,13 +1199,10 @@ def unionize(*args: Type) -> Type:
|
|
|
1212
1199
|
"""
|
|
1213
1200
|
if not args:
|
|
1214
1201
|
return Any
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
midpoint = len(args) // 2
|
|
1220
|
-
first_half, second_half = args[:midpoint], args[midpoint:]
|
|
1221
|
-
return Union[unionize(*first_half), unionize(*second_half)]
|
|
1202
|
+
first, *rest = args
|
|
1203
|
+
if not rest:
|
|
1204
|
+
return first
|
|
1205
|
+
return Union[first, unionize(*rest)]
|
|
1222
1206
|
|
|
1223
1207
|
|
|
1224
1208
|
def figure_out_type(value: Any) -> types.GenericType:
|
|
@@ -1999,23 +1983,17 @@ class CustomVarOperationReturn(Var[RETURN]):
|
|
|
1999
1983
|
def var_operation_return(
|
|
2000
1984
|
js_expression: str,
|
|
2001
1985
|
var_type: Type[RETURN] | None = None,
|
|
2002
|
-
var_data: VarData | None = None,
|
|
2003
1986
|
) -> CustomVarOperationReturn[RETURN]:
|
|
2004
1987
|
"""Shortcut for creating a CustomVarOperationReturn.
|
|
2005
1988
|
|
|
2006
1989
|
Args:
|
|
2007
1990
|
js_expression: The JavaScript expression to evaluate.
|
|
2008
1991
|
var_type: The type of the var.
|
|
2009
|
-
var_data: Additional hooks and imports associated with the Var.
|
|
2010
1992
|
|
|
2011
1993
|
Returns:
|
|
2012
1994
|
The CustomVarOperationReturn.
|
|
2013
1995
|
"""
|
|
2014
|
-
return CustomVarOperationReturn.create(
|
|
2015
|
-
js_expression,
|
|
2016
|
-
var_type,
|
|
2017
|
-
var_data,
|
|
2018
|
-
)
|
|
1996
|
+
return CustomVarOperationReturn.create(js_expression, var_type)
|
|
2019
1997
|
|
|
2020
1998
|
|
|
2021
1999
|
@dataclasses.dataclass(
|
|
@@ -4,7 +4,6 @@ from __future__ import annotations
|
|
|
4
4
|
|
|
5
5
|
import dataclasses
|
|
6
6
|
import json
|
|
7
|
-
import math
|
|
8
7
|
import sys
|
|
9
8
|
from typing import (
|
|
10
9
|
TYPE_CHECKING,
|
|
@@ -18,9 +17,7 @@ from typing import (
|
|
|
18
17
|
overload,
|
|
19
18
|
)
|
|
20
19
|
|
|
21
|
-
from reflex.
|
|
22
|
-
from reflex.utils.exceptions import PrimitiveUnserializableToJSON, VarTypeError
|
|
23
|
-
from reflex.utils.imports import ImportDict, ImportVar
|
|
20
|
+
from reflex.utils.exceptions import VarTypeError
|
|
24
21
|
|
|
25
22
|
from .base import (
|
|
26
23
|
CustomVarOperationReturn,
|
|
@@ -1041,14 +1038,7 @@ class LiteralNumberVar(LiteralVar, NumberVar):
|
|
|
1041
1038
|
|
|
1042
1039
|
Returns:
|
|
1043
1040
|
The JSON representation of the var.
|
|
1044
|
-
|
|
1045
|
-
Raises:
|
|
1046
|
-
PrimitiveUnserializableToJSON: If the var is unserializable to JSON.
|
|
1047
1041
|
"""
|
|
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
|
-
)
|
|
1052
1042
|
return json.dumps(self._var_value)
|
|
1053
1043
|
|
|
1054
1044
|
def __hash__(self) -> int:
|
|
@@ -1070,15 +1060,8 @@ class LiteralNumberVar(LiteralVar, NumberVar):
|
|
|
1070
1060
|
Returns:
|
|
1071
1061
|
The number var.
|
|
1072
1062
|
"""
|
|
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
|
-
|
|
1080
1063
|
return cls(
|
|
1081
|
-
_js_expr=
|
|
1064
|
+
_js_expr=str(value),
|
|
1082
1065
|
_var_type=type(value),
|
|
1083
1066
|
_var_data=_var_data,
|
|
1084
1067
|
_var_value=value,
|
|
@@ -1115,11 +1098,6 @@ class ToBooleanVarOperation(ToOperation, BooleanVar):
|
|
|
1115
1098
|
_default_var_type: ClassVar[Type] = bool
|
|
1116
1099
|
|
|
1117
1100
|
|
|
1118
|
-
_IS_TRUE_IMPORT: ImportDict = {
|
|
1119
|
-
f"/{Dirs.STATE_PATH}": [ImportVar(tag="isTrue")],
|
|
1120
|
-
}
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
1101
|
@var_operation
|
|
1124
1102
|
def boolify(value: Var):
|
|
1125
1103
|
"""Convert the value to a boolean.
|
|
@@ -1131,9 +1109,8 @@ def boolify(value: Var):
|
|
|
1131
1109
|
The boolean value.
|
|
1132
1110
|
"""
|
|
1133
1111
|
return var_operation_return(
|
|
1134
|
-
js_expression=f"
|
|
1112
|
+
js_expression=f"Boolean({value})",
|
|
1135
1113
|
var_type=bool,
|
|
1136
|
-
var_data=VarData(imports=_IS_TRUE_IMPORT),
|
|
1137
1114
|
)
|
|
1138
1115
|
|
|
1139
1116
|
|
|
@@ -194,6 +194,14 @@ class StringVar(Var[str]):
|
|
|
194
194
|
"""
|
|
195
195
|
return string_strip_operation(self)
|
|
196
196
|
|
|
197
|
+
def bool(self):
|
|
198
|
+
"""Boolean conversion.
|
|
199
|
+
|
|
200
|
+
Returns:
|
|
201
|
+
The boolean value of the string.
|
|
202
|
+
"""
|
|
203
|
+
return self.length() != 0
|
|
204
|
+
|
|
197
205
|
def reversed(self) -> StringVar:
|
|
198
206
|
"""Reverse the string.
|
|
199
207
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/jinja/custom_components/__init__.py.jinja2
RENAMED
|
File without changes
|
{reflex-0.6.0 → reflex-0.6.0a2}/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.0 → reflex-0.6.0a2}/reflex/.templates/jinja/web/pages/custom_component.js.jinja2
RENAMED
|
File without changes
|
|
File without changes
|
{reflex-0.6.0 → reflex-0.6.0a2}/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2
RENAMED
|
File without changes
|
{reflex-0.6.0 → reflex-0.6.0a2}/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
|