Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

dokempf/cerberus-cpp

Open more actions menu

Repository files navigation

GitHub Workflow Status Documentation Status codecov

What is cerberus-cpp

cerberus-cpp is a schema validation tool for YAML data written in C++. It reimplements a subset of the schema validation of the Python tool cerberus in the C++ language. This allows the same schemas to be used in Python and C++ projects, as well as projects that mix these languages. For YAML parsing, cerberus-cpp relies on the well-established yaml-cpp library.

Core Features

  • Simple, yet powerful definition of validation schema
  • Validation of arbitrarily nested data
  • Modern C++11 design
  • Schema are implemented in the same language as the data - no DSLs to learn!
  • Validation of schemas against a schema that is incrementally built from rules definitions
  • Registration of custom validation and normalization rules
  • Registration of custom types
  • Compatibility with a well-established Python package

Prerequisites

Cerberus-cpp is header-only, so it should be fairly easy to get up and running. It requires the following software to be available:

  • A C++14-compliant C++ compiler
  • CMake >= 3.11
  • The yaml-cpp library version >= 0.6, e.g. by installing the Debian/Ubuntu package libyaml-cpp-dev.

Documentation

For usage examples, detailed instructions and an overview on the compatibility with the Python package, check out the cerberus-cpp documentation

About

YAML Validation library for C++

Topics

Resources

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE.md
Unknown
COPYING.md

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Morty Proxy This is a proxified and sanitized view of the page, visit original site.