Closed
Description
I think it would be nice if something like this worked:
from upath import UPath
path = UPath(".")
assert isinstance(path, UPath) # this currently returns false
This issue occurs for local and remote paths, so for pathlib and UniversalPath objects.
Thanks to UPath and various implementations inheriting from pathlib.Path
, here is one basic approach that seems to allow this to work:
from abc import ABCMeta
class UPathMeta(ABCMeta):
def __instancecheck__(self, instance):
return isinstance(instance, Path)
def __subclasscheck__(self, subclass):
return issubclass(subclass, Path)
class UPath(Path, metaclass=UPathMeta):
...
I am working to submit a PR for #25 and #26, so I am planning to also include this change, but can take it out if undesired or preferred in a separate PR.
Metadata
Metadata
Assignees
Labels
No labels