{"id":21806665,"url":"https://github.com/hiphish/msgpack-racket","last_synced_at":"2026-01-04T07:53:13.446Z","repository":{"id":84202096,"uuid":"98998059","full_name":"HiPhish/msgpack-racket","owner":"HiPhish","description":"msgpack.org[Racket] Mirror of the MessagePack implementation for Racket","archived":false,"fork":false,"pushed_at":"2018-02-17T10:34:18.000Z","size":117,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-26T04:41:34.197Z","etag":null,"topics":["messagepack","msgpack","racket","serialization"],"latest_commit_sha":null,"homepage":"https://gitlab.com/HiPhish/MsgPack.rkt","language":"Racket","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HiPhish.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"COPYING.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},"funding":{"github":"HiPhish","ko_fi":"HiPhish","liberapay":"HiPhish","custom":["monero:42MKtvm2XkS6pSKx2Dd4P9Wfty2pefHbfjU2y2YoG4AKeEaNzRwnDbNX4hzAWeDpR8ZeecutY9Tmv51GLp7Ltgaf7ReHpFT"]}},"created_at":"2017-08-01T12:18:53.000Z","updated_at":"2020-08-03T16:23:11.000Z","dependencies_parsed_at":"2023-05-31T18:46:01.795Z","dependency_job_id":null,"html_url":"https://github.com/HiPhish/msgpack-racket","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HiPhish%2Fmsgpack-racket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HiPhish%2Fmsgpack-racket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HiPhish%2Fmsgpack-racket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HiPhish%2Fmsgpack-racket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HiPhish","download_url":"https://codeload.github.com/HiPhish/msgpack-racket/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244759962,"owners_count":20505716,"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":["messagepack","msgpack","racket","serialization"],"created_at":"2024-11-27T12:28:57.321Z","updated_at":"2026-01-04T07:53:13.221Z","avatar_url":"https://github.com/HiPhish.png","language":"Racket","funding_links":["https://github.com/sponsors/HiPhish","https://ko-fi.com/HiPhish","https://liberapay.com/HiPhish","monero:42MKtvm2XkS6pSKx2Dd4P9Wfty2pefHbfjU2y2YoG4AKeEaNzRwnDbNX4hzAWeDpR8ZeecutY9Tmv51GLp7Ltgaf7ReHpFT"],"categories":[],"sub_categories":[],"readme":"#######################\n MessagePack in Racket\n#######################\n\n.. default-role:: code\n\n\nThis is a Racket_ implementation of MessagePack_, a binary data serialisation\nformat. It allows you to serialise (pack) and de-serialise (unpack) Racket\nobject to and from binary data.\n\n.. _MessagePack: http://msgpack.org/\n.. _Racket: http://racket-lang.org/\n\n\nInstallation\n############\n\nThe easiest way to install this library is from the `Racket Package Catalog`_.\nRun the following code from your shell:\n\n.. code:: sh\n\n   raco pkg install msgpack\n\nIf you wish to install the package from this repository use the included\nmakefile:\n\n.. code:: sh\n\n   make install   # Install the package\n   make remove    # Uninstall the package\n\n.. _Racket Package Catalog: https://pkgs.racket-lang.org/\n\n\nUsing MessagePack\n#################\n\n.. code:: racket\n\n   ;;; Import the library first\n   (require msgpack)\n\n   ;;; Some object to pack\n   (define hodgepodge (vector 1 2 (void) '#(3 #t) \"foo\"))\n\n   ;;; Packing data\n   (define packed (call-with-output-bytes (λ (out) (pack hodgepodge out))))\n   ;;; \u003e #\"\\225\\1\\2\\300\\222\\3\\303\\243foo\"\n\n   ;;; Unpacking data\n   (define unpacked (call-with-input-bytes packed (λ (in) (unpack in))))\n   ;;; \u003e '#(1 2 #\u003cvoid\u003e #(3 #t) \"foo\")\n\nThe `pack` function takes a Racket object and a binary output port as arguments\nand writes the serialised data to the port.  The `unpack` function takes a\nbinary input port and returns one de-serialised object, consuming the necessary\namount of bytes from the port in the process. For more details please refer to\nthe documentation_.\n\nIn the above example code we set the output and input ports to be byte strings\nso we could work with the packed and unpacked data directly inside the Racket\ninstance.\n\n.. _documentation: https://docs.racket-lang.org/msgpack/index.html\n\n\nStatus\n######\n\nThe library is fully functional, covered by test cases, and the API should be\nreasonably mature, but I am not yet willing to completely rule out changes. See\nalso below for parts of the library that could not be tested at the moment due\nto technical reasons.\n\n\nCaveats\n#######\n\nThe following cases cannot be tested for the time being:\n\n- The `bin32` type, storing a byte string that is :math:`2^32` bytes long\n  requires 4GiB, my machine simply runs out of memory.\n- The same goes for the `str32` type\n- The same goes for the `array32` type\n- The same goes for the `map32` type\n- The same goes for the `ext32` type\n- Strings are only tested using ASCII characters, if anyone can generate\n  UTF-8 strings with a given length in *bytes* please help out.\n\n\nLicense\n#######\n\nReleased under the GPLv3+ license, see the COPYING_ file for details.\n\n.. _COPYING: COPYING.txt\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhiphish%2Fmsgpack-racket","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhiphish%2Fmsgpack-racket","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhiphish%2Fmsgpack-racket/lists"}