[Bug 1980041] New: Review Request: python-xds-protos - ProtoBuf generated Python files for xDS protos

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.redhat.com/show_bug.cgi?id=1980041

            Bug ID: 1980041
           Summary: Review Request: python-xds-protos - ProtoBuf generated
                    Python files for xDS protos
           Product: Fedora
           Version: rawhide
          Hardware: All
                OS: Linux
            Status: NEW
         Component: Package Review
          Severity: medium
          Priority: medium
          Assignee: nobody@xxxxxxxxxxxxxxxxx
          Reporter: code@xxxxxxxxxxxxxxxxxx
        QA Contact: extras-qa@xxxxxxxxxxxxxxxxx
                CC: package-review@xxxxxxxxxxxxxxxxxxxxxxx
  Target Milestone: ---
    Classification: Fedora



Spec URL: https://music.fedorapeople.org/python-xds-protos.spec
SRPM URL: https://music.fedorapeople.org/python-xds-protos-0.0.8-1.fc34.src.rpm
Description:

Package “xds-protos” is a collection of ProtoBuf generated Python files for xDS
protos (or the data-plane-api, https://github.com/envoyproxy/data-plane-api).
You can find the source code of this project in https://github.com/grpc/grpc.
For any question or suggestion, please post to
https://github.com/grpc/grpc/issues.

Each generated Python file can be imported according to their proto package.
For example, if we are trying to import a proto located at
“envoy/service/status/v3/csds.proto”, whose proto package is
“package envoy.service.status.v3”, then we can import it as:

  # Import the message definitions
  from envoy.service.status.v3 import csds_pb2
  # Import the gRPC service and stub
  from envoy.service.status.v3 import csds_pb2_grpc

Fedora Account System Username: music

Koji mock builds:

F35: https://koji.fedoraproject.org/koji/taskinfo?taskID=71466095

Updates for F34 and older are not currently planned.

This is an unusual package in that the ultimate sources are in grpc
(https://src.fedoraproject.org/rpms/grpc), as of grpc 1.38. The release on PyPI
(https://pypi.org/project/xds-protos/) contains only the generated sources.

We instead build from the ultimate sources (grpc plus some external projects
that are included in grpc as git submodules, and from which we provably use
only .proto files).

This is submitted as a separate package rather than built as a grpc subpackage
because it has its own version numbering and release cadence, and the git
submodules needed to build it are not otherwise needed in the grpc source RPM,
so it really makes more sense for this to be a self-contained package.

To make it more awkward, some of these generated bindings are already installed
as part of https://src.fedoraproject.org/rpms/python-opencensus-proto or
https://src.fedoraproject.org/rpms/python-googleapis-common-protos, so those
packages are added as dependencies and the conflicting bindings are carefully
unbundled.

To make it even more awkward, this package depends circularly on grpc; some
grpc subpackages are required to generate the bindings, while other grpc
subpackages depend on the bindings. The necessary bootstrapping will be handled
in grpc when it is updated to 1.38.x (in Rawhide/F35).

For full details and rationales, please see the spec file comments. I believe I
have handled everything in the most reasonable way, but suggestions are still
quite welcome.


-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are always notified about changes to this product and component
_______________________________________________
package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/package-review@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure




[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite Conditions]     [KDE Users]

  Powered by Linux