메시지 구조의 정의
Python 형식 주석과 Struct를 사용해 구조화된 자료를 표현할 수 있다. 여러 Python 자료형을 지원하며 확장 기능으로 추가 형식을 연결할 수도 있다. 메시지가 가져야 할 필드와 형식의 규칙을 코드에서 정의하는 방식이다.
인코딩과 디코딩
자료를 JSON이나 다른 지원 형식으로 인코딩하고 다시 Python 객체로 디코딩한다. 직렬화 기능만 따로 사용할 수도 있다. 디코딩에서 대상 형식을 지정하면 자료를 읽는 과정에 스키마 검증을 연결한다.
검증과 오류 위치
구조에 맞지 않는 값을 만나면 검증 오류로 문제를 알린다. 오류에는 중첩된 자료 안에서 잘못된 값이 나타난 위치를 포함할 수 있다. 별도로 해석한 뒤 다시 검사하는 흐름과 달리 디코딩과 검증을 함께 구성할 수 있다.