{"id":20406297,"url":"https://github.com/anybotics/variant","last_synced_at":"2025-04-12T15:06:10.152Z","repository":{"id":56165118,"uuid":"45249670","full_name":"ANYbotics/variant","owner":"ANYbotics","description":"Topic tools for treating ROS messages as type-erased variants.","archived":false,"fork":false,"pushed_at":"2025-03-14T04:13:34.000Z","size":364,"stargazers_count":17,"open_issues_count":1,"forks_count":8,"subscribers_count":34,"default_branch":"master","last_synced_at":"2025-04-12T15:06:09.040Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ANYbotics.png","metadata":{"files":{"readme":"README.md","changelog":"changelog","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,"zenodo":null}},"created_at":"2015-10-30T12:29:10.000Z","updated_at":"2025-03-14T04:13:38.000Z","dependencies_parsed_at":"2024-04-15T09:00:18.401Z","dependency_job_id":"f1953368-6415-45a0-8d34-39d9d4d815ec","html_url":"https://github.com/ANYbotics/variant","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ANYbotics%2Fvariant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ANYbotics%2Fvariant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ANYbotics%2Fvariant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ANYbotics%2Fvariant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ANYbotics","download_url":"https://codeload.github.com/ANYbotics/variant/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248586235,"owners_count":21128997,"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":[],"created_at":"2024-11-15T05:16:18.573Z","updated_at":"2025-04-12T15:06:10.129Z","avatar_url":"https://github.com/ANYbotics.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# variant\n\n## Synopsis\n\nTopic tools for treating ROS messages as type-erased variants.\n\n**Author(s):** Ralf Kaestner\n\n**Maintainer:** Ralf Kaestner \u003cralf.kaestner@gmail.com\u003e\n\n**Licsense:** GNU Lesser General Public License (LGPL)\n\n**Operating system(s):** Debian-based Linux, Mac OS X\n\n**Package PPA:** Not available\n\n## Description\n\nThis project provides a partially templated C++ API for treating ROS messages\nas type-erased variants. Similar to the Python API of ROS, it thus renders ROS\nmessages and their members accessible without the requirement for including any\nmessage headers at compile time. The goal of this functionality is to encourage\ndevelopers to contribute more C++ packages which are intended to inspect and\noperate on any message type.\n\nThis project further provides a test package which practically demonstrates\nAPI usage by example.\n\n## Installation\n\n### Installing from packages (recommended for Ubuntu LTS users)\n\nThe maintainers of this project do not yet provide binary packages.\n\n### Building from source\n\nThis project may be built from source using catkin.\n\nHere, we assume you intend to build the project for the ROS distribution\nnamed `ROS_DISTRO`.\n\n#### Installing build dependencies\n\nThe build dependencies of this project are available from the standard\npackage repositories of recent Ubuntu and ROS releases. To install them,\nsimply use the command\n\n```shell\nsudo apt-get install ros-ROS_DISTRO-roscpp, ros-ROS_DISTRO-std-msgs\n```\n\n#### Building with catkin (recommended for ROS developers)\n\nAssuming that you have cloned the project sources into `PROJECT_DIR`, you\nmay attempt to build this project using catkin as follows:\n\n* Create the directory structure for your catkin workspace by issuing\n\n  ```shell\n  mkdir -p CATKIN_WS_DIR/src\n  ```\n\n* Assuming that your ROS environment has been set up properly, initialize the\n  catkin workspace using the command\n\n  ```shell\n  catkin_init_workspace CATKIN_WS_DIR/src\n  ```\n\n* Individually link the directories containing the project's package source\n  trees into your catkin workspace source directory through\n\n  ```shell\n  ln -sf PROJECT_DIR/roscpp_nodewrap* CATKIN_WS_DIR/src\n  ```\n\n* Switch into the catkin workspace directory by \n\n  ```shell\n  cd CATKIN_WS_DIR\n  ```\n\n* In the catkin workspace directory, run \n\n  ```shell\n  catkin_make\n  ```\n\n  to start the build\n\n## API documentation\n\nThis project does not yet build its API documentation. Some basic documentation\nis however inlined with the interface definitions and can thus be found in the\nsource headers.\n\n## Feature requests and bug reports\n\nIf you would like to propose a feature for this project, please consider\ncontributing or send a feature request to the project authors. Bugs may be\nreported through the project's issue page.\n\n## Further reading\n\nFor additional information of the Robot Operating System (ROS), please refer\nto the official [ROS documentation](http://wiki.ros.org).\n\n## Build Status\n\n### Devel Job Status\n\n| | Indigo  | Jade | Kinetic |\n| --- | --- | --- | --- |\n| variant | [![Build Status](http://build.ros.org/buildStatus/icon?job=Idev__variant__ubuntu_trusty_amd64)](http://build.ros.org/job/Idev__variant__ubuntu_trusty_amd64/) | [![Build Status](http://build.ros.org/buildStatus/icon?job=Jdev__variant__ubuntu_trusty_amd64)](http://build.ros.org/job/Jdev__variant__ubuntu_trusty_amd64/) | [![Build Status](http://build.ros.org/buildStatus/icon?job=Kdev__variant__ubuntu_xenial_amd64)](http://build.ros.org/job/Kdev__variant__ubuntu_xenial_amd64/) |\n\n### Release Job Status\n\n| | Indigo | Jade | Kinetic |\n| --- | --- | --- | --- |\n| variant | [![Build Status](http://build.ros.org/buildStatus/icon?job=Ibin_uT64__variant__ubuntu_trusty_amd64__binary)](http://build.ros.org/job/Ibin_uT64__variant__ubuntu_trusty_amd64__binary/) | [![Build Status](http://build.ros.org/buildStatus/icon?job=Jbin_uT64__variant__ubuntu_trusty_amd64__binary)](http://build.ros.org/job/Jbin_uT64__variant__ubuntu_trusty_amd64__binary/) | [![Build Status](http://build.ros.org/buildStatus/icon?job=Kbin_uX64__variant__ubuntu_xenial_amd64__binary)](http://build.ros.org/job/Kbin_uX64__variant__ubuntu_xenial_amd64__binary/) |\n| variant_msgs | [![Build Status](http://build.ros.org/buildStatus/icon?job=Ibin_uT64__variant_msgs__ubuntu_trusty_amd64__binary)](http://build.ros.org/job/Ibin_uT64__variant_msgs__ubuntu_trusty_amd64__binary/) | [![Build Status](http://build.ros.org/buildStatus/icon?job=Jbin_uT64__variant_msgs__ubuntu_trusty_amd64__binary)](http://build.ros.org/job/Jbin_uT64__variant_msgs__ubuntu_trusty_amd64__binary/) | [![Build Status](http://build.ros.org/buildStatus/icon?job=Kbin_uX64__variant_msgs__ubuntu_xenial_amd64__binary)](http://build.ros.org/job/Kbin_uX64__variant_msgs__ubuntu_xenial_amd64__binary/) |\n| variant_topic_tools | [![Build Status](http://build.ros.org/buildStatus/icon?job=Ibin_uT64__variant_topic_tools__ubuntu_trusty_amd64__binary)](http://build.ros.org/job/Ibin_uT64__variant_topic_tools__ubuntu_trusty_amd64__binary/) | [![Build Status](http://build.ros.org/buildStatus/icon?job=Jbin_uT64__variant_topic_tools__ubuntu_trusty_amd64__binary)](http://build.ros.org/job/Jbin_uT64__variant_topic_tools__ubuntu_trusty_amd64__binary/) | [![Build Status](http://build.ros.org/buildStatus/icon?job=Kbin_uX64__variant_topic_tools__ubuntu_xenial_amd64__binary)](http://build.ros.org/job/Kbin_uX64__variant_topic_tools__ubuntu_xenial_amd64__binary/) |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanybotics%2Fvariant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanybotics%2Fvariant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanybotics%2Fvariant/lists"}