pyeve/cerberus

Lightweight, extensible data validation library for Python

View on GitHub ↗Jump to charts ↓

Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 1 hour ago
Added to GitGenius on September 21st, 2026
Created on October 10th, 2012
Open Issues & Pull Requests: 25 (+0)
GitHub issues: Enabled
Number of forks: 246
Total Stargazers: 3,280 (+0)
Total Subscribers: 47 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 7.8 days
Mean response time: 125.2 days
90th percentile: 374.3 days
Tracked items: 16

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 7
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 412 days
Stale 30+ days: 7
Stale 90+ days: 3

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • documentation (1)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

Cerberus is a lightweight, extensible data validation library for Python. It provides a declarative approach to validating data structures by defining schemas that specify the rules each field must follow. Rather than writing imperative validation logic scattered throughout an application, developers define validation rules once in a schema object and reuse them across their codebase. The library handles type checking, required fields, allowed values, and custom validation logic through a unified interface.

The tool solves the problem of repetitive, error-prone data validation by centralizing validation rules into reusable schemas. This approach works by allowing developers to define what valid data looks like upfront, then apply those schemas to incoming data to catch errors early. The library supports nested schemas, making it suitable for validating complex hierarchical data structures common in APIs and configuration systems.

Cerberus suits projects that need straightforward validation without heavyweight dependencies or complex frameworks. It works well for validating API request payloads, configuration files, and any scenario where data structure validation is needed but a full schema validation framework feels excessive. The library's extensibility means developers can add custom validators for domain-specific rules without modifying the core library.

The project maintains steady activity with regular commits addressing bug fixes and feature enhancements. Pull requests receive thoughtful review and discussion before merging. The maintainers respond to issues with attention to detail, often providing clarification and guidance to users. Documentation is kept current alongside code changes, ensuring that examples and API descriptions remain accurate.