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.5.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

yajbe-0.0.5-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for yajbe-0.0.5.tar.gz
Algorithm Hash digest
SHA256 1fceb3d5102298ad6e629e78cdbd47ed1571cd5e8cd589bfb0e70b4b291d1704
MD5 d09e1105089c27da9836b12685823ea0
BLAKE2b-256 d4e6780f40694003153a76aa44ff192f50223454a9c2bb9d2e687a5439512575

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for yajbe-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 85ed489e35c68828444462e3068327b3bf8664a5bf2dee959f5ad0019d5e93ea
MD5 fce8a7adbf9382363b0d0a6c28ce6ead
BLAKE2b-256 627a8950a9660940649c4b8acf29d2d5cb3423d036d921454de98ac13657257f

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