{"id":19098975,"url":"https://github.com/dimaru/msg2swift","last_synced_at":"2026-03-15T16:26:26.366Z","repository":{"id":221985245,"uuid":"754711782","full_name":"DimaRU/Msg2swift","owner":"DimaRU","description":"Generate Swift model for ROS message, service or action file.","archived":false,"fork":false,"pushed_at":"2024-04-06T17:30:57.000Z","size":75,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-03T05:03:54.790Z","etag":null,"topics":["codable","dds","msg","ros","ros2","rtps","swift"],"latest_commit_sha":null,"homepage":"","language":"Swift","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/DimaRU.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,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-02-08T16:16:44.000Z","updated_at":"2024-04-05T08:14:59.000Z","dependencies_parsed_at":"2024-04-06T13:24:17.109Z","dependency_job_id":"7e405791-a377-4125-bea0-78c211ea2d8d","html_url":"https://github.com/DimaRU/Msg2swift","commit_stats":null,"previous_names":["dimaru/msg2swift"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DimaRU%2FMsg2swift","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DimaRU%2FMsg2swift/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DimaRU%2FMsg2swift/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DimaRU%2FMsg2swift/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DimaRU","download_url":"https://codeload.github.com/DimaRU/Msg2swift/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240154935,"owners_count":19756539,"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":["codable","dds","msg","ros","ros2","rtps","swift"],"created_at":"2024-11-09T03:48:07.420Z","updated_at":"2026-03-15T16:26:26.354Z","avatar_url":"https://github.com/DimaRU.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Swift](https://img.shields.io/badge/Swift-5.8+-orange)](https://img.shields.io/badge/Swift-5-DE5D43)\n[![Platforms](https://img.shields.io/badge/Platforms-all-sucess)](https://img.shields.io/badge/Platforms-all-sucess)\n[![CI/CD](https://github.com/DimaRU/Msg2swift/actions/workflows/test.yml/badge.svg)](https://github.com/DimaRU/Msg2swift/actions/workflows/test.yml)\n\n# Msg2swift - Generate Swift models for ROS message, service and action files.\n\n\n## Description\n\nMsg2swift help you generate swift models from ROS .msg/.srv/.action files. Intended for use with [CDRCodable](https://github.com/DimaRU/CDRCodable).  \nIn particular Msg2swift generates proper CodableKeys for encoding and decoding fixed-size arrays.\n\n\n## Installation for use with command line\n\n#### Homebrew\n\nRun the following command to install using [Homebrew](https://brew.sh/):\n\n```console\nbrew install DimaRU/formulae/msg2swift\n```\n\n#### Swift package manager command plugin\n\nWhen you add [CDRCodable](https://github.com/DimaRU/CDRCodable) dependency to your project:\n\n```swift\n.package(url: \"https://github.com/DimaRU/CDRCodable\", from: \"2.0.0\")\n```\nyou may use msg2swift SPM command line plugin:\n\n```console\nswift package plugin --allow-writing-to-package-directory msg2swift ../../msg/BatteryState.msg -o model\n```\n\n\n## Command line USAGE\n\n```\nUSAGE: msg2swift [\u003coptions\u003e] \u003cfile\u003e ...\n\nARGUMENTS:\n  \u003cfile\u003e                  .msg or .srv or .action file(s) to convert.\n\nOPTIONS:\n  --let/--var             Use var or let for model properties. (default: --let)\n  --struct/--class        Struct or class declaration. (default: --struct)\n  --codable/--encodable/--decodable\n                          Model declaration protocol. (default: --codable)\n  --snake-case/--no-snake-case\n                          Convert property names from \"snake_case\" to\n                          \"camelCase\" (default: --snake-case)\n  -c, --compact           Compact generated code.\n        Strip all comments and remove empty lines.\n  --detect-enum/--no-detect-enum\n                          Detect enums. (default: --detect-enum)\n        Detect and group constants into Swift enum.\n  -n, --name \u003cname\u003e       Object name.\n        By default file name used.\n  -o, --output-directory \u003cpath\u003e\n                          The output path for generated files.\n        By default generated files written to the current directory.\n  -s, --silent            Don't print processed file names.\n  --version               Show the version.\n  -h, --help              Show help information.\n```\n\n## Build\n\nUse swift package manager for build.\n\n```console\nhttps://github.com/DimaRU/Msg2swift.git\ncd Msg2swift\nswift build\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimaru%2Fmsg2swift","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdimaru%2Fmsg2swift","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimaru%2Fmsg2swift/lists"}