ó
    �®žjg  ã                   ó^   • S r SSKrSSKJrJrJrJrJrJr  SSK	J
r
JrJrJr   " S S\5      rg)z1Common KServe v2 API configuration options mixin.é    N)ÚAnyÚDictÚListÚLiteralÚOptionalÚTuple)ÚAliasChoicesÚ	BaseModelÚFieldÚmodel_validatorc                   óÄ  • \ rS rSr% Sr\" SS9r\\S'   \" SSS9r	\
\   \S	'   \" SS
S9r\
\   \S'   \" SSS9r\S   \S'   \" \SS9r\\\4   \S'   \" \SS9r\\\4   \S'   \" SSS9r\\S'   \" SSSS9r\\S'   \" \SS9r\\\\4      \S'   \" S\" S S!5      S"S#9r\\S '   \" S$S%S9r\\S&'   \" \S'S9r\\\4   \S('   \ " S)S*9\!S+ 5       5       r"\#S,\4S- j5       r$S.r%g)/ÚKserveV2OptionsMixiné   aG  Mixin providing common KServe v2 API configuration fields.

This mixin can be used by any options class that needs to connect
to a KServe v2-compatible inference server (Triton, KServe, etc.).
It provides all the necessary configuration for both HTTP and gRPC
transports, including authentication, TLS, and performance tuning.
a  Endpoint URL for KServe v2 transport. For transport='http', use http(s)://host[:port] or plain host:port. For transport='grpc', use plain host:port or dns:///host:port (dns:/// enables gRPC-native DNS load balancing, e.g. round_robin over headless k8s services).)ÚdescriptionÚurlNzfRemote model name registered in the KServe v2 endpoint. If omitted, a repo_id-derived default is used.)Údefaultr   Ú
model_namez?Optional model version. If omitted, the server default is used.Úmodel_versionÚgrpczUTransport protocol for KServe v2 calls. Use 'grpc' or 'http' for KServe v2 inference.)r   ÚhttpÚ	transportzGOptional HTTP headers for authentication/routing when transport='http'.)Údefault_factoryr   ÚheaderszqOptional gRPC metadata for authentication/routing when transport='grpc'. No HTTP headers are reused in gRPC mode.Úgrpc_metadataFzNWhether to use TLS for the gRPC channel. When omitted, plain-text h2c is used.Úgrpc_use_tlsi   é   z,Max send/receive gRPC message size in bytes.)r   Úger   Úgrpc_max_message_byteszÐExtra gRPC channel args forwarded to the underlying channel. Use e.g. [('grpc.lb_policy_name', 'round_robin')] together with a dns:/// URL for client-side load balancing across k8s headless service endpoints.Úgrpc_channel_argsTÚuse_binary_dataÚgrpc_use_binary_dataz^For gRPC this controls binary_data tensor handling; for HTTP this enables REST binary framing.)r   Úvalidation_aliasr   g      N@z<Per-request timeout in seconds for both HTTP and gRPC calls.Útimeoutz6Optional top-level KServe v2 infer request parameters.Úrequest_parametersÚbefore)Úmodec                 óp   • [        U[        5      (       a   SU;   a  [        R                  " S[        SS9  U$ )zIEmit deprecation warning if old field name is used during initialization.r!   ú@grpc_use_binary_data is deprecated; use use_binary_data instead.é   ©Ú
stacklevel)Ú
isinstanceÚdictÚwarningsÚwarnÚDeprecationWarning)ÚclsÚdatas     Ú`/home/mande/repo/quber/.venv/lib/python3.13/site-packages/docling/datamodel/kserve_v2_options.pyÚ_warn_deprecated_aliasÚ+KserveV2OptionsMixin._warn_deprecated_aliasi   s5   € ô �dœD×!Ñ!Ð&<ÀÓ&DÜ�MŠMØRÜ"Øòð
 ˆó    Úreturnc                 óN   • [         R                  " S[        SS9  U R                  $ )Nr(   r)   r*   )r.   r/   r0   r    )Úselfs    r3   r!   Ú)KserveV2OptionsMixin.grpc_use_binary_datau   s%   € ä�ŠØNÜØò	
ð
 ×#Ñ#Ð#r6   © )&Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   ÚstrÚ__annotations__r   r   r   r   r   r-   r   r   r   r   Úboolr   ÚintÚlistr   r   r   r   r	   r    r#   Úfloatr$   r   Úclassmethodr4   Úpropertyr!   Ú__static_attributes__r;   r6   r3   r   r      s¾  ‡ ññ ðmñ€Cˆó ñ !&Øð=ñ!€J�˜‘ó ñ $)ØØUñ$€M�8˜C‘=ó ñ
 */Øð<ñ*€Iˆw�~Ñ&ó ñ $ØØ]ñ€GˆT�#�s�(‰^ó ñ
 %*Øð7ñ%€M�4˜˜S˜‘>ó ñ Øð4ñ€L�$ó ñ #(Ø ØØBñ#Ð˜Có ñ 05Øðbñ0Ð�t˜E # s (™OÑ,ó ñ "ØÙ%Ð&7Ð9OÓPàlñ	€O�Tó ñ ØØRñ€GˆUó ñ
 */ØØLñ*Ð˜˜S #˜X™ó ñ
 ˜(Ñ#Øñó ó $ðð ð$ dó $ó ó$r6   r   )r@   r.   Útypingr   r   r   r   r   r   Úpydanticr	   r
   r   r   r   r;   r6   r3   Ú<module>rL      s'   ðñ 8ã ß <× <ç DÓ Dôp$˜9õ p$r6   