Vince's CSV Parser v5.3.0 Release Notes

Release Date: 2026-05-26 // 17 days ago
  • Numerous DataFrame additions

    • insert_row()
    • insert_column() and append_column()
    • Row and column erasing

    Row modifications are lightweight, while column additions are heavier due to the library being inherently row-based.

    CSVRow::byte_offset()

    CSVRow gains a new method that describes exactly where in a CSV file it begins. This allows for the possibility of truly random access algorithms without needing to materialize everything in memory, after an initial pass is performed.

    Single Header Generation

    Single header files are now generated by https://github.com/vincentlaucsb/single_header which is a GitHub action based on a C++ native app. This replaces the previous Python script.

    There should be no changes in behavior, but I felt like noting this for transparency.

    What's Changed

    Full Changelog : 5.2.0...5.3.0


Previous changes from v5.2.0

  • 👀 For full details, see PR #316

    • ➕ Added first-class Python bindings

      • Based on preliminary benchmarks, we have competitive numpy array deserialization vs. pyarrow and Polars while using significantly less memory
      • We have faster list, dict, and tuple deserialization
    • ➕ Added opt-in eager classification for people who want type inference to happen during parsing (useful for people w/ multi-core CPUs)

    • 🛠 Fixed regression with float parsing when std::from_chars() wasn't available

    PyPI

    📦 The Python bindings for this parser are available on the Python package index.

    pip install fastpycsv

    What's Changed

    Full Changelog : 5.1.0...5.2.0