Skip to content

Commit 194fd92

Browse files
authored
Support displaying snowpark dataframes in notebooks. (#4572)
1 parent 1da137a commit 194fd92

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

sqlmesh/magics.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
from sqlmesh.core.dialect import format_model_expressions, parse
3333
from sqlmesh.core.model import load_sql_based_model
3434
from sqlmesh.core.test import ModelTestMetadata
35-
from sqlmesh.utils import sqlglot_dialects, yaml, Verbosity
35+
from sqlmesh.utils import sqlglot_dialects, yaml, Verbosity, optional_import
3636
from sqlmesh.utils.errors import MagicError, MissingContextException, SQLMeshError
3737

3838
logger = logging.getLogger(__name__)
@@ -548,6 +548,8 @@ def run_dag(self, context: Context, line: str) -> None:
548548
def evaluate(self, context: Context, line: str) -> None:
549549
"""Evaluate a model query and fetches a dataframe."""
550550
context.refresh()
551+
552+
snowpark = optional_import("snowflake.snowpark")
551553
args = parse_argstring(self.evaluate, line)
552554

553555
df = context.evaluate(
@@ -557,6 +559,10 @@ def evaluate(self, context: Context, line: str) -> None:
557559
execution_time=args.execution_time,
558560
limit=args.limit,
559561
)
562+
563+
if snowpark and isinstance(df, snowpark.DataFrame):
564+
df = df.limit(args.limit or 100).to_pandas()
565+
560566
self.display(df)
561567

562568
@magic_arguments()

0 commit comments

Comments
 (0)