Skip to content

Conversation

@redstrate
Copy link
Owner

@redstrate redstrate commented Jan 5, 2026

Little steps to big improvements:

  • Shortened type and function names, and types are already in an excel module so no need to duplicate terms.
  • get_subrow/get_row (now subrow/row, as said above) now return ExcelSingleRow (now Row) to simplify the public API. More of the side-effects when using the wrong function is now clarified in the documentation.
  • For the few edge cases where you need the full row information (libphysis, for example) that's still available but now as a dedicated function: entry. The documentation tries to warn users not to depend on this.
  • Iterators are further overhauled, now there's a way to iterate through the pages from a Sheet. There's also way to flatten subrow information if you know you don't need it (see [Icarus] No API for looping through every row of every page of a sheet #12 for more details behind this design.)

See #26

Ports

Kawari: redstrate/Kawari#280
EXDGen (for Icarus): https://codeberg.org/redstrate/EXDGen/pulls/3
Novus: redstrate/Novus#22
libphysis: redstrate/libphysis#1

This is just simpler API, but move this edge case to a new function
called get_row_kind.

See #26
This shortens a lot of the names (they're already in the Excel module!)
I also reduced the amount of variants used for row/subrow so consumer
code should be cleaner.
@redstrate redstrate force-pushed the work/redstrate/excel-overhaul branch from 9643c4a to 8d92446 Compare January 5, 2026 23:07
More importantly, there's a way to flatten subrows in case you don't
care about them.
Needed for Icarus' own iterators as well.
@redstrate redstrate marked this pull request as ready for review January 6, 2026 01:52
@redstrate redstrate merged commit 2d7b596 into main Jan 6, 2026
4 checks passed
@redstrate redstrate deleted the work/redstrate/excel-overhaul branch January 6, 2026 02:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant