fp-io 0.1.0

IO layer for frankenpandas: CSV, JSON, JSONL, Parquet, ORC, HDF5, Excel, Feather, Arrow IPC, Pickle, Stata, SQL (SqlConnection with SQLite default backend).
Documentation

fp-io

IO layer for frankenpandas: CSV, JSON, JSONL, Parquet, Excel, Feather, Arrow IPC, SQL.

Part of the frankenpandas workspace.

Supported formats

Format Read Write Options
CSV read_csv_str / read_csv write_csv_string delimiter, na_values, index_col, usecols, nrows, skiprows, dtype
JSON read_json_str / read_json write_json_string 5 orients (Records, Columns, Index, Split, Values)
JSONL read_jsonl_str / read_jsonl write_jsonl_string One object per line, union-key detection
Parquet read_parquet_bytes / read_parquet write_parquet_bytes Arrow RecordBatch integration
Excel read_excel_bytes / read_excel write_excel_bytes sheet_name, has_headers, index_col
Feather read_feather_bytes write_feather_bytes Arrow IPC file + stream
Arrow IPC read_ipc_stream_bytes write_ipc_stream_bytes Stream format
SQL read_sql / read_sql_table write_sql SqlConnection trait; SQLite today

SQL backend expansion (PostgreSQL / MySQL) is tracked under br-frankenpandas-fd90 (slices 2-3 open).

When to depend on fp-io directly

Most users should depend on the umbrella frankenpandas crate which re-exports the IO functions. Direct dependency makes sense when:

  • You need IO primitives but not the full DataFrame arithmetic layer.
  • You are writing a streaming pipeline that routes through fp-columnar without materializing a full DataFrame.

Status

Stable for covered formats. Fuzz regression corpus runs on every PR (br-frankenpandas-zjme). Differential conformance against live pandas runs in CI (br-frankenpandas-d6xa). IoError is #[non_exhaustive] per br-frankenpandas-tne4.

Links