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

Uploaded Source

Built Distribution

yajbe-0.0.3-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

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

Hashes for yajbe-0.0.3.tar.gz
Algorithm Hash digest
SHA256 177424b690ff30d3b547f0e5cc020043b2e987e10f4f899b453cfa6f792541a1
MD5 9040116b510e62c482ad3ca1eccf3fc1
BLAKE2b-256 e85040273541845317fac4d47ef5aafda328e452f904cc68a276a89f925aee76

See more details on using hashes here.

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

Hashes for yajbe-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8481df9cbd8f52d66dcc82e0c832c379ccf7c4e4dbc2b91d380a42f300a977b6
MD5 0e57c51d2f9c886e67eeee3127721011
BLAKE2b-256 eccb48b02ddaed945f33852418d3c62865532efb0dc8acaaced0df655afa730f

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