YAJBE is a compact binary data format built to be a drop-in replacement for JSON (JavaScript Object Notation).
Project description
YAJBE for Python
YAJBE is a compact binary data format built to be a drop-in replacement for JSON (JavaScript Object Notation).
Motivation for a new format
We have a lot of services exchanging or storing data using JSON, and most of them don't want to switch to a data format that requires a schema.
We wanted to remove the overhead of the JSON format (especially field names), but keeping the same data model flexibility (numbers, strings, arrays, maps/objects, and a few values such as false, true, and null).
See more at https://github.com/matteobertozzi/yajbe-data-format
Install the package
You can find the package at https://pypi.org/project/yajbe.
Python >=3.10 is required. To install or upgrade you can use:
$ pip install --upgrade yajbe
Usage
import yajbe
# encode and decode from bytes
enc = yajbe.encode_as_bytes({'a': 10, 'b': ['hello', 10]})
dec = yajbe.decode_bytes(enc)
print(dec)
# encode directly to a stream
with open('test.yajbe', 'wb') as fd:
yajbe.encode_to_stream(fd, {'a': 10, 'b': ['hello', 10]})
# decode directly from a stream
with open('test.yajbe', 'rb') as fd:
print(yajbe.decode_stream(fd)) # {'a': 10, 'b': ['hello', 10]}
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file yajbe-0.0.3.tar.gz
.
File metadata
- Download URL: yajbe-0.0.3.tar.gz
- Upload date:
- Size: 9.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 177424b690ff30d3b547f0e5cc020043b2e987e10f4f899b453cfa6f792541a1 |
|
MD5 | 9040116b510e62c482ad3ca1eccf3fc1 |
|
BLAKE2b-256 | e85040273541845317fac4d47ef5aafda328e452f904cc68a276a89f925aee76 |
File details
Details for the file yajbe-0.0.3-py3-none-any.whl
.
File metadata
- Download URL: yajbe-0.0.3-py3-none-any.whl
- Upload date:
- Size: 9.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8481df9cbd8f52d66dcc82e0c832c379ccf7c4e4dbc2b91d380a42f300a977b6 |
|
MD5 | 0e57c51d2f9c886e67eeee3127721011 |
|
BLAKE2b-256 | eccb48b02ddaed945f33852418d3c62865532efb0dc8acaaced0df655afa730f |