본문 바로가기
Python

Pydantic 2.0 업데이트: Python의 데이터 검증 및 구문 분석 향상

by 퍼포먼스마케팅코더 2023. 9. 7.
반응형

Pydantic 2.0: 파이썬에서 데이터 유효성 검사와 파싱을 새롭게 만들다

Pydantic의 기본 개념과 특징

Pydantic은 2017년에 Samuel Colvin에 의해 처음 만들어졌고, 2019년 말에 1.0 버전이 출시되었습니다. 이 패키지는 매월 7천만 번 이상 다운로드되고 있으며, GitHub에서 20만 개 이상의 리포지토리에서 사용되고 있습니다.

  • Type Hint의 힘: Pydantic은 타입 힌트를 활용하여 스키마 유효성 검사와 직렬화를 제어합니다.
  • 속도: Pydantic의 핵심 유효성 검사 로직은 Rust로 작성되어 있어, 가장 빠른 파이썬 데이터 유효성 검사 라이브러리 중 하나입니다.
  • JSON 스키마: Pydantic 모델은 JSON 스키마를 생성할 수 있어 다양한 도구와의 통합이 간편합니다.
  • 유연한 모드: Pydantic은 엄격한 모드와 유연한 모드를 지원합니다.
  • 표준 라이브러리 타입 지원: Pydantic은 dataclass와 TypedDict를 포함한 다양한 표준 라이브러리 타입을 지원합니다.

Pydantic 사용 예시

from datetime import datetime
from pydantic import BaseModel, PositiveInt

class User(BaseModel):
    id: int
    name: str = 'John Doe'
    signup_ts: datetime | None
    tastes: dict[str, PositiveInt]

Pydantic의 유효성 검사 오류 처리

Pydantic은 유효성 검사 오류가 발생할 경우, 오류 유형, 위치, 입력 데이터, 오류에 대한 추가 정보를 제공합니다.

external_data = {'id': 'not an int', 'tastes': {}}
try:
    User(**external_data)
except ValidationError as e:
    print(e.errors())

Pydantic 2.0의 새로운 기능

  • 엄격한 모드 스위치
  • 데이터 변환 방법의 명확화
  • 내장 JSON 지원
  • 모델 없는 유효성 검사

 

반응형

댓글