Reflex

Latest version: v0.4.9

Safety actively analyzes 623518 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 10

0.4.9

New Features

* add pathlib.Path serializer by Lendemor in https://github.com/reflex-dev/reflex/pull/3082

Improvements

* Simplify `run_process_with_fallback` logic by masenf in https://github.com/reflex-dev/reflex/pull/3089
* Use Fallback command on all platforms by ElijahAhianyo in https://github.com/reflex-dev/reflex/pull/3099
* allow set in var.contains by martinxu9 in https://github.com/reflex-dev/reflex/pull/3113

Bug Fixes

* [REF-2586] Pass child event_trigger through DebounceInput by masenf in https://github.com/reflex-dev/reflex/pull/3092
* `on_key_down` / `on_key_up` work with controlled inputs
* [REF-2589] Use errors='replace' with subprocess by masenf in https://github.com/reflex-dev/reflex/pull/3096
* Avoid UnicodeDecodeError on windows
* [REF-2587] Ignore top-level theme appearance (3119)

Experimental

* Layout components by Lendemor in https://github.com/reflex-dev/reflex/pull/3066

Other Changes

* do not clear all decorated pages during AppHarness tests by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3093
* improve auto-generated AppHarness app_name with partials by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3088
* app_source can be partial by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/3100
* pin react-focus-lock to 2.11.3 (3123)

**Full Changelog**: https://github.com/reflex-dev/reflex/compare/v0.4.8...v0.4.9

0.4.8.post1

Pin react-focus-lock to 2.11.13 3123

0.4.8

New Features

new `transpile_packages` field in rx.Component

For packages on npm which are not exported as modules, these can now be transpiled by Next.JS and used directly.

* [REF-2392] Expose next.config.js transpilePackages key by masenf in https://github.com/reflex-dev/reflex/pull/3006

Improvements

Use `bun` as a package manager on windows

_Much faster_ package installation on windows!

x64 only (no x86 or ARM support)

* [REF-1586] Use bun as a package manager on windows by masenf in https://github.com/reflex-dev/reflex/pull/2359

Upload with no files selected still calls event handler

Note: you need to specify a default value for your files parameter to take advantage of this change.

* Fix For When user selects Empty files using File Upload by Yummy-Yums in https://github.com/reflex-dev/reflex/pull/3051

Enum types are now serialized to their value

* added serializer for enums by wassafshahzad in https://github.com/reflex-dev/reflex/pull/3058

Automatic tuple unpacking also works for Component children

* [REF-2524]Tuple unpacking should apply at component level by ElijahAhianyo in https://github.com/reflex-dev/reflex/pull/3062

Bug Fixes

* minimal fix for upload_url in rx.download by Lendemor in https://github.com/reflex-dev/reflex/pull/3073
* Force pydantic v1 for sqlmodel compatibility by masenf in https://github.com/reflex-dev/reflex/pull/3026
* Fix annotated EventHandler by masenf in https://github.com/reflex-dev/reflex/pull/3076

Experimental

* add run_in_thread by Lendemor in https://github.com/reflex-dev/reflex/pull/3077

Other Changes

* chore: fix some typos in comments by hugehope in https://github.com/reflex-dev/reflex/pull/3071
* fix: removed .git in template URL by wassafshahzad in https://github.com/reflex-dev/reflex/pull/3049

New Contributors
* hugehope made their first contribution in https://github.com/reflex-dev/reflex/pull/3071

**Full Changelog**: https://github.com/reflex-dev/reflex/compare/v0.4.7...v0.4.8

0.4.7

New Features

New `reflex init` templates

We've added 4 new base templates to `reflex init`.

