# Cerberus

Python library for validating data against a schema of rules, with type checking and custom validators.


Source: https://findsoftware.frbit.cloud/cerberus/
Last reviewed: 2026-11-04
Listed since: 2026-11-04

## Record

### Links

- home: https://docs.python-cerberus.org/
- repository: https://github.com/pyeve/cerberus
- docs: https://docs.python-cerberus.org/

### Identity

- status: active
- maintainer: Nicola Iarocci
- maintainerType: unknown
- parent: unknown
- firstRelease: 2012
- hqCountry: unknown

### Kind

- category: library
- hosting: python
- language: python
- runtime: python
- runtimeMin: python 3.7
- basedOn: unknown

### Content

- contentStore: not applicable
- databases: not applicable
- adminUi: not applicable
- headlessApi: not applicable
- templating: not applicable
- i18n: not applicable

### Rendering and deploy

- runsAs: not applicable
- renderingModes: not applicable
- installMethod: pip install

### License

- licenseModel: open-source
- license: ISC

### Releases

- currentMajor: 1
- latestReleaseDate: 2025-11-06

### Adoption

- githubStargazers: 3281
- packagistDownloads: not applicable
- npmWeeklyDownloads: not applicable
- contributors: 53
- pluginCount: unknown
- packagistMonthlyDownloads: unknown
- ecosystemsMonthlyDownloads: unknown
- httpArchiveSites: unknown
- wordpressActiveInstalls: unknown
- dependentRepos: unknown
- dependentPackages: unknown

### Sources

- urls: https://docs.python-cerberus.org/ (read 2026-11-04)
- urls: https://github.com/pyeve/cerberus (read 2026-11-04)
- urls: https://docs.python-cerberus.org/ (read 2026-11-04)
- maintainer: https://github.com/pyeve/cerberus/blob/1.3.x/LICENSE (read 2026-11-04)
- license: https://github.com/pyeve/cerberus/blob/1.3.8/pyproject.toml (read 2026-11-04)
- licenseModel: https://github.com/pyeve/cerberus/blob/1.3.x/LICENSE (read 2026-11-04)
- language: https://github.com/pyeve/cerberus (read 2026-11-04)
- runtime: https://github.com/pyeve/cerberus/blob/1.3.8/pyproject.toml (read 2026-11-04)
- runtimeMin: https://github.com/pyeve/cerberus/blob/1.3.8/pyproject.toml (read 2026-11-04)
- category: https://github.com/pyeve/cerberus (read 2026-11-04)
- installMethod: https://github.com/pyeve/cerberus (read 2026-11-04)
- githubStargazers: https://github.com/pyeve/cerberus (read 2026-11-04)
- contributors: https://api.github.com/repos/pyeve/cerberus/contributors?per_page=1 (read 2026-11-04)
- currentMajor: https://github.com/pyeve/cerberus/blob/1.3.8/pyproject.toml (read 2026-11-04)
- latestReleaseDate: https://pypi.org/pypi/Cerberus/json (read 2026-11-04)
- firstRelease: https://pypi.org/pypi/Cerberus/json (read 2026-11-04)

## Notes

Cerberus is a Python library that checks data against a schema of rules. A Validator is built from a schema dict, and its validate method returns whether a dictionary matches it. The library provides type checking and other base functionality, and custom validation can be added to it. Nicola Iarocci maintains the project.

The package is installed from PyPI with pip. The [documentation](https://docs.python-cerberus.org/) is the project's own reference.

## Worth knowing

Python versions below 3.8 install one extra dependency, importlib-metadata, so the package is not dependency-free on those interpreters.

---

Data licensed CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Attributes are recorded, never scored; absent means unknown.
Credit, in full: FindSoftware, CC BY 4.0
