python-rapidjson 1.21__tar.gz → 1.22__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.
Files changed (93) hide show
  1. {python_rapidjson-1.21 → python_rapidjson-1.22}/CHANGES.rst +8 -0
  2. {python_rapidjson-1.21 → python_rapidjson-1.22}/PKG-INFO +32 -3
  3. {python_rapidjson-1.21 → python_rapidjson-1.22}/README.rst +21 -1
  4. {python_rapidjson-1.21 → python_rapidjson-1.22}/docs/changes.rst +8 -0
  5. {python_rapidjson-1.21 → python_rapidjson-1.22}/docs/quickstart.rst +20 -1
  6. {python_rapidjson-1.21 → python_rapidjson-1.22}/python_rapidjson.egg-info/PKG-INFO +32 -3
  7. {python_rapidjson-1.21 → python_rapidjson-1.22}/setup.py +3 -2
  8. {python_rapidjson-1.21 → python_rapidjson-1.22}/tests/test_memory_leaks.py +7 -4
  9. {python_rapidjson-1.21 → python_rapidjson-1.22}/tests/test_refs_count.py +5 -4
  10. {python_rapidjson-1.21 → python_rapidjson-1.22}/.dir-locals.el +0 -0
  11. {python_rapidjson-1.21 → python_rapidjson-1.22}/LICENSE +0 -0
  12. {python_rapidjson-1.21 → python_rapidjson-1.22}/MANIFEST.in +0 -0
  13. {python_rapidjson-1.21 → python_rapidjson-1.22}/benchmarks/conftest.py +0 -0
  14. {python_rapidjson-1.21 → python_rapidjson-1.22}/benchmarks/tablize.py +0 -0
  15. {python_rapidjson-1.21 → python_rapidjson-1.22}/benchmarks/test_benchmark.py +0 -0
  16. {python_rapidjson-1.21 → python_rapidjson-1.22}/docs/Makefile +0 -0
  17. {python_rapidjson-1.21 → python_rapidjson-1.22}/docs/api.rst +0 -0
  18. {python_rapidjson-1.21 → python_rapidjson-1.22}/docs/benchmarks-tables.rst +0 -0
  19. {python_rapidjson-1.21 → python_rapidjson-1.22}/docs/benchmarks.rst +0 -0
  20. {python_rapidjson-1.21 → python_rapidjson-1.22}/docs/conf.py +0 -0
  21. {python_rapidjson-1.21 → python_rapidjson-1.22}/docs/decoder.rst +0 -0
  22. {python_rapidjson-1.21 → python_rapidjson-1.22}/docs/dump.rst +0 -0
  23. {python_rapidjson-1.21 → python_rapidjson-1.22}/docs/dumps.rst +0 -0
  24. {python_rapidjson-1.21 → python_rapidjson-1.22}/docs/encoder.rst +0 -0
  25. {python_rapidjson-1.21 → python_rapidjson-1.22}/docs/index.rst +0 -0
  26. {python_rapidjson-1.21 → python_rapidjson-1.22}/docs/load.rst +0 -0
  27. {python_rapidjson-1.21 → python_rapidjson-1.22}/docs/loads.rst +0 -0
  28. {python_rapidjson-1.21 → python_rapidjson-1.22}/docs/rawjson.rst +0 -0
  29. {python_rapidjson-1.21 → python_rapidjson-1.22}/docs/validator.rst +0 -0
  30. {python_rapidjson-1.21 → python_rapidjson-1.22}/python_rapidjson.egg-info/SOURCES.txt +0 -0
  31. {python_rapidjson-1.21 → python_rapidjson-1.22}/python_rapidjson.egg-info/dependency_links.txt +0 -0
  32. {python_rapidjson-1.21 → python_rapidjson-1.22}/python_rapidjson.egg-info/top_level.txt +0 -0
  33. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/allocators.h +0 -0
  34. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/cursorstreamwrapper.h +0 -0
  35. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/document.h +0 -0
  36. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/encodedstream.h +0 -0
  37. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/encodings.h +0 -0
  38. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/error/en.h +0 -0
  39. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/error/error.h +0 -0
  40. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/filereadstream.h +0 -0
  41. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/filewritestream.h +0 -0
  42. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/fwd.h +0 -0
  43. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/internal/biginteger.h +0 -0
  44. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/internal/clzll.h +0 -0
  45. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/internal/diyfp.h +0 -0
  46. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/internal/dtoa.h +0 -0
  47. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/internal/ieee754.h +0 -0
  48. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/internal/itoa.h +0 -0
  49. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/internal/meta.h +0 -0
  50. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/internal/pow10.h +0 -0
  51. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/internal/regex.h +0 -0
  52. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/internal/stack.h +0 -0
  53. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/internal/strfunc.h +0 -0
  54. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/internal/strtod.h +0 -0
  55. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/internal/swap.h +0 -0
  56. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/istreamwrapper.h +0 -0
  57. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/memorybuffer.h +0 -0
  58. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/memorystream.h +0 -0
  59. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/msinttypes/inttypes.h +0 -0
  60. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/msinttypes/stdint.h +0 -0
  61. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/ostreamwrapper.h +0 -0
  62. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/pointer.h +0 -0
  63. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/prettywriter.h +0 -0
  64. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/rapidjson.h +0 -0
  65. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/reader.h +0 -0
  66. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/schema.h +0 -0
  67. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/stream.h +0 -0
  68. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/stringbuffer.h +0 -0
  69. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/uri.h +0 -0
  70. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/include/rapidjson/writer.h +0 -0
  71. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/license.txt +0 -0
  72. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson/readme.md +0 -0
  73. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson.cpp +0 -0
  74. {python_rapidjson-1.21 → python_rapidjson-1.22}/rapidjson_exact_version.txt +0 -0
  75. {python_rapidjson-1.21 → python_rapidjson-1.22}/requirements-test.txt +0 -0
  76. {python_rapidjson-1.21 → python_rapidjson-1.22}/requirements.txt +0 -0
  77. {python_rapidjson-1.21 → python_rapidjson-1.22}/setup.cfg +0 -0
  78. {python_rapidjson-1.21 → python_rapidjson-1.22}/tests/conftest.py +0 -0
  79. {python_rapidjson-1.21 → python_rapidjson-1.22}/tests/test_base_types.py +0 -0
  80. {python_rapidjson-1.21 → python_rapidjson-1.22}/tests/test_circular.py +0 -0
  81. {python_rapidjson-1.21 → python_rapidjson-1.22}/tests/test_dict_subclass.py +0 -0
  82. {python_rapidjson-1.21 → python_rapidjson-1.22}/tests/test_enum.py +0 -0
  83. {python_rapidjson-1.21 → python_rapidjson-1.22}/tests/test_float.py +0 -0
  84. {python_rapidjson-1.21 → python_rapidjson-1.22}/tests/test_params.py +0 -0
  85. {python_rapidjson-1.21 → python_rapidjson-1.22}/tests/test_pass1.py +0 -0
  86. {python_rapidjson-1.21 → python_rapidjson-1.22}/tests/test_pass2.py +0 -0
  87. {python_rapidjson-1.21 → python_rapidjson-1.22}/tests/test_pass3.py +0 -0
  88. {python_rapidjson-1.21 → python_rapidjson-1.22}/tests/test_rawjson.py +0 -0
  89. {python_rapidjson-1.21 → python_rapidjson-1.22}/tests/test_streams.py +0 -0
  90. {python_rapidjson-1.21 → python_rapidjson-1.22}/tests/test_unicode.py +0 -0
  91. {python_rapidjson-1.21 → python_rapidjson-1.22}/tests/test_validator.py +0 -0
  92. {python_rapidjson-1.21 → python_rapidjson-1.22}/tox.ini +0 -0
  93. {python_rapidjson-1.21 → python_rapidjson-1.22}/typings/rapidjson/__init__.pyi +0 -0
