753 lines
20 KiB
Plaintext
753 lines
20 KiB
Plaintext
Metadata-Version: 2.1
|
|
Name: python-rapidjson
|
|
Version: 1.14
|
|
Summary: Python wrapper around rapidjson
|
|
Home-page: https://github.com/python-rapidjson/python-rapidjson
|
|
Author: Ken Robbins
|
|
Author-email: ken@kenrobbins.com
|
|
Maintainer: Lele Gaifax
|
|
Maintainer-email: lele@metapensiero.it
|
|
License: MIT License
|
|
Keywords: json rapidjson
|
|
Classifier: Development Status :: 5 - Production/Stable
|
|
Classifier: Intended Audience :: Developers
|
|
Classifier: License :: OSI Approved :: MIT License
|
|
Classifier: Programming Language :: C++
|
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
Classifier: Programming Language :: Python :: 3
|
|
Classifier: Programming Language :: Python :: 3.8
|
|
Classifier: Programming Language :: Python :: 3.9
|
|
Classifier: Programming Language :: Python :: 3.10
|
|
Classifier: Programming Language :: Python :: 3.11
|
|
Classifier: Programming Language :: Python :: 3.12
|
|
Classifier: Programming Language :: Python
|
|
Requires-Python: >=3.6
|
|
Description-Content-Type: text/x-rst
|
|
License-File: LICENSE
|
|
|
|
.. -*- coding: utf-8 -*-
|
|
.. :Project: python-rapidjson -- Introduction
|
|
.. :Author: Ken Robbins <ken@kenrobbins.com>
|
|
.. :License: MIT License
|
|
.. :Copyright: © 2015 Ken Robbins
|
|
.. :Copyright: © 2016, 2017, 2018, 2020, 2022 Lele Gaifax
|
|
..
|
|
|
|
==================
|
|
python-rapidjson
|
|
==================
|
|
|
|
Python wrapper around RapidJSON
|
|
===============================
|
|
|
|
:Authors: Ken Robbins <ken@kenrobbins.com>; Lele Gaifax <lele@metapensiero.it>
|
|
:License: `MIT License`__
|
|
:Status: |build| |doc|
|
|
|
|
__ https://raw.githubusercontent.com/python-rapidjson/python-rapidjson/master/LICENSE
|
|
.. |build| image:: https://travis-ci.org/python-rapidjson/python-rapidjson.svg?branch=master
|
|
:target: https://travis-ci.org/python-rapidjson/python-rapidjson
|
|
:alt: Build status
|
|
.. |doc| image:: https://readthedocs.org/projects/python-rapidjson/badge/?version=latest
|
|
:target: https://readthedocs.org/projects/python-rapidjson/builds/
|
|
:alt: Documentation status
|
|
|
|
RapidJSON_ is an extremely fast C++ JSON parser and serialization library: this module
|
|
wraps it into a Python 3 extension, exposing its serialization/deserialization (to/from
|
|
either ``bytes``, ``str`` or *file-like* instances) and `JSON Schema`__ validation
|
|
capabilities.
|
|
|
|
Latest version documentation is automatically rendered by `Read the Docs`__.
|
|
|
|
__ http://json-schema.org/documentation.html
|
|
__ https://python-rapidjson.readthedocs.io/en/latest/
|
|
|
|
|
|
Getting Started
|
|
---------------
|
|
|
|
First install ``python-rapidjson``:
|
|
|
|
.. code-block:: bash
|
|
|
|
$ pip install python-rapidjson
|
|
|
|
or, if you prefer `Conda`__:
|
|
|
|
.. code-block:: bash
|
|
|
|
$ conda install -c conda-forge python-rapidjson
|
|
|
|
__ https://conda.io/docs/
|
|
|
|
Basic usage looks like this:
|
|
|
|
.. code-block:: python
|
|
|
|
>>> import rapidjson
|
|
>>> data = {'foo': 100, 'bar': 'baz'}
|
|
>>> rapidjson.dumps(data)
|
|
'{"foo":100,"bar":"baz"}'
|
|
>>> rapidjson.loads('{"bar":"baz","foo":100}')
|
|
{'bar': 'baz', 'foo': 100}
|
|
>>>
|
|
>>> class Stream:
|
|
... def write(self, data):
|
|
... print("Chunk:", data)
|
|
...
|
|
>>> rapidjson.dump(data, Stream(), chunk_size=5)
|
|
Chunk: b'{"foo'
|
|
Chunk: b'":100'
|
|
Chunk: b',"bar'
|
|
Chunk: b'":"ba'
|
|
Chunk: b'z"}'
|
|
|
|
|
|
Development
|
|
-----------
|
|
|
|
If you want to install the development version (maybe to contribute fixes or
|
|
enhancements) you may clone the repository:
|
|
|
|
.. code-block:: bash
|
|
|
|
$ git clone --recursive https://github.com/python-rapidjson/python-rapidjson.git
|
|
|
|
.. note:: The ``--recursive`` option is needed because we use a *submodule* to
|
|
include RapidJSON_ sources. Alternatively you can do a plain
|
|
``clone`` immediately followed by a ``git submodule update --init``.
|
|
|
|
Alternatively, if you already have (a *compatible* version of)
|
|
RapidJSON includes around, you can compile the module specifying
|
|
their location with the option ``--rj-include-dir``, for example:
|
|
|
|
.. code-block:: shell
|
|
|
|
$ python3 setup.py build --rj-include-dir=/usr/include/rapidjson
|
|
|
|
A set of makefiles implement most common operations, such as *build*, *check*
|
|
and *release*; see ``make help`` output for a list of available targets.
|
|
|
|
|
|
Performance
|
|
-----------
|
|
|
|
``python-rapidjson`` tries to be as performant as possible while staying
|
|
compatible with the ``json`` module.
|
|
|
|
See the `this section`__ in the documentation for a comparison with other JSON libraries.
|
|
|
|
__ https://python-rapidjson.readthedocs.io/en/latest/benchmarks.html
|
|
|
|
|
|
Incompatibility
|
|
---------------
|
|
|
|
Although we tried to implement an API similar to the standard library ``json``, being a
|
|
strict *drop-in* replacement in not our goal and we have decided to depart from there in
|
|
some aspects. See `this section`__ in the documentation for further details.
|
|
|
|
__ https://python-rapidjson.readthedocs.io/en/latest/quickstart.html#incompatibilities
|
|
|
|
.. _RapidJSON: http://rapidjson.org/
|
|
|
|
|
|
Changes
|
|
-------
|
|
|
|
1.14 (2023-12-14)
|
|
~~~~~~~~~~~~~~~~~
|
|
|
|
* Produce binary wheels for macOS/arm64, thanks to timothyjlaurent (`PR #195`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/pull/170
|
|
|
|
|
|
1.13 (2023-10-29)
|
|
~~~~~~~~~~~~~~~~~
|
|
|
|
* Fix handling of write_mode in dump functions (problem emerged discussing `issue #191`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/191
|
|
|
|
|
|
1.12 (2023-10-07)
|
|
~~~~~~~~~~~~~~~~~
|
|
|
|
* Generate wheels on PyPI using final Python 3.12 release, thanks to cibuildwheel `2.16.2`__
|
|
|
|
__ https://cibuildwheel.readthedocs.io/en/stable/changelog/#v2162
|
|
|
|
|
|
1.11 (2023-09-11)
|
|
~~~~~~~~~~~~~~~~~
|
|
|
|
* Use `current master`__ version of rapidjson
|
|
|
|
__ https://github.com/Tencent/rapidjson/compare/083f359f5c36198accc2b9360ce1e32a333231d9...5e17dbed34eef33af8f3e734820b5dc547a2a3aa9
|
|
|
|
* Use cibuildwheel `2.15.0`__
|
|
|
|
__ https://cibuildwheel.readthedocs.io/en/stable/changelog/#v2150
|
|
|
|
|
|
1.10 (2023-03-15)
|
|
~~~~~~~~~~~~~~~~~
|
|
|
|
* Use `current master`__ version of rapidjson
|
|
|
|
__ https://github.com/Tencent/rapidjson/commit/083f359f5c36198accc2b9360ce1e32a333231d9
|
|
|
|
* Produce ppc64le wheels, thanks to mgiessing (`PR #170`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/pull/170
|
|
|
|
* Use cibuildwheel `2.12.1`__
|
|
|
|
__ https://cibuildwheel.readthedocs.io/en/stable/changelog/#v2121
|
|
|
|
|
|
1.9 (2022-10-17)
|
|
~~~~~~~~~~~~~~~~
|
|
|
|
* Produce Python 3.11 wheels, thanks to ``cibuildwheel`` `2.11.1`__
|
|
|
|
__ https://cibuildwheel.readthedocs.io/en/stable/changelog/#v2111
|
|
|
|
|
|
1.8 (2022-07-07)
|
|
~~~~~~~~~~~~~~~~
|
|
|
|
* Fix `problem on macOS`__ explicitly requiring C++11, thanks to agate-pris (`issue
|
|
#166`__)
|
|
|
|
__ https://github.com/Tencent/rapidjson/commit/9965ab37f6cfae3d58a0a6e34c76112866ace0b1#commitcomment-77875054
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/166
|
|
|
|
|
|
1.7 (2022-07-06)
|
|
~~~~~~~~~~~~~~~~
|
|
|
|
* Use `current master`__ version of rapidjson
|
|
|
|
__ https://github.com/Tencent/rapidjson/commit/232389d4f1012dddec4ef84861face2d2ba85709
|
|
|
|
* Update the test suite to work on Pyston, thanks to Kevin Modzelewski (`PR #161`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/pull/161
|
|
|
|
|
|
1.6 (2022-02-19)
|
|
~~~~~~~~~~~~~~~~
|
|
|
|
* Fix memory leak when using ``end_array`` (`issue #160`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/160
|
|
|
|
|
|
1.5 (2021-10-16)
|
|
~~~~~~~~~~~~~~~~
|
|
|
|
* Fix serialization bug when using DM_UNIX_TIME in a non-C locale context
|
|
|
|
|
|
1.4 (2021-06-25)
|
|
~~~~~~~~~~~~~~~~
|
|
|
|
* Build binary wheel for aarch64, thanks to odidev (`PR #156`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/pull/156
|
|
|
|
|
|
1.3 (2021-06-25)
|
|
~~~~~~~~~~~~~~~~
|
|
|
|
* Yet another attempt to fix automatic wheels upload
|
|
|
|
|
|
1.2 (2021-06-25)
|
|
~~~~~~~~~~~~~~~~
|
|
|
|
* Fix automatic wheels upload from GH Actions to PyPI
|
|
|
|
|
|
1.1 (2021-06-25)
|
|
~~~~~~~~~~~~~~~~
|
|
|
|
* Reduce decoder memory consumption by uniquifiying keys in the loaded dictionaries
|
|
|
|
* Implement an alternative way of transmogrify JSON objects, similar to ``json``\ 's
|
|
``object_pairs_hook`` load option (`issue #154`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/154
|
|
|
|
|
|
1.0 (2020-12-13)
|
|
~~~~~~~~~~~~~~~~
|
|
|
|
* Require Python 3.6 or greater
|
|
|
|
* New serialization options, ``iterable_mode`` and ``mapping_mode``, to give some control
|
|
on how generic iterables and mappings get encoded (fix `issue #149`__ and
|
|
`issue #150`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/149
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/150
|
|
|
|
* Internal refactorings, folding "skipkeys" and "sort_keys" arguments into the
|
|
mapping_mode options, respectively as MM_SKIP_NON_STRING_KEYS and MM_SORT_KEYS: "old"
|
|
arguments kept for backward compatibility
|
|
|
|
* Bump major version to 1, tag as "production/stable" and switch to a simpler X.Y
|
|
versioning schema
|
|
|
|
|
|
0.9.4 (2020-11-16)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* Fix memory leak loading an invalid JSON (`issue #148`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/148
|
|
|
|
|
|
0.9.3 (2020-10-24)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* Fix access to ``Encoder`` instance attributes (`issue #147`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/147
|
|
|
|
|
|
0.9.2 (2020-10-24)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* Use `current master`__ version of rapidjson
|
|
|
|
__ https://github.com/Tencent/rapidjson/commit/0ccdbf364c577803e2a751f5aededce935314313
|
|
|
|
* Enable GH Actions-based test workflow, thanks to Martin Thoma (`PR #143`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/143
|
|
|
|
* Produce Python 3.9 wheels, disable testing under Python < 3.6
|
|
|
|
* Make the character used for indentation in pretty mode a parameter (`issue #135`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/135
|
|
|
|
* Handle wider precision range in timestamps fractional seconds (`PR 133`__), thanks to
|
|
Karl Seguin
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/pull/133
|
|
|
|
* Add comparison benchmarks against orjson and hyperjson (`issue #130`__ and `PR #131`__,
|
|
thanks to Sebastian Pipping)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/130
|
|
__ https://github.com/python-rapidjson/python-rapidjson/pull/131
|
|
|
|
|
|
0.9.1 (2019-11-13)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* Fix memory leak in case of failed validation (`issue #126`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/126
|
|
|
|
|
|
0.9.0 (2019-11-13)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* Produce Python 3.8 wheels
|
|
|
|
* Compatibility fix for Python 3.8 (`issue #125`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/125
|
|
|
|
* New dump option ``write_mode``, supporting RapidJSON's ``kFormatSingleLineArray`` option
|
|
(`issue #123`__), thanks to Nguyễn Hồng Quân for the initial implementation (`PR #124`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/123
|
|
__ https://github.com/python-rapidjson/python-rapidjson/pull/124
|
|
|
|
|
|
0.8.0 (2019-08-09)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* New serialization option ``bytes_mode`` to control how bytes instances get encoded
|
|
(`issue #122`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/122
|
|
|
|
|
|
0.7.2 (2019-06-09)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* Hopefully fix the memory leak when loading from a stream (`issue #117`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/117
|
|
|
|
|
|
0.7.1 (2019-05-11)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* Raise a more specific exception on loading errors, ``JSONDecodeError``, instead of
|
|
generic ``ValueError`` (`issue #118`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/118
|
|
|
|
* Fix optimization path when using ``OrderedDict``\ s (`issue #119`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/119
|
|
|
|
* Fix serialization of ``IntEnum``\ s (`issue #121`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/121
|
|
|
|
* I spent *quite a lot* of time investigating on the memory leak when loading from a
|
|
stream (`issue #117`__): as I was not able to fully replicate the problem, I cannot be
|
|
sure I solved the problem... sorry!
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/117
|
|
|
|
|
|
0.7.0 (2019-02-11)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* Raise correct exception in code samples (`PR #109`__), thanks to Thomas Dähling
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/pull/109
|
|
|
|
* Fix compilation with system-wide install of rapidjson (`issue #110`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/110
|
|
|
|
* Use current master version of rapidjson, that includes a `fix`__ for its `issue #1368`__
|
|
and `issue #1336`__, and cures several compilation warnings as well (`issue #112`__ and
|
|
`issue #107`__)
|
|
|
|
__ https://github.com/Tencent/rapidjson/commit/f5e5d47fac0f654749c4d6267015005b74643dff
|
|
__ https://github.com/Tencent/rapidjson/issues/1368
|
|
__ https://github.com/Tencent/rapidjson/issues/1336
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/112
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/107
|
|
|
|
* Fix memory leak when using ``object_hook`` (`issue #115`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/115
|
|
|
|
|
|
0.6.3 (2018-07-11)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* No visible changes, but now PyPI carries binary wheels for Python 3.7.
|
|
|
|
|
|
0.6.2 (2018-06-08)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* Use a more specific ValidationError, to differentiate from invalid JSON
|
|
|
|
|
|
0.6.1 (2018-06-06)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* Nothing new, attempt to build Python 3.6 binary wheels on Travis CI
|
|
|
|
|
|
0.6.0 (2018-06-06)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* Add a new comparison table involving ``ensure_ascii`` (`issue #98`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/98
|
|
|
|
* Use Python's ``repr()`` to emit float values instead of rapidjson's ``dtoa()`` (`issue
|
|
#101`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/101
|
|
|
|
* Use a newer (although unreleased) version of rapidjson to fix an `issue`__ with
|
|
JSONSchema validation (`PR #103`__), thanks to Anthony Miyaguchi
|
|
|
|
__ https://github.com/Tencent/rapidjson/issues/825
|
|
__ https://github.com/python-rapidjson/python-rapidjson/pull/103
|
|
|
|
|
|
0.5.2 (2018-03-31)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* Tiny tweak to restore macOS build on Travis CI
|
|
|
|
|
|
0.5.1 (2018-03-31)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* Minor tweaks to CI and PyPI deploy configuration
|
|
|
|
|
|
0.5.0 (2018-03-31)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* New ``RawJSON`` class, allowing inclusion of *pre-serialized* content (`PR #95`__ and
|
|
`PR #96`__), thanks to Silvio Tomatis
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/pull/95
|
|
__ https://github.com/python-rapidjson/python-rapidjson/pull/96
|
|
|
|
|
|
0.4.3 (2018-01-14)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* Deserialize from ``bytes`` and ``bytearray`` instances, ensuring they
|
|
contain valid UTF-8 data
|
|
|
|
* Speed up parsing of floating point numbers, avoiding intermediary conversion
|
|
to a Python string (`PR #94`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/pull/94
|
|
|
|
|
|
0.4.2 (2018-01-09)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* Fix precision handling of DM_UNIX_TIME timestamps
|
|
|
|
|
|
0.4.1 (2018-01-08)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* Fix memory leaks in ``Decoder()`` and ``Encoder()`` classes, related to
|
|
bad handling of ``PyObject_GetAttr()`` result value
|
|
|
|
* Fix compatibility with Python 3.7a
|
|
|
|
|
|
0.4.0 (2018-01-05)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* Implemented the streaming interface, see `load()`__ and `dump()`__ (`issue #80`__)
|
|
|
|
__ https://python-rapidjson.readthedocs.io/en/latest/load.html
|
|
__ https://python-rapidjson.readthedocs.io/en/latest/dump.html
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/80
|
|
|
|
**Backward incompatibility**: now the *flags* arguments on all the functions are
|
|
*keyword only*, to mimic stdlib's ``json`` style
|
|
|
|
|
|
0.3.2 (2017-12-21)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* Reduce compiler warnings (`issue #87`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/87
|
|
|
|
|
|
0.3.1 (2017-12-20)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* Fix Travis CI recipe to accomodate MacOS
|
|
|
|
|
|
0.3.0 (2017-12-20)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* Fix compilation on MacOS (`issue #78`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/78
|
|
|
|
* Handle generic iterables (`PR #89`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/pull/89
|
|
|
|
**Backward incompatibility**: the ``dumps()`` function and the ``Encoder()``
|
|
constructor used to accept a ``max_recursion_depth`` argument, to control
|
|
the maximum allowed nesting of Python structures; since the underlying
|
|
function is now effectively recursive, it has been replaced by the generic
|
|
`sys.setrecursionlimit()`__ mechanism
|
|
|
|
__ https://docs.python.org/3.6/library/sys.html#sys.setrecursionlimit
|
|
|
|
|
|
0.2.7 (2017-12-08)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* Restore compatibility with Python < 3.6
|
|
|
|
|
|
0.2.6 (2017-12-08)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* Fix memory leaks when using object_hook/start_object/end_object
|
|
|
|
|
|
0.2.5 (2017-09-30)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* Fix bug where error handling code could raise an exception causing a
|
|
confusing exception to be returned (`PR #82`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/pull/82
|
|
|
|
* Fix bug where loads's ``object_hook`` and dumps's ``default`` arguments
|
|
could not be passed ``None`` explicitly (`PR #83`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/pull/83
|
|
|
|
* Fix crash when dealing with surrogate pairs (`issue #81`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/81
|
|
|
|
|
|
0.2.4 (2017-09-17)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* Fix compatibility with MacOS/clang
|
|
|
|
|
|
0.2.3 (2017-08-24)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* Limit the precision of DM_UNIX_TIME timestamps to six decimal digits
|
|
|
|
|
|
0.2.2 (2017-08-24)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* Nothing new, attempt to fix production of Python 3.6 binary wheels
|
|
|
|
|
|
0.2.1 (2017-08-24)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* Nothing new, attempt to fix production of Python 3.6 binary wheels
|
|
|
|
|
|
0.2.0 (2017-08-24)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* New ``parse_mode`` option, implementing relaxed JSON syntax (`issue #73`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/73
|
|
|
|
* New ``Encoder`` and ``Decoder``, implementing a class-based interface
|
|
|
|
* New ``Validator``, exposing the underlying *JSON schema* validation (`issue #71`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/71
|
|
|
|
|
|
0.1.0 (2017-08-16)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* Remove beta status
|
|
|
|
|
|
0.1.0b4 (2017-08-14)
|
|
~~~~~~~~~~~~~~~~~~~~
|
|
|
|
* Make execution of the test suite on Appveyor actually happen
|
|
|
|
|
|
0.1.0b3 (2017-08-12)
|
|
~~~~~~~~~~~~~~~~~~~~
|
|
|
|
* Exclude CI configurations from the source distribution
|
|
|
|
|
|
0.1.0b2 (2017-08-12)
|
|
~~~~~~~~~~~~~~~~~~~~
|
|
|
|
* Fix Powershell wheel upload script in appveyor configuration
|
|
|
|
|
|
0.1.0b1 (2017-08-12)
|
|
~~~~~~~~~~~~~~~~~~~~
|
|
|
|
* Compilable with somewhat old g++ (`issue #69`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/69
|
|
|
|
* **Backward incompatibilities**:
|
|
|
|
- all ``DATETIME_MODE_XXX`` constants have been shortened to ``DM_XXX``
|
|
``DATETIME_MODE_ISO8601_UTC`` has been renamed to ``DM_SHIFT_TO_UTC``
|
|
|
|
- all ``UUID_MODE_XXX`` constants have been shortened to ``UM_XXX``
|
|
|
|
* New option ``DM_UNIX_TIME`` to serialize date, datetime and time values as
|
|
`UNIX timestamps`__ targeting `issue #61`__
|
|
|
|
__ https://en.wikipedia.org/wiki/Unix_time
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/61
|
|
|
|
* New option ``DM_NAIVE_IS_UTC`` to treat naïve datetime and time values as if
|
|
they were in the UTC timezone (also for issue #61)
|
|
|
|
* New keyword argument ``number_mode`` to use underlying C library numbers
|
|
|
|
* Binary wheels for GNU/Linux and Windows on PyPI (one would hope: this is the
|
|
reason for the beta1 release)
|
|
|
|
|
|
0.0.11 (2017-03-05)
|
|
~~~~~~~~~~~~~~~~~~~
|
|
|
|
* Fix a couple of refcount handling glitches, hopefully targeting `issue
|
|
#48`__.
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/48
|
|
|
|
|
|
0.0.10 (2017-03-02)
|
|
~~~~~~~~~~~~~~~~~~~
|
|
|
|
* Fix source distribution to contain all required stuff (`PR #64`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/pull/64
|
|
|
|
|
|
0.0.9 (2017-03-02)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* CI testing on GitHub
|
|
|
|
* Allow using locally installed RapidJSON library (`issue #60`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/60
|
|
|
|
* Bug fixes (`issue #37`__, `issue #51`__, `issue #57`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/37
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/51
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/57
|
|
|
|
|
|
0.0.8 (2016-12-09)
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
* Use unpatched RapidJSON 1.1 (`PR #46`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/pull/46
|
|
|
|
* Handle serialization and deserialization of datetime, date and time
|
|
instances (`PR #35`__) and of UUID instances (`PR #40`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/pull/35
|
|
__ https://github.com/python-rapidjson/python-rapidjson/pull/40
|
|
|
|
* Sphinx based documentation (`PR #44`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/pull/44
|
|
|
|
* Refresh benchmarks (`PR #45`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/pull/45
|
|
|
|
* Bug fixes (`issue #25`__, `issue #38`__, `PR #43`__)
|
|
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/25
|
|
__ https://github.com/python-rapidjson/python-rapidjson/issues/38
|
|
__ https://github.com/python-rapidjson/python-rapidjson/pull/43
|