Code like vfile = os.path.join(os.path.dirname(self.fpath), '.version') can fail because you can end up with something like /path/to/param\\.version on windows. (I know, I know, windows...)
Code like the above appears in a few places, but reading the .version file is the one that bothers me:
https://github.com/pyviz-dev/autover/blob/956ffe8fef9dbf4dda67e2529be986e3df1cbda8/autover/version.py#L311-L324
I used quotes in the title because it doesn't have to be a filesystem - it could be something else...something like some kind of a database, say. As long as the "path separator" you need to use to open the .version file is different from what python thinks the path separator is for the platform it's running on (which could indeed be correct for accessing files on some other part of the system), it will not work out.
There are various things you could do to try to overcome this problem, but I think my proposed solution for this in the past was that .version should instead be _version.py, and autover should just rely on python's import system, which is guaranteed to be set up ok anywhere you're able to import stuff like param in the first place. But presumably there are downsides to that.