google/shopping-common-protos
google/shopping-common-protos provides generated PHP protobuf classes for Google Shopping shared message types. It supplies common data structures used by Google Shopping APIs and related PHP libraries, simplifying protobuf request and response handling. A low-level dependency, not a standalone clie...
google.shopping.type.* — price, shipping, availability, destination/channel enums). Installing it is only rational if "list and sell on Google" is already a committed initiative; it unlocks no capability on its own.Consider it when:
google/shopping-merchant-* PHP client family; this is effectively a shared transitive dependency and adding it directly just makes the contract explicit.Look elsewhere when:
google/apiclient or a thin HTTP client will get you there with far less tooling; this package will not make a single API call for you.protobuf / grpc PHP extension in your deployment image. Adding native extensions to a Laravel container is a real, recurring tax for what is often a nightly batch job.Read the adoption signals carefully. One star and zero dependents is not evidence of abandonment; it is an auto-generated googleapis artifact consumed transitively rather than starred. But it is also not evidence of a maintained product. Treat the low score as "no community safety net," and verify the release date against your own dependency resolution rather than trusting it at face value.
For executives: This is not a product decision, it is plumbing. The package is a set of auto-generated, Apache-2.0-licensed type definitions for Google's Shopping schema — no servers, no credentials, no data. The decision that matters is whether selling on Google surfaces is on the roadmap; if yes, this is a low-cost, low-risk component of that work. If no, it should not appear in any plan. Do not let a dependency install stand in for a strategy.
For engineering: It is a generated proto library, so budget for the runtime: protobuf (and likely grpc) extensions in the build image, version pinning, and a regeneration story when Google revises the schema. There is no Laravel integration by design — no provider, no config, no casts — so wrap it behind your own adapter interface rather than letting Google\Shopping\Type\* objects leak into domain code. Prefer consuming it transitively via the Merchant client packages unless you have a specific parity need.
Recommendation: Timeboxed spike, not a commitment. Prove one end-to-end feed push in a branch, measure the container and CI impact, and only then decide. Validate within the first two days that the runtime extensions install cleanly in your production image — that is the failure mode most likely to sink this, and it is cheap to test early.
How can I help you explore Laravel packages today?