Skip to content

Conversation

@ap--
Copy link
Contributor

@ap-- ap-- commented Jan 14, 2026

Closes #56369

This PR updates airflow's ObjectStoragePath class to be compatible with universal-pathlib >=0.3.8. It now uses upath.extensions.ProxyUPath as a base class, to avoid using the now deprecated _protocol_dispath = False mechanism for class API extensions.

pathlib.Path added .copy, .copy_into, .move, and .move_into methods in 3.14, which means the ObjectStoragePath behavior for .copy and .move is now be different from standard pathlib, which defaults to recursive copies for directories.

Cheers,
Andreas ☺️

if cls is ObjectStoragePath:
return get_upath_class("").cwd()
raise NotImplementedError
def cwd(cls) -> Self: # type: ignore[override]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's not add type ignore -- figure out how to fix those

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Rework universal-pathlib in ObjectStoragePath

2 participants