위키득계정 ↗
기술

Cerberus

Cerberus기술
대상 언어
Python
검사 대상
사전 등 매핑 자료
대표 클래스
Validator
규칙 표현
스키마 사전
Cerberus는 Python 사전 형태의 자료를 스키마에 따라 검사하는 검증 라이브러리다. 필드의 형식과 조건을 정의하고 검사 결과와 오류 정보를 제공하며 정규화와 값 변환도 구성할 수 있다.

스키마와 문서의 검사

스키마를 Validator에 설정하고 자료를 검사한다. 성공하면 참을, 검증에 실패하면 거짓을 반환한다. 첫 검증 문제에서 곧바로 멈추기보다 문서를 처리한 뒤 errors 속성에서 문제 정보를 확인하는 방식이다.

필드의 허용과 필수 조건

기본적으로 스키마에 없는 키는 허용하지 않지만 설정으로 허용하거나 별도 규칙을 적용할 수 있다. 전체 필드를 필수로 요구하는 설정과 중첩 자료의 규칙도 제공한다. 입력의 구성과 필요한 필드를 구분해 정의한다.

정규화와 검증 결과

정규화와 강제 변환은 원래 자료의 복사본에서 수행하고 처리 결과를 확인할 수 있다. 검증한 문서를 받는 기능과 검증 없이 정규화된 복사본을 얻는 기능도 구분된다. 형식 검사와 입력 표현의 조정을 함께 구성한다.

관련 문서

Marshmallow / Pydantic / Msgspec / Cattrs / Python / API