{"id":13635159,"url":"https://github.com/googleapis/api-common-protos","last_synced_at":"2025-10-27T05:10:20.806Z","repository":{"id":38419975,"uuid":"129924269","full_name":"googleapis/api-common-protos","owner":"googleapis","description":"A standard library for use in specifying protocol buffer APIs.","archived":false,"fork":false,"pushed_at":"2024-07-13T05:06:26.000Z","size":355,"stargazers_count":256,"open_issues_count":11,"forks_count":64,"subscribers_count":63,"default_branch":"main","last_synced_at":"2025-01-26T05:46:00.765Z","etag":null,"topics":["api","protobuf"],"latest_commit_sha":null,"homepage":"https://cloud.google.com/apis/design/","language":"Starlark","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/googleapis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-17T15:18:06.000Z","updated_at":"2025-01-05T01:25:22.000Z","dependencies_parsed_at":"2024-06-20T11:07:37.358Z","dependency_job_id":"efb90528-ce70-4999-a0c5-b8b57272ea7c","html_url":"https://github.com/googleapis/api-common-protos","commit_stats":{"total_commits":158,"total_committers":35,"mean_commits":4.514285714285714,"dds":0.759493670886076,"last_synced_commit":"3332dec527759859840a3a2ff108c67a54708130"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googleapis%2Fapi-common-protos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googleapis%2Fapi-common-protos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googleapis%2Fapi-common-protos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googleapis%2Fapi-common-protos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/googleapis","download_url":"https://codeload.github.com/googleapis/api-common-protos/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239248431,"owners_count":19607015,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","protobuf"],"created_at":"2024-08-02T00:00:41.633Z","updated_at":"2025-10-27T05:10:15.756Z","avatar_url":"https://github.com/googleapis.png","language":"Starlark","funding_links":[],"categories":["Repositories"],"sub_categories":[],"readme":"## Common Protos\n\n[![release level](https://img.shields.io/badge/release%20level-general%20availability%20%28GA%29-brightgreen.svg?style\u0026#x3D;flat)](https://cloud.google.com/terms/launch-stages)\n\nThis repository is a home for the [protocol buffer][protobuf] types which are\ncommon dependencies throughout the Google API ecosystem, and which are made\navailable for use as dependencies elsewhere.\n\n### About protocol buffers\n\n[Protocol buffers][protobuf] are Google's language-neutral, platform-neutral,\nextensible mechanism for serializing structured data – think XML,\nbut smaller, faster, and simpler. You define how you want your data to be\nstructured once, then you can use special generated source code to easily\nwrite and read your structured data to and from a variety of data streams\nand using a variety of languages.\n\nOne popular use for protocol buffers, both within Google and elsewhere,\nis for specifying API design. They serve as a useful representation for\nAPI serivices, methods, and fields. You can read more about API design\nphilosophy with protocol buffers by consulting our\n[API Design Guide][api-style].\n\n  [api-style]: https://cloud.google.com/apis/design/\n  [protobuf]: https://developers.google.com/protocol-buffers/\n\n### Why a common protos repository?\n\nWhen writing protocol buffers, it is common to need to reuse common patterns.\nFor example, common types show up in many different APIs, but have\na consistent implementation. The same is true elsewhere.\n\nThis repository seeks to be a home for such types; protocol buffer authors\nmay check out this repository and import them into their own work to save\neffort.\n\nThe protos in the various subdirectories in this repository have different\npurposes, and are documented in their respective README files.\n\n## Using these protos\n\n*NOTE* The protos in this repository are not updated automatically and may be \noutdated. Please look to the [protos in googleapis/googleapis](https://github.com/googleapis/googleapis/tree/master/google) instead\nwhich are updated regularly.\n\nThese protos are made available under an Apache license (see `LICENSE`) and\nyou are free to depend on them within your applications. They are\nconsidered stable and will not change in backwards-incompaible ways.\n\nIn order to depend on these protos, use proto import statements that\nreference the base of this repository, for example:\n\n```protobuf\nsyntax = \"proto3\";\n\nimport \"google/type/color.proto\";\n\n\n// A message representing a paint can.\nmessage PaintCan {\n  // The size of the paint can, in gallons.\n  float size_gallons = 1;\n\n  // The color of the paint.\n  google.type.Color color = 2;\n}\n```\n\nIf you are using `protoc` (or other similar tooling) to compile these\nprotos yourself, you will likely require a local copy. Clone this repository\nto a convenient location and use `--proto_path` to specify the _root_ of\nthis repository on your machine to the compiler.\n\n## Packages\n\nAdditionally, if using these common protos, it is not necessary to ship\nthe compiled types yourself in many common languages. Google provides\na common protos package in several languages, which can be added as a\ndependency, and which makes these types available.\n\n  * **C#**: [Google.Api.CommonProtos](https://www.nuget.org/packages/Google.Api.CommonProtos/)\n  * **Java**: [proto-google-common-protos](https://mvnrepository.com/artifact/com.google.api.grpc/proto-google-common-protos)\n  * **Go**: [google.golang.org/genproto/googleapis](https://godoc.org/google.golang.org/genproto/googleapis)\n  * **Node.js**: [google-proto-files](https://www.npmjs.com/package/google-proto-files)\n  * **PHP**: [gax-php](https://github.com/googleapis/gax-php)\n  * **Python**: [googleapis-common-protos](https://pypi.org/project/googleapis-common-protos/)\n  * **Ruby**: [googleapis-common-protos](https://rubygems.org/gems/googleapis-common-protos/versions/1.3.5)\n\nNote that if using these packages, you will still need a local copy of\nthese protos when using `protoc`, but you will _not_ need to ship compiled\nversions of them. (This is consistent with `protoc`'s default behavior of\nonly providing compiled output for the files specifically requested, and not\ntheir imports.)\n\n## google.protobuf types (separate from this repo)\n\nThere are a small number of types that are _so_ common that they are\nincluded in the actual protocol buffers runtime itself.\nThese are anything with an import path beginning with `google/protobuf/`,\nand notably includes timestamps and durations.\n\nThese are _not_ defined in this directory, and you do _not_ need to follow\nany of the instructions for including this (as discussed in the root `README`\nfile) if you want to use those. They are part of protocol buffers, and\nan import of those will \"just work\". These are colloquially referred to\nas \"well-known types\".\n\n## Disclaimer\n\nThese protos are made available by Google, but are not considered to be an\nofficial Google product.\n\n## License\n\nThese protos are licensed using the Apache 2.0 software license, a permissive,\ncopyfree license. You are free to use them in your applications provided\nthe license terms are honored.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoogleapis%2Fapi-common-protos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoogleapis%2Fapi-common-protos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoogleapis%2Fapi-common-protos/lists"}