From 1d093486b9508870ad6193a2af8042877859d1ee Mon Sep 17 00:00:00 2001 From: Elijah Ahianyo <elijahahianyo@gmail.com> Date: Wed, 8 May 2024 10:52:37 -0700 Subject: [PATCH] [REF-2622] Throw warning for incompatible uvicorn version on windows (#3246) --- reflex/utils/prerequisites.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/reflex/utils/prerequisites.py b/reflex/utils/prerequisites.py index 2e59b9953..cb83de76c 100644 --- a/reflex/utils/prerequisites.py +++ b/reflex/utils/prerequisites.py @@ -914,9 +914,21 @@ def needs_reinit(frontend: bool = True) -> bool: return True if constants.IS_WINDOWS: + import uvicorn + + uvi_ver = uvicorn.__version__ console.warn( """Windows Subsystem for Linux (WSL) is recommended for improving initial install times.""" ) + if sys.version_info >= (3, 12) and uvi_ver != "0.24.0.post1": + console.warn( + f"""On Python 3.12, `uvicorn==0.24.0.post1` is recommended for improved hot reload times. Found {uvi_ver} instead.""" + ) + + if sys.version_info < (3, 12) and uvi_ver != "0.20.0": + console.warn( + f"""On Python < 3.12, `uvicorn==0.20.0` is recommended for improved hot reload times. Found {uvi_ver} instead.""" + ) # No need to reinitialize if the app is already initialized. return False