@@ -1,6 +1,14 @@
1
1
  Changes
2
2
  -------
3
3
 
4
+ 1.22 (2025-10-21)
5
+ ~~~~~~~~~~~~~~~~~
6
+
7
+ * Generate wheels on PyPI using Python 3.14 final release, thanks to cibuildwheel `3.2.1`__
8
+
9
+ __ https://cibuildwheel.pypa.io/en/stable/changelog/#v321
10
+
11
+
4
12
  1.21 (2025-07-10)
5
13
  ~~~~~~~~~~~~~~~~~
6
14
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-rapidjson
3
- Version: 1.21
3
+ Version: 1.22
4
4
  Summary: Python wrapper around rapidjson
5
5
  Home-page: https://github.com/python-rapidjson/python-rapidjson
6
6
  Author: Ken Robbins
@@ -8,7 +8,7 @@ Author-email: ken@kenrobbins.com
8
8
  Maintainer: Lele Gaifax
9
9
  Maintainer-email: lele@metapensiero.it
10
10
  License: MIT License
11
- Keywords: json rapidjson
11
+ Keywords: json jsonc rapidjson
12
12
  Classifier: Development Status :: 5 - Production/Stable
13
13
  Classifier: Intended Audience :: Developers
14
14
  Classifier: Programming Language :: C++
