From 15485f07167e52e6848b8bca58a6a1cb7b8b38a7 Mon Sep 17 00:00:00 2001 From: Nikhil Rao Date: Tue, 25 Apr 2023 23:50:43 -0700 Subject: [PATCH] Handle dataframe base vars (#878) --- pynecone/var.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pynecone/var.py b/pynecone/var.py index 52db1bb16..d80ce9197 100644 --- a/pynecone/var.py +++ b/pynecone/var.py @@ -704,6 +704,9 @@ class BaseVar(Var, Base): Returns: The default value of the var. + + Raises: + ImportError: If the var is a dataframe and pandas is not installed. """ type_ = ( self.type_.__origin__ if types.is_generic_alias(self.type_) else self.type_ @@ -720,6 +723,15 @@ class BaseVar(Var, Base): return {} if issubclass(type_, tuple): return () + if types.is_dataframe(type_): + try: + import pandas as pd + + return pd.DataFrame() + except ImportError as e: + raise ImportError( + "Please install pandas to use dataframes in your app." + ) from e return set() if issubclass(type_, set) else None def get_setter_name(self, include_state: bool = True) -> str: