{"id":13399518,"url":"https://github.com/jbeder/yaml-cpp","last_synced_at":"2025-05-13T18:04:41.604Z","repository":{"id":29560746,"uuid":"33100064","full_name":"jbeder/yaml-cpp","owner":"jbeder","description":"A YAML parser and emitter in C++","archived":false,"fork":false,"pushed_at":"2025-04-29T21:53:58.000Z","size":5563,"stargazers_count":5442,"open_issues_count":348,"forks_count":1956,"subscribers_count":115,"default_branch":"master","last_synced_at":"2025-05-06T17:13:59.687Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jbeder.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-03-30T02:52:32.000Z","updated_at":"2025-05-06T15:50:51.000Z","dependencies_parsed_at":"2023-01-14T15:11:48.500Z","dependency_job_id":"2e70109c-5fa7-4764-8172-8be63818b788","html_url":"https://github.com/jbeder/yaml-cpp","commit_stats":{"total_commits":955,"total_committers":154,"mean_commits":6.201298701298701,"dds":0.2994764397905759,"last_synced_commit":"1da813f56aaed91b0bb1f38d770ab4d9cc1776fb"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbeder%2Fyaml-cpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbeder%2Fyaml-cpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbeder%2Fyaml-cpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbeder%2Fyaml-cpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jbeder","download_url":"https://codeload.github.com/jbeder/yaml-cpp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254000826,"owners_count":21997441,"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-07-30T19:00:38.829Z","updated_at":"2025-05-13T18:04:41.563Z","avatar_url":"https://github.com/jbeder.png","language":"C++","readme":"# yaml-cpp ![Build Status](https://github.com/jbeder/yaml-cpp/actions/workflows/build.yml/badge.svg) [![Documentation](https://codedocs.xyz/jbeder/yaml-cpp.svg)](https://codedocs.xyz/jbeder/yaml-cpp/)\n\n`yaml-cpp` is a [YAML](http://www.yaml.org/) parser and emitter in C++ matching the [YAML 1.2 spec](http://www.yaml.org/spec/1.2/spec.html).\n\n## Usage\n\nSee [Tutorial](https://github.com/jbeder/yaml-cpp/wiki/Tutorial) and [How to Emit YAML](https://github.com/jbeder/yaml-cpp/wiki/How-To-Emit-YAML) for reference. For the old API (until 0.5.0), see [How To Parse A Document](https://github.com/jbeder/yaml-cpp/wiki/How-To-Parse-A-Document-(Old-API)).\n\n## Any Problems?\n\nIf you find a bug, post an [issue](https://github.com/jbeder/yaml-cpp/issues)! If you have questions about how to use yaml-cpp, please post it on http://stackoverflow.com and tag it [`yaml-cpp`](http://stackoverflow.com/questions/tagged/yaml-cpp).\n\n## How to Build\n\n`yaml-cpp` uses [CMake](http://www.cmake.org) to support cross-platform building. Install [CMake](http://www.cmake.org) _(Resources -\u003e Download)_ before proceeding. The basic steps to build are:\n\n**Note:** If you don't use the provided installer for your platform, make sure that you add `CMake`'s bin folder to your path.\n\n#### 1. Navigate into the source directory, create build folder and run `CMake`:\n\n```sh\nmkdir build\ncd build\ncmake [-G generator] [-DYAML_BUILD_SHARED_LIBS=on|OFF] ..\n```\n\n  * The `generator` option is the build system you'd like to use. Run `cmake` without arguments to see a full list of available generators.\n    * On Windows, you might use \"Visual Studio 12 2013\" (VS 2013 32-bits), or \"Visual Studio 14 2015 Win64\" (VS 2015 64-bits).\n    * On OS X, you might use \"Xcode\".\n    * On a UNIX-like system, omit the option (for a Makefile).\n\n  * `yaml-cpp` builds a static library by default, you may want to build a shared library by specifying `-DYAML_BUILD_SHARED_LIBS=ON`.\n\n  * [Debug mode of the GNU standard C++\n    library](https://gcc.gnu.org/onlinedocs/libstdc++/manual/debug_mode.html)\n    can be used when both `yaml-cpp` and client code is compiled with the\n    `_GLIBCXX_DEBUG` flag (e.g. by calling CMake with `-D\n    CMAKE_CXX_FLAGS_DEBUG='-g -D_GLIBCXX_DEBUG'` option).\n\n    Note that for `yaml-cpp` unit tests to run successfully, the _GoogleTest_\n    library also must be built with this flag, i.e. the system one cannot be\n    used (the _YAML_USE_SYSTEM_GTEST_ CMake option must be _OFF_, which is the\n    default).\n\n  * For more options on customizing the build, see the [CMakeLists.txt](https://github.com/jbeder/yaml-cpp/blob/master/CMakeLists.txt) file.\n\n#### 2. Build it!\n  * The command you'll need to run depends on the generator you chose earlier.\n\n**Note:** To clean up, just remove the `build` directory.\n\n## How to Integrate it within your project using CMake\n\nYou can use for example FetchContent :\n\n```cmake\ninclude(FetchContent)\n\nFetchContent_Declare(\n  yaml-cpp\n  GIT_REPOSITORY https://github.com/jbeder/yaml-cpp.git\n  GIT_TAG \u003ctag_name\u003e # Can be a tag (yaml-cpp-x.x.x), a commit hash, or a branch name (master)\n)\nFetchContent_MakeAvailable(yaml-cpp)\n\ntarget_link_libraries(YOUR_LIBRARY PUBLIC yaml-cpp::yaml-cpp) # The library or executable that require yaml-cpp library\n```\n\n## Recent Releases\n\n[yaml-cpp 0.8.0](https://github.com/jbeder/yaml-cpp/releases/tag/0.8.0) released!\n\n[yaml-cpp 0.3.0](https://github.com/jbeder/yaml-cpp/releases/tag/release-0.3.0) is still available if you want the old API.\n\n**The old API will stop receiving bugfixes in 2026.** The 0.3.x versions provide the old API, and 0.5.x and above all provide the new API.\n\n# API Documentation \n\nThe autogenerated API reference is hosted on [CodeDocs](https://codedocs.xyz/jbeder/yaml-cpp/index.html)\n\n# Third Party Integrations\n\nThe following projects are not officially supported:\n\n- [Qt wrapper](https://gist.github.com/brcha/d392b2fe5f1e427cc8a6)\n- [UnrealEngine Wrapper](https://github.com/jwindgassen/UnrealYAML)\n","funding_links":[],"categories":["C++","TODO scan for Android support in followings","Yaml","YAML","Libraries"],"sub_categories":["Parsing \u0026 Serialization"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjbeder%2Fyaml-cpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjbeder%2Fyaml-cpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjbeder%2Fyaml-cpp/lists"}