@@ -19,6 +19,7 @@ Classifier: Programming Language :: Python :: 3.10
19
19
  Classifier: Programming Language :: Python :: 3.11
20
20
  Classifier: Programming Language :: Python :: 3.12
21
21
  Classifier: Programming Language :: Python :: 3.13
22
+ Classifier: Programming Language :: Python :: 3.14
22
23
  Classifier: Programming Language :: Python
23
24
  Requires-Python: >=3.6
24
25
  Description-Content-Type: text/x-rst
@@ -42,7 +43,7 @@ Dynamic: summary
42
43
  .. :Author: Ken Robbins <ken@kenrobbins.com>
43
44
  .. :License: MIT License
44
45
  .. :Copyright: © 2015 Ken Robbins
45
- .. :Copyright: © 2016, 2017, 2018, 2020, 2022, 2024 Lele Gaifax
46
+ .. :Copyright: © 2016, 2017, 2018, 2020, 2022, 2024, 2025 Lele Gaifax
46
47
  ..
47
48
 
48
49
  ==================
@@ -114,6 +115,26 @@ Basic usage looks like this:
114
115
  Chunk: b'":"ba'
115
116
  Chunk: b'z"}'
116
117
 
118
+ Most functionalities are exposed both as *functions* and as *classes*.
119
+
120
+ The following uses a *relaxed syntax* ``Decoder`` instance, that handles JSONC__ and
121
+ *trailing commas*:
122
+
123
+ __ https://jsonc.org/
124
+
125
+ .. code-block:: python
126
+
127
+ >>> from rapidjson import Decoder
128
+ >>> from rapidjson import PM_COMMENTS, PM_TRAILING_COMMAS
129
+ >>> decoder = Decoder(parse_mode=PM_COMMENTS | PM_TRAILING_COMMAS)
130
+ >>> decoder('''
131
+ ... {
132
+ ... "bar": /* Block comment */ "baz",
133
+ ... "foo":100, // Trailing comma and comment
134
+ ... }
135
+ ... ''')
136
+ {'bar': 'baz', 'foo': 100}
137
+
117
138
 
118
139
  Development
119
140
  -----------
@@ -167,6 +188,14 @@ __ https://python-rapidjson.readthedocs.io/en/latest/quickstart.html#incompatibi
167
188
  Changes
168
189
  -------
169
190
 
