Hello community, here is the log from the commit of package python-simplejson for openSUSE:Factory checked in at 2017-04-19 18:01:18 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-simplejson (Old) and /work/SRC/openSUSE:Factory/.python-simplejson.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-simplejson" Wed Apr 19 18:01:18 2017 rev:34 rq:481829 version:3.10.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-simplejson/python-simplejson.changes 2016-12-02 16:38:57.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.python-simplejson.new/python-simplejson.changes 2017-04-19 18:01:32.600624292 +0200 @@ -1,0 +2,17 @@ +Tue Mar 21 15:56:32 UTC 2017 - jmate...@suse.com + +- fix pypi url + +------------------------------------------------------------------- +Thu Mar 16 18:58:42 UTC 2017 - rjsch...@suse.com + +- Switch to single-spec build +- Update to 3.10.0 + * Add RawJSON class to allow a faster path for already encoded JSON. +- From 3.9.0 + * Workaround for bad behavior in string subclasses + * Fix warnings flagged by -3 + * Update readthedocs documentation links + * Add build status badge to README + +------------------------------------------------------------------- Old: ---- simplejson-3.8.2.tar.gz New: ---- simplejson-3.10.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-simplejson.spec ++++++ --- /var/tmp/diff_new_pack.3jMc1T/_old 2017-04-19 18:01:35.056276930 +0200 +++ /var/tmp/diff_new_pack.3jMc1T/_new 2017-04-19 18:01:35.060276364 +0200 @@ -1,7 +1,7 @@ # # spec file for package python-simplejson # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,22 +16,20 @@ # +%{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-simplejson -Version: 3.8.2 +Version: 3.10.0 Release: 0 -Url: http://github.com/simplejson/simplejson Summary: Simple, fast, extensible JSON encoder/decoder for Python License: MIT or AFL-2.1 Group: Development/Languages/Python -Source: http://pypi.python.org/packages/source/s/simplejson/simplejson-%{version}.tar.gz -BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: python-devel -BuildRequires: python-setuptools -%if 0%{?suse_version} <= 1110 -%{!?python_sitearch: %global python_sitearch %(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} -%else -%py_requires -%endif +Url: http://github.com/simplejson/simplejson +Source: https://files.pythonhosted.org/packages/source/s/simplejson/simplejson-%{version}.tar.gz +BuildRequires: %{python_module devel} +BuildRequires: %{python_module setuptools} +BuildRequires: python-rpm-macros + +%python_subpackages %description simplejson is a simple, fast, complete, correct and extensible @@ -39,22 +37,35 @@ with no dependencies, but includes an optional C extension for a serious speed boost. +%package test +Summary: Tests for python-simplejson +Group: Development/Languages/Python +Requires: %{name} == %{version} + +%description test +Test cases for python-simplejson + %prep %setup -q -n simplejson-%{version} %build -CFLAGS="%{optflags} -fno-strict-aliasing" python setup.py build +export CFLAGS="%{optflags} -fno-strict-aliasing" +%python_build %install -python setup.py install --prefix=%{_prefix} --root=%{buildroot} +%python_install %check -python setup.py test +%python_exec setup.py test -%files +%files %{python_files} %defattr(-,root,root) %doc CHANGES.txt LICENSE.txt README.rst -%{python_sitearch}/simplejson/ -%{python_sitearch}/simplejson-%{version}-py%{py_ver}.egg-info +%exclude %{python_sitearch}/simplejson/tests/* +%{python_sitearch}/* + +%files %{python_files test} +%defattr(-,root,root) +%{python_sitearch}/simplejson/tests/* %changelog ++++++ simplejson-3.8.2.tar.gz -> simplejson-3.10.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simplejson-3.8.2/CHANGES.txt new/simplejson-3.10.0/CHANGES.txt --- old/simplejson-3.8.2/CHANGES.txt 2016-02-15 19:02:14.000000000 +0100 +++ new/simplejson-3.10.0/CHANGES.txt 2016-10-28 11:45:34.000000000 +0200 @@ -1,3 +1,19 @@ +Version 3.10.0 released 2016-10-28 + +* Add RawJSON class to allow a faster path for already encoded JSON. + https://github.com/simplejson/simplejson/pull/143 + +Version 3.9.0 released 2016-10-21 + +* Workaround for bad behavior in string subclasses + https://github.com/simplejson/simplejson/issues/144 +* Fix warnings flagged by -3 + https://github.com/simplejson/simplejson/pull/146 +* Update readthedocs documentation links + https://github.com/simplejson/simplejson/pull/137 +* Add build status badge to README + https://github.com/simplejson/simplejson/pull/134 + Version 3.8.2 released 2016-02-14 * Fix implicit cast compiler warning in _speedups.c @@ -318,7 +334,7 @@ * Force unicode linebreak characters to be escaped (U+2028 and U+2029) http://timelessrepo.com/json-isnt-a-javascript-subset * Moved documentation from a git submodule to - http://simplejson.readthedocs.org/ + https://simplejson.readthedocs.io/ Version 2.1.6 released 2011-05-08 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simplejson-3.8.2/PKG-INFO new/simplejson-3.10.0/PKG-INFO --- old/simplejson-3.8.2/PKG-INFO 2016-02-15 21:18:55.000000000 +0100 +++ new/simplejson-3.10.0/PKG-INFO 2016-10-28 12:01:25.000000000 +0200 @@ -1,18 +1,24 @@ Metadata-Version: 1.1 Name: simplejson -Version: 3.8.2 +Version: 3.10.0 Summary: Simple, fast, extensible JSON encoder/decoder for Python Home-page: http://github.com/simplejson/simplejson Author: Bob Ippolito Author-email: b...@redivi.com License: MIT License -Description: simplejson is a simple, fast, complete, correct and extensible +Description: simplejson + ---------- + + .. image:: https://travis-ci.org/simplejson/simplejson.svg?branch=master + :target: https://travis-ci.org/simplejson/simplejson + + simplejson is a simple, fast, complete, correct and extensible JSON <http://json.org> encoder and decoder for Python 2.5+ and Python 3.3+. It is pure Python code with no dependencies, but includes an optional C extension for a serious speed boost. The latest documentation for simplejson can be read online here: - http://simplejson.readthedocs.org/ + https://simplejson.readthedocs.io/ simplejson is the externally maintained development version of the json library included with Python 2.6 and Python 3.0, but maintains diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simplejson-3.8.2/README.rst new/simplejson-3.10.0/README.rst --- old/simplejson-3.8.2/README.rst 2014-07-22 22:36:17.000000000 +0200 +++ new/simplejson-3.10.0/README.rst 2016-10-21 14:48:19.000000000 +0200 @@ -1,10 +1,16 @@ +simplejson +---------- + +.. image:: https://travis-ci.org/simplejson/simplejson.svg?branch=master + :target: https://travis-ci.org/simplejson/simplejson + simplejson is a simple, fast, complete, correct and extensible JSON <http://json.org> encoder and decoder for Python 2.5+ and Python 3.3+. It is pure Python code with no dependencies, but includes an optional C extension for a serious speed boost. The latest documentation for simplejson can be read online here: -http://simplejson.readthedocs.org/ +https://simplejson.readthedocs.io/ simplejson is the externally maintained development version of the json library included with Python 2.6 and Python 3.0, but maintains diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simplejson-3.8.2/conf.py new/simplejson-3.10.0/conf.py --- old/simplejson-3.8.2/conf.py 2016-02-15 19:02:14.000000000 +0100 +++ new/simplejson-3.10.0/conf.py 2016-10-28 11:25:45.000000000 +0200 @@ -36,15 +36,15 @@ # General substitutions. project = 'simplejson' -copyright = '2015, Bob Ippolito' +copyright = '2016, Bob Ippolito' # The default replacements for |version| and |release|, also used in various # other places throughout the built documents. # # The short X.Y version. -version = '3.8' +version = '3.10' # The full version, including alpha/beta/rc tags. -release = '3.8.2' +release = '3.10.0' # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simplejson-3.8.2/scripts/artifacts.py new/simplejson-3.10.0/scripts/artifacts.py --- old/simplejson-3.8.2/scripts/artifacts.py 2016-02-15 21:17:38.000000000 +0100 +++ new/simplejson-3.10.0/scripts/artifacts.py 2016-10-22 01:59:09.000000000 +0200 @@ -3,9 +3,13 @@ except ImportError: from urllib import urlopen +import glob import io import json +import os +import re import subprocess +import sys def get_json(url): @@ -36,12 +40,41 @@ release = get_json( 'https://api.github.com/repos/simplejson/simplejson/releases/latest') for asset in release['assets']: - download_file(asset['url'], 'dist/{name}'.format(**asset)) + download_file(asset['browser_download_url'], 'dist/{name}'.format(**asset)) +def get_version(): + return subprocess.check_output([sys.executable, 'setup.py', '--version']).strip() + +def artifact_matcher(version): + return re.compile('^simplejson-{}.*\\.(exe|whl)$'.format(re.escape(version))) + +def sign_artifacts(version): + artifacts = set(os.listdir('dist')) + pattern = artifact_matcher(version) + for fn in artifacts: + if pattern.search(fn) and '{}.asc'.format(fn) not in artifacts: + sign_artifact(os.path.join('dist', fn)) + +def sign_artifact(path): + print(' '.join(['gpg', '--detach-sign', '-a', path])) + subprocess.check_call(['gpg', '--detach-sign', '-a', path]) + +def upload_artifacts(version): + artifacts = set(os.listdir('dist')) + pattern = artifact_matcher(version) + args = ['twine', 'upload'] + for fn in artifacts: + if pattern.search(fn): + filename = os.path.join('dist', fn) + args.extend([filename, filename + '.asc']) + subprocess.check_call(args) def main(): download_appveyor_artifacts() download_github_artifacts() + version = get_version() + sign_artifacts(version) + upload_artifacts(version) if __name__ == '__main__': diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simplejson-3.8.2/setup.py new/simplejson-3.10.0/setup.py --- old/simplejson-3.8.2/setup.py 2016-02-15 19:02:14.000000000 +0100 +++ new/simplejson-3.10.0/setup.py 2016-10-28 11:25:45.000000000 +0200 @@ -11,7 +11,7 @@ DistutilsPlatformError IS_PYPY = hasattr(sys, 'pypy_translation_info') -VERSION = '3.8.2' +VERSION = '3.10.0' DESCRIPTION = "Simple, fast, extensible JSON encoder/decoder for Python" with open('README.rst', 'r') as f: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simplejson-3.8.2/simplejson/__init__.py new/simplejson-3.10.0/simplejson/__init__.py --- old/simplejson-3.8.2/simplejson/__init__.py 2016-02-15 19:02:14.000000000 +0100 +++ new/simplejson-3.10.0/simplejson/__init__.py 2016-10-28 11:25:45.000000000 +0200 @@ -97,7 +97,7 @@ Expecting property name: line 1 column 3 (char 2) """ from __future__ import absolute_import -__version__ = '3.8.2' +__version__ = '3.10.0' __all__ = [ 'dump', 'dumps', 'load', 'loads', 'JSONDecoder', 'JSONDecodeError', 'JSONEncoder', @@ -110,7 +110,7 @@ from .scanner import JSONDecodeError from .decoder import JSONDecoder -from .encoder import JSONEncoder, JSONEncoderForHTML +from .encoder import JSONEncoder, JSONEncoderForHTML, RawJSON def _import_OrderedDict(): import collections try: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simplejson-3.8.2/simplejson/_speedups.c new/simplejson-3.10.0/simplejson/_speedups.c --- old/simplejson-3.8.2/simplejson/_speedups.c 2016-02-15 19:02:14.000000000 +0100 +++ new/simplejson-3.10.0/simplejson/_speedups.c 2016-10-28 11:25:45.000000000 +0200 @@ -245,6 +245,8 @@ encoder_dealloc(PyObject *self); static int encoder_clear(PyObject *self); +static int +is_raw_json(PyObject *obj); static PyObject * encoder_stringify_key(PyEncoderObject *s, PyObject *key); static int @@ -277,6 +279,20 @@ #define MIN_EXPANSION 6 +static PyObject* RawJSONType; +static int +is_raw_json(PyObject *obj) +{ + if (RawJSONType == NULL) { + PyObject *encoder_module = PyImport_ImportModule("simplejson.encoder"); + RawJSONType = PyObject_GetAttrString(encoder_module, "RawJSON"); + Py_DECREF(encoder_module); + if (RawJSONType == NULL) + return 0; + } + return PyObject_IsInstance(obj, RawJSONType) ? 1 : 0; +} + static int JSON_Accu_Init(JSON_Accu *acc) { @@ -2868,6 +2884,12 @@ if (encoded != NULL) rv = _steal_accumulate(rval, encoded); } + else if (is_raw_json(obj)) + { + PyObject *encoded = PyObject_GetAttrString(obj, "encoded_json"); + if (encoded != NULL) + rv = _steal_accumulate(rval, encoded); + } else if (PyInt_Check(obj) || PyLong_Check(obj)) { PyObject *encoded; if (PyInt_CheckExact(obj) || PyLong_CheckExact(obj)) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simplejson-3.8.2/simplejson/compat.py new/simplejson-3.10.0/simplejson/compat.py --- old/simplejson-3.8.2/simplejson/compat.py 2014-07-22 22:30:14.000000000 +0200 +++ new/simplejson-3.10.0/simplejson/compat.py 2016-10-21 04:58:09.000000000 +0200 @@ -15,9 +15,6 @@ integer_types = (int, long) unichr = unichr reload_module = reload - def fromhex(s): - return s.decode('hex') - else: PY3 = True if sys.version_info[:2] >= (3, 4): @@ -40,7 +37,4 @@ def unichr(s): return u(chr(s)) - def fromhex(s): - return bytes.fromhex(s) - long_type = integer_types[-1] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simplejson-3.8.2/simplejson/decoder.py new/simplejson-3.10.0/simplejson/decoder.py --- old/simplejson-3.8.2/simplejson/decoder.py 2014-07-22 22:30:14.000000000 +0200 +++ new/simplejson-3.10.0/simplejson/decoder.py 2016-10-21 04:58:09.000000000 +0200 @@ -4,7 +4,7 @@ import re import sys import struct -from .compat import fromhex, b, u, text_type, binary_type, PY3, unichr +from .compat import b, u, text_type, binary_type, PY3, unichr from .scanner import make_scanner, JSONDecodeError def _import_c_scanstring(): @@ -22,12 +22,16 @@ FLAGS = re.VERBOSE | re.MULTILINE | re.DOTALL def _floatconstants(): - _BYTES = fromhex('7FF80000000000007FF0000000000000') - # The struct module in Python 2.4 would get frexp() out of range here - # when an endian is specified in the format string. Fixed in Python 2.5+ - if sys.byteorder != 'big': - _BYTES = _BYTES[:8][::-1] + _BYTES[8:][::-1] - nan, inf = struct.unpack('dd', _BYTES) + if sys.version_info < (2, 6): + _BYTES = '7FF80000000000007FF0000000000000'.decode('hex') + # The struct module in Python 2.4 would get frexp() out of range here + # when an endian is specified in the format string. Fixed in Python 2.5+ + if sys.byteorder != 'big': + _BYTES = _BYTES[:8][::-1] + _BYTES[8:][::-1] + nan, inf = struct.unpack('dd', _BYTES) + else: + nan = float('nan') + inf = float('inf') return nan, inf, -inf NaN, PosInf, NegInf = _floatconstants() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simplejson-3.8.2/simplejson/encoder.py new/simplejson-3.10.0/simplejson/encoder.py --- old/simplejson-3.8.2/simplejson/encoder.py 2015-10-27 16:19:00.000000000 +0100 +++ new/simplejson-3.10.0/simplejson/encoder.py 2016-10-28 11:25:45.000000000 +0200 @@ -5,7 +5,7 @@ from operator import itemgetter # Do not import Decimal directly to avoid reload issues import decimal -from .compat import u, unichr, binary_type, string_types, integer_types, PY3 +from .compat import u, unichr, binary_type, text_type, string_types, integer_types, PY3 def _import_speedups(): try: from . import _speedups @@ -39,6 +39,14 @@ FLOAT_REPR = repr +class RawJSON(object): + """Wrap an encoded JSON document for direct embedding in the output + + """ + def __init__(self, encoded_json): + self.encoded_json = encoded_json + + def encode_basestring(s, _PY3=PY3, _q=u('"')): """Return a JSON representation of a Python string @@ -46,9 +54,13 @@ if _PY3: if isinstance(s, binary_type): s = s.decode('utf-8') + if type(s) is not text_type: + s = text_type(s) else: if isinstance(s, str) and HAS_UTF8.search(s) is not None: s = s.decode('utf-8') + if type(s) not in string_types: + s = text_type(s) def replace(match): return ESCAPE_DCT[match.group(0)] return _q + ESCAPE.sub(replace, s) + _q @@ -61,9 +73,13 @@ if _PY3: if isinstance(s, binary_type): s = s.decode('utf-8') + if type(s) is not text_type: + s = text_type(s) else: if isinstance(s, str) and HAS_UTF8.search(s) is not None: s = s.decode('utf-8') + if type(s) not in string_types: + s = text_type(s) def replace(match): s = match.group(0) try: @@ -464,6 +480,8 @@ if (isinstance(value, string_types) or (_PY3 and isinstance(value, binary_type))): yield buf + _encoder(value) + elif isinstance(value, RawJSON): + yield buf + value.encoded_json elif value is None: yield buf + 'null' elif value is True: @@ -582,6 +600,8 @@ if (isinstance(value, string_types) or (_PY3 and isinstance(value, binary_type))): yield _encoder(value) + elif isinstance(value, RawJSON): + yield value.encoded_json elif value is None: yield 'null' elif value is True: @@ -624,6 +644,8 @@ if (isinstance(o, string_types) or (_PY3 and isinstance(o, binary_type))): yield _encoder(o) + elif isinstance(o, RawJSON): + yield o.encoded_json elif o is None: yield 'null' elif o is True: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simplejson-3.8.2/simplejson/tests/__init__.py new/simplejson-3.10.0/simplejson/tests/__init__.py --- old/simplejson-3.8.2/simplejson/tests/__init__.py 2015-10-27 16:11:46.000000000 +0100 +++ new/simplejson-3.10.0/simplejson/tests/__init__.py 2016-10-28 11:25:45.000000000 +0200 @@ -57,6 +57,7 @@ 'simplejson.tests.test_scanstring', 'simplejson.tests.test_separators', 'simplejson.tests.test_speedups', + 'simplejson.tests.test_str_subclass', 'simplejson.tests.test_unicode', 'simplejson.tests.test_decimal', 'simplejson.tests.test_tuple', @@ -64,6 +65,7 @@ 'simplejson.tests.test_tool', 'simplejson.tests.test_for_json', 'simplejson.tests.test_subclass', + 'simplejson.tests.test_raw_json', ])) suite = get_suite() import simplejson diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simplejson-3.8.2/simplejson/tests/test_raw_json.py new/simplejson-3.10.0/simplejson/tests/test_raw_json.py --- old/simplejson-3.8.2/simplejson/tests/test_raw_json.py 1970-01-01 01:00:00.000000000 +0100 +++ new/simplejson-3.10.0/simplejson/tests/test_raw_json.py 2016-10-28 11:25:45.000000000 +0200 @@ -0,0 +1,47 @@ +import unittest +import simplejson as json + +dct1 = { + 'key1': 'value1' +} + +dct2 = { + 'key2': 'value2', + 'd1': dct1 +} + +dct3 = { + 'key2': 'value2', + 'd1': json.dumps(dct1) +} + +dct4 = { + 'key2': 'value2', + 'd1': json.RawJSON(json.dumps(dct1)) +} + + +class TestRawJson(unittest.TestCase): + + def test_normal_str(self): + self.assertNotEqual(json.dumps(dct2), json.dumps(dct3)) + + def test_raw_json_str(self): + self.assertEqual(json.dumps(dct2), json.dumps(dct4)) + self.assertEqual(dct2, json.loads(json.dumps(dct4))) + + def test_list(self): + self.assertEqual( + json.dumps([dct2]), + json.dumps([json.RawJSON(json.dumps(dct2))])) + self.assertEqual( + [dct2], + json.loads(json.dumps([json.RawJSON(json.dumps(dct2))]))) + + def test_direct(self): + self.assertEqual( + json.dumps(dct2), + json.dumps(json.RawJSON(json.dumps(dct2)))) + self.assertEqual( + dct2, + json.loads(json.dumps(json.RawJSON(json.dumps(dct2))))) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simplejson-3.8.2/simplejson/tests/test_str_subclass.py new/simplejson-3.10.0/simplejson/tests/test_str_subclass.py --- old/simplejson-3.8.2/simplejson/tests/test_str_subclass.py 1970-01-01 01:00:00.000000000 +0100 +++ new/simplejson-3.10.0/simplejson/tests/test_str_subclass.py 2016-10-21 09:50:00.000000000 +0200 @@ -0,0 +1,16 @@ +from unittest import TestCase + +import simplejson +from simplejson.compat import text_type, u + +# Tests for issue demonstrated in https://github.com/simplejson/simplejson/issues/144 +class WonkyTextSubclass(text_type): + def __getslice__(self, start, end): + return self.__class__('not what you wanted!') + +class TestStrSubclass(TestCase): + def test_dump_load(self): + for s in ['', '"hello"', 'text', u('\u005c')]: + self.assertEqual( + s, + simplejson.loads(simplejson.dumps(WonkyTextSubclass(s)))) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simplejson-3.8.2/simplejson.egg-info/PKG-INFO new/simplejson-3.10.0/simplejson.egg-info/PKG-INFO --- old/simplejson-3.8.2/simplejson.egg-info/PKG-INFO 2016-02-15 21:18:55.000000000 +0100 +++ new/simplejson-3.10.0/simplejson.egg-info/PKG-INFO 2016-10-28 12:01:25.000000000 +0200 @@ -1,18 +1,24 @@ Metadata-Version: 1.1 Name: simplejson -Version: 3.8.2 +Version: 3.10.0 Summary: Simple, fast, extensible JSON encoder/decoder for Python Home-page: http://github.com/simplejson/simplejson Author: Bob Ippolito Author-email: b...@redivi.com License: MIT License -Description: simplejson is a simple, fast, complete, correct and extensible +Description: simplejson + ---------- + + .. image:: https://travis-ci.org/simplejson/simplejson.svg?branch=master + :target: https://travis-ci.org/simplejson/simplejson + + simplejson is a simple, fast, complete, correct and extensible JSON <http://json.org> encoder and decoder for Python 2.5+ and Python 3.3+. It is pure Python code with no dependencies, but includes an optional C extension for a serious speed boost. The latest documentation for simplejson can be read online here: - http://simplejson.readthedocs.org/ + https://simplejson.readthedocs.io/ simplejson is the externally maintained development version of the json library included with Python 2.6 and Python 3.0, but maintains diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simplejson-3.8.2/simplejson.egg-info/SOURCES.txt new/simplejson-3.10.0/simplejson.egg-info/SOURCES.txt --- old/simplejson-3.8.2/simplejson.egg-info/SOURCES.txt 2016-02-15 21:18:55.000000000 +0100 +++ new/simplejson-3.10.0/simplejson.egg-info/SOURCES.txt 2016-10-28 12:01:25.000000000 +0200 @@ -40,10 +40,12 @@ simplejson/tests/test_pass1.py simplejson/tests/test_pass2.py simplejson/tests/test_pass3.py +simplejson/tests/test_raw_json.py simplejson/tests/test_recursion.py simplejson/tests/test_scanstring.py simplejson/tests/test_separators.py simplejson/tests/test_speedups.py +simplejson/tests/test_str_subclass.py simplejson/tests/test_subclass.py simplejson/tests/test_tool.py simplejson/tests/test_tuple.py