{"id":21972104,"url":"https://github.com/douglasr/msgpack-monkeyc","last_synced_at":"2026-02-28T13:55:57.573Z","repository":{"id":228401133,"uuid":"768712398","full_name":"douglasr/msgpack-monkeyc","owner":"douglasr","description":"MessagePack for MonkeyC (Connect IQ) / msgpack.org[Monkey C]","archived":false,"fork":false,"pushed_at":"2024-08-28T17:17:55.000Z","size":41,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-08-29T18:46:18.554Z","etag":null,"topics":["connect-iq","connectiq","monkey-c","msgpack"],"latest_commit_sha":null,"homepage":"","language":"Monkey C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/douglasr.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.txt","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-07T15:41:36.000Z","updated_at":"2024-08-28T17:16:35.000Z","dependencies_parsed_at":"2024-05-03T03:48:51.253Z","dependency_job_id":null,"html_url":"https://github.com/douglasr/msgpack-monkeyc","commit_stats":null,"previous_names":["douglasr/msgpack-monkeyc"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/douglasr%2Fmsgpack-monkeyc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/douglasr%2Fmsgpack-monkeyc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/douglasr%2Fmsgpack-monkeyc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/douglasr%2Fmsgpack-monkeyc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/douglasr","download_url":"https://codeload.github.com/douglasr/msgpack-monkeyc/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227150602,"owners_count":17738312,"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","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":["connect-iq","connectiq","monkey-c","msgpack"],"created_at":"2024-11-29T15:01:43.350Z","updated_at":"2026-02-28T13:55:57.527Z","avatar_url":"https://github.com/douglasr.png","language":"Monkey C","funding_links":[],"categories":["Barrels"],"sub_categories":["Older resources"],"readme":"# MessagePack for MonkeyC (Garmin Connect IQ)\n\n(c)2024 Douglas Robertson (GitHub: [douglasr](https://github.com/douglasr); Garmin Connect: dbrobert)\n\n[MessagePack](https://msgpack.org/) is an efficient binary serialization format. It lets you exchange data among multiple languages like JSON but it's faster and smaller. For example, small integers (like flags or error code) are encoded into a single byte, and typical short strings only require an extra byte in addition to the strings themselves.\n\nIf you ever wished to use JSON for convenience (storing an image with metadata) but could not for technical reasons (binary data, size, speed...), MessagePack is a perfect replacement.\n\n## License\nThis Connect IQ barrel is licensed under the \"MIT License\", which essentially means that while the original author retains the copyright to the original code, you are free to do whatever you'd like with this code (or any derivative of it). See the LICENSE.txt file for complete details.\n\n## Using the Barrel\nThis project cannot be used on it's own; it is designed to be included in existing projects.\n\n### Include the Barrel\nDownload the barrel file (and associated debug.xml) and include it in your project. See [Shareable Libraries](https://developer.garmin.com/connect-iq/core-topics/shareable-libraries/) on the Connect IQ Developer site for more details.\n\nThe code within the barrel is separated into serialization and deserialization modules and annotated accordingly. This allows you to only include the functionality that you require. As such, you must specify which annotations to include. If you need both, then add the following to the monkey.jungle within your project:\n\n```\nbase.MessagePack.annotations = MessagePackSerialize; MessagePackDeserialize\n```\n\n## Serializing objects\nUse ```MessagePack.Serialize.pack```:\n```\nMessagePack.Serialize.pack(obj);\n```\n\n## Deserializing objects\nUse ```MessagePack.Deserialize.unpack```:\n```\nMessagePack.Deserialize.unpack(obj);\n```\n\n## Limitations\n- does not support float or double\n- does not currently support extended (8-bit) ASCII characters (or Unicode for that matter) within strings\n- because of device memory constraints within the Connect IQ platform, it's not likely that these will be implemented:\n    - support for numbers greater than 9,223,372,036,854,775,807 (largest value for Monkey C; should probably be handled on the unpack though)\n    - support for arrays bigger than 65535 elements\n    - support maps (Dictionary) with more than 65535 keys\n    - support for symbols (since values for symbols may change across builds)\n\n## Contributing\nPlease see the CONTRIBUTING.md file for details on how contribute.\n\n### Contributors\n* [Douglas Robertson](https://github.com/douglasr)\n\n## Changelog\nSee the summaried list of changes in the changelog.txt file. The complete list of changes can be viewed via the repo commit log.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdouglasr%2Fmsgpack-monkeyc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdouglasr%2Fmsgpack-monkeyc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdouglasr%2Fmsgpack-monkeyc/lists"}