191
+ 1.22 (2025-10-21)
192
+ ~~~~~~~~~~~~~~~~~
193
+
194
+ * Generate wheels on PyPI using Python 3.14 final release, thanks to cibuildwheel `3.2.1`__
195
+
196
+ __ https://cibuildwheel.pypa.io/en/stable/changelog/#v321
197
+
198
+
170
199
  1.21 (2025-07-10)
171
200
  ~~~~~~~~~~~~~~~~~
172
201
 
@@ -3,7 +3,7 @@
3
3
  .. :Author: Ken Robbins <ken@kenrobbins.com>
4
4
  .. :License: MIT License
5
5
  .. :Copyright: © 2015 Ken Robbins
6
- .. :Copyright: © 2016, 2017, 2018, 2020, 2022, 2024 Lele Gaifax
6
+ .. :Copyright: © 2016, 2017, 2018, 2020, 2022, 2024, 2025 Lele Gaifax
7
7
  ..
8
8
 
9
9
  ==================
@@ -75,6 +75,26 @@ Basic usage looks like this:
75
75
  Chunk: b'":"ba'
76
76
  Chunk: b'z"}'
77
77
 
78
+ Most functionalities are exposed both as *functions* and as *classes*.
79
+
80
+ The following uses a *relaxed syntax* ``Decoder`` instance, that handles JSONC__ and
81
+ *trailing commas*:
82
+
83
+ __ https://jsonc.org/
84
+
85
+ .. code-block:: python
86
+
87
+ >>> from rapidjson import Decoder
88
+ >>> from rapidjson import PM_COMMENTS, PM_TRAILING_COMMAS
89
+ >>> decoder = Decoder(parse_mode=PM_COMMENTS | PM_TRAILING_COMMAS)
90
+ >>> decoder('''
91
+ ... {
92
+ ... "bar": /* Block comment */ "baz",
93
+ ... "foo":100, // Trailing comma and comment
94
+ ... }
95
+ ... ''')
96
+ {'bar': 'baz', 'foo': 100}
97
+
78
98
 
79
99
  Development
80
100
  -----------
@@ -1,6 +1,14 @@
1
1
  Changes
2
2
  -------
3
3
 
4
+ 1.22 (2025-10-21)
5
+ ~~~~~~~~~~~~~~~~~
6
+
7
+ * Generate wheels on PyPI using Python 3.14 final release, thanks to cibuildwheel `3.2.1`__
8
+
9
+ __ https://cibuildwheel.pypa.io/en/stable/changelog/#v321
10
+
11
+
4
12
  1.21 (2025-07-10)
5
13
  ~~~~~~~~~~~~~~~~~
6
14
 
@@ -2,7 +2,7 @@
2
2
  .. :Project: python-rapidjson -- Quickstart examples
3
3
  .. :Author: Lele Gaifax <lele@metapensiero.it>
4
4
  .. :License: MIT License
5
- .. :Copyright: © 2016, 2017, 2018, 2020, 2021 Lele Gaifax
5
+ .. :Copyright: © 2016, 2017, 2018, 2020, 2021, 2025 Lele Gaifax
6
6
  ..
7
7
 
8
8
  =============
@@ -158,6 +158,25 @@ The module exposes also a *stream* interface:
158
158
  >>> load(stream) == data
159
159
  True
160
160
 
161
+ Almost all these functionalities are also available as *classes*. For example, the
162
+ following uses a *relaxed syntax* :class:`~rapidjson.Decoder` instance, that handles
163
+ JSONC__ and *trailing commas*:
164
+
165
+ __ https://jsonc.org/
166
+
167
+ .. code-block:: python
168
+
169
+ >>> from rapidjson import Decoder
170
+ >>> from rapidjson import PM_COMMENTS, PM_TRAILING_COMMAS
171
+ >>> decoder = Decoder(parse_mode=PM_COMMENTS | PM_TRAILING_COMMAS)
172
+ >>> decoder('''
173
+ ... {
174
+ ... "bar": /* Block comment */ "baz",
175
+ ... "foo":100, // Trailing comma and comment
176
+ ... }
177
+ ... ''')
178
+ {'bar': 'baz', 'foo': 100}
179
+
161
180
 
