simplejson 4.1.2__tar.gz → 4.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {simplejson-4.1.2 → simplejson-4.3.0}/CHANGES.txt +56 -0
- {simplejson-4.1.2/simplejson.egg-info → simplejson-4.3.0}/PKG-INFO +5 -5
- {simplejson-4.1.2 → simplejson-4.3.0}/README.rst +2 -2
- {simplejson-4.1.2 → simplejson-4.3.0}/conf.py +2 -2
- {simplejson-4.1.2 → simplejson-4.3.0}/index.rst +14 -7
- {simplejson-4.1.2 → simplejson-4.3.0}/setup.py +3 -3
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/__init__.py +7 -6
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/_speedups.c +304 -65
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/_speedups_scan.h +5 -1
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/decoder.py +5 -3
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/encoder.py +239 -178
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/scanner.py +3 -3
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tests/test_bitsize_int_as_string.py +97 -0
- simplejson-4.3.0/simplejson/tests/test_check_circular.py +158 -0
- simplejson-4.3.0/simplejson/tests/test_custom_method_cycles.py +71 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tests/test_decimal.py +16 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tests/test_decode.py +66 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tests/test_dump.py +111 -0
- simplejson-4.3.0/simplejson/tests/test_errors.py +247 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tests/test_fail.py +26 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tests/test_float.py +13 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tests/test_for_json.py +20 -0
- simplejson-4.3.0/simplejson/tests/test_item_sort_key.py +68 -0
- simplejson-4.3.0/simplejson/tests/test_iterable.py +263 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tests/test_scanstring.py +1 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tests/test_speedups.py +12 -8
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tests/test_tool.py +35 -2
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tool.py +2 -2
- {simplejson-4.1.2 → simplejson-4.3.0/simplejson.egg-info}/PKG-INFO +5 -5
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson.egg-info/SOURCES.txt +1 -0
- simplejson-4.1.2/simplejson/tests/test_check_circular.py +0 -50
- simplejson-4.1.2/simplejson/tests/test_errors.py +0 -108
- simplejson-4.1.2/simplejson/tests/test_item_sort_key.py +0 -27
- simplejson-4.1.2/simplejson/tests/test_iterable.py +0 -61
- {simplejson-4.1.2 → simplejson-4.3.0}/LICENSE.txt +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/MANIFEST.in +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/pyproject.toml +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/scripts/make_docs.py +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/setup.cfg +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/compat.py +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/errors.py +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/ordered_dict.py +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/raw_json.py +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tests/__init__.py +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tests/_cibw_runner.py +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tests/_helpers.py +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tests/test_bigint_as_string.py +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tests/test_default.py +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tests/test_encode_basestring_ascii.py +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tests/test_encode_for_html.py +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tests/test_free_threading.py +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tests/test_indent.py +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tests/test_namedtuple.py +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tests/test_pass1.py +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tests/test_pass2.py +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tests/test_pass3.py +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tests/test_raw_json.py +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tests/test_recursion.py +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tests/test_separators.py +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tests/test_str_subclass.py +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tests/test_subclass.py +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tests/test_subinterpreters.py +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tests/test_tuple.py +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson/tests/test_unicode.py +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson.egg-info/dependency_links.txt +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/simplejson.egg-info/top_level.txt +0 -0
- {simplejson-4.1.2 → simplejson-4.3.0}/tsan_stress_simplejson.py +0 -0
|
@@ -1,3 +1,59 @@
|
|
|
1
|
+
Version 4.3.0 released 2026-11-10
|
|
2
|
+
|
|
3
|
+
* The C encoder no longer crashes when ``default()`` or ``for_json()``
|
|
4
|
+
shrinks or grows the list being encoded, and no longer reads a freed
|
|
5
|
+
key when encoding a dict value removes its entry. Both encoders now
|
|
6
|
+
raise ``RuntimeError("dictionary changed size during iteration")``
|
|
7
|
+
when a dict is resized while it is being encoded. ``make_encoder()``
|
|
8
|
+
raises ``TypeError`` for an invalid ``markers`` argument instead of
|
|
9
|
+
crashing, and C and pure Python error messages now match
|
|
10
|
+
https://github.com/simplejson/simplejson/pull/395
|
|
11
|
+
* Circular references are now detected through re-iterable objects
|
|
12
|
+
encoded with ``iterable_as_array=True``, in both encoders
|
|
13
|
+
https://github.com/simplejson/simplejson/pull/391
|
|
14
|
+
* A failure while adding a PEP 678 context note no longer replaces the
|
|
15
|
+
original serialization error
|
|
16
|
+
https://github.com/simplejson/simplejson/pull/392
|
|
17
|
+
* Explicitly supplied ``parse_float``, ``parse_int`` and
|
|
18
|
+
``parse_constant`` callbacks are now used even when they are falsy
|
|
19
|
+
https://github.com/simplejson/simplejson/pull/394
|
|
20
|
+
* An explicit ``item_sort_key`` is now honored even when it is falsy
|
|
21
|
+
https://github.com/simplejson/simplejson/pull/396
|
|
22
|
+
* ``python -m simplejson.tool`` now reads input files as UTF-8
|
|
23
|
+
regardless of the locale
|
|
24
|
+
https://github.com/simplejson/simplejson/pull/397
|
|
25
|
+
* With ``allow_nan=False`` the C encoder's ``ValueError`` now names the
|
|
26
|
+
out-of-range value, matching the pure Python encoder
|
|
27
|
+
https://github.com/simplejson/simplejson/pull/399
|
|
28
|
+
* Build and test native Windows arm64 wheels
|
|
29
|
+
https://github.com/simplejson/simplejson/pull/401
|
|
30
|
+
* Wheels for CPython 3.15 are now built against the final 3.15 release
|
|
31
|
+
via cibuildwheel v4.3.5, and CI uses astral-sh/setup-uv v10.3.3
|
|
32
|
+
https://github.com/simplejson/simplejson/pull/405
|
|
33
|
+
|
|
34
|
+
Version 4.2.0 released 2026-10-02
|
|
35
|
+
|
|
36
|
+
* Start building wheels for Python 3.15 and drop Python 3.8 support
|
|
37
|
+
via upgrade to cibuildwheel v4.2.0
|
|
38
|
+
https://github.com/simplejson/simplejson/pull/385
|
|
39
|
+
* Build and test riscv64 Linux wheels on native RISE runners
|
|
40
|
+
https://github.com/simplejson/simplejson/pull/389
|
|
41
|
+
* The C scanner now reports the same error message as the pure Python
|
|
42
|
+
decoder for an invalid first key in an object
|
|
43
|
+
https://github.com/simplejson/simplejson/pull/388
|
|
44
|
+
* ``int_as_string_bitcount`` now supports thresholds of 64 bits and above
|
|
45
|
+
(including 128-bit integers) in both the C and pure Python encoders;
|
|
46
|
+
the C encoder previously rejected them
|
|
47
|
+
https://github.com/simplejson/simplejson/pull/387
|
|
48
|
+
* Circular references introduced through ``for_json()`` or ``_asdict()``
|
|
49
|
+
now raise ``ValueError("Circular reference detected")`` instead of
|
|
50
|
+
recursing without bound
|
|
51
|
+
https://github.com/simplejson/simplejson/pull/390
|
|
52
|
+
* CI now tests Python 3.15 (including free-threaded 3.15t), PyPy 3.12,
|
|
53
|
+
CPython 3.14.8 debug builds, and uses current GitHub Actions and
|
|
54
|
+
cibuildwheel v4.2.1
|
|
55
|
+
https://github.com/simplejson/simplejson/pull/386
|
|
56
|
+
|
|
1
57
|
Version 4.1.2 released 2026-08-26
|
|
2
58
|
|
|
3
59
|
* Fix control character error position when content precedes the control char
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: simplejson
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.3.0
|
|
4
4
|
Summary: Simple, fast, extensible JSON encoder/decoder for Python
|
|
5
5
|
Home-page: https://github.com/simplejson/simplejson
|
|
6
6
|
Author: Bob Ippolito
|
|
@@ -14,18 +14,18 @@ Classifier: Programming Language :: Python
|
|
|
14
14
|
Classifier: Programming Language :: Python :: 2
|
|
15
15
|
Classifier: Programming Language :: Python :: 2.7
|
|
16
16
|
Classifier: Programming Language :: Python :: 3
|
|
17
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
18
17
|
Classifier: Programming Language :: Python :: 3.9
|
|
19
18
|
Classifier: Programming Language :: Python :: 3.10
|
|
20
19
|
Classifier: Programming Language :: Python :: 3.11
|
|
21
20
|
Classifier: Programming Language :: Python :: 3.12
|
|
22
21
|
Classifier: Programming Language :: Python :: 3.13
|
|
23
22
|
Classifier: Programming Language :: Python :: 3.14
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
24
24
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
25
25
|
Classifier: Programming Language :: Python :: Implementation :: GraalPy
|
|
26
26
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
27
27
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
28
|
-
Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*, !=3.7.*
|
|
28
|
+
Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*, !=3.7.*, !=3.8.*
|
|
29
29
|
License-File: LICENSE.txt
|
|
30
30
|
Dynamic: author
|
|
31
31
|
Dynamic: author-email
|
|
@@ -42,7 +42,7 @@ simplejson
|
|
|
42
42
|
----------
|
|
43
43
|
|
|
44
44
|
simplejson is a simple, fast, complete, correct and extensible
|
|
45
|
-
JSON <http://json.org> encoder and decoder for Python 3.
|
|
45
|
+
JSON <http://json.org> encoder and decoder for Python 3.9+
|
|
46
46
|
with legacy support for Python 2.7. It is pure Python code
|
|
47
47
|
with no dependencies, but includes an optional C extension
|
|
48
48
|
for a serious speed boost.
|
|
@@ -53,7 +53,7 @@ https://simplejson.readthedocs.io/
|
|
|
53
53
|
simplejson is the externally maintained development version of the
|
|
54
54
|
json library included with Python (since 2.6). This version is tested
|
|
55
55
|
with Python 3.14 (including free-threaded builds) and maintains
|
|
56
|
-
backwards compatibility with Python 3.
|
|
56
|
+
backwards compatibility with Python 3.9+. A legacy Python 2.7 wheel
|
|
57
57
|
is also published.
|
|
58
58
|
|
|
59
59
|
The encoder can be specialized to provide serialization in any kind of
|
|
@@ -2,7 +2,7 @@ simplejson
|
|
|
2
2
|
----------
|
|
3
3
|
|
|
4
4
|
simplejson is a simple, fast, complete, correct and extensible
|
|
5
|
-
JSON <http://json.org> encoder and decoder for Python 3.
|
|
5
|
+
JSON <http://json.org> encoder and decoder for Python 3.9+
|
|
6
6
|
with legacy support for Python 2.7. It is pure Python code
|
|
7
7
|
with no dependencies, but includes an optional C extension
|
|
8
8
|
for a serious speed boost.
|
|
@@ -13,7 +13,7 @@ https://simplejson.readthedocs.io/
|
|
|
13
13
|
simplejson is the externally maintained development version of the
|
|
14
14
|
json library included with Python (since 2.6). This version is tested
|
|
15
15
|
with Python 3.14 (including free-threaded builds) and maintains
|
|
16
|
-
backwards compatibility with Python 3.
|
|
16
|
+
backwards compatibility with Python 3.9+. A legacy Python 2.7 wheel
|
|
17
17
|
is also published.
|
|
18
18
|
|
|
19
19
|
The encoder can be specialized to provide serialization in any kind of
|
|
@@ -42,9 +42,9 @@ copyright = '2026, Bob Ippolito'
|
|
|
42
42
|
# other places throughout the built documents.
|
|
43
43
|
#
|
|
44
44
|
# The short X.Y version.
|
|
45
|
-
version = '4.
|
|
45
|
+
version = '4.3'
|
|
46
46
|
# The full version, including alpha/beta/rc tags.
|
|
47
|
-
release = '4.
|
|
47
|
+
release = '4.3.0'
|
|
48
48
|
|
|
49
49
|
# There are two options for replacing |today|: either, you set today to some
|
|
50
50
|
# non-false value, then it is used:
|
|
@@ -21,7 +21,7 @@ for a serious speed boost.
|
|
|
21
21
|
:mod:`simplejson` exposes an API familiar to users of the standard library
|
|
22
22
|
:mod:`marshal` and :mod:`pickle` modules. It is the externally maintained
|
|
23
23
|
version of the :mod:`json` library, but maintains
|
|
24
|
-
compatibility with Python 3.
|
|
24
|
+
compatibility with Python 3.9 through 3.15 (including free-threaded
|
|
25
25
|
builds) as well as legacy Python 2.7.
|
|
26
26
|
|
|
27
27
|
Development of simplejson happens on Github:
|
|
@@ -215,8 +215,10 @@ Basic Usage
|
|
|
215
215
|
optimization, the result would be a :class:`str` object.
|
|
216
216
|
|
|
217
217
|
If *check_circular* is false (default: ``True``), then the circular
|
|
218
|
-
reference check for container types
|
|
219
|
-
|
|
218
|
+
reference check for container types (including iterables encoded with
|
|
219
|
+
*iterable_as_array*) will be skipped and a circular reference will
|
|
220
|
+
result in a :exc:`RecursionError` (:exc:`RuntimeError` on Python 2) or
|
|
221
|
+
worse.
|
|
220
222
|
|
|
221
223
|
If *allow_nan* is false (default: ``False``), then it will be a
|
|
222
224
|
:exc:`ValueError` to serialize out of range :class:`float` values
|
|
@@ -310,6 +312,10 @@ Basic Usage
|
|
|
310
312
|
:class:`int` ``2**n`` and higher or lower than ``-2**n`` will be encoded as strings. This is to
|
|
311
313
|
avoid the rounding that happens in Javascript otherwise. Note that this
|
|
312
314
|
option loses type information, so use with extreme caution.
|
|
315
|
+
Thresholds of 64 bits and above are supported by both encoders, including
|
|
316
|
+
128-bit integers. Very large thresholds do not allocate a power-of-two
|
|
317
|
+
boundary.
|
|
318
|
+
|
|
313
319
|
See also *bigint_as_string* (which is equivalent to `int_as_string_bitcount=53`).
|
|
314
320
|
|
|
315
321
|
.. note::
|
|
@@ -628,10 +634,11 @@ Encoders and decoders
|
|
|
628
634
|
:class:`str` objects with all incoming unicode characters escaped. If
|
|
629
635
|
*ensure_ascii* is false, the output will be a unicode object.
|
|
630
636
|
|
|
631
|
-
If *check_circular* is true (the default), then lists, dicts,
|
|
632
|
-
encoded
|
|
633
|
-
|
|
634
|
-
|
|
637
|
+
If *check_circular* is true (the default), then lists, dicts, iterables
|
|
638
|
+
encoded with *iterable_as_array*, and custom encoded objects will be checked
|
|
639
|
+
for circular references during encoding to prevent an infinite recursion
|
|
640
|
+
(which would cause a :exc:`RecursionError`, or :exc:`RuntimeError` on
|
|
641
|
+
Python 2). Otherwise, no such check takes place.
|
|
635
642
|
|
|
636
643
|
If *allow_nan* is true (not the default), then ``NaN``, ``Infinity``, and
|
|
637
644
|
``-Infinity`` will be encoded as such. This behavior is not JSON
|
|
@@ -12,13 +12,13 @@ from distutils.errors import CCompilerError, DistutilsExecError, \
|
|
|
12
12
|
|
|
13
13
|
IS_PYPY = hasattr(sys, 'pypy_translation_info')
|
|
14
14
|
IS_GRAALPY = getattr(getattr(sys, "implementation", None), "name", None) == "graalpy"
|
|
15
|
-
VERSION = '4.
|
|
15
|
+
VERSION = '4.3.0'
|
|
16
16
|
DESCRIPTION = "Simple, fast, extensible JSON encoder/decoder for Python"
|
|
17
17
|
|
|
18
18
|
with open('README.rst', 'r') as f:
|
|
19
19
|
LONG_DESCRIPTION = f.read()
|
|
20
20
|
|
|
21
|
-
PYTHON_REQUIRES = '>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*, !=3.7.*'
|
|
21
|
+
PYTHON_REQUIRES = '>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*, !=3.7.*, !=3.8.*'
|
|
22
22
|
|
|
23
23
|
CLASSIFIERS = [
|
|
24
24
|
'Development Status :: 5 - Production/Stable',
|
|
@@ -28,13 +28,13 @@ CLASSIFIERS = [
|
|
|
28
28
|
'Programming Language :: Python :: 2',
|
|
29
29
|
'Programming Language :: Python :: 2.7',
|
|
30
30
|
'Programming Language :: Python :: 3',
|
|
31
|
-
'Programming Language :: Python :: 3.8',
|
|
32
31
|
'Programming Language :: Python :: 3.9',
|
|
33
32
|
'Programming Language :: Python :: 3.10',
|
|
34
33
|
'Programming Language :: Python :: 3.11',
|
|
35
34
|
'Programming Language :: Python :: 3.12',
|
|
36
35
|
'Programming Language :: Python :: 3.13',
|
|
37
36
|
'Programming Language :: Python :: 3.14',
|
|
37
|
+
'Programming Language :: Python :: 3.15',
|
|
38
38
|
'Programming Language :: Python :: Implementation :: CPython',
|
|
39
39
|
'Programming Language :: Python :: Implementation :: GraalPy',
|
|
40
40
|
'Programming Language :: Python :: Implementation :: PyPy',
|
|
@@ -5,7 +5,7 @@ interchange format.
|
|
|
5
5
|
:mod:`simplejson` exposes an API familiar to users of the standard library
|
|
6
6
|
:mod:`marshal` and :mod:`pickle` modules. It is the externally maintained
|
|
7
7
|
version of the :mod:`json` library contained in Python 2.6+, supporting
|
|
8
|
-
Python 2.7 and Python 3.
|
|
8
|
+
Python 2.7 and Python 3.9+, and has significant performance advantages,
|
|
9
9
|
even without using the optional C extension for speedups.
|
|
10
10
|
|
|
11
11
|
Encoding basic Python object hierarchies::
|
|
@@ -118,7 +118,7 @@ Serializing multiple objects to JSON lines (newline-delimited JSON)::
|
|
|
118
118
|
|
|
119
119
|
"""
|
|
120
120
|
from __future__ import absolute_import
|
|
121
|
-
__version__ = '4.
|
|
121
|
+
__version__ = '4.3.0'
|
|
122
122
|
__all__ = [
|
|
123
123
|
'dump', 'dumps', 'load', 'loads',
|
|
124
124
|
'JSONDecoder', 'JSONDecodeError', 'JSONEncoder',
|
|
@@ -246,7 +246,7 @@ def dump(obj, fp, skipkeys=False, ensure_ascii=True, check_circular=True,
|
|
|
246
246
|
encoding == 'utf-8' and default is None and use_decimal
|
|
247
247
|
and namedtuple_as_object and tuple_as_array and not iterable_as_array
|
|
248
248
|
and not bigint_as_string and not sort_keys
|
|
249
|
-
and
|
|
249
|
+
and item_sort_key is None and not for_json
|
|
250
250
|
and not ignore_nan and int_as_string_bitcount is None
|
|
251
251
|
and not kw
|
|
252
252
|
):
|
|
@@ -292,8 +292,9 @@ def dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True,
|
|
|
292
292
|
by JSON. When it is true, all non-ASCII characters are escaped.
|
|
293
293
|
|
|
294
294
|
If ``check_circular`` is false, then the circular reference check
|
|
295
|
-
for container types
|
|
296
|
-
|
|
295
|
+
for container types (including iterables encoded with
|
|
296
|
+
``iterable_as_array``) will be skipped and a circular reference will
|
|
297
|
+
result in a ``RecursionError`` (``RuntimeError`` on Python 2) or worse.
|
|
297
298
|
|
|
298
299
|
If *allow_nan* is true (default: ``False``), then out of range ``float``
|
|
299
300
|
values (``nan``, ``inf``, ``-inf``) will be serialized to
|
|
@@ -372,7 +373,7 @@ def dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True,
|
|
|
372
373
|
encoding == 'utf-8' and default is None and use_decimal
|
|
373
374
|
and namedtuple_as_object and tuple_as_array and not iterable_as_array
|
|
374
375
|
and not bigint_as_string and not sort_keys
|
|
375
|
-
and
|
|
376
|
+
and item_sort_key is None and not for_json
|
|
376
377
|
and not ignore_nan and int_as_string_bitcount is None
|
|
377
378
|
and not kw
|
|
378
379
|
):
|