Relax protobuf pin to support both 5.x and 6.x runtimes
Pipecat 1.0.8 hard-required protobuf 6.x via the base `protobuf>=6.31.1,<7` pin, blocking users whose dependency graph already constrains protobuf to the 5.x line. The original bump (PR #4136) was only needed because `nvidia-riva-client>=2.25.1` ships gencode compiled with protoc 6.31.1. Changes: - Widen base pin to `protobuf>=5.29.6,<7`. - Regenerate `frames_pb2.py` with `grpcio-tools~=1.67.1` (protoc 5.x). Per Google's cross-version runtime guarantee, 5.x gencode runs on both 5.x and 6.x runtimes, so this single artifact serves all users. - Loosen the dev pin `grpcio-tools` to `>=1.67.1,<2` so contributors can install `pipecat[dev,nvidia]` without resolver conflict. Comment in `frames.proto` documents the 1.67.x requirement for regeneration. - Add an explicit `protobuf>=6.31.1,<7` to the `nvidia` extra. This compensates for nvidia-riva-client's missing `protobuf` install requirement (upstream packaging gap, see https://github.com/nvidia-riva/python-clients/issues/172). When that issue is resolved, the explicit protobuf entry in the `nvidia` extra can be removed. Verified: pipecat imports cleanly on both protobuf 5.29.6 and 6.33.6; `tests/test_protobuf_serializer.py` passes; `import riva.client` succeeds when `pipecat[nvidia]` is installed.
This commit is contained in:
@@ -4,8 +4,10 @@
|
||||
// SPDX-License-Identifier: BSD 2-Clause License
|
||||
//
|
||||
|
||||
// Generate frames_pb2.py with:
|
||||
// Generate frames_pb2.py with grpcio-tools 1.67.x (ships protoc 5.x, so the
|
||||
// gencode runs on both protobuf 5.x and 6.x runtimes):
|
||||
//
|
||||
// uv pip install 'grpcio-tools~=1.67.1'
|
||||
// python -m grpc_tools.protoc --proto_path=./ --python_out=./protobufs frames.proto
|
||||
|
||||
syntax = "proto3";
|
||||
|
||||
@@ -1,44 +1,40 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
# NO CHECKED-IN PROTOBUF GENCODE
|
||||
# source: frames.proto
|
||||
# Protobuf Python Version: 6.31.1
|
||||
# Protobuf Python Version: 5.27.2
|
||||
"""Generated protocol buffer code."""
|
||||
|
||||
from google.protobuf import descriptor as _descriptor
|
||||
from google.protobuf import descriptor_pool as _descriptor_pool
|
||||
from google.protobuf import runtime_version as _runtime_version
|
||||
from google.protobuf import symbol_database as _symbol_database
|
||||
from google.protobuf.internal import builder as _builder
|
||||
|
||||
_runtime_version.ValidateProtobufRuntimeVersion(
|
||||
_runtime_version.Domain.PUBLIC,
|
||||
6,
|
||||
31,
|
||||
1,
|
||||
'',
|
||||
'frames.proto'
|
||||
_runtime_version.Domain.PUBLIC, 5, 27, 2, "", "frames.proto"
|
||||
)
|
||||
# @@protoc_insertion_point(imports)
|
||||
|
||||
_sym_db = _symbol_database.Default()
|
||||
|
||||
|
||||
|
||||
|
||||
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0c\x66rames.proto\x12\x07pipecat\"3\n\tTextFrame\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04text\x18\x03 \x01(\t\"}\n\rAudioRawFrame\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05\x61udio\x18\x03 \x01(\x0c\x12\x13\n\x0bsample_rate\x18\x04 \x01(\r\x12\x14\n\x0cnum_channels\x18\x05 \x01(\r\x12\x10\n\x03pts\x18\x06 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_pts\"`\n\x12TranscriptionFrame\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04text\x18\x03 \x01(\t\x12\x0f\n\x07user_id\x18\x04 \x01(\t\x12\x11\n\ttimestamp\x18\x05 \x01(\t\"\x1c\n\x0cMessageFrame\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\t\"\xbd\x01\n\x05\x46rame\x12\"\n\x04text\x18\x01 \x01(\x0b\x32\x12.pipecat.TextFrameH\x00\x12\'\n\x05\x61udio\x18\x02 \x01(\x0b\x32\x16.pipecat.AudioRawFrameH\x00\x12\x34\n\rtranscription\x18\x03 \x01(\x0b\x32\x1b.pipecat.TranscriptionFrameH\x00\x12(\n\x07message\x18\x04 \x01(\x0b\x32\x15.pipecat.MessageFrameH\x00\x42\x07\n\x05\x66rameb\x06proto3')
|
||||
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
|
||||
b'\n\x0c\x66rames.proto\x12\x07pipecat"3\n\tTextFrame\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04text\x18\x03 \x01(\t"}\n\rAudioRawFrame\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05\x61udio\x18\x03 \x01(\x0c\x12\x13\n\x0bsample_rate\x18\x04 \x01(\r\x12\x14\n\x0cnum_channels\x18\x05 \x01(\r\x12\x10\n\x03pts\x18\x06 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_pts"`\n\x12TranscriptionFrame\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04text\x18\x03 \x01(\t\x12\x0f\n\x07user_id\x18\x04 \x01(\t\x12\x11\n\ttimestamp\x18\x05 \x01(\t"\x1c\n\x0cMessageFrame\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\t"\xbd\x01\n\x05\x46rame\x12"\n\x04text\x18\x01 \x01(\x0b\x32\x12.pipecat.TextFrameH\x00\x12\'\n\x05\x61udio\x18\x02 \x01(\x0b\x32\x16.pipecat.AudioRawFrameH\x00\x12\x34\n\rtranscription\x18\x03 \x01(\x0b\x32\x1b.pipecat.TranscriptionFrameH\x00\x12(\n\x07message\x18\x04 \x01(\x0b\x32\x15.pipecat.MessageFrameH\x00\x42\x07\n\x05\x66rameb\x06proto3'
|
||||
)
|
||||
|
||||
_globals = globals()
|
||||
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
||||
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'frames_pb2', _globals)
|
||||
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "frames_pb2", _globals)
|
||||
if not _descriptor._USE_C_DESCRIPTORS:
|
||||
DESCRIPTOR._loaded_options = None
|
||||
_globals['_TEXTFRAME']._serialized_start=25
|
||||
_globals['_TEXTFRAME']._serialized_end=76
|
||||
_globals['_AUDIORAWFRAME']._serialized_start=78
|
||||
_globals['_AUDIORAWFRAME']._serialized_end=203
|
||||
_globals['_TRANSCRIPTIONFRAME']._serialized_start=205
|
||||
_globals['_TRANSCRIPTIONFRAME']._serialized_end=301
|
||||
_globals['_MESSAGEFRAME']._serialized_start=303
|
||||
_globals['_MESSAGEFRAME']._serialized_end=331
|
||||
_globals['_FRAME']._serialized_start=334
|
||||
_globals['_FRAME']._serialized_end=523
|
||||
DESCRIPTOR._loaded_options = None
|
||||
_globals["_TEXTFRAME"]._serialized_start = 25
|
||||
_globals["_TEXTFRAME"]._serialized_end = 76
|
||||
_globals["_AUDIORAWFRAME"]._serialized_start = 78
|
||||
_globals["_AUDIORAWFRAME"]._serialized_end = 203
|
||||
_globals["_TRANSCRIPTIONFRAME"]._serialized_start = 205
|
||||
_globals["_TRANSCRIPTIONFRAME"]._serialized_end = 301
|
||||
_globals["_MESSAGEFRAME"]._serialized_start = 303
|
||||
_globals["_MESSAGEFRAME"]._serialized_end = 331
|
||||
_globals["_FRAME"]._serialized_start = 334
|
||||
_globals["_FRAME"]._serialized_end = 523
|
||||
# @@protoc_insertion_point(module_scope)
|
||||
|
||||
Reference in New Issue
Block a user