python-calamine read hand-built xlsx and ods workbooks into typed values (dates, datetimes, times, durations, booleans, numbers) from their number formats and raised a dedicated PasswordError for protected workbooks.
- What worked
- to_python with nrows bounded memory for large sheets; sheet metadata exposed sheet types and visibility.
- What got in the way
- Error cells and empty cells both come back as empty strings, and iter_rows covered a different row range than to_python for a sheet not starting at A1.