162
181
  Incompatibilities
163
182
  -----------------
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-rapidjson
3
- Version: 1.21
3
+ Version: 1.22
4
4
  Summary: Python wrapper around rapidjson
5
5
  Home-page: https://github.com/python-rapidjson/python-rapidjson
6
6
  Author: Ken Robbins
@@ -8,7 +8,7 @@ Author-email: ken@kenrobbins.com
8
8
  Maintainer: Lele Gaifax
9
9
  Maintainer-email: lele@metapensiero.it
10
10
  License: MIT License
11
- Keywords: json rapidjson
11
+ Keywords: json jsonc rapidjson
12
12
  Classifier: Development Status :: 5 - Production/Stable
13
13
  Classifier: Intended Audience :: Developers
14
14
  Classifier: Programming Language :: C++
@@ -19,6 +19,7 @@ Classifier: Programming Language :: Python :: 3.10
19
19
  Classifier: Programming Language :: Python :: 3.11
20
20
  Classifier: Programming Language :: Python :: 3.12
21
21
  Classifier: Programming Language :: Python :: 3.13
22
+ Classifier: Programming Language :: Python :: 3.14
22
23
  Classifier: Programming Language :: Python
23
24
  Requires-Python: >=3.6
24
25
  Description-Content-Type: text/x-rst
@@ -42,7 +43,7 @@ Dynamic: summary
42
43
  .. :Author: Ken Robbins <ken@kenrobbins.com>
43
44
  .. :License: MIT License
44
45
  .. :Copyright: © 2015 Ken Robbins
45
- .. :Copyright: © 2016, 2017, 2018, 2020, 2022, 2024 Lele Gaifax
46
+ .. :Copyright: © 2016, 2017, 2018, 2020, 2022, 2024, 2025 Lele Gaifax
46
47
  ..
47
48
 
48
49
  ==================
@@ -114,6 +115,26 @@ Basic usage looks like this:
114
115
  Chunk: b'":"ba'
115
116
  Chunk: b'z"}'
116
117
 
118
+ Most functionalities are exposed both as *functions* and as *classes*.
119
+
120
+ The following uses a *relaxed syntax* ``Decoder`` instance, that handles JSONC__ and
121
+ *trailing commas*:
122
+
123
+ __ https://jsonc.org/
124
+
125
+ .. code-block:: python
126
+
127
+ >>> from rapidjson import Decoder
128
+ >>> from rapidjson import PM_COMMENTS, PM_TRAILING_COMMAS
129
+ >>> decoder = Decoder(parse_mode=PM_COMMENTS | PM_TRAILING_COMMAS)
130
+ >>> decoder('''
131
+ ... {
132
+ ... "bar": /* Block comment */ "baz",
133
+ ... "foo":100, // Trailing comma and comment
134
+ ... }
135
+ ... ''')
136
+ {'bar': 'baz', 'foo': 100}
137
+
117
138
 
118
139
  Development
119
140
  -----------
@@ -167,6 +188,14 @@ __ https://python-rapidjson.readthedocs.io/en/latest/quickstart.html#incompatibi
167
188
  Changes
168
189
  -------
169
190
 
191
+ 1.22 (2025-10-21)
192
+ ~~~~~~~~~~~~~~~~~
193
+
194
+ * Generate wheels on PyPI using Python 3.14 final release, thanks to cibuildwheel `3.2.1`__
195
+
196
+ __ https://cibuildwheel.pypa.io/en/stable/changelog/#v321
197
+
198
+
170
199
  1.21 (2025-07-10)
171
200
  ~~~~~~~~~~~~~~~~~
172
201
 
@@ -44,7 +44,7 @@ else:
44
44
  " want to report the issue.")
45
45
 
46
46
  # Automatically updated by bump-my-version at release time
