{"id":20563232,"url":"https://github.com/gazebosim/gz-common","last_synced_at":"2025-12-12T01:05:16.957Z","repository":{"id":37051301,"uuid":"255865243","full_name":"gazebosim/gz-common","owner":"gazebosim","description":"An audio-visual library supports processing audio and video files, a graphics library can load a variety 3D mesh file formats into a generic in-memory representation, and the core library of Gazebo Common contains functionality that spans Base64 encoding/decoding to thread pools.","archived":false,"fork":false,"pushed_at":"2025-03-19T17:19:26.000Z","size":20013,"stargazers_count":19,"open_issues_count":48,"forks_count":43,"subscribers_count":8,"default_branch":"gz-common6","last_synced_at":"2025-03-30T14:09:47.358Z","etag":null,"topics":["3d-mesh","audio","cpp","decoding","events","gazebo","gazebosim","graphics","hacktoberfest","ignition-robotics","library","profiler","robotics","robotics-simulation","thread-pool","tools","video"],"latest_commit_sha":null,"homepage":"https://gazebosim.org","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gazebosim.png","metadata":{"files":{"readme":"README.md","changelog":"Changelog.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-15T09:17:45.000Z","updated_at":"2025-03-19T16:58:55.000Z","dependencies_parsed_at":"2024-01-16T21:06:44.464Z","dependency_job_id":"c0987de7-70ab-4820-b70a-992a307e1800","html_url":"https://github.com/gazebosim/gz-common","commit_stats":{"total_commits":1578,"total_committers":67,"mean_commits":23.55223880597015,"dds":0.8694550063371356,"last_synced_commit":"9f1b671be27c7e9396b3fd0cec7941d4faa92ed5"},"previous_names":[],"tags_count":87,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gazebosim%2Fgz-common","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gazebosim%2Fgz-common/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gazebosim%2Fgz-common/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gazebosim%2Fgz-common/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gazebosim","download_url":"https://codeload.github.com/gazebosim/gz-common/tar.gz/refs/heads/gz-common6","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247500468,"owners_count":20948880,"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":["3d-mesh","audio","cpp","decoding","events","gazebo","gazebosim","graphics","hacktoberfest","ignition-robotics","library","profiler","robotics","robotics-simulation","thread-pool","tools","video"],"created_at":"2024-11-16T04:17:09.616Z","updated_at":"2025-12-12T01:05:16.903Z","avatar_url":"https://github.com/gazebosim.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gazebo Common : AV, Graphics, Events, and much more.\n\n**Maintainer:** nate AT openrobotics DOT org\n\n[![GitHub open issues](https://img.shields.io/github/issues-raw/gazebosim/gz-common.svg)](https://github.com/gazebosim/gz-common/issues)\n[![GitHub open pull requests](https://img.shields.io/github/issues-pr-raw/gazebosim/gz-common.svg)](https://github.com/gazebosim/gz-common/pulls)\n[![Discourse topics](https://img.shields.io/discourse/https/community.gazebosim.org/topics.svg)](https://community.gazebosim.org)\n[![Hex.pm](https://img.shields.io/hexpm/l/plug.svg)](https://www.apache.org/licenses/LICENSE-2.0)\n\nBuild | Status\n-- | --\nTest coverage | [![codecov](https://codecov.io/gh/gazebosim/gz-common/tree/gz-common6/graph/badge.svg)](https://codecov.io/gh/gazebosim/gz-common/tree/gz-common6)\nUbuntu Noble  | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=gz_common-ci-gz-common6-noble-amd64)](https://build.osrfoundation.org/job/gz_common-ci-gz-common6-noble-amd64)\nHomebrew      | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=gz_common-ci-gz-common6-homebrew-amd64)](https://build.osrfoundation.org/job/gz_common-ci-gz-common6-homebrew-amd64)\nWindows       | [![Build Status](https://build.osrfoundation.org/job/gz_common-6-clowin/badge/icon)](https://build.osrfoundation.org/job/gz_common-6-clowin/)\n\nGazebo Common, a component of [Gazebo](https://gazebosim.org), provides a set of libraries that\ncover many different use cases. An audio-visual library supports\nprocessing audio and video files, a graphics library can load a variety 3D\nmesh file formats into a generic in-memory representation, and the core\nlibrary of Gazebo Common contains functionality that spans Base64\nencoding/decoding to thread pools.\n\n# Table of Contents\n\n[Features](#features)\n\n[Install](#install)\n\n[Usage](#usage)\n\n[Folder Structure](#folder-structure)\n\n[Contributing](#contributing)\n\n[Code of Conduct](#code-of-conduct)\n\n[Versioning](#versioning)\n\n[License](#license)\n\n# Features\n\nSome of the many capabilities contained in Gazebo Common are:\n\n* **AV**: FFMpeg based audio decoder, and video encoder and decoder.\n* **Core**: Base64 encoding and decoding, battery model, console logging,\n  cross-platform filesystem interface, URI processing, and a thread pool.\n* **Events**: Mouse and keyboard events, and a high-performance signal and\ncallback system.\n* **Graphics**: Collada, SVG, STL, OBJ, and DEM loaders. In-memory mesh,\n  image, and material representations. Animation processing and BVH loader.\n* **Profiler**: A common profiler abstraction that can be used to measure and\n  visualize run time of various pieces of Gazebo software.\n\n# Install\n\nSee the [installation tutorial](https://gazebosim.org/api/common/6/install.html).\n\n# Usage\n\nPlease refer to the [examples directory](https://github.com/gazebosim/gz-common/tree/gz-common6/examples).\n\n# Folder Structure\n\nRefer to the following table for information about important directories and files in this repository.\n\n```\n+-- av                       Header and source files for the AV component.\n+-- events                   Header and source files for the Event component.\n+-- examples                 Example programs.\n+-- geospatial               Geospatial component for heightmap \u0026 DEMs\n+-- graphics                 Header and source files for the Graphics component.\n+-- include/gz/common        Header files for the core component.\n+-- io                       IO component. Read object from stream.\n+-- profiler                 Header and source files for the Profiler component.\n+-- src                      Core source files and unit tests.\n+-- test\n|    +-- integration         Integration tests.\n|    +-- performance         Performance tests.\n|    +-- static_assertions   Static assertion tests.\n|    +-- regression          Regression tests.\n+-- tutorials                Tutorials, written in markdown.\n+-- Changelog.md             Changelog.\n+-- CMakeLists.txt           CMake build script.\n+-- Migration.md             Migration guide.\n```\n# Contributing\n\nPlease see the\n[contributing guide](https://gazebosim.org/docs/all/contributing).\n\n# Code of Conduct\n\nPlease see\n[CODE_OF_CONDUCT.md](https://github.com/gazebosim/gz-sim/blob/main/CODE_OF_CONDUCT.md).\n\n# Versioning\n\nThis library uses [Semantic Versioning](https://semver.org/). Additionally, this library is part of the [Gazebo project](https://gazebosim.org) which periodically releases a versioned set of compatible and complimentary libraries. See the [Gazebo website](https://gazebosim.org) for version and release information.\n\n# License\n\nThis library is licensed under [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0). See also the [LICENSE](https://github.com/gazebosim/gz-common/blob/main/LICENSE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgazebosim%2Fgz-common","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgazebosim%2Fgz-common","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgazebosim%2Fgz-common/lists"}