Universal Binary JSON encoder/decoder
This is a Python v3.2+ (and 2.7+) Universal Binary
JSON <http://ubjson.org>
_ encoder/decoder based on the
draft-12 <UBJSON-Specification.md>
_ specification.
.. code:: shell
# To get from PyPI
pip3 install py-ubjson
# To only build extension modules inline (e.g. in repository)
python3 setup.py build_ext -i
# To build & install globally
python3 setup.py install
# To skip building of extensions when installing (or building)
PYUBJSON_NO_EXTENSION=1 python3 setup.py install
Notes
Anaconda
(conda-forge) <https://anaconda.org/conda-forge/py-ubjson>
__Iotic Labs Software release
signing key <https://iotic-labs.com/iotic-labs.com.asc>
__It's meant to behave very much like Python's built-in JSON
module <https://docs.python.org/3/library/json.html>
__, e.g.:
.. code:: python
import ubjson
encoded = ubjson.dumpb({u'a': 1})
decoded = ubjson.loadb(encoded)
Note: Only unicode strings in Python 2 will be encoded as strings, plain str will be encoded as a byte array.
.. code:: python
import ubsjon
help(ubjson.dump)
help(ubjson.load)
This converts between JSON and UBJSON formats:
.. code:: shell
python3 -mubjson
USAGE: ubjson (fromjson|tojson) (INFILE|-) [OUTFILE]
This library has been checked using
flake8 <https://pypi.python.org/pypi/flake8>
_ and
pylint <http://www.pylint.org>
_, using a modified configuration - see
pylint.rc and flake8.cfg.
.. code:: shell
./coverage_test.sh
Note: This requires
coverage <https://pypi.python.org/pypi/coverage>
__.
The only existing implementation I was aware of at the time of writing
(simpleubjson <https://github.com/brainwater/simpleubjson>
__) had the
following limitations: