{"id":13815055,"url":"https://github.com/vshymanskyy/muon","last_synced_at":"2025-10-12T10:47:48.516Z","repository":{"id":27968783,"uuid":"31461920","full_name":"vshymanskyy/muon","owner":"vshymanskyy","description":"µON - a compact and simple binary object notation","archived":false,"fork":false,"pushed_at":"2022-12-29T01:02:51.000Z","size":1988,"stargazers_count":265,"open_issues_count":5,"forks_count":5,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-09-13T07:52:01.745Z","etag":null,"topics":["binary-format","cbor","json","msgpack"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vshymanskyy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-02-28T12:26:39.000Z","updated_at":"2025-08-07T21:33:42.000Z","dependencies_parsed_at":"2023-01-14T07:50:38.528Z","dependency_job_id":null,"html_url":"https://github.com/vshymanskyy/muon","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vshymanskyy/muon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vshymanskyy%2Fmuon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vshymanskyy%2Fmuon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vshymanskyy%2Fmuon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vshymanskyy%2Fmuon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vshymanskyy","download_url":"https://codeload.github.com/vshymanskyy/muon/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vshymanskyy%2Fmuon/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279011062,"owners_count":26084865,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["binary-format","cbor","json","msgpack"],"created_at":"2024-08-04T04:02:53.695Z","updated_at":"2025-10-12T10:47:48.500Z","avatar_url":"https://github.com/vshymanskyy.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# µON [muon]\nA compact and **simple** object notation. µ[mju:] stands for \"micro\".\n\n[![Muon on Twitter](https://img.shields.io/static/v1?label=%C2%B5ON\u0026message=on%20twitter\u0026color=00acee\u0026logo=twitter)](https://twitter.com/search?q=%C2%B5ON%20muon\u0026f=live)\n\n```log\nFile extension:     .mu\nMIME type:          application/muon\nEndianness:         little-endian\nSignature/Magic:    optional, 8F B5 30 31 [\"�µ01\"] @ 0x0\n```\n\nMuon has some interesting  properties (see [**presentation**](https://bit.ly/muon-present) and [**docs**](./docs/README.md)):\n- Every null-terminated `UTF8` string is at the same time a valid `muon` object\n- Gaps in the `UTF8` encoding space (**`code units`**) are used to encode things like `[` `]` `{` `}` etc.\n- Muon is **self-describing and schemaless**, just like `JSON` (unlike `Protobuf` and `FlatBuffers`)\n- **Compact** (~10..50% smaller than `JSON`). On par or outperforms `CBOR`, `MsgPack`, `UBJSON`\n- **Unlimited** size of objects and values\n- Data is ready to be used **in-place** without pre-processing\n- Supports **raw binary** data (values and `TypedArrays`)\n- Can _optionally_ contain count of elements (and size in bytes) of all structures for efficient document processing, similar to `BSON`\n\nFuture goals:\n- Strict specification (little or no room for implementation-specific behavior / vendor-specific extensions)\n\n## Try it yourself\n\n```sh\npython3 muon_py/json2mu.py ./data/AirlineDelays.min.json ./AirlineDelays.mu\npython3 muon_py/mu2json.py ./AirlineDelays.mu \u003e ./AirlineDelays.json\n```\n\nRun benchmarks:\n```sh\npython3 muon_py/extra/json-analyze.py ./data/*.json ./data/small/*.json\npython3 muon_py/mu-benchmark.py ./data/*.json ./data/small/*.json\n```\n\n## Muon structure\n\n[![Muon diagram](docs/muon.png?raw=true)](https://bit.ly/muon-present)\n\nSee more [**in documentation**](./docs/README.md).\n\n**Disclaimer: the notation is still Work In Progress.**\nIf you have any ideas or comments, please feel free to [post them here](https://github.com/vshymanskyy/muon/issues).\n\n---\n\n[![Stand With Ukraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner-direct-single.svg)](https://stand-with-ukraine.pp.ua)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvshymanskyy%2Fmuon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvshymanskyy%2Fmuon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvshymanskyy%2Fmuon/lists"}