Об этом проекте

Protocol Buffers (protobuf) — это разработанный Google языково-нейтральный, платформенно-нейтральный расширяемый механизм сериализации структурированных данных. В репозитории размещаются компилятор протоколов (protoc), который компилирует файлы .proto, и поддержка среды выполнения для нескольких языков программирования. В README приведены инструкции по установке как для компилятора протоколов, так и для сред выполнения для конкретных языков. Для пользователей C++ protoc и среда выполнения C++ собираются из исходного кода с использованием инструкций в каталоге src. Пользователи, не использующие C++, могут загрузить готовые бинарные файлы protoc со страницы релизов GitHub, упакованные как protoc-$VERSION-$PLATFORM.zip, которые включают бинарный файл и стандартные файлы .proto. Более старые версии также доступны в Maven. Поддерживаемые языки и расположение сред выполнения включают C++ (src), Java, Python, Objective-C, C#, Ruby, PHP, Go (отдельный репозиторий), Dart (dart-lang/protobuf) и JavaScript (protocolbuffers/protobuf-javascript). Интеграция сборки документирована для Bazel как с Bzlmod, так и с устаревшей системой WORKSPACE. Пользователи могут добавить зависимость от protobuf в MODULE.bazel или через http_archive с необходимыми операторами load. Учебные ресурсы включают руководства в protobuf developer guide на protobuf.dev и примеры кода в каталоге examples. У проекта есть политика поддержки версий и Google Group для обсуждений и обновлений сообщества разработчиков.