def test_ipc_schema_from_file(io_test_dir: str, df_no_lists: pl.DataFrame, compressions: list[str]) -> None: df = df_no_lists f_ipc = os.path.join(io_test_dir, "small.ipc") # does not yet work on windows because we hold an mmap? if os.name != "nt": for compression in compressions: for f in (str(f_ipc), Path(f_ipc)): df.write_ipc(f, compression=compression) # type: ignore[arg-type] assert pl.read_ipc_schema(f) == { # type: ignore[arg-type] "bools": pl.Boolean, "bools_nulls": pl.Boolean, "int": pl.Int64, "int_nulls": pl.Int64, "floats": pl.Float64, "floats_nulls": pl.Float64, "strings": pl.Utf8, "strings_nulls": pl.Utf8, "date": pl.Date, "datetime": pl.Datetime, "time": pl.Time, "cat": pl.Categorical, }
def test_ipc_schema(): df = pl.DataFrame({"a": [1, 2], "b": ["a", None], "c": [True, False]}) f = io.BytesIO() df.to_ipc(f) f.seek(0) assert pl.read_ipc_schema(f) == {"a": pl.Int64, "b": pl.Utf8, "c": pl.Boolean}
def test_ipc_schema(compressions: list[str]) -> None: df = pl.DataFrame({"a": [1, 2], "b": ["a", None], "c": [True, False]}) for compression in compressions: f = io.BytesIO() df.write_ipc(f, compression=compression) # type: ignore[arg-type] f.seek(0) assert pl.read_ipc_schema(f) == { "a": pl.Int64, "b": pl.Utf8, "c": pl.Boolean }