µON - a compact and simple binary object notation
Python
268
204 commits
updated Dec 29, 2022
A compact and simple object notation. µ[mju:] stands for "micro".
File extension: .mu
MIME type: application/muon
Endianness: little-endian
Signature/Magic: optional, 8F B5 30 31 ["�µ01"] @ 0x0
Muon has some interesting properties (see presentation and docs):
UTF8 string is at the same time a valid muon objectUTF8 encoding space (code units) are used to encode things like [ ] { } etc.JSON (unlike Protobuf and FlatBuffers)JSON). On par or outperforms CBOR, MsgPack, UBJSONTypedArrays)BSONFuture goals:
python3 muon_py/json2mu.py ./data/AirlineDelays.min.json ./AirlineDelays.mu
python3 muon_py/mu2json.py ./AirlineDelays.mu > ./AirlineDelays.json
Run benchmarks:
python3 muon_py/extra/json-analyze.py ./data/*.json ./data/small/*.json
python3 muon_py/mu-benchmark.py ./data/*.json ./data/small/*.json
See more in documentation.
Disclaimer: the notation is still Work In Progress. If you have any ideas or comments, please feel free to post them here.
203 commits
1 commits
Python
100.0%
µON - a compact and simple binary object notation
Python
268
204 commits
updated Dec 29, 2022
A compact and simple object notation. µ[mju:] stands for "micro".
File extension: .mu
MIME type: application/muon
Endianness: little-endian
Signature/Magic: optional, 8F B5 30 31 ["�µ01"] @ 0x0
Muon has some interesting properties (see presentation and docs):
UTF8 string is at the same time a valid muon objectUTF8 encoding space (code units) are used to encode things like [ ] { } etc.JSON (unlike Protobuf and FlatBuffers)JSON). On par or outperforms CBOR, MsgPack, UBJSONTypedArrays)BSONFuture goals:
python3 muon_py/json2mu.py ./data/AirlineDelays.min.json ./AirlineDelays.mu
python3 muon_py/mu2json.py ./AirlineDelays.mu > ./AirlineDelays.json
Run benchmarks:
python3 muon_py/extra/json-analyze.py ./data/*.json ./data/small/*.json
python3 muon_py/mu-benchmark.py ./data/*.json ./data/small/*.json
See more in documentation.
Disclaimer: the notation is still Work In Progress. If you have any ideas or comments, please feel free to post them here.
203 commits
1 commits
Python
100.0%