Open
Description
What is the best way to read a pin from Posit Connect directly into polars?
I have found a few options that work, but none of them are exactly what I am looking for.
(1) Use pin_download
This method is my favourite, but it requires one extra step, I can't get a polars dataframe directly from pin_read
.
import pins
import polars as pl
board = pins.board_connect()
paths = board.pin_download("sam.edwardes/vessel_verbose_raw")
pl.read_parquet(paths)
(2) Use pandas
This works, but requires me to have pandas installed. I also assume there is some kind of performance hit b/c you first read into pandas, then into polars?
import pins
import pandas as pd
import polars as pl
board = pins.board_connect()
pl.DataFrame(board.pin_read("sam.edwardes/vessel_verbose_raw"))
(3) Use fsspec
I have not figured out how to implement this yet, but I found this example for duckdb:
Is there a way to do this with polars?
Related issues
Suggestions
It would be nice if pins gave me a choice about what DataFrame library is used with pin_read. For example:
import pins
import polars as pl
board = pins.board_connect()
board.pin_read("sam.edwardes/vessel_verbose_raw", df_library='polars')