47
- VERSION = '1.21'
47
+ VERSION = '1.22'
48
48
 
49
49
  with open('README.rst', encoding='utf-8') as f:
50
50
  LONG_DESCRIPTION = f.read()
@@ -94,7 +94,7 @@ setup(
94
94
  long_description=LONG_DESCRIPTION + '\n\n' + CHANGES,
95
95
  long_description_content_type='text/x-rst',
96
96
  license='MIT License',
97
- keywords='json rapidjson',
97
+ keywords='json jsonc rapidjson',
98
98
  author='Ken Robbins',
99
99
  author_email='ken@kenrobbins.com',
100
100
  maintainer='Lele Gaifax',
@@ -111,6 +111,7 @@ setup(
111
111
  'Programming Language :: Python :: 3.11',
112
112
  'Programming Language :: Python :: 3.12',
113
113
  'Programming Language :: Python :: 3.13',
114
+ 'Programming Language :: Python :: 3.14',
114
115
  'Programming Language :: Python',
115
116
  ],
116
117
  ext_modules=[Extension('rapidjson', **extension_options)],
@@ -3,7 +3,7 @@
3
3
  # :Created: dom 10 feb 2019 13:47:32 CET
4
4
  # :Author: Lele Gaifax <lele@metapensiero.it>
5
5
  # :License: MIT License
6
- # :Copyright: © 2019 Lele Gaifax
6
+ # :Copyright: © 2019, 2025 Lele Gaifax
7
7
  #
8
8
 
9
9
  import io
@@ -53,7 +53,8 @@ def test_object_hook_and_default():
53
53
  tracemalloc.stop()
54
54
 
55
55
  for stat in top_stats[:10]:
56
- assert stat.count_diff < 3
56
+ # Uhm, with Py 3.14, on macOS, the diff is 3...
57
+ assert stat.count_diff <= 3
57
58
 
58
59
 
59
60
  def test_load():
@@ -78,7 +79,8 @@ def test_load():
78
79
  tracemalloc.stop()
79
80
 
80
81
  for stat in top_stats[:10]:
81
- assert stat.count_diff < 3
82
+ # Uhm, with Py 3.14, on macOS, the diff is 3...
83
+ assert stat.count_diff <= 3
82
84
 
83
85
 
84
86
  def test_failed_validation():
@@ -121,4 +123,5 @@ def test_failed_validation():
121
123
  tracemalloc.stop()
122
124
 
123
125
  for stat in top_stats[:10]:
124
- assert stat.count_diff < 3
126
+ # Uhm, with Py 3.14, on macOS, the diff is 3...
127
+ assert stat.count_diff <= 3
@@ -2,7 +2,7 @@
2
2
  # :Project: python-rapidjson -- Refs leaks tests
3
3
  # :Author: Lele Gaifax <lele@metapensiero.it>
4
4
  # :License: MIT License
5
- # :Copyright: © 2017, 2018, 2020, 2022 Lele Gaifax
5
+ # :Copyright: © 2017, 2018, 2020, 2022, 2025 Lele Gaifax
6
6
  #
7
7
 
8
8
  # NB: this is a simplistic test that uses sys.gettotalrefcount(), available
@@ -211,10 +211,11 @@ def test_endarray_leak():
211
211
  return list(seq)
212
212
 
213
213
  j1 = rj.loads(value)
214
- assert sys.getrefcount(j1['v']) == 3
214
+ # Uhm, with Py 3.14 the refcount is 2...
215
+ assert 2 <= sys.getrefcount(j1['v']) <= 3
215
216
 
216
217
  j2 = Decoder1()(value)
217
- assert sys.getrefcount(j2['v']) == 3
218
+ assert 2 <= sys.getrefcount(j2['v']) <= 3
218
219
 
219
220
  j3 = Decoder2()(value)
220
- assert sys.getrefcount(j3['v']) == 3
221
+ assert 2 <= sys.getrefcount(j3['v']) <= 3
File without changes
File without changes