You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
IO: Windows paths crash with 'Unrecognized filesystem type in URI: c' #3720
On Windows, passing a local absolute path (e.g. C:\Users\data\warehouse) to any PyIceberg IO operation crashes with:
from pyiceberg.io.pyarrow import PyArrowFileIO
io=PyArrowFileIO()
f=io.new_input(r"C:\Users\me\warehouse\table\metadata.json")
# ValueError: Unrecognized filesystem type in URI: c
frompyiceberg.catalogimportload_catalogcatalog=load_catalog(
"my_catalog",
**{
"type": "sql",
"uri": "sqlite:///catalog.db",
"warehouse": r"C:\Users\me\iceberg_warehouse",
},
)
# UserWarning: No preferred file implementation for scheme: c
The root cause: Python's urlparse treats Windows drive letters as URI schemes (C:\...scheme='c'). Since 'c' is not in PyIceberg's scheme-to-FileIO mapping, all local file operations fail.
This affects three independent parse sites:
_infer_file_io_from_scheme() in pyiceberg/io/__init__.py
PyArrowFileIO.parse_location() in pyiceberg/io/pyarrow.py
FsspecFileIO._get_fs_from_uri() in pyiceberg/io/fsspec.py
Hi! I’d like to work on this issue. I plan to add a shared, platform-aware Windows drive-letter path check, apply it consistently at the three parsing sites described here, and add focused tests covering PyArrowFileIO, FsspecFileIO, and FileIO inference without changing non-Windows URI behavior.
If this is still available, could you please assign it to me? Thanks!
Hi! I’d like to work on this issue. I plan to add a shared, platform-aware Windows drive-letter path check, apply it consistently at the three parsing sites described here, and add focused tests covering PyArrowFileIO, FsspecFileIO, and FileIO inference without changing non-Windows URI behavior.
If this is still available, could you please assign it to me? Thanks!
Activity
sidharth-05 commentedon Aug 7, 2026
Hi! I’d like to work on this issue. I plan to add a shared, platform-aware Windows drive-letter path check, apply it consistently at the three parsing sites described here, and add focused tests covering PyArrowFileIO, FsspecFileIO, and FileIO inference without changing non-Windows URI behavior.
If this is still available, could you please assign it to me? Thanks!
qzyu999 commentedon Aug 7, 2026
Hi @sidharth-05, this has been completed as of #3723.