Skip to content

Initial work for file format writer API#3119

Open
nssalian wants to merge 3 commits intoapache:mainfrom
nssalian:file-format-initial-work
Open

Initial work for file format writer API#3119
nssalian wants to merge 3 commits intoapache:mainfrom
nssalian:file-format-initial-work

Conversation

@nssalian
Copy link
Contributor

@nssalian nssalian commented Mar 3, 2026

Initial work for #3100. Since this is a large change, doing it in parts similar to the AuthManager so it's easier to review and move the existing code around.

Rationale for this change

Introduces the pluggable file format writer API: FileFormatWriter, FileFormatModel, and
FileFormatFactory in pyiceberg/io/fileformat.py. Moves DataFileStatistics from pyarrow.py with a
re-export for backward compatibility. The move is more forward looking and the idea is to keep the stats generic in the future as we add additional formats too.

This is the first part of work for #3100. No behavioral changes; the write path remains hardcoded to Parquet.

Are these changes tested?

Yes. tests/io/test_fileformat.py tests backward-compatible import of DataFileStatistics

Are there any user-facing changes?

No

@nssalian nssalian marked this pull request as ready for review March 3, 2026 19:01
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