> 백엔드 개발 > 파이썬 튜토리얼 > 안녕하세요 Dev 커뮤니티! pydanticrpc 소개 : protobuf 파일을 수동으로 작성하지 않고 Grpc & Connect RPC 서비스를 구축

안녕하세요 Dev 커뮤니티! pydanticrpc 소개 : protobuf 파일을 수동으로 작성하지 않고 Grpc & Connect RPC 서비스를 구축

Linda Hamilton
풀어 주다: 2025-01-30 10:11:08
원래의
307명이 탐색했습니다.

Hello DEV Community! Introducing PydanticRPC: Build gRPC & Connect RPC Services Without Manually Writing Protobuf Files 이것은 나의 취임 Dev 게시물로, grpc의 생성을 자동화하고 Pydantic 모델에서 RPC 서비스를 연결하는 Python 라이브러리 인

pydanticrpc

를 소개합니다. 더 이상 매뉴얼. 프로토 파일 생성! github -pydanticrpc

개요

Python REST API는 종종 Fastapi 또는 Flask와 같은 프레임 워크를 활용합니다. 그러나 최적화 된 데이터 전송 또는 스키마 우선 접근 방식의 경우 GRPC 또는 Connect RPC는 강력한 대안입니다. 기존의 RPC 워크 플로우는 .proto 파일, 코드 생성 ( 또는 )을 정의하는 것이 포함됩니다. 종종 번거롭고 까다로운 프로세스입니다. pydanticrpc 는 이것을 능률화합니다. Pydantic 모델로 RPC 데이터 구조를 정의하십시오. pydanticrpc는 protobuf 정의를 동적으로 생성하고 서버를 시작합니다

pydanticrpc 란 무엇입니까?

주요 특징 : 자동화 된 protobuf 생성 :

는 Python 클래스 및 Pydantic 모델에서 직접 .proto 파일을 생성합니다. 동적 코드 생성 :

를 사용하여 서버/클라이언트 스터브를 생성하고 Python 클래스를 원활하게 통합합니다. 광범위한 지원 : protoc> Grpc, Grpc-web (Sonora를 통해), RPC를 연결하여 (Connecpy를 통해) 연결하여 서버 스트리밍 방법을 포함하여 비동기식 (Asyncio) 작업과 호환됩니다. buf 기본적으로 :"Pydantic 모델로 Python 클래스를 정의하고 즉시 RPC 서비스를받습니다.

설치

pypi를 통해 설치 :


사용 : Grpc 서비스 생성

를 사용하여 Grpc 서버를 작성하십시오 동기 예 별칭 . 는 그 방법을 노출시킵니다. 비동기 예 Async Server의 경우 : 를 사용하십시오

는 코 루틴이며 이벤트 루프 내에서 실행됩니다
  • 사용 : 응답 스트리밍 pydanticrpc는 서버 스트리밍 응답을 지원합니다 (현재 Async Grpc 만 해당). 아래 예제는 올림픽 퀴즈에 를 사용하여 표준 및 스트리밍 방법을 모두 보여줍니다.
  • 는 단백질 RPC입니다. 는 서버 스트리밍이며 결과가 점차 증가합니다. pydanticrpc Async Grpc 서버를 시작하는 .proto 파일을 생성합니다.
  • 사용법 : 연결 RPC 서비스 생성 ASGI 앱에서 Connect RPC를위한 Connecpy와 통합 :

    Pydantic Hands hands validation. 이것을 기존 ASGI 프레임 워크 (Fastapi, Starlette)에 통합하십시오.

    <code class="language-bash">pip install pydantic-rpc</code>
    로그인 후 복사
    사용 : Grpc-web 서비스 생성

    WSGI 또는 ASGI 응용 프로그램에서 GRPC-WEB를 제공 : app 공존 grpc-web 및 REST 엔드 포인트

    결론

    PydanticRPC는 서버 스트리밍을 포함한 Pydantic 모델에서 GRPC, GRPC-WEB 및 RPC 개발을 단순화합니다. 자세한 내용은 pydanticrpc github 저장소를 탐색하십시오. 피드백을 환영합니다!

위 내용은 안녕하세요 Dev 커뮤니티! pydanticrpc 소개 : protobuf 파일을 수동으로 작성하지 않고 Grpc & Connect RPC 서비스를 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