redisjson-py
redisjson-py copied to clipboard
Document differences in using Python2 and Python3
Client(decode_responses=True)
I don't know whether to be happy that I've found this, after two hours banging my head against the screen, or to be upset that almost a year later such an essential bit is still missing from the doc.
@toyg i'm sorry you wasted two hours. But it's documented, in fact it's right on the first example in the https://github.com/RedisJSON/redisjson-py/blob/master/README.md.
from rejson import Client, Path
rj = Client(host='localhost', port=6379, decode_responses=True)
# Set the key `obj` to some object
obj = {
'answer': 42,
'arr': [None, True, 3.14],
'truth': {
'coord': 'out there'
}
}
And even has its own section: https://github.com/RedisJSON/redisjson-py#encodingdecoding
Do you think we should add it somewhere else?
I think it should be mentioned that it’s a compulsory parameter when using Python3, rather than something advanced and optional that may or may not be required. I would dare say it should be True by default, now that py2 is dead, but I guess that’s an opinion and switching it now might break old code.
I've submitted #37 to fix (docs only) this - please let me know if acceptable.
After spending some cycles mulling on this, I think we can relax this requirement and have the client do the decoding of rejson's replies if it wasn't initialized with decode_responses=True
. That would have probably been the right course to take all that time ago but changing now will break things :/
Perhaps it is something worth considering for the next major release @gkorland