### Feature Request / Improvement It relies heavily on PyArrow, so it should be in `pyarrow.py` as suggested by @HonahX in https://github.com/apache/iceberg-python/pull/569#discussion_r1659979992