# A Polars 1.x report script, used to check the guard. Every marked line fails or changes in Polars 2. import io import polars as pl sales = pl.read_csv("sales.csv", dtypes={"store": pl.Utf8}) # csv-dtypes sales = sales.with_row_count() # with-row-count long = sales.melt(id_vars="store", value_vars=["q1", "q2"]) # melt per_store = sales.group_by("store").count() # groupby-count joined = sales.join(per_store, on="store", how="outer") # join-outer labels = sales.select(pl.col("store").str.concat(", ")) # str-concat smooth = sales.select(pl.col("q1").rolling_mean(3, min_periods=1)) # min-periods big = sales.lazy().filter(pl.col("q1") > 10).collect(streaming=True) # streaming-flag days = sales.with_columns(pl.col("day").cast(pl.Date)) # string-to-temporal-cast names = sales.with_columns(pl.col("store").map_dict({"A": "Leeds"})) # map-dict buf = io.BytesIO() # bytesio-seek sales.write_parquet(buf) again = pl.read_parquet(buf)