bash
(0) blank (https://blank-template.reflex.run) - A minimal template
(1) dashboard (https://dashboard.reflex.run) - A dashboard with tables and graphs
(2) chat (https://chat.reflex.run) - A ChatGPT clone
(3) sidebar (https://sidebar-template.reflex.run) - A template with a sidebar to navigate pages


You can also specify the template directly


reflex init --template chat


* Update sidebar temp by Alek99 in https://github.com/reflex-dev/reflex/pull/2959
* Support reflex app creation from templates from github by martinxu9 in https://github.com/reflex-dev/reflex/pull/2490

Use any Reflex app on Github as an initial template

`reflex init` now also supports passing in any Github url as a template. Currently the Reflex app must be in the root of the Github directory (meaning the `rxconfig.py` should be in the root.


reflex init --template https://github.com/reflex-dev/reflex-chat


* Support reflex app creation from templates from github by martinxu9 in https://github.com/reflex-dev/reflex/pull/2490

`reflex run` will automatically init the app when required

Previously when updating versions of Reflex or cloning an existing Reflex app, you would have to run `reflex init` before you can `reflex run`. From 0.4.7, `reflex init` is only required the very first time you create an app. If you are missing a `.web` folder or there's a new version of Reflex, `reflex run` and `reflex export` will automatically `init` the app for you.

* Reflex run automatically inits when needed by picklelo in https://github.com/reflex-dev/reflex/pull/3011

`rx.logo()` component to display the Reflex logo

Show Built with Reflex logo.
python
rx.logo()


* adding a reflex logo component by tgberkeley in https://github.com/reflex-dev/reflex/pull/2994

Reflex Experimental Namespace

We've introduced a new `rx._x` namespace where we will be putting experimental features for early testers before they go into general release. This will help us make sure new features have time to mature with real users before we make them public

* add experimental namespace under rx._x by Lendemor in https://github.com/reflex-dev/reflex/pull/2951


Improvements

`None` can be passed in as a component prop and it will be skipped
* Logic for removing the 'None' property along with its corresponding test cases by AmanSal1 in https://github.com/reflex-dev/reflex/pull/2969
Leaving a trailing comma on a reflex component won't throw an error anymore as we unpack the tuple
* Unpack component tuples in a fragment by ElijahAhianyo in https://github.com/reflex-dev/reflex/pull/2985

Bug Fixes
* [REF-2425] Reduce unnecessary CI runs by martinxu9 in https://github.com/reflex-dev/reflex/pull/2966
* adjust share command prompt by martinxu9 in https://github.com/reflex-dev/reflex/pull/2965
* Windows uvicorn bug fix by sid-38 in https://github.com/reflex-dev/reflex/pull/2954
* use dict instead of set to store hooks by Lendemor in https://github.com/reflex-dev/reflex/pull/2995
* Added custom_attrs to the list of trigger props by SwarajBaral in https://github.com/reflex-dev/reflex/pull/2980
* Exclude .web dir when running uvicorn by ElijahAhianyo in https://github.com/reflex-dev/reflex/pull/2986
* Fix typo in page.py by thphuc in https://github.com/reflex-dev/reflex/pull/3001

Misc
* Lendemor/improve coverage by Lendemor in https://github.com/reflex-dev/reflex/pull/2988
* Include architecture post in readme by picklelo in https://github.com/reflex-dev/reflex/pull/2993
* Remove extra spaces in the keywords in pyproject.toml template by martinxu9 in https://github.com/reflex-dev/reflex/pull/2990
* add logo to blank template by tgberkeley in https://github.com/reflex-dev/reflex/pull/3014
* [REF-2296] Rename recursive functions by martinxu9 in https://github.com/reflex-dev/reflex/pull/2999
* [REF-2303] Update custom component template for new API by martinxu9 in https://github.com/reflex-dev/reflex/pull/3007
* remove types-tabulate from dev dependencies by martinxu9 in https://github.com/reflex-dev/reflex/pull/2977

New Contributors
* AmanSal1 made their first contribution in https://github.com/reflex-dev/reflex/pull/2969
* sid-38 made their first contribution in https://github.com/reflex-dev/reflex/pull/2954
* SwarajBaral made their first contribution in https://github.com/reflex-dev/reflex/pull/2980
* thphuc made their first contribution in https://github.com/reflex-dev/reflex/pull/3001

**Full Changelog**: https://github.com/reflex-dev/reflex/compare/v0.4.6...v0.4.7

0.4.6

Known Issues

* Unhandled runtime error when navigating between pages in a stateless app.
* Fix: https://github.com/reflex-dev/reflex/pull/2490/commits/c78884b7ba4fd30f5047e87d5b24da59475a0fef

This Release was Airdropped from 30000' over Nevada 🪂

![IMG_2840](https://github.com/reflex-dev/reflex/assets/1524005/7468742e-1dde-4704-9bd4-4a65e2eef28b)


Breaking Changes

Use `dill` instead of `cloudpickle`

In reflex-0.4.6, existing states persisted in redis are not compatible. Redis should be cleared and existing states/sessions discarded after upgrading.

* [REF-2089] Use dill instead of cloudpickle for serialization by masenf in https://github.com/reflex-dev/reflex/pull/2922

New Features

`reflex component share` CLI

Simplify sharing of custom 3rd party components to the [Reflex Component Gallery](https://reflex.dev/docs/custom-components/).

* [REF-2168] Add share options to custom component commands by martinxu9 in https://github.com/reflex-dev/reflex/pull/2883

`rx.ComponentState`

An easy way to define per-component State.

python
import reflex as rx

class CounterButton(rx.ComponentState):
count: int

def increment(self):
self.count += 1

def decrement(self):
self.count -= 1

classmethod
def get_component(cls, *children, **props):
return rx.button(
f"Counter {cls.count}",
on_click=cls.increment,
on_context_menu=cls.decrement.prevent_default,
)

counter_button = CounterButton.create

rx.page()
def index():
return rx.vstack(
*[counter_button() for _ in range(10)]
)

app = rx.App()


* [REF-2265] ComponentState: scaffold for copying State per Component instance by masenf in https://github.com/reflex-dev/reflex/pull/2923

Automatically Select Next Available Port

When the configured port is not available, automatically select the next sequential port until one is available

* added feature to automatically change port by wassafshahzad in https://github.com/reflex-dev/reflex/pull/2867

Expanding Textarea

New props on `rx.el.textarea` and `rx.text_area` allow the field to expand to match content and submit the form when Enter is pressed (shift+enter to create a new line)

* textarea: expose auto_height and enter_key_submit props by masenf in https://github.com/reflex-dev/reflex/pull/2884

`rx.scroll_to` event

Scroll the viewpoint to show a given element by ID.

* Scroll to feature by Yummy-Yums in https://github.com/reflex-dev/reflex/pull/2948

Improvements

Simplify Component Wrapping API

[REF-2272] Support declaring EventHandlers directly in component by martinxu9 in https://github.com/reflex-dev/reflex/pull/2952
Props typed as `rx.EventHandler` can be used to define event triggers without overriding `get_event_triggers` method. The argument of the type specifies the JS to Python mapping: `on_click: rx.EventTrigger[lambda e: [e]]`.

generate pyi files when building/publishing 3rd party component by Lendemor in https://github.com/reflex-dev/reflex/pull/2945
Third-party components will now have `.pyi` files generated for them to improve IDE completion, similar to the built in Reflex components.

Updated Lucide Icons

The latest icons available on https://lucide.dev are now usable in Reflex. Some icon names have changed, these will print a deprecation warning pointing to the new name. The old names will be removed in 0.5.0.

* Update LUCIDE_ICON_LIST with newest Icon names by luccavp12 in https://github.com/reflex-dev/reflex/pull/2891

Loosen Requirement Pins

Reflex is now compatible with a wider range of dependencies. Notably, it can be used with packages that depend on Pydantic v2 (although the framework itself is still using v1).

* [REF-2127] Loosen requirements by mahrz24 in https://github.com/reflex-dev/reflex/pull/2796

Note: due to a regression in recent `uvicorn` versions, that dep will remain pinned as it was in 0.4.5.

Avoid content flicker when using `State.is_hydrated`

`is_hydrated` is set to False immediately when a navigation event starts, and is set back to True after all on_load events have executed. This avoids content flickering into view before a loading spinner is displayed when the spinner is conditional on the value of `State.is_hydrated`.

Additionally, the WiFi off connection error pulser is only displayed when connection errors are detected (before it was displayed whenever the page was not hydrated).

* Set is_hydrated=False at route onChangeStart by masenf in https://github.com/reflex-dev/reflex/pull/2949

Miscellaneous

* [REF-1982] state: Warn if redis state is "too big" by masenf in https://github.com/reflex-dev/reflex/pull/2868
* use radix box instead of chakra one for responsive elements by Lendemor in https://github.com/reflex-dev/reflex/pull/2921
* [REF-2229]Dedupe deprecation warnings by ElijahAhianyo in https://github.com/reflex-dev/reflex/pull/2871
* fix hook order to use ref inside user hooks by Lendemor in https://github.com/reflex-dev/reflex/pull/2906
* Ensure user-defined hooks can always access refs
* [REF-2302] When a Var points to a model, prefer access to model fields. by masenf in https://github.com/reflex-dev/reflex/pull/2893

Bug Fixes

* [REF-2117]:`rx.color_mode_cond` to work in f-strings by ElijahAhianyo in https://github.com/reflex-dev/reflex/pull/2775
* Default to None if bun/fnm version is Invalid by ElijahAhianyo in https://github.com/reflex-dev/reflex/pull/2940
* remove inheritance from Flex for list components by Lendemor in https://github.com/reflex-dev/reflex/pull/2936
* Fix markdown rendering of lists
* parse_args_spec: resolve annotations with typing.get_type_hints by masenf in https://github.com/reflex-dev/reflex/pull/2849
* [REF-2219] Avoid refetching states that are already cached by masenf in https://github.com/reflex-dev/reflex/pull/2953
* Fix issue affecting Cookie/LocalStorage values when substates contained computed vars
* [REF-2306] Include twine in dependencies on pyproject.toml by martinxu9 in https://github.com/reflex-dev/reflex/pull/2895

Other Changes
* Fix 2877, PR title not available for push/PR merge by martinxu9 in https://github.com/reflex-dev/reflex/pull/2889
* [REF-2284]Benchmark add extra info on publishing data by ElijahAhianyo in https://github.com/reflex-dev/reflex/pull/2864
* Revert "add precommit check added large files and git lfs rules (2866)" by picklelo in https://github.com/reflex-dev/reflex/pull/2905
* [REF-1682][REF-1683][REF-1684][REF-2283]Benchmark reflex package size and .web folder by ElijahAhianyo in https://github.com/reflex-dev/reflex/pull/2880
* fix AppHarness reloading by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/2916
* Remove page.pyi: it's out of date, and not necessary by masenf in https://github.com/reflex-dev/reflex/pull/2924
* [REF-2416] Pass shell=True when starting AppHarness on Windows by masenf in https://github.com/reflex-dev/reflex/pull/2944
* updated watchdog dep by Yummy-Yums in https://github.com/reflex-dev/reflex/pull/2946
* Update README.md by ChicIceCream in https://github.com/reflex-dev/reflex/pull/2963

New Contributors
* luccavp12 made their first contribution in https://github.com/reflex-dev/reflex/pull/2891
* mahrz24 made their first contribution in https://github.com/reflex-dev/reflex/pull/2796
* ChicIceCream made their first contribution in https://github.com/reflex-dev/reflex/pull/2963

**Full Changelog**: https://github.com/reflex-dev/reflex/compare/v0.4.5...v0.4.6

0.4.5

New Features

Support SQLAlchemy Models Directly

* Bare sqlalchemy metadata by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/2355

Experimental Multi-process Compilation

Pass `REFLEX_COMPILE_PROCESSES=0` to opt-in to multiprocess compile, which significantly improves compilation speed of large apps (Mac and Linux only).

* [REF-2122] Opt-in multiprocess compile by masenf in https://github.com/reflex-dev/reflex/pull/2838

Improvements

* improve event handler state references by benedikt-bartscher in https://github.com/reflex-dev/reflex/pull/2818
* Allow access to position from HighLevelSelect by hjpr in https://github.com/reflex-dev/reflex/pull/2829
* [REF-2157] Allow `rx.download` to resolve `rx.get_upload_url` links by masenf in https://github.com/reflex-dev/reflex/pull/2813
* better default title for seo (also remove default description) by Lendemor in https://github.com/reflex-dev/reflex/pull/2844
* Make rx.memo work with state vars passed as props by masenf in https://github.com/reflex-dev/reflex/pull/2810
* added name of Var to error message by emmakodes in https://github.com/reflex-dev/reflex/pull/2827

Bug Fixes
* [REF-2172] Add DECORATED_PAGES before compiling in thread by masenf in https://github.com/reflex-dev/reflex/pull/2841
* Fix known regression with py3.8 and py3.9
* Remove width prop from rx.select by picklelo in https://github.com/reflex-dev/reflex/pull/2835
* HighLevelSelect: pass flex_shrink prop to SelectTrigger by masenf in https://github.com/reflex-dev/reflex/pull/2876
* Get `client_ip` from `asgi.scope` by masenf in https://github.com/reflex-dev/reflex/pull/2808
* `router.session.client_ip` more likely to be correct now
* convert text inside list_item to span and set icon display to inline by Lendemor in https://github.com/reflex-dev/reflex/pull/2860

Other Changes

* [REF-2086] Avoid "Warning: The path to the Node binary could not be found. by masenf in https://github.com/reflex-dev/reflex/pull/2803
* telemetry refactor + unit tests by Lendemor in https://github.com/reflex-dev/reflex/pull/2786
* When __REFLEX_SKIP_COMPILE == "yes" allow telemetry to fail by masenf in https://github.com/reflex-dev/reflex/pull/2881
* Custom Component Request Template by Alek99 in https://github.com/reflex-dev/reflex/pull/2853
* Benchmark with app harness by ElijahAhianyo in https://github.com/reflex-dev/reflex/pull/2774
* Fix py3.8 integration test_var_operations.py by masenf in https://github.com/reflex-dev/reflex/pull/2858
* Account for imports of rx.memo components for frontend package installation by masenf in https://github.com/reflex-dev/reflex/pull/2863
* [REF-2216] Warn if windows is used with py312 by masenf in https://github.com/reflex-dev/reflex/pull/2856
* Separate `get_hooks` and `get_hooks_internal` for stable output by masenf in https://github.com/reflex-dev/reflex/pull/2710
* [REF-2219] vars: set `_was_touched` when updating cached vars by masenf in https://github.com/reflex-dev/reflex/pull/2886

New Contributors
* hjpr made their first contribution in https://github.com/reflex-dev/reflex/pull/2829
* emmakodes made their first contribution in https://github.com/reflex-dev/reflex/pull/2827

**Full Changelog**: https://github.com/reflex-dev/reflex/compare/v0.4.4...v0.4.5

Page 1 of 10

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.