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

Bob Ippolito bob at redivi.com
Fri Apr 15 18:31:02 CEST 2011


On Thu, Apr 14, 2011 at 2:29 PM, Raymond Hettinger
<raymond.hettinger at gmail.com> wrote:
>
> On Apr 14, 2011, at 12:22 PM, Sandro Tosi wrote:
>
>> The version we have in cpython of json is simplejson 2.0.9 highly
>> patched (either because it was converted to py3k, and because of the
>> normal flow of issues/bugfixes) while upstream have already released
>> 2.1.13 .
>>
>> Their 2 roads had diverged a lot, and since this blocks any further
>> update of cpython's json from upstream, I'd like to close this gap.
>
> Are you proposing updates to the Python 3.3 json module
> to include newer features like use_decimal and changing
> the indent argument from an integer to a string?

https://github.com/simplejson/simplejson/blob/master/CHANGES.txt

>> - what are we going to do in the long run?
>
> If Bob shows no interest in Python 3, then
> the code bases will probably continue to diverge.

I don't have any real interest in Python 3, but if someone contributes
the code to make simplejson work in Python 3 I'm willing to apply the
patches run the tests against any future changes. The porting work to
make it suitable for the standard library at that point should be
something that can be automated since it will be moving some files
around and changing the string simplejson to json in a whole bunch of
places.

> Since the JSON spec is set in stone, the changes
> will mostly be about API (indentation, object conversion, etc)
> and optimization.  I presume the core parsing logic won't
> be changing much.

Actually the core parsing logic is very different (and MUCH faster),
which is why the merge is tricky. There's the potential for it to
change more in the future, there's definitely more room for
optimization. Probably not in the pure python parser, but the C one.

-bob


More information about the Python-Dev mailing list