I tried to upgrade from 0.2.0 and I see a lot of things has changed.
One thing I liked in 0.2.0 was the ability to define a few abstract methods, and the other methods would have a simple implementation based on these methods. Now it seems many methods use magic_open instead of relying on implementations of the abstract methods.
While this behavior is also fine, it makes it harder to tell which methods to override, since implementing just the abstract methods is not enough to override the magic behavior. So it would be nice if it was possible to inject this (and the other _os functions) into these methods.
(off-topic: I also miss PathBase, it was a nice way of doing isinstance(obj, Path) with custom classes. There may be another way of doing this which I have missed.)
Thanks for the continued work on pathlib/pathlib-abc.
I tried to upgrade from 0.2.0 and I see a lot of things has changed.
One thing I liked in 0.2.0 was the ability to define a few abstract methods, and the other methods would have a simple implementation based on these methods. Now it seems many methods use
magic_openinstead of relying on implementations of the abstract methods.While this behavior is also fine, it makes it harder to tell which methods to override, since implementing just the abstract methods is not enough to override the magic behavior. So it would be nice if it was possible to inject this (and the other
_osfunctions) into these methods.(off-topic: I also miss
PathBase, it was a nice way of doingisinstance(obj, Path)with custom classes. There may be another way of doing this which I have missed.)Thanks for the continued work on
pathlib/pathlib-abc.