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
I am working in Mac OS local machine (ARM) and using Python deltalake binding for read and write Delta tables. I need to store some Delta tables in the directory synced with iCloud, which is named $HOME/Library/Mobile Documents/com~apple~CloudDocs. I have also a symlink in the home, $HOME/iCloud, pointing to this location, which I typically use instead of the actual full path.
When I try to use write_deltalake function, an error OSError: Encountered object with invalid path: Error parsing Path "/Users/***/Library/Mobile%20Documents/com~apple~CloudDocs/testing_deltalake/df": Encountered illegal character sequence "~" whilst parsing path segment "com~apple~CloudDocs" is raised. I am using the symlink in the write_deltalake call, so it seems that:
The write_deltalake is resolving the symlink.
The write_deltalakehas problems handling the ~ char.
Similar error applies using DeltaTable to recover a table.
What you expected to happen:
Apart from the fact that the directory syncs with iCloud and how canonical this may be using Delta tables, it is a fully valid path in this OS and I consider it should be possible to read and write tables to it. In fact, testing on any directory containing ~, the error persists.
I leave it up to the developers to decide whether symbolic links should be resolved or not, I lack the context to take a position on this.
This test fails on main but passes in this branch because the URL
handling logic introduced properly encodes file URLs. No need for
object_store updates here
Fixesdelta-io#1806
This test fails on main but passes in this branch because the URL
handling logic introduced properly encodes file URLs. No need for
object_store updates here
Fixesdelta-io#1806
Environment
Delta-rs version: Python
deltalake
0.12.0.Binding: Python
deltalake
0.12.0.Environment: Local, Python 3.11.
OS: Mac OS.
Bug
What happened:
I am working in Mac OS local machine (ARM) and using Python
deltalake
binding for read and write Delta tables. I need to store some Delta tables in the directory synced with iCloud, which is named$HOME/Library/Mobile Documents/com~apple~CloudDocs
. I have also a symlink in the home,$HOME/iCloud
, pointing to this location, which I typically use instead of the actual full path.When I try to use
write_deltalake
function, an errorOSError: Encountered object with invalid path: Error parsing Path "/Users/***/Library/Mobile%20Documents/com~apple~CloudDocs/testing_deltalake/df": Encountered illegal character sequence "~" whilst parsing path segment "com~apple~CloudDocs"
is raised. I am using the symlink in thewrite_deltalake
call, so it seems that:write_deltalake
is resolving the symlink.write_deltalake
has problems handling the~
char.Similar error applies using
DeltaTable
to recover a table.What you expected to happen:
Apart from the fact that the directory syncs with iCloud and how canonical this may be using Delta tables, it is a fully valid path in this OS and I consider it should be possible to read and write tables to it. In fact, testing on any directory containing
~
, the error persists.I leave it up to the developers to decide whether symbolic links should be resolved or not, I lack the context to take a position on this.
How to reproduce it:
Error:
The text was updated successfully, but these errors were encountered: