cerebis/qc3C

Cut-site databases saved to filesystem are not backwards portable to older Python.

cerebis opened this issue · 1 comments

The cut-site database is stored to the filesystem using pickle. When doing so, the flag HIGHEST_PROTOCOL is used, but between Python 3.7 and 3.8 a new protocol was added (v5). Therefore files created in Py38 are not readable by Py37 and older.

I should probably specify the opposite flag or pin a protocol used by the oldest supported Python (3.7)

pickle.dump(self, cache_h, pickle.HIGHEST_PROTOCOL)

This would just be downcast to protocol 4 -- the current default protocol and supported back to Python 3.4.