{"id":16165069,"url":"https://github.com/chrberger/cluon-proto","last_synced_at":"2026-05-09T09:04:10.131Z","repository":{"id":150058265,"uuid":"129037024","full_name":"chrberger/cluon-proto","owner":"chrberger","description":"Tools to process libcluon's message specification files in (.odvd) into C++ and Protobuf.","archived":false,"fork":false,"pushed_at":"2018-05-09T05:33:01.000Z","size":101,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-16T04:19:23.542Z","etag":null,"topics":["docker","docker-image","libcluon","microservice","opendlv","protobuf","protocol-buffers"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"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/chrberger.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,"publiccode":null,"codemeta":null}},"created_at":"2018-04-11T05:04:07.000Z","updated_at":"2018-05-08T05:42:02.000Z","dependencies_parsed_at":null,"dependency_job_id":"c2af84f8-bd4a-4798-8e7c-4be28fc0f23c","html_url":"https://github.com/chrberger/cluon-proto","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/chrberger/cluon-proto","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrberger%2Fcluon-proto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrberger%2Fcluon-proto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrberger%2Fcluon-proto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrberger%2Fcluon-proto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chrberger","download_url":"https://codeload.github.com/chrberger/cluon-proto/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrberger%2Fcluon-proto/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265692300,"owners_count":23812194,"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":["docker","docker-image","libcluon","microservice","opendlv","protobuf","protocol-buffers"],"created_at":"2024-10-10T02:49:09.641Z","updated_at":"2026-05-09T09:04:05.099Z","avatar_url":"https://github.com/chrberger.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cluon-proto\n\n`cluon-proto` is a microservice for [libcluon](https://github.com/chrberger/libcluon)-based [OD4Sessions](https://github.com/chalmers-revere/opendlv) to process message specifications in libcluon's .odvd format\ninto C++ and Protobuf.\n\n[![License](https://img.shields.io/badge/license-GPL--3-blue.svg)](https://raw.githubusercontent.com/chrberger/libcluon/master/LICENSE) [![x86_64](https://img.shields.io/badge/platform-x86_64-blue.svg)](https://hub.docker.com/r/chrberger/cluon-proto-amd64/tags/) [![armhf](https://img.shields.io/badge/platform-armhf-blue.svg)](https://hub.docker.com/r/chrberger/cluon-proto-armhf/tags/)  [![multi](https://img.shields.io/badge/platform-multi-blue.svg)](https://hub.docker.com/r/chrberger/cluon-proto-multi/tags/)\n\n## Table of Contents\n* [Features](#features)\n* [Dependencies](#dependencies)\n* [Usage](#usage)\n* [License](#license)\n\n## Features\n* Written in highly portable and high quality C++14\n* Converts message specifications in .odvd format into C++ and Protobuf\n* Available as Docker images for [x86_64](https://hub.docker.com/r/chrberger/cluon-proto-amd64/tags/) and [armhf](https://hub.docker.com/r/chrberger/cluon-proto-armhf/tags/)\n* To simplify the usage for your platfrom, we also provide a  [multi](https://hub.docker.com/r/chrberger/cluon-proto-multi/tags/)-platform Docker image\n\n## Dependencies\nNo dependencies! You just need a C++14-compliant compiler to compile this\nproject as it ships its dependencies as part of the source distribution:\n\n* [libcluon](https://github.com/chrberger/libcluon) - [![License: GPLv3](https://img.shields.io/badge/license-GPL--3-blue.svg\n)](https://www.gnu.org/licenses/gpl-3.0.txt)\n\n## Usage\nThis microservice is created automatically on changes to this repository via Docker's public registry for:\n* [x86_64](https://hub.docker.com/r/chrberger/cluon-proto-amd64/tags/)\n* [armhf](https://hub.docker.com/r/chrberger/cluon-proto-armhf/tags/)\n\nThis microservice is supposed to be used during the development with [libcluon](https://github.com/chrberger/libcluon)-based applications to define messages, which shall be used with other applications that in-turn might use Protobuf. Let's assume you have a message specification in .odvd like the [OpenDLV Standard Message Set](https://github.com/chalmers-revere/opendlv.standard-message-set) that you want to use with a Protobuf-capable application. This microservice can help to transform a given .odvd file into a .proto file and afterwards, into the language-specific bindings like for Python. To use this microservice, you invoke it as follows:\n\n1. Generate the corresponding .proto file:\n```\ndocker run --rm -ti -v $PWD:/opt/from_host -w /opt/from_host chrberger/cluon-proto-multi:v0.0.89 cluon-msc --proto cluonDataStructures.odvd \u003e cluonDataStructures.proto\n```\n\n2. Generate the Python-bindings via protoc (included):\n```\ndocker run --rm -ti -v $PWD:/opt/from_host -w /opt/from_host chrberger/cluon-proto-multi:v0.0.89 protoc --python_out=. cluonDataStructures.proto\n```\n\n## License\n\n* This project is released under the terms of the GNU GPLv3 License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrberger%2Fcluon-proto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchrberger%2Fcluon-proto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrberger%2Fcluon-proto/lists"}