Skip to main content

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

yajbe-0.0.4.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

yajbe-0.0.4-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file yajbe-0.0.4.tar.gz.

File metadata

  • Download URL: yajbe-0.0.4.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for yajbe-0.0.4.tar.gz
Algorithm Hash digest
SHA256 869a6edba7f99f947391a27edcf8008886fecae19c0d26c7a60110c0f3d5c991
MD5 40e884fdd484d173ed2321b4770a6c44
BLAKE2b-256 33fde431fe1ca4f4841dcbdfdd114706fc90de5738744164ab1adcb940e2e36a

See more details on using hashes here.

File details

Details for the file yajbe-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: yajbe-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 9.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for yajbe-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 1def5ebf1bf214b8351213466a6feb8120e6525c685cda927f2b6268b8531bdf
MD5 bcbc89e679cb324109c98d875673affd
BLAKE2b-256 6aa867b2f4df8cf5b1cda3c45717c9bb77367a45a6a764b81764aecc81de631d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page