rpaths is yet another path manipulation library.
It pains me that I should have to write this, however after a survey of the existing packages, including pathlib (included in the Python standard library since 3.4, see PEP 428), it appears that every one of them chokes on one valid filename or another.
- Unipath is very close. In fact it is, with pathlib, one of the main inspirations for this work. Unfortunately it makes its path inherit from unicode or bytes, which makes the abstract/concrete class separation too tricky.
- pathlib is affected with a bug preventing it from representing some filenames on Windows on Python 2; this bug was marked as wontfix. Furthermore, it works very differently on Python 2 and 3, which I believe is very counter-productive.
- path.py is affected with a bug making it fail when encountering some filenames on POSIX. This is also believed to allow for DoS attacks.
- fpath is affected with the same bug as path.py.