[Python-Dev] Status of json (simplejson) in cpython (original) (raw)

Stefan Behnel stefan_ml at behnel.de
Sat Apr 16 18:04:53 CEST 2011


Antoine Pitrou, 16.04.2011 16:19:

On Sat, 16 Apr 2011 09:50:25 +0000 (UTC) Vinay Sajip wrote:

If it is generally considered desirable to maintain some synchrony between simplejson and stdlib json, then since Bob has stated that he no interest in Python 3, it may be better to: 1. Convert the simplejson codebase so that it runs on both Python 2 and 3 (without running 2to3 on it). Once this is done, if upstream accepts these changes, ongoing maintenance will be fairly simple for upstream, and changes only really need to consider exception and string/byte literal syntax, for the most part. 2. Merge this new simplejson with stdlib json for 3.3. What you're proposing doesn't address the question of who is going to do the ongoing maintenance. Bob apparently isn't interested in maintaining stdlib code, and python-dev members aren't interested in maintaining simplejson (assuming it would be at all possible). Since both groups of people want to work on separate codebases, I don't see how sharing a single codebase would be possible.

Well, if that is not possible, then the CPython devs will have a hard time maintaining the json accelerator module in the long run. I quickly skipped through the github version in simplejson, and it truly is some complicated piece of code. Not in the sense that the code is ununderstandable, it's actually fairly straight forward string processing code, but it's so extremely optimised and tailored and has so much code duplicated for the bytes and unicode types (apparently following the copy+paste+adapt pattern) that it will be pretty hard to adapt to future changes of CPython, especially the upcoming PEP 393 implementation. Maintaining this is clearly no fun.

Stefan



More information about the Python-Dev mailing list