Why the keys are converted to string?
Python dict:
d = {}
d[1] = 'test'
{1: 'test'}
With RedisDict:
d = RedisDict('foo', conn)
d[1] = 'test'
{'1': 'test'}
This appears to just be an oversight. The zookeeper dict also has this same problem. I'll look at fixing this over the weekend.
I developed a library that looks like durabledict, but it's focused on MongoDB: mongodict.
I solved these problems using tests from the Python source code (the mapping protocol). Maybe adding this file to your test suite will help discovering these problems.
As a heads up I'll be working on this library today, improving the serialization/deserialization configurability and support - so I should be able to fix this issue and a few others.
This is slightly more annoying in python3 where you use an unicode string as key and you get back a byte string.
it's 2018, is this dead?