jhump / goprotoc Goto Github PK
View Code? Open in Web Editor NEWLibrary for writing protoc plugins in Go; also includes a pure-Go protoc replacement
License: Apache License 2.0
Library for writing protoc plugins in Go; also includes a pure-Go protoc replacement
License: Apache License 2.0
Hi, sometimes we need to defined some extend options, but it seems that goprotoc does not expose any interface for us to get our options. For example, here is my .proto file:
syntax = "proto3";
import "google/protobuf/descriptor.proto";
extend google.protobuf.MessageOptions {
string my_option = 51234;
}
message A {
option (my_option) = "Hello world!";
}
If I print out the message options in the example callback, like this:
func doCodeGen(req *plugins.CodeGenRequest, rsp *plugins.CodeGenResponse) error {
fmt.Println(req.Files[0].GetMessageTypes()[0].GetMessageOptions())
}
I will get these output in console:
51234:"Hello world!"
It seems that user defined options is recorded in some map, but there is no way for me to get the option my_option
by myself. By the way, I tried to find the option by GetUninterpretedOption
method, but the following code returns 0
.
len(req.Files[0].GetMessageTypes()[0].GetMessageOptions().GetUninterpretedOption())
I'm trying to use --plugin
, but doing so breaks, as opts.pluginDefs
is always nil, and never an allocated map.
panic: assignment to entry in nil map
goroutine 1 [running]:
github.com/jhump/goprotoc/app/goprotoc.parseFlags(0x0, 0x0, 0x7ffcc6e22009, 0x8, 0xc0000101f0, 0x5, 0x5, 0x7f7380, 0xc00000e018, 0xc000041e08, ...)
/home/jake/go/pkg/mod/github.com/jhump/[email protected]/app/goprotoc/options.go:174 +0x13b5
github.com/jhump/goprotoc/app/goprotoc.run(0xc0000101e0, 0x6, 0x6, 0x7f7360, 0xc00000e010, 0x7f7380, 0xc00000e018, 0x7f7380, 0xc00000e020, 0xc000073a01, ...)
/home/jake/go/pkg/mod/github.com/jhump/[email protected]/app/goprotoc/goprotoc.go:48 +0x157
github.com/jhump/goprotoc/app/goprotoc.Run(0xc0000101e0, 0x6, 0x6, 0x7f7360, 0xc00000e010, 0x7f7380, 0xc00000e018, 0x7f7380, 0xc00000e020, 0x6d1df7)
/home/jake/go/pkg/mod/github.com/jhump/[email protected]/app/goprotoc/goprotoc.go:35 +0x97
github.com/jhump/goprotoc/app/goprotoc.Main()
/home/jake/go/pkg/mod/github.com/jhump/[email protected]/app/goprotoc/goprotoc.go:30 +0x8a
main.main()
/home/jake/go/pkg/mod/github.com/jhump/[email protected]/cmd/goprotoc/goprotoc.go:22 +0x20
The plugins
package is fairly complete (though could likely use more tests). But the goprotoc
command is unfinished and hasn't been touched in a while. This issue is just a reminder to myself to finish it.
This command was referenced recently in a protoc proposal to supply an alternative CLI written in Go.
While looking around, I found a similar project that appears to have been started 5 years ago and then never finished either: https://github.com/dropbox/goprotoc
Since the dropbox one appears to be abandon-ware, this repo could be a reasonable home for an open-source fork of protoc that is an all-Go alternative.
This used goprotoc
and protoc
to compare.
Package: https://github.com/googleapis/googleapis/tree/master/google/cloud/vision/v1p4beta1
Effective command (run from root of googleapis): [protoc,goprotoc] -I . google/cloud/vision/v1p4beta1/*;proto
The issue is the ordering of the FileDescriptorProtos when --include_imports
is not set.
protoc
order:
"google/cloud/vision/v1p4beta1/geometry.proto"
"google/cloud/vision/v1p4beta1/product_search_service.proto"
"google/cloud/vision/v1p4beta1/product_search.proto"
"google/cloud/vision/v1p4beta1/text_annotation.proto"
"google/cloud/vision/v1p4beta1/web_detection.proto"
"google/cloud/vision/v1p4beta1/image_annotator.proto"
goprotoc
order:
"google/cloud/vision/v1p4beta1/geometry.proto"
"google/cloud/vision/v1p4beta1/image_annotator.proto"
"google/cloud/vision/v1p4beta1/product_search.proto"
"google/cloud/vision/v1p4beta1/product_search_service.proto"
"google/cloud/vision/v1p4beta1/text_annotation.proto"
"google/cloud/vision/v1p4beta1/web_detection.proto"
protoc
FileDescriptorSet JSON dump:
{
"file": [
{
"name": "google/cloud/vision/v1p4beta1/geometry.proto",
"package": "google.cloud.vision.v1p4beta1",
"dependency": [
"google/api/annotations.proto"
],
"messageType": [
{
"name": "Vertex",
"field": [
{
"name": "x",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_INT32",
"jsonName": "x"
},
{
"name": "y",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_INT32",
"jsonName": "y"
}
]
},
{
"name": "NormalizedVertex",
"field": [
{
"name": "x",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "x"
},
{
"name": "y",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "y"
}
]
},
{
"name": "BoundingPoly",
"field": [
{
"name": "vertices",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Vertex",
"jsonName": "vertices"
},
{
"name": "normalized_vertices",
"number": 2,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.NormalizedVertex",
"jsonName": "normalizedVertices"
}
]
},
{
"name": "Position",
"field": [
{
"name": "x",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "x"
},
{
"name": "y",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "y"
},
{
"name": "z",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "z"
}
]
}
],
"options": {
"javaPackage": "com.google.cloud.vision.v1p4beta1",
"javaOuterClassname": "GeometryProto",
"javaMultipleFiles": true,
"goPackage": "google.golang.org/genproto/googleapis/cloud/vision/v1p4beta1;vision",
"ccEnableArenas": true,
"objcClassPrefix": "GCVN"
},
"syntax": "proto3"
},
{
"name": "google/cloud/vision/v1p4beta1/product_search_service.proto",
"package": "google.cloud.vision.v1p4beta1",
"dependency": [
"google/api/annotations.proto",
"google/cloud/vision/v1p4beta1/geometry.proto",
"google/longrunning/operations.proto",
"google/protobuf/empty.proto",
"google/protobuf/field_mask.proto",
"google/protobuf/timestamp.proto",
"google/rpc/status.proto"
],
"messageType": [
{
"name": "Product",
"field": [
{
"name": "name",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "name"
},
{
"name": "display_name",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "displayName"
},
{
"name": "description",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "description"
},
{
"name": "product_category",
"number": 4,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "productCategory"
},
{
"name": "product_labels",
"number": 5,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Product.KeyValue",
"jsonName": "productLabels"
}
],
"nestedType": [
{
"name": "KeyValue",
"field": [
{
"name": "key",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "key"
},
{
"name": "value",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "value"
}
]
}
]
},
{
"name": "ProductSet",
"field": [
{
"name": "name",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "name"
},
{
"name": "display_name",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "displayName"
},
{
"name": "index_time",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.protobuf.Timestamp",
"jsonName": "indexTime"
},
{
"name": "index_error",
"number": 4,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.rpc.Status",
"jsonName": "indexError"
}
]
},
{
"name": "ReferenceImage",
"field": [
{
"name": "name",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "name"
},
{
"name": "uri",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "uri"
},
{
"name": "bounding_polys",
"number": 3,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.BoundingPoly",
"jsonName": "boundingPolys"
}
]
},
{
"name": "CreateProductRequest",
"field": [
{
"name": "parent",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "parent"
},
{
"name": "product",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Product",
"jsonName": "product"
},
{
"name": "product_id",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "productId"
}
]
},
{
"name": "ListProductsRequest",
"field": [
{
"name": "parent",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "parent"
},
{
"name": "page_size",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_INT32",
"jsonName": "pageSize"
},
{
"name": "page_token",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "pageToken"
}
]
},
{
"name": "ListProductsResponse",
"field": [
{
"name": "products",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Product",
"jsonName": "products"
},
{
"name": "next_page_token",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "nextPageToken"
}
]
},
{
"name": "GetProductRequest",
"field": [
{
"name": "name",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "name"
}
]
},
{
"name": "UpdateProductRequest",
"field": [
{
"name": "product",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Product",
"jsonName": "product"
},
{
"name": "update_mask",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.protobuf.FieldMask",
"jsonName": "updateMask"
}
]
},
{
"name": "DeleteProductRequest",
"field": [
{
"name": "name",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "name"
}
]
},
{
"name": "CreateProductSetRequest",
"field": [
{
"name": "parent",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "parent"
},
{
"name": "product_set",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ProductSet",
"jsonName": "productSet"
},
{
"name": "product_set_id",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "productSetId"
}
]
},
{
"name": "ListProductSetsRequest",
"field": [
{
"name": "parent",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "parent"
},
{
"name": "page_size",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_INT32",
"jsonName": "pageSize"
},
{
"name": "page_token",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "pageToken"
}
]
},
{
"name": "ListProductSetsResponse",
"field": [
{
"name": "product_sets",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ProductSet",
"jsonName": "productSets"
},
{
"name": "next_page_token",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "nextPageToken"
}
]
},
{
"name": "GetProductSetRequest",
"field": [
{
"name": "name",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "name"
}
]
},
{
"name": "UpdateProductSetRequest",
"field": [
{
"name": "product_set",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ProductSet",
"jsonName": "productSet"
},
{
"name": "update_mask",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.protobuf.FieldMask",
"jsonName": "updateMask"
}
]
},
{
"name": "DeleteProductSetRequest",
"field": [
{
"name": "name",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "name"
}
]
},
{
"name": "CreateReferenceImageRequest",
"field": [
{
"name": "parent",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "parent"
},
{
"name": "reference_image",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ReferenceImage",
"jsonName": "referenceImage"
},
{
"name": "reference_image_id",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "referenceImageId"
}
]
},
{
"name": "ListReferenceImagesRequest",
"field": [
{
"name": "parent",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "parent"
},
{
"name": "page_size",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_INT32",
"jsonName": "pageSize"
},
{
"name": "page_token",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "pageToken"
}
]
},
{
"name": "ListReferenceImagesResponse",
"field": [
{
"name": "reference_images",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ReferenceImage",
"jsonName": "referenceImages"
},
{
"name": "page_size",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_INT32",
"jsonName": "pageSize"
},
{
"name": "next_page_token",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "nextPageToken"
}
]
},
{
"name": "GetReferenceImageRequest",
"field": [
{
"name": "name",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "name"
}
]
},
{
"name": "DeleteReferenceImageRequest",
"field": [
{
"name": "name",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "name"
}
]
},
{
"name": "AddProductToProductSetRequest",
"field": [
{
"name": "name",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "name"
},
{
"name": "product",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "product"
}
]
},
{
"name": "RemoveProductFromProductSetRequest",
"field": [
{
"name": "name",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "name"
},
{
"name": "product",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "product"
}
]
},
{
"name": "ListProductsInProductSetRequest",
"field": [
{
"name": "name",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "name"
},
{
"name": "page_size",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_INT32",
"jsonName": "pageSize"
},
{
"name": "page_token",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "pageToken"
}
]
},
{
"name": "ListProductsInProductSetResponse",
"field": [
{
"name": "products",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Product",
"jsonName": "products"
},
{
"name": "next_page_token",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "nextPageToken"
}
]
},
{
"name": "ImportProductSetsGcsSource",
"field": [
{
"name": "csv_file_uri",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "csvFileUri"
}
]
},
{
"name": "ImportProductSetsInputConfig",
"field": [
{
"name": "gcs_source",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource",
"oneofIndex": 0,
"jsonName": "gcsSource"
}
],
"oneofDecl": [
{
"name": "source"
}
]
},
{
"name": "ImportProductSetsRequest",
"field": [
{
"name": "parent",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "parent"
},
{
"name": "input_config",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig",
"jsonName": "inputConfig"
}
]
},
{
"name": "ImportProductSetsResponse",
"field": [
{
"name": "reference_images",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ReferenceImage",
"jsonName": "referenceImages"
},
{
"name": "statuses",
"number": 2,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.rpc.Status",
"jsonName": "statuses"
}
]
},
{
"name": "BatchOperationMetadata",
"field": [
{
"name": "state",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.BatchOperationMetadata.State",
"jsonName": "state"
},
{
"name": "submit_time",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.protobuf.Timestamp",
"jsonName": "submitTime"
},
{
"name": "end_time",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.protobuf.Timestamp",
"jsonName": "endTime"
}
],
"enumType": [
{
"name": "State",
"value": [
{
"name": "STATE_UNSPECIFIED",
"number": 0
},
{
"name": "PROCESSING",
"number": 1
},
{
"name": "SUCCESSFUL",
"number": 2
},
{
"name": "FAILED",
"number": 3
},
{
"name": "CANCELLED",
"number": 4
}
]
}
]
}
],
"service": [
{
"name": "ProductSearch",
"method": [
{
"name": "CreateProductSet",
"inputType": ".google.cloud.vision.v1p4beta1.CreateProductSetRequest",
"outputType": ".google.cloud.vision.v1p4beta1.ProductSet",
"options": {
}
},
{
"name": "ListProductSets",
"inputType": ".google.cloud.vision.v1p4beta1.ListProductSetsRequest",
"outputType": ".google.cloud.vision.v1p4beta1.ListProductSetsResponse",
"options": {
}
},
{
"name": "GetProductSet",
"inputType": ".google.cloud.vision.v1p4beta1.GetProductSetRequest",
"outputType": ".google.cloud.vision.v1p4beta1.ProductSet",
"options": {
}
},
{
"name": "UpdateProductSet",
"inputType": ".google.cloud.vision.v1p4beta1.UpdateProductSetRequest",
"outputType": ".google.cloud.vision.v1p4beta1.ProductSet",
"options": {
}
},
{
"name": "DeleteProductSet",
"inputType": ".google.cloud.vision.v1p4beta1.DeleteProductSetRequest",
"outputType": ".google.protobuf.Empty",
"options": {
}
},
{
"name": "CreateProduct",
"inputType": ".google.cloud.vision.v1p4beta1.CreateProductRequest",
"outputType": ".google.cloud.vision.v1p4beta1.Product",
"options": {
}
},
{
"name": "ListProducts",
"inputType": ".google.cloud.vision.v1p4beta1.ListProductsRequest",
"outputType": ".google.cloud.vision.v1p4beta1.ListProductsResponse",
"options": {
}
},
{
"name": "GetProduct",
"inputType": ".google.cloud.vision.v1p4beta1.GetProductRequest",
"outputType": ".google.cloud.vision.v1p4beta1.Product",
"options": {
}
},
{
"name": "UpdateProduct",
"inputType": ".google.cloud.vision.v1p4beta1.UpdateProductRequest",
"outputType": ".google.cloud.vision.v1p4beta1.Product",
"options": {
}
},
{
"name": "DeleteProduct",
"inputType": ".google.cloud.vision.v1p4beta1.DeleteProductRequest",
"outputType": ".google.protobuf.Empty",
"options": {
}
},
{
"name": "CreateReferenceImage",
"inputType": ".google.cloud.vision.v1p4beta1.CreateReferenceImageRequest",
"outputType": ".google.cloud.vision.v1p4beta1.ReferenceImage",
"options": {
}
},
{
"name": "DeleteReferenceImage",
"inputType": ".google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest",
"outputType": ".google.protobuf.Empty",
"options": {
}
},
{
"name": "ListReferenceImages",
"inputType": ".google.cloud.vision.v1p4beta1.ListReferenceImagesRequest",
"outputType": ".google.cloud.vision.v1p4beta1.ListReferenceImagesResponse",
"options": {
}
},
{
"name": "GetReferenceImage",
"inputType": ".google.cloud.vision.v1p4beta1.GetReferenceImageRequest",
"outputType": ".google.cloud.vision.v1p4beta1.ReferenceImage",
"options": {
}
},
{
"name": "AddProductToProductSet",
"inputType": ".google.cloud.vision.v1p4beta1.AddProductToProductSetRequest",
"outputType": ".google.protobuf.Empty",
"options": {
}
},
{
"name": "RemoveProductFromProductSet",
"inputType": ".google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest",
"outputType": ".google.protobuf.Empty",
"options": {
}
},
{
"name": "ListProductsInProductSet",
"inputType": ".google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest",
"outputType": ".google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse",
"options": {
}
},
{
"name": "ImportProductSets",
"inputType": ".google.cloud.vision.v1p4beta1.ImportProductSetsRequest",
"outputType": ".google.longrunning.Operation",
"options": {
}
}
]
}
],
"options": {
"javaPackage": "com.google.cloud.vision.v1p4beta1",
"javaOuterClassname": "ProductSearchServiceProto",
"javaMultipleFiles": true,
"goPackage": "google.golang.org/genproto/googleapis/cloud/vision/v1p4beta1;vision",
"ccEnableArenas": true,
"objcClassPrefix": "GCVN"
},
"syntax": "proto3"
},
{
"name": "google/cloud/vision/v1p4beta1/product_search.proto",
"package": "google.cloud.vision.v1p4beta1",
"dependency": [
"google/api/annotations.proto",
"google/cloud/vision/v1p4beta1/geometry.proto",
"google/cloud/vision/v1p4beta1/product_search_service.proto",
"google/protobuf/timestamp.proto"
],
"messageType": [
{
"name": "ProductSearchParams",
"field": [
{
"name": "bounding_poly",
"number": 9,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.BoundingPoly",
"jsonName": "boundingPoly"
},
{
"name": "product_set",
"number": 6,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "productSet"
},
{
"name": "product_categories",
"number": 7,
"label": "LABEL_REPEATED",
"type": "TYPE_STRING",
"jsonName": "productCategories"
},
{
"name": "filter",
"number": 8,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "filter"
}
]
},
{
"name": "ProductSearchResults",
"field": [
{
"name": "index_time",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.protobuf.Timestamp",
"jsonName": "indexTime"
},
{
"name": "results",
"number": 5,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ProductSearchResults.Result",
"jsonName": "results"
},
{
"name": "product_grouped_results",
"number": 6,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult",
"jsonName": "productGroupedResults"
}
],
"nestedType": [
{
"name": "Result",
"field": [
{
"name": "product",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Product",
"jsonName": "product"
},
{
"name": "score",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "score"
},
{
"name": "image",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "image"
}
]
},
{
"name": "GroupedResult",
"field": [
{
"name": "bounding_poly",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.BoundingPoly",
"jsonName": "boundingPoly"
},
{
"name": "results",
"number": 2,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ProductSearchResults.Result",
"jsonName": "results"
}
]
}
]
}
],
"options": {
"javaPackage": "com.google.cloud.vision.v1p4beta1",
"javaOuterClassname": "ProductSearchProto",
"javaMultipleFiles": true,
"goPackage": "google.golang.org/genproto/googleapis/cloud/vision/v1p4beta1;vision",
"ccEnableArenas": true,
"objcClassPrefix": "GCVN"
},
"syntax": "proto3"
},
{
"name": "google/cloud/vision/v1p4beta1/text_annotation.proto",
"package": "google.cloud.vision.v1p4beta1",
"dependency": [
"google/api/annotations.proto",
"google/cloud/vision/v1p4beta1/geometry.proto"
],
"messageType": [
{
"name": "TextAnnotation",
"field": [
{
"name": "pages",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Page",
"jsonName": "pages"
},
{
"name": "text",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "text"
}
],
"nestedType": [
{
"name": "DetectedLanguage",
"field": [
{
"name": "language_code",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "languageCode"
},
{
"name": "confidence",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "confidence"
}
]
},
{
"name": "DetectedBreak",
"field": [
{
"name": "type",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.BreakType",
"jsonName": "type"
},
{
"name": "is_prefix",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_BOOL",
"jsonName": "isPrefix"
}
],
"enumType": [
{
"name": "BreakType",
"value": [
{
"name": "UNKNOWN",
"number": 0
},
{
"name": "SPACE",
"number": 1
},
{
"name": "SURE_SPACE",
"number": 2
},
{
"name": "EOL_SURE_SPACE",
"number": 3
},
{
"name": "HYPHEN",
"number": 4
},
{
"name": "LINE_BREAK",
"number": 5
}
]
}
]
},
{
"name": "TextProperty",
"field": [
{
"name": "detected_languages",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage",
"jsonName": "detectedLanguages"
},
{
"name": "detected_break",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak",
"jsonName": "detectedBreak"
}
]
}
]
},
{
"name": "Page",
"field": [
{
"name": "property",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty",
"jsonName": "property"
},
{
"name": "width",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_INT32",
"jsonName": "width"
},
{
"name": "height",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_INT32",
"jsonName": "height"
},
{
"name": "blocks",
"number": 4,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Block",
"jsonName": "blocks"
},
{
"name": "confidence",
"number": 5,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "confidence"
}
]
},
{
"name": "Block",
"field": [
{
"name": "property",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty",
"jsonName": "property"
},
{
"name": "bounding_box",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.BoundingPoly",
"jsonName": "boundingBox"
},
{
"name": "paragraphs",
"number": 3,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Paragraph",
"jsonName": "paragraphs"
},
{
"name": "block_type",
"number": 4,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.Block.BlockType",
"jsonName": "blockType"
},
{
"name": "confidence",
"number": 5,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "confidence"
}
],
"enumType": [
{
"name": "BlockType",
"value": [
{
"name": "UNKNOWN",
"number": 0
},
{
"name": "TEXT",
"number": 1
},
{
"name": "TABLE",
"number": 2
},
{
"name": "PICTURE",
"number": 3
},
{
"name": "RULER",
"number": 4
},
{
"name": "BARCODE",
"number": 5
}
]
}
]
},
{
"name": "Paragraph",
"field": [
{
"name": "property",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty",
"jsonName": "property"
},
{
"name": "bounding_box",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.BoundingPoly",
"jsonName": "boundingBox"
},
{
"name": "words",
"number": 3,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Word",
"jsonName": "words"
},
{
"name": "confidence",
"number": 4,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "confidence"
}
]
},
{
"name": "Word",
"field": [
{
"name": "property",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty",
"jsonName": "property"
},
{
"name": "bounding_box",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.BoundingPoly",
"jsonName": "boundingBox"
},
{
"name": "symbols",
"number": 3,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Symbol",
"jsonName": "symbols"
},
{
"name": "confidence",
"number": 4,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "confidence"
}
]
},
{
"name": "Symbol",
"field": [
{
"name": "property",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty",
"jsonName": "property"
},
{
"name": "bounding_box",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.BoundingPoly",
"jsonName": "boundingBox"
},
{
"name": "text",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "text"
},
{
"name": "confidence",
"number": 4,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "confidence"
}
]
}
],
"options": {
"javaPackage": "com.google.cloud.vision.v1p4beta1",
"javaOuterClassname": "TextAnnotationProto",
"javaMultipleFiles": true,
"goPackage": "google.golang.org/genproto/googleapis/cloud/vision/v1p4beta1;vision",
"ccEnableArenas": true,
"objcClassPrefix": "GCVN"
},
"syntax": "proto3"
},
{
"name": "google/cloud/vision/v1p4beta1/web_detection.proto",
"package": "google.cloud.vision.v1p4beta1",
"dependency": [
"google/api/annotations.proto"
],
"messageType": [
{
"name": "WebDetection",
"field": [
{
"name": "web_entities",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.WebDetection.WebEntity",
"jsonName": "webEntities"
},
{
"name": "full_matching_images",
"number": 2,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.WebDetection.WebImage",
"jsonName": "fullMatchingImages"
},
{
"name": "partial_matching_images",
"number": 3,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.WebDetection.WebImage",
"jsonName": "partialMatchingImages"
},
{
"name": "pages_with_matching_images",
"number": 4,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.WebDetection.WebPage",
"jsonName": "pagesWithMatchingImages"
},
{
"name": "visually_similar_images",
"number": 6,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.WebDetection.WebImage",
"jsonName": "visuallySimilarImages"
},
{
"name": "best_guess_labels",
"number": 8,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.WebDetection.WebLabel",
"jsonName": "bestGuessLabels"
}
],
"nestedType": [
{
"name": "WebEntity",
"field": [
{
"name": "entity_id",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "entityId"
},
{
"name": "score",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "score"
},
{
"name": "description",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "description"
}
]
},
{
"name": "WebImage",
"field": [
{
"name": "url",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "url"
},
{
"name": "score",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "score"
}
]
},
{
"name": "WebLabel",
"field": [
{
"name": "label",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "label"
},
{
"name": "language_code",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "languageCode"
}
]
},
{
"name": "WebPage",
"field": [
{
"name": "url",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "url"
},
{
"name": "score",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "score"
},
{
"name": "page_title",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "pageTitle"
},
{
"name": "full_matching_images",
"number": 4,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.WebDetection.WebImage",
"jsonName": "fullMatchingImages"
},
{
"name": "partial_matching_images",
"number": 5,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.WebDetection.WebImage",
"jsonName": "partialMatchingImages"
}
]
}
]
}
],
"options": {
"javaPackage": "com.google.cloud.vision.v1p4beta1",
"javaOuterClassname": "WebDetectionProto",
"javaMultipleFiles": true,
"goPackage": "google.golang.org/genproto/googleapis/cloud/vision/v1p4beta1;vision",
"ccEnableArenas": true,
"objcClassPrefix": "GCVN"
},
"syntax": "proto3"
},
{
"name": "google/cloud/vision/v1p4beta1/image_annotator.proto",
"package": "google.cloud.vision.v1p4beta1",
"dependency": [
"google/api/annotations.proto",
"google/cloud/vision/v1p4beta1/geometry.proto",
"google/cloud/vision/v1p4beta1/product_search.proto",
"google/cloud/vision/v1p4beta1/text_annotation.proto",
"google/cloud/vision/v1p4beta1/web_detection.proto",
"google/longrunning/operations.proto",
"google/protobuf/field_mask.proto",
"google/protobuf/timestamp.proto",
"google/rpc/status.proto",
"google/type/color.proto",
"google/type/latlng.proto"
],
"messageType": [
{
"name": "Feature",
"field": [
{
"name": "type",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.Feature.Type",
"jsonName": "type"
},
{
"name": "max_results",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_INT32",
"jsonName": "maxResults"
},
{
"name": "model",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "model"
}
],
"enumType": [
{
"name": "Type",
"value": [
{
"name": "TYPE_UNSPECIFIED",
"number": 0
},
{
"name": "FACE_DETECTION",
"number": 1
},
{
"name": "LANDMARK_DETECTION",
"number": 2
},
{
"name": "LOGO_DETECTION",
"number": 3
},
{
"name": "LABEL_DETECTION",
"number": 4
},
{
"name": "TEXT_DETECTION",
"number": 5
},
{
"name": "DOCUMENT_TEXT_DETECTION",
"number": 11
},
{
"name": "SAFE_SEARCH_DETECTION",
"number": 6
},
{
"name": "IMAGE_PROPERTIES",
"number": 7
},
{
"name": "CROP_HINTS",
"number": 9
},
{
"name": "WEB_DETECTION",
"number": 10
},
{
"name": "PRODUCT_SEARCH",
"number": 12
},
{
"name": "OBJECT_LOCALIZATION",
"number": 19
}
]
}
]
},
{
"name": "ImageSource",
"field": [
{
"name": "gcs_image_uri",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "gcsImageUri"
},
{
"name": "image_uri",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "imageUri"
}
]
},
{
"name": "Image",
"field": [
{
"name": "content",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_BYTES",
"jsonName": "content"
},
{
"name": "source",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ImageSource",
"jsonName": "source"
}
]
},
{
"name": "FaceAnnotation",
"field": [
{
"name": "bounding_poly",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.BoundingPoly",
"jsonName": "boundingPoly"
},
{
"name": "fd_bounding_poly",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.BoundingPoly",
"jsonName": "fdBoundingPoly"
},
{
"name": "landmarks",
"number": 3,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark",
"jsonName": "landmarks"
},
{
"name": "roll_angle",
"number": 4,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "rollAngle"
},
{
"name": "pan_angle",
"number": 5,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "panAngle"
},
{
"name": "tilt_angle",
"number": 6,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "tiltAngle"
},
{
"name": "detection_confidence",
"number": 7,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "detectionConfidence"
},
{
"name": "landmarking_confidence",
"number": 8,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "landmarkingConfidence"
},
{
"name": "joy_likelihood",
"number": 9,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.Likelihood",
"jsonName": "joyLikelihood"
},
{
"name": "sorrow_likelihood",
"number": 10,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.Likelihood",
"jsonName": "sorrowLikelihood"
},
{
"name": "anger_likelihood",
"number": 11,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.Likelihood",
"jsonName": "angerLikelihood"
},
{
"name": "surprise_likelihood",
"number": 12,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.Likelihood",
"jsonName": "surpriseLikelihood"
},
{
"name": "under_exposed_likelihood",
"number": 13,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.Likelihood",
"jsonName": "underExposedLikelihood"
},
{
"name": "blurred_likelihood",
"number": 14,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.Likelihood",
"jsonName": "blurredLikelihood"
},
{
"name": "headwear_likelihood",
"number": 15,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.Likelihood",
"jsonName": "headwearLikelihood"
}
],
"nestedType": [
{
"name": "Landmark",
"field": [
{
"name": "type",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type",
"jsonName": "type"
},
{
"name": "position",
"number": 4,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Position",
"jsonName": "position"
}
],
"enumType": [
{
"name": "Type",
"value": [
{
"name": "UNKNOWN_LANDMARK",
"number": 0
},
{
"name": "LEFT_EYE",
"number": 1
},
{
"name": "RIGHT_EYE",
"number": 2
},
{
"name": "LEFT_OF_LEFT_EYEBROW",
"number": 3
},
{
"name": "RIGHT_OF_LEFT_EYEBROW",
"number": 4
},
{
"name": "LEFT_OF_RIGHT_EYEBROW",
"number": 5
},
{
"name": "RIGHT_OF_RIGHT_EYEBROW",
"number": 6
},
{
"name": "MIDPOINT_BETWEEN_EYES",
"number": 7
},
{
"name": "NOSE_TIP",
"number": 8
},
{
"name": "UPPER_LIP",
"number": 9
},
{
"name": "LOWER_LIP",
"number": 10
},
{
"name": "MOUTH_LEFT",
"number": 11
},
{
"name": "MOUTH_RIGHT",
"number": 12
},
{
"name": "MOUTH_CENTER",
"number": 13
},
{
"name": "NOSE_BOTTOM_RIGHT",
"number": 14
},
{
"name": "NOSE_BOTTOM_LEFT",
"number": 15
},
{
"name": "NOSE_BOTTOM_CENTER",
"number": 16
},
{
"name": "LEFT_EYE_TOP_BOUNDARY",
"number": 17
},
{
"name": "LEFT_EYE_RIGHT_CORNER",
"number": 18
},
{
"name": "LEFT_EYE_BOTTOM_BOUNDARY",
"number": 19
},
{
"name": "LEFT_EYE_LEFT_CORNER",
"number": 20
},
{
"name": "RIGHT_EYE_TOP_BOUNDARY",
"number": 21
},
{
"name": "RIGHT_EYE_RIGHT_CORNER",
"number": 22
},
{
"name": "RIGHT_EYE_BOTTOM_BOUNDARY",
"number": 23
},
{
"name": "RIGHT_EYE_LEFT_CORNER",
"number": 24
},
{
"name": "LEFT_EYEBROW_UPPER_MIDPOINT",
"number": 25
},
{
"name": "RIGHT_EYEBROW_UPPER_MIDPOINT",
"number": 26
},
{
"name": "LEFT_EAR_TRAGION",
"number": 27
},
{
"name": "RIGHT_EAR_TRAGION",
"number": 28
},
{
"name": "LEFT_EYE_PUPIL",
"number": 29
},
{
"name": "RIGHT_EYE_PUPIL",
"number": 30
},
{
"name": "FOREHEAD_GLABELLA",
"number": 31
},
{
"name": "CHIN_GNATHION",
"number": 32
},
{
"name": "CHIN_LEFT_GONION",
"number": 33
},
{
"name": "CHIN_RIGHT_GONION",
"number": 34
}
]
}
]
}
]
},
{
"name": "LocationInfo",
"field": [
{
"name": "lat_lng",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.type.LatLng",
"jsonName": "latLng"
}
]
},
{
"name": "Property",
"field": [
{
"name": "name",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "name"
},
{
"name": "value",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "value"
},
{
"name": "uint64_value",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_UINT64",
"jsonName": "uint64Value"
}
]
},
{
"name": "EntityAnnotation",
"field": [
{
"name": "mid",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "mid"
},
{
"name": "locale",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "locale"
},
{
"name": "description",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "description"
},
{
"name": "score",
"number": 4,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "score"
},
{
"name": "confidence",
"number": 5,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "confidence",
"options": {
"deprecated": true
}
},
{
"name": "topicality",
"number": 6,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "topicality"
},
{
"name": "bounding_poly",
"number": 7,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.BoundingPoly",
"jsonName": "boundingPoly"
},
{
"name": "locations",
"number": 8,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.LocationInfo",
"jsonName": "locations"
},
{
"name": "properties",
"number": 9,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Property",
"jsonName": "properties"
}
]
},
{
"name": "LocalizedObjectAnnotation",
"field": [
{
"name": "mid",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "mid"
},
{
"name": "language_code",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "languageCode"
},
{
"name": "name",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "name"
},
{
"name": "score",
"number": 4,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "score"
},
{
"name": "bounding_poly",
"number": 5,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.BoundingPoly",
"jsonName": "boundingPoly"
}
]
},
{
"name": "SafeSearchAnnotation",
"field": [
{
"name": "adult",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.Likelihood",
"jsonName": "adult"
},
{
"name": "spoof",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.Likelihood",
"jsonName": "spoof"
},
{
"name": "medical",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.Likelihood",
"jsonName": "medical"
},
{
"name": "violence",
"number": 4,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.Likelihood",
"jsonName": "violence"
},
{
"name": "racy",
"number": 9,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.Likelihood",
"jsonName": "racy"
}
]
},
{
"name": "LatLongRect",
"field": [
{
"name": "min_lat_lng",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.type.LatLng",
"jsonName": "minLatLng"
},
{
"name": "max_lat_lng",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.type.LatLng",
"jsonName": "maxLatLng"
}
]
},
{
"name": "ColorInfo",
"field": [
{
"name": "color",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.type.Color",
"jsonName": "color"
},
{
"name": "score",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "score"
},
{
"name": "pixel_fraction",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "pixelFraction"
}
]
},
{
"name": "DominantColorsAnnotation",
"field": [
{
"name": "colors",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ColorInfo",
"jsonName": "colors"
}
]
},
{
"name": "ImageProperties",
"field": [
{
"name": "dominant_colors",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.DominantColorsAnnotation",
"jsonName": "dominantColors"
}
]
},
{
"name": "CropHint",
"field": [
{
"name": "bounding_poly",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.BoundingPoly",
"jsonName": "boundingPoly"
},
{
"name": "confidence",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "confidence"
},
{
"name": "importance_fraction",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "importanceFraction"
}
]
},
{
"name": "CropHintsAnnotation",
"field": [
{
"name": "crop_hints",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.CropHint",
"jsonName": "cropHints"
}
]
},
{
"name": "CropHintsParams",
"field": [
{
"name": "aspect_ratios",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_FLOAT",
"jsonName": "aspectRatios"
}
]
},
{
"name": "WebDetectionParams",
"field": [
{
"name": "include_geo_results",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_BOOL",
"jsonName": "includeGeoResults"
}
]
},
{
"name": "ImageContext",
"field": [
{
"name": "lat_long_rect",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.LatLongRect",
"jsonName": "latLongRect"
},
{
"name": "language_hints",
"number": 2,
"label": "LABEL_REPEATED",
"type": "TYPE_STRING",
"jsonName": "languageHints"
},
{
"name": "crop_hints_params",
"number": 4,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.CropHintsParams",
"jsonName": "cropHintsParams"
},
{
"name": "product_search_params",
"number": 5,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ProductSearchParams",
"jsonName": "productSearchParams"
},
{
"name": "web_detection_params",
"number": 6,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.WebDetectionParams",
"jsonName": "webDetectionParams"
}
]
},
{
"name": "AnnotateImageRequest",
"field": [
{
"name": "image",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Image",
"jsonName": "image"
},
{
"name": "features",
"number": 2,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Feature",
"jsonName": "features"
},
{
"name": "image_context",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ImageContext",
"jsonName": "imageContext"
}
]
},
{
"name": "ImageAnnotationContext",
"field": [
{
"name": "uri",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "uri"
},
{
"name": "page_number",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_INT32",
"jsonName": "pageNumber"
}
]
},
{
"name": "AnnotateImageResponse",
"field": [
{
"name": "face_annotations",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.FaceAnnotation",
"jsonName": "faceAnnotations"
},
{
"name": "landmark_annotations",
"number": 2,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.EntityAnnotation",
"jsonName": "landmarkAnnotations"
},
{
"name": "logo_annotations",
"number": 3,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.EntityAnnotation",
"jsonName": "logoAnnotations"
},
{
"name": "label_annotations",
"number": 4,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.EntityAnnotation",
"jsonName": "labelAnnotations"
},
{
"name": "localized_object_annotations",
"number": 22,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation",
"jsonName": "localizedObjectAnnotations"
},
{
"name": "text_annotations",
"number": 5,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.EntityAnnotation",
"jsonName": "textAnnotations"
},
{
"name": "full_text_annotation",
"number": 12,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.TextAnnotation",
"jsonName": "fullTextAnnotation"
},
{
"name": "safe_search_annotation",
"number": 6,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.SafeSearchAnnotation",
"jsonName": "safeSearchAnnotation"
},
{
"name": "image_properties_annotation",
"number": 8,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ImageProperties",
"jsonName": "imagePropertiesAnnotation"
},
{
"name": "crop_hints_annotation",
"number": 11,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.CropHintsAnnotation",
"jsonName": "cropHintsAnnotation"
},
{
"name": "web_detection",
"number": 13,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.WebDetection",
"jsonName": "webDetection"
},
{
"name": "product_search_results",
"number": 14,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ProductSearchResults",
"jsonName": "productSearchResults"
},
{
"name": "error",
"number": 9,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.rpc.Status",
"jsonName": "error"
},
{
"name": "context",
"number": 21,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ImageAnnotationContext",
"jsonName": "context"
}
]
},
{
"name": "AnnotateFileResponse",
"field": [
{
"name": "input_config",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.InputConfig",
"jsonName": "inputConfig"
},
{
"name": "responses",
"number": 2,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.AnnotateImageResponse",
"jsonName": "responses"
},
{
"name": "total_pages",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_INT32",
"jsonName": "totalPages"
}
]
},
{
"name": "BatchAnnotateImagesRequest",
"field": [
{
"name": "requests",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.AnnotateImageRequest",
"jsonName": "requests"
}
]
},
{
"name": "BatchAnnotateImagesResponse",
"field": [
{
"name": "responses",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.AnnotateImageResponse",
"jsonName": "responses"
}
]
},
{
"name": "AnnotateFileRequest",
"field": [
{
"name": "input_config",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.InputConfig",
"jsonName": "inputConfig"
},
{
"name": "features",
"number": 2,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Feature",
"jsonName": "features"
},
{
"name": "image_context",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ImageContext",
"jsonName": "imageContext"
},
{
"name": "pages",
"number": 4,
"label": "LABEL_REPEATED",
"type": "TYPE_INT32",
"jsonName": "pages"
}
]
},
{
"name": "BatchAnnotateFilesRequest",
"field": [
{
"name": "requests",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.AnnotateFileRequest",
"jsonName": "requests"
}
]
},
{
"name": "BatchAnnotateFilesResponse",
"field": [
{
"name": "responses",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.AnnotateFileResponse",
"jsonName": "responses"
}
]
},
{
"name": "AsyncAnnotateFileRequest",
"field": [
{
"name": "input_config",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.InputConfig",
"jsonName": "inputConfig"
},
{
"name": "features",
"number": 2,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Feature",
"jsonName": "features"
},
{
"name": "image_context",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ImageContext",
"jsonName": "imageContext"
},
{
"name": "output_config",
"number": 4,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.OutputConfig",
"jsonName": "outputConfig"
}
]
},
{
"name": "AsyncAnnotateFileResponse",
"field": [
{
"name": "output_config",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.OutputConfig",
"jsonName": "outputConfig"
}
]
},
{
"name": "AsyncBatchAnnotateImagesRequest",
"field": [
{
"name": "requests",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.AnnotateImageRequest",
"jsonName": "requests"
},
{
"name": "output_config",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.OutputConfig",
"jsonName": "outputConfig"
}
]
},
{
"name": "AsyncBatchAnnotateImagesResponse",
"field": [
{
"name": "output_config",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.OutputConfig",
"jsonName": "outputConfig"
}
]
},
{
"name": "AsyncBatchAnnotateFilesRequest",
"field": [
{
"name": "requests",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest",
"jsonName": "requests"
}
]
},
{
"name": "AsyncBatchAnnotateFilesResponse",
"field": [
{
"name": "responses",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse",
"jsonName": "responses"
}
]
},
{
"name": "InputConfig",
"field": [
{
"name": "gcs_source",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.GcsSource",
"jsonName": "gcsSource"
},
{
"name": "content",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_BYTES",
"jsonName": "content"
},
{
"name": "mime_type",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "mimeType"
}
]
},
{
"name": "OutputConfig",
"field": [
{
"name": "gcs_destination",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.GcsDestination",
"jsonName": "gcsDestination"
},
{
"name": "batch_size",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_INT32",
"jsonName": "batchSize"
}
]
},
{
"name": "GcsSource",
"field": [
{
"name": "uri",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "uri"
}
]
},
{
"name": "GcsDestination",
"field": [
{
"name": "uri",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "uri"
}
]
},
{
"name": "OperationMetadata",
"field": [
{
"name": "state",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.OperationMetadata.State",
"jsonName": "state"
},
{
"name": "create_time",
"number": 5,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.protobuf.Timestamp",
"jsonName": "createTime"
},
{
"name": "update_time",
"number": 6,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.protobuf.Timestamp",
"jsonName": "updateTime"
}
],
"enumType": [
{
"name": "State",
"value": [
{
"name": "STATE_UNSPECIFIED",
"number": 0
},
{
"name": "CREATED",
"number": 1
},
{
"name": "RUNNING",
"number": 2
},
{
"name": "DONE",
"number": 3
},
{
"name": "CANCELLED",
"number": 4
}
]
}
]
}
],
"enumType": [
{
"name": "Likelihood",
"value": [
{
"name": "UNKNOWN",
"number": 0
},
{
"name": "VERY_UNLIKELY",
"number": 1
},
{
"name": "UNLIKELY",
"number": 2
},
{
"name": "POSSIBLE",
"number": 3
},
{
"name": "LIKELY",
"number": 4
},
{
"name": "VERY_LIKELY",
"number": 5
}
]
}
],
"service": [
{
"name": "ImageAnnotator",
"method": [
{
"name": "BatchAnnotateImages",
"inputType": ".google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest",
"outputType": ".google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse",
"options": {
}
},
{
"name": "BatchAnnotateFiles",
"inputType": ".google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest",
"outputType": ".google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse",
"options": {
}
},
{
"name": "AsyncBatchAnnotateImages",
"inputType": ".google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest",
"outputType": ".google.longrunning.Operation",
"options": {
}
},
{
"name": "AsyncBatchAnnotateFiles",
"inputType": ".google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest",
"outputType": ".google.longrunning.Operation",
"options": {
}
}
]
}
],
"options": {
"javaPackage": "com.google.cloud.vision.v1p4beta1",
"javaOuterClassname": "ImageAnnotatorProto",
"javaMultipleFiles": true,
"goPackage": "google.golang.org/genproto/googleapis/cloud/vision/v1p4beta1;vision",
"ccEnableArenas": true,
"objcClassPrefix": "GCVN"
},
"syntax": "proto3"
}
]
}
goprotoc
FileDescriptorSet JSON dump:
{
"file": [
{
"name": "google/cloud/vision/v1p4beta1/geometry.proto",
"package": "google.cloud.vision.v1p4beta1",
"dependency": [
"google/api/annotations.proto"
],
"messageType": [
{
"name": "Vertex",
"field": [
{
"name": "x",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_INT32",
"jsonName": "x"
},
{
"name": "y",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_INT32",
"jsonName": "y"
}
]
},
{
"name": "NormalizedVertex",
"field": [
{
"name": "x",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "x"
},
{
"name": "y",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "y"
}
]
},
{
"name": "BoundingPoly",
"field": [
{
"name": "vertices",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Vertex",
"jsonName": "vertices"
},
{
"name": "normalized_vertices",
"number": 2,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.NormalizedVertex",
"jsonName": "normalizedVertices"
}
]
},
{
"name": "Position",
"field": [
{
"name": "x",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "x"
},
{
"name": "y",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "y"
},
{
"name": "z",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "z"
}
]
}
],
"options": {
"javaPackage": "com.google.cloud.vision.v1p4beta1",
"javaOuterClassname": "GeometryProto",
"javaMultipleFiles": true,
"goPackage": "google.golang.org/genproto/googleapis/cloud/vision/v1p4beta1;vision",
"ccEnableArenas": true,
"objcClassPrefix": "GCVN"
},
"syntax": "proto3"
},
{
"name": "google/cloud/vision/v1p4beta1/image_annotator.proto",
"package": "google.cloud.vision.v1p4beta1",
"dependency": [
"google/api/annotations.proto",
"google/cloud/vision/v1p4beta1/geometry.proto",
"google/cloud/vision/v1p4beta1/product_search.proto",
"google/cloud/vision/v1p4beta1/text_annotation.proto",
"google/cloud/vision/v1p4beta1/web_detection.proto",
"google/longrunning/operations.proto",
"google/protobuf/field_mask.proto",
"google/protobuf/timestamp.proto",
"google/rpc/status.proto",
"google/type/color.proto",
"google/type/latlng.proto"
],
"messageType": [
{
"name": "Feature",
"field": [
{
"name": "type",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.Feature.Type",
"jsonName": "type"
},
{
"name": "max_results",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_INT32",
"jsonName": "maxResults"
},
{
"name": "model",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "model"
}
],
"enumType": [
{
"name": "Type",
"value": [
{
"name": "TYPE_UNSPECIFIED",
"number": 0
},
{
"name": "FACE_DETECTION",
"number": 1
},
{
"name": "LANDMARK_DETECTION",
"number": 2
},
{
"name": "LOGO_DETECTION",
"number": 3
},
{
"name": "LABEL_DETECTION",
"number": 4
},
{
"name": "TEXT_DETECTION",
"number": 5
},
{
"name": "DOCUMENT_TEXT_DETECTION",
"number": 11
},
{
"name": "SAFE_SEARCH_DETECTION",
"number": 6
},
{
"name": "IMAGE_PROPERTIES",
"number": 7
},
{
"name": "CROP_HINTS",
"number": 9
},
{
"name": "WEB_DETECTION",
"number": 10
},
{
"name": "PRODUCT_SEARCH",
"number": 12
},
{
"name": "OBJECT_LOCALIZATION",
"number": 19
}
]
}
]
},
{
"name": "ImageSource",
"field": [
{
"name": "gcs_image_uri",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "gcsImageUri"
},
{
"name": "image_uri",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "imageUri"
}
]
},
{
"name": "Image",
"field": [
{
"name": "content",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_BYTES",
"jsonName": "content"
},
{
"name": "source",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ImageSource",
"jsonName": "source"
}
]
},
{
"name": "FaceAnnotation",
"field": [
{
"name": "bounding_poly",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.BoundingPoly",
"jsonName": "boundingPoly"
},
{
"name": "fd_bounding_poly",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.BoundingPoly",
"jsonName": "fdBoundingPoly"
},
{
"name": "landmarks",
"number": 3,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark",
"jsonName": "landmarks"
},
{
"name": "roll_angle",
"number": 4,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "rollAngle"
},
{
"name": "pan_angle",
"number": 5,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "panAngle"
},
{
"name": "tilt_angle",
"number": 6,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "tiltAngle"
},
{
"name": "detection_confidence",
"number": 7,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "detectionConfidence"
},
{
"name": "landmarking_confidence",
"number": 8,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "landmarkingConfidence"
},
{
"name": "joy_likelihood",
"number": 9,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.Likelihood",
"jsonName": "joyLikelihood"
},
{
"name": "sorrow_likelihood",
"number": 10,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.Likelihood",
"jsonName": "sorrowLikelihood"
},
{
"name": "anger_likelihood",
"number": 11,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.Likelihood",
"jsonName": "angerLikelihood"
},
{
"name": "surprise_likelihood",
"number": 12,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.Likelihood",
"jsonName": "surpriseLikelihood"
},
{
"name": "under_exposed_likelihood",
"number": 13,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.Likelihood",
"jsonName": "underExposedLikelihood"
},
{
"name": "blurred_likelihood",
"number": 14,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.Likelihood",
"jsonName": "blurredLikelihood"
},
{
"name": "headwear_likelihood",
"number": 15,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.Likelihood",
"jsonName": "headwearLikelihood"
}
],
"nestedType": [
{
"name": "Landmark",
"field": [
{
"name": "type",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type",
"jsonName": "type"
},
{
"name": "position",
"number": 4,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Position",
"jsonName": "position"
}
],
"enumType": [
{
"name": "Type",
"value": [
{
"name": "UNKNOWN_LANDMARK",
"number": 0
},
{
"name": "LEFT_EYE",
"number": 1
},
{
"name": "RIGHT_EYE",
"number": 2
},
{
"name": "LEFT_OF_LEFT_EYEBROW",
"number": 3
},
{
"name": "RIGHT_OF_LEFT_EYEBROW",
"number": 4
},
{
"name": "LEFT_OF_RIGHT_EYEBROW",
"number": 5
},
{
"name": "RIGHT_OF_RIGHT_EYEBROW",
"number": 6
},
{
"name": "MIDPOINT_BETWEEN_EYES",
"number": 7
},
{
"name": "NOSE_TIP",
"number": 8
},
{
"name": "UPPER_LIP",
"number": 9
},
{
"name": "LOWER_LIP",
"number": 10
},
{
"name": "MOUTH_LEFT",
"number": 11
},
{
"name": "MOUTH_RIGHT",
"number": 12
},
{
"name": "MOUTH_CENTER",
"number": 13
},
{
"name": "NOSE_BOTTOM_RIGHT",
"number": 14
},
{
"name": "NOSE_BOTTOM_LEFT",
"number": 15
},
{
"name": "NOSE_BOTTOM_CENTER",
"number": 16
},
{
"name": "LEFT_EYE_TOP_BOUNDARY",
"number": 17
},
{
"name": "LEFT_EYE_RIGHT_CORNER",
"number": 18
},
{
"name": "LEFT_EYE_BOTTOM_BOUNDARY",
"number": 19
},
{
"name": "LEFT_EYE_LEFT_CORNER",
"number": 20
},
{
"name": "RIGHT_EYE_TOP_BOUNDARY",
"number": 21
},
{
"name": "RIGHT_EYE_RIGHT_CORNER",
"number": 22
},
{
"name": "RIGHT_EYE_BOTTOM_BOUNDARY",
"number": 23
},
{
"name": "RIGHT_EYE_LEFT_CORNER",
"number": 24
},
{
"name": "LEFT_EYEBROW_UPPER_MIDPOINT",
"number": 25
},
{
"name": "RIGHT_EYEBROW_UPPER_MIDPOINT",
"number": 26
},
{
"name": "LEFT_EAR_TRAGION",
"number": 27
},
{
"name": "RIGHT_EAR_TRAGION",
"number": 28
},
{
"name": "LEFT_EYE_PUPIL",
"number": 29
},
{
"name": "RIGHT_EYE_PUPIL",
"number": 30
},
{
"name": "FOREHEAD_GLABELLA",
"number": 31
},
{
"name": "CHIN_GNATHION",
"number": 32
},
{
"name": "CHIN_LEFT_GONION",
"number": 33
},
{
"name": "CHIN_RIGHT_GONION",
"number": 34
}
]
}
]
}
]
},
{
"name": "LocationInfo",
"field": [
{
"name": "lat_lng",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.type.LatLng",
"jsonName": "latLng"
}
]
},
{
"name": "Property",
"field": [
{
"name": "name",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "name"
},
{
"name": "value",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "value"
},
{
"name": "uint64_value",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_UINT64",
"jsonName": "uint64Value"
}
]
},
{
"name": "EntityAnnotation",
"field": [
{
"name": "mid",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "mid"
},
{
"name": "locale",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "locale"
},
{
"name": "description",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "description"
},
{
"name": "score",
"number": 4,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "score"
},
{
"name": "confidence",
"number": 5,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "confidence",
"options": {
"deprecated": true
}
},
{
"name": "topicality",
"number": 6,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "topicality"
},
{
"name": "bounding_poly",
"number": 7,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.BoundingPoly",
"jsonName": "boundingPoly"
},
{
"name": "locations",
"number": 8,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.LocationInfo",
"jsonName": "locations"
},
{
"name": "properties",
"number": 9,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Property",
"jsonName": "properties"
}
]
},
{
"name": "LocalizedObjectAnnotation",
"field": [
{
"name": "mid",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "mid"
},
{
"name": "language_code",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "languageCode"
},
{
"name": "name",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "name"
},
{
"name": "score",
"number": 4,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "score"
},
{
"name": "bounding_poly",
"number": 5,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.BoundingPoly",
"jsonName": "boundingPoly"
}
]
},
{
"name": "SafeSearchAnnotation",
"field": [
{
"name": "adult",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.Likelihood",
"jsonName": "adult"
},
{
"name": "spoof",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.Likelihood",
"jsonName": "spoof"
},
{
"name": "medical",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.Likelihood",
"jsonName": "medical"
},
{
"name": "violence",
"number": 4,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.Likelihood",
"jsonName": "violence"
},
{
"name": "racy",
"number": 9,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.Likelihood",
"jsonName": "racy"
}
]
},
{
"name": "LatLongRect",
"field": [
{
"name": "min_lat_lng",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.type.LatLng",
"jsonName": "minLatLng"
},
{
"name": "max_lat_lng",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.type.LatLng",
"jsonName": "maxLatLng"
}
]
},
{
"name": "ColorInfo",
"field": [
{
"name": "color",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.type.Color",
"jsonName": "color"
},
{
"name": "score",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "score"
},
{
"name": "pixel_fraction",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "pixelFraction"
}
]
},
{
"name": "DominantColorsAnnotation",
"field": [
{
"name": "colors",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ColorInfo",
"jsonName": "colors"
}
]
},
{
"name": "ImageProperties",
"field": [
{
"name": "dominant_colors",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.DominantColorsAnnotation",
"jsonName": "dominantColors"
}
]
},
{
"name": "CropHint",
"field": [
{
"name": "bounding_poly",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.BoundingPoly",
"jsonName": "boundingPoly"
},
{
"name": "confidence",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "confidence"
},
{
"name": "importance_fraction",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "importanceFraction"
}
]
},
{
"name": "CropHintsAnnotation",
"field": [
{
"name": "crop_hints",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.CropHint",
"jsonName": "cropHints"
}
]
},
{
"name": "CropHintsParams",
"field": [
{
"name": "aspect_ratios",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_FLOAT",
"jsonName": "aspectRatios"
}
]
},
{
"name": "WebDetectionParams",
"field": [
{
"name": "include_geo_results",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_BOOL",
"jsonName": "includeGeoResults"
}
]
},
{
"name": "ImageContext",
"field": [
{
"name": "lat_long_rect",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.LatLongRect",
"jsonName": "latLongRect"
},
{
"name": "language_hints",
"number": 2,
"label": "LABEL_REPEATED",
"type": "TYPE_STRING",
"jsonName": "languageHints"
},
{
"name": "crop_hints_params",
"number": 4,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.CropHintsParams",
"jsonName": "cropHintsParams"
},
{
"name": "product_search_params",
"number": 5,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ProductSearchParams",
"jsonName": "productSearchParams"
},
{
"name": "web_detection_params",
"number": 6,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.WebDetectionParams",
"jsonName": "webDetectionParams"
}
]
},
{
"name": "AnnotateImageRequest",
"field": [
{
"name": "image",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Image",
"jsonName": "image"
},
{
"name": "features",
"number": 2,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Feature",
"jsonName": "features"
},
{
"name": "image_context",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ImageContext",
"jsonName": "imageContext"
}
]
},
{
"name": "ImageAnnotationContext",
"field": [
{
"name": "uri",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "uri"
},
{
"name": "page_number",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_INT32",
"jsonName": "pageNumber"
}
]
},
{
"name": "AnnotateImageResponse",
"field": [
{
"name": "face_annotations",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.FaceAnnotation",
"jsonName": "faceAnnotations"
},
{
"name": "landmark_annotations",
"number": 2,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.EntityAnnotation",
"jsonName": "landmarkAnnotations"
},
{
"name": "logo_annotations",
"number": 3,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.EntityAnnotation",
"jsonName": "logoAnnotations"
},
{
"name": "label_annotations",
"number": 4,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.EntityAnnotation",
"jsonName": "labelAnnotations"
},
{
"name": "localized_object_annotations",
"number": 22,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation",
"jsonName": "localizedObjectAnnotations"
},
{
"name": "text_annotations",
"number": 5,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.EntityAnnotation",
"jsonName": "textAnnotations"
},
{
"name": "full_text_annotation",
"number": 12,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.TextAnnotation",
"jsonName": "fullTextAnnotation"
},
{
"name": "safe_search_annotation",
"number": 6,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.SafeSearchAnnotation",
"jsonName": "safeSearchAnnotation"
},
{
"name": "image_properties_annotation",
"number": 8,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ImageProperties",
"jsonName": "imagePropertiesAnnotation"
},
{
"name": "crop_hints_annotation",
"number": 11,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.CropHintsAnnotation",
"jsonName": "cropHintsAnnotation"
},
{
"name": "web_detection",
"number": 13,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.WebDetection",
"jsonName": "webDetection"
},
{
"name": "product_search_results",
"number": 14,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ProductSearchResults",
"jsonName": "productSearchResults"
},
{
"name": "error",
"number": 9,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.rpc.Status",
"jsonName": "error"
},
{
"name": "context",
"number": 21,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ImageAnnotationContext",
"jsonName": "context"
}
]
},
{
"name": "AnnotateFileResponse",
"field": [
{
"name": "input_config",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.InputConfig",
"jsonName": "inputConfig"
},
{
"name": "responses",
"number": 2,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.AnnotateImageResponse",
"jsonName": "responses"
},
{
"name": "total_pages",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_INT32",
"jsonName": "totalPages"
}
]
},
{
"name": "BatchAnnotateImagesRequest",
"field": [
{
"name": "requests",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.AnnotateImageRequest",
"jsonName": "requests"
}
]
},
{
"name": "BatchAnnotateImagesResponse",
"field": [
{
"name": "responses",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.AnnotateImageResponse",
"jsonName": "responses"
}
]
},
{
"name": "AnnotateFileRequest",
"field": [
{
"name": "input_config",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.InputConfig",
"jsonName": "inputConfig"
},
{
"name": "features",
"number": 2,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Feature",
"jsonName": "features"
},
{
"name": "image_context",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ImageContext",
"jsonName": "imageContext"
},
{
"name": "pages",
"number": 4,
"label": "LABEL_REPEATED",
"type": "TYPE_INT32",
"jsonName": "pages"
}
]
},
{
"name": "BatchAnnotateFilesRequest",
"field": [
{
"name": "requests",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.AnnotateFileRequest",
"jsonName": "requests"
}
]
},
{
"name": "BatchAnnotateFilesResponse",
"field": [
{
"name": "responses",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.AnnotateFileResponse",
"jsonName": "responses"
}
]
},
{
"name": "AsyncAnnotateFileRequest",
"field": [
{
"name": "input_config",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.InputConfig",
"jsonName": "inputConfig"
},
{
"name": "features",
"number": 2,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Feature",
"jsonName": "features"
},
{
"name": "image_context",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ImageContext",
"jsonName": "imageContext"
},
{
"name": "output_config",
"number": 4,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.OutputConfig",
"jsonName": "outputConfig"
}
]
},
{
"name": "AsyncAnnotateFileResponse",
"field": [
{
"name": "output_config",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.OutputConfig",
"jsonName": "outputConfig"
}
]
},
{
"name": "AsyncBatchAnnotateImagesRequest",
"field": [
{
"name": "requests",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.AnnotateImageRequest",
"jsonName": "requests"
},
{
"name": "output_config",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.OutputConfig",
"jsonName": "outputConfig"
}
]
},
{
"name": "AsyncBatchAnnotateImagesResponse",
"field": [
{
"name": "output_config",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.OutputConfig",
"jsonName": "outputConfig"
}
]
},
{
"name": "AsyncBatchAnnotateFilesRequest",
"field": [
{
"name": "requests",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest",
"jsonName": "requests"
}
]
},
{
"name": "AsyncBatchAnnotateFilesResponse",
"field": [
{
"name": "responses",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse",
"jsonName": "responses"
}
]
},
{
"name": "InputConfig",
"field": [
{
"name": "gcs_source",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.GcsSource",
"jsonName": "gcsSource"
},
{
"name": "content",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_BYTES",
"jsonName": "content"
},
{
"name": "mime_type",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "mimeType"
}
]
},
{
"name": "OutputConfig",
"field": [
{
"name": "gcs_destination",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.GcsDestination",
"jsonName": "gcsDestination"
},
{
"name": "batch_size",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_INT32",
"jsonName": "batchSize"
}
]
},
{
"name": "GcsSource",
"field": [
{
"name": "uri",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "uri"
}
]
},
{
"name": "GcsDestination",
"field": [
{
"name": "uri",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "uri"
}
]
},
{
"name": "OperationMetadata",
"field": [
{
"name": "state",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.OperationMetadata.State",
"jsonName": "state"
},
{
"name": "create_time",
"number": 5,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.protobuf.Timestamp",
"jsonName": "createTime"
},
{
"name": "update_time",
"number": 6,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.protobuf.Timestamp",
"jsonName": "updateTime"
}
],
"enumType": [
{
"name": "State",
"value": [
{
"name": "STATE_UNSPECIFIED",
"number": 0
},
{
"name": "CREATED",
"number": 1
},
{
"name": "RUNNING",
"number": 2
},
{
"name": "DONE",
"number": 3
},
{
"name": "CANCELLED",
"number": 4
}
]
}
]
}
],
"enumType": [
{
"name": "Likelihood",
"value": [
{
"name": "UNKNOWN",
"number": 0
},
{
"name": "VERY_UNLIKELY",
"number": 1
},
{
"name": "UNLIKELY",
"number": 2
},
{
"name": "POSSIBLE",
"number": 3
},
{
"name": "LIKELY",
"number": 4
},
{
"name": "VERY_LIKELY",
"number": 5
}
]
}
],
"service": [
{
"name": "ImageAnnotator",
"method": [
{
"name": "BatchAnnotateImages",
"inputType": ".google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest",
"outputType": ".google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse",
"options": {
}
},
{
"name": "BatchAnnotateFiles",
"inputType": ".google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest",
"outputType": ".google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse",
"options": {
}
},
{
"name": "AsyncBatchAnnotateImages",
"inputType": ".google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest",
"outputType": ".google.longrunning.Operation",
"options": {
}
},
{
"name": "AsyncBatchAnnotateFiles",
"inputType": ".google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest",
"outputType": ".google.longrunning.Operation",
"options": {
}
}
]
}
],
"options": {
"javaPackage": "com.google.cloud.vision.v1p4beta1",
"javaOuterClassname": "ImageAnnotatorProto",
"javaMultipleFiles": true,
"goPackage": "google.golang.org/genproto/googleapis/cloud/vision/v1p4beta1;vision",
"ccEnableArenas": true,
"objcClassPrefix": "GCVN"
},
"syntax": "proto3"
},
{
"name": "google/cloud/vision/v1p4beta1/product_search.proto",
"package": "google.cloud.vision.v1p4beta1",
"dependency": [
"google/api/annotations.proto",
"google/cloud/vision/v1p4beta1/geometry.proto",
"google/cloud/vision/v1p4beta1/product_search_service.proto",
"google/protobuf/timestamp.proto"
],
"messageType": [
{
"name": "ProductSearchParams",
"field": [
{
"name": "bounding_poly",
"number": 9,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.BoundingPoly",
"jsonName": "boundingPoly"
},
{
"name": "product_set",
"number": 6,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "productSet"
},
{
"name": "product_categories",
"number": 7,
"label": "LABEL_REPEATED",
"type": "TYPE_STRING",
"jsonName": "productCategories"
},
{
"name": "filter",
"number": 8,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "filter"
}
]
},
{
"name": "ProductSearchResults",
"field": [
{
"name": "index_time",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.protobuf.Timestamp",
"jsonName": "indexTime"
},
{
"name": "results",
"number": 5,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ProductSearchResults.Result",
"jsonName": "results"
},
{
"name": "product_grouped_results",
"number": 6,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult",
"jsonName": "productGroupedResults"
}
],
"nestedType": [
{
"name": "Result",
"field": [
{
"name": "product",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Product",
"jsonName": "product"
},
{
"name": "score",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "score"
},
{
"name": "image",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "image"
}
]
},
{
"name": "GroupedResult",
"field": [
{
"name": "bounding_poly",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.BoundingPoly",
"jsonName": "boundingPoly"
},
{
"name": "results",
"number": 2,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ProductSearchResults.Result",
"jsonName": "results"
}
]
}
]
}
],
"options": {
"javaPackage": "com.google.cloud.vision.v1p4beta1",
"javaOuterClassname": "ProductSearchProto",
"javaMultipleFiles": true,
"goPackage": "google.golang.org/genproto/googleapis/cloud/vision/v1p4beta1;vision",
"ccEnableArenas": true,
"objcClassPrefix": "GCVN"
},
"syntax": "proto3"
},
{
"name": "google/cloud/vision/v1p4beta1/product_search_service.proto",
"package": "google.cloud.vision.v1p4beta1",
"dependency": [
"google/api/annotations.proto",
"google/cloud/vision/v1p4beta1/geometry.proto",
"google/longrunning/operations.proto",
"google/protobuf/empty.proto",
"google/protobuf/field_mask.proto",
"google/protobuf/timestamp.proto",
"google/rpc/status.proto"
],
"messageType": [
{
"name": "Product",
"field": [
{
"name": "name",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "name"
},
{
"name": "display_name",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "displayName"
},
{
"name": "description",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "description"
},
{
"name": "product_category",
"number": 4,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "productCategory"
},
{
"name": "product_labels",
"number": 5,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Product.KeyValue",
"jsonName": "productLabels"
}
],
"nestedType": [
{
"name": "KeyValue",
"field": [
{
"name": "key",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "key"
},
{
"name": "value",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "value"
}
]
}
]
},
{
"name": "ProductSet",
"field": [
{
"name": "name",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "name"
},
{
"name": "display_name",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "displayName"
},
{
"name": "index_time",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.protobuf.Timestamp",
"jsonName": "indexTime"
},
{
"name": "index_error",
"number": 4,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.rpc.Status",
"jsonName": "indexError"
}
]
},
{
"name": "ReferenceImage",
"field": [
{
"name": "name",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "name"
},
{
"name": "uri",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "uri"
},
{
"name": "bounding_polys",
"number": 3,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.BoundingPoly",
"jsonName": "boundingPolys"
}
]
},
{
"name": "CreateProductRequest",
"field": [
{
"name": "parent",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "parent"
},
{
"name": "product",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Product",
"jsonName": "product"
},
{
"name": "product_id",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "productId"
}
]
},
{
"name": "ListProductsRequest",
"field": [
{
"name": "parent",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "parent"
},
{
"name": "page_size",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_INT32",
"jsonName": "pageSize"
},
{
"name": "page_token",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "pageToken"
}
]
},
{
"name": "ListProductsResponse",
"field": [
{
"name": "products",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Product",
"jsonName": "products"
},
{
"name": "next_page_token",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "nextPageToken"
}
]
},
{
"name": "GetProductRequest",
"field": [
{
"name": "name",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "name"
}
]
},
{
"name": "UpdateProductRequest",
"field": [
{
"name": "product",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Product",
"jsonName": "product"
},
{
"name": "update_mask",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.protobuf.FieldMask",
"jsonName": "updateMask"
}
]
},
{
"name": "DeleteProductRequest",
"field": [
{
"name": "name",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "name"
}
]
},
{
"name": "CreateProductSetRequest",
"field": [
{
"name": "parent",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "parent"
},
{
"name": "product_set",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ProductSet",
"jsonName": "productSet"
},
{
"name": "product_set_id",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "productSetId"
}
]
},
{
"name": "ListProductSetsRequest",
"field": [
{
"name": "parent",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "parent"
},
{
"name": "page_size",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_INT32",
"jsonName": "pageSize"
},
{
"name": "page_token",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "pageToken"
}
]
},
{
"name": "ListProductSetsResponse",
"field": [
{
"name": "product_sets",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ProductSet",
"jsonName": "productSets"
},
{
"name": "next_page_token",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "nextPageToken"
}
]
},
{
"name": "GetProductSetRequest",
"field": [
{
"name": "name",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "name"
}
]
},
{
"name": "UpdateProductSetRequest",
"field": [
{
"name": "product_set",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ProductSet",
"jsonName": "productSet"
},
{
"name": "update_mask",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.protobuf.FieldMask",
"jsonName": "updateMask"
}
]
},
{
"name": "DeleteProductSetRequest",
"field": [
{
"name": "name",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "name"
}
]
},
{
"name": "CreateReferenceImageRequest",
"field": [
{
"name": "parent",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "parent"
},
{
"name": "reference_image",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ReferenceImage",
"jsonName": "referenceImage"
},
{
"name": "reference_image_id",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "referenceImageId"
}
]
},
{
"name": "ListReferenceImagesRequest",
"field": [
{
"name": "parent",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "parent"
},
{
"name": "page_size",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_INT32",
"jsonName": "pageSize"
},
{
"name": "page_token",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "pageToken"
}
]
},
{
"name": "ListReferenceImagesResponse",
"field": [
{
"name": "reference_images",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ReferenceImage",
"jsonName": "referenceImages"
},
{
"name": "page_size",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_INT32",
"jsonName": "pageSize"
},
{
"name": "next_page_token",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "nextPageToken"
}
]
},
{
"name": "GetReferenceImageRequest",
"field": [
{
"name": "name",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "name"
}
]
},
{
"name": "DeleteReferenceImageRequest",
"field": [
{
"name": "name",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "name"
}
]
},
{
"name": "AddProductToProductSetRequest",
"field": [
{
"name": "name",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "name"
},
{
"name": "product",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "product"
}
]
},
{
"name": "RemoveProductFromProductSetRequest",
"field": [
{
"name": "name",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "name"
},
{
"name": "product",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "product"
}
]
},
{
"name": "ListProductsInProductSetRequest",
"field": [
{
"name": "name",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "name"
},
{
"name": "page_size",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_INT32",
"jsonName": "pageSize"
},
{
"name": "page_token",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "pageToken"
}
]
},
{
"name": "ListProductsInProductSetResponse",
"field": [
{
"name": "products",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Product",
"jsonName": "products"
},
{
"name": "next_page_token",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "nextPageToken"
}
]
},
{
"name": "ImportProductSetsGcsSource",
"field": [
{
"name": "csv_file_uri",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "csvFileUri"
}
]
},
{
"name": "ImportProductSetsInputConfig",
"field": [
{
"name": "gcs_source",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource",
"oneofIndex": 0,
"jsonName": "gcsSource"
}
],
"oneofDecl": [
{
"name": "source"
}
]
},
{
"name": "ImportProductSetsRequest",
"field": [
{
"name": "parent",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "parent"
},
{
"name": "input_config",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig",
"jsonName": "inputConfig"
}
]
},
{
"name": "ImportProductSetsResponse",
"field": [
{
"name": "reference_images",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.ReferenceImage",
"jsonName": "referenceImages"
},
{
"name": "statuses",
"number": 2,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.rpc.Status",
"jsonName": "statuses"
}
]
},
{
"name": "BatchOperationMetadata",
"field": [
{
"name": "state",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.BatchOperationMetadata.State",
"jsonName": "state"
},
{
"name": "submit_time",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.protobuf.Timestamp",
"jsonName": "submitTime"
},
{
"name": "end_time",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.protobuf.Timestamp",
"jsonName": "endTime"
}
],
"enumType": [
{
"name": "State",
"value": [
{
"name": "STATE_UNSPECIFIED",
"number": 0
},
{
"name": "PROCESSING",
"number": 1
},
{
"name": "SUCCESSFUL",
"number": 2
},
{
"name": "FAILED",
"number": 3
},
{
"name": "CANCELLED",
"number": 4
}
]
}
]
}
],
"service": [
{
"name": "ProductSearch",
"method": [
{
"name": "CreateProductSet",
"inputType": ".google.cloud.vision.v1p4beta1.CreateProductSetRequest",
"outputType": ".google.cloud.vision.v1p4beta1.ProductSet",
"options": {
}
},
{
"name": "ListProductSets",
"inputType": ".google.cloud.vision.v1p4beta1.ListProductSetsRequest",
"outputType": ".google.cloud.vision.v1p4beta1.ListProductSetsResponse",
"options": {
}
},
{
"name": "GetProductSet",
"inputType": ".google.cloud.vision.v1p4beta1.GetProductSetRequest",
"outputType": ".google.cloud.vision.v1p4beta1.ProductSet",
"options": {
}
},
{
"name": "UpdateProductSet",
"inputType": ".google.cloud.vision.v1p4beta1.UpdateProductSetRequest",
"outputType": ".google.cloud.vision.v1p4beta1.ProductSet",
"options": {
}
},
{
"name": "DeleteProductSet",
"inputType": ".google.cloud.vision.v1p4beta1.DeleteProductSetRequest",
"outputType": ".google.protobuf.Empty",
"options": {
}
},
{
"name": "CreateProduct",
"inputType": ".google.cloud.vision.v1p4beta1.CreateProductRequest",
"outputType": ".google.cloud.vision.v1p4beta1.Product",
"options": {
}
},
{
"name": "ListProducts",
"inputType": ".google.cloud.vision.v1p4beta1.ListProductsRequest",
"outputType": ".google.cloud.vision.v1p4beta1.ListProductsResponse",
"options": {
}
},
{
"name": "GetProduct",
"inputType": ".google.cloud.vision.v1p4beta1.GetProductRequest",
"outputType": ".google.cloud.vision.v1p4beta1.Product",
"options": {
}
},
{
"name": "UpdateProduct",
"inputType": ".google.cloud.vision.v1p4beta1.UpdateProductRequest",
"outputType": ".google.cloud.vision.v1p4beta1.Product",
"options": {
}
},
{
"name": "DeleteProduct",
"inputType": ".google.cloud.vision.v1p4beta1.DeleteProductRequest",
"outputType": ".google.protobuf.Empty",
"options": {
}
},
{
"name": "CreateReferenceImage",
"inputType": ".google.cloud.vision.v1p4beta1.CreateReferenceImageRequest",
"outputType": ".google.cloud.vision.v1p4beta1.ReferenceImage",
"options": {
}
},
{
"name": "DeleteReferenceImage",
"inputType": ".google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest",
"outputType": ".google.protobuf.Empty",
"options": {
}
},
{
"name": "ListReferenceImages",
"inputType": ".google.cloud.vision.v1p4beta1.ListReferenceImagesRequest",
"outputType": ".google.cloud.vision.v1p4beta1.ListReferenceImagesResponse",
"options": {
}
},
{
"name": "GetReferenceImage",
"inputType": ".google.cloud.vision.v1p4beta1.GetReferenceImageRequest",
"outputType": ".google.cloud.vision.v1p4beta1.ReferenceImage",
"options": {
}
},
{
"name": "AddProductToProductSet",
"inputType": ".google.cloud.vision.v1p4beta1.AddProductToProductSetRequest",
"outputType": ".google.protobuf.Empty",
"options": {
}
},
{
"name": "RemoveProductFromProductSet",
"inputType": ".google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest",
"outputType": ".google.protobuf.Empty",
"options": {
}
},
{
"name": "ListProductsInProductSet",
"inputType": ".google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest",
"outputType": ".google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse",
"options": {
}
},
{
"name": "ImportProductSets",
"inputType": ".google.cloud.vision.v1p4beta1.ImportProductSetsRequest",
"outputType": ".google.longrunning.Operation",
"options": {
}
}
]
}
],
"options": {
"javaPackage": "com.google.cloud.vision.v1p4beta1",
"javaOuterClassname": "ProductSearchServiceProto",
"javaMultipleFiles": true,
"goPackage": "google.golang.org/genproto/googleapis/cloud/vision/v1p4beta1;vision",
"ccEnableArenas": true,
"objcClassPrefix": "GCVN"
},
"syntax": "proto3"
},
{
"name": "google/cloud/vision/v1p4beta1/text_annotation.proto",
"package": "google.cloud.vision.v1p4beta1",
"dependency": [
"google/api/annotations.proto",
"google/cloud/vision/v1p4beta1/geometry.proto"
],
"messageType": [
{
"name": "TextAnnotation",
"field": [
{
"name": "pages",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Page",
"jsonName": "pages"
},
{
"name": "text",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "text"
}
],
"nestedType": [
{
"name": "DetectedLanguage",
"field": [
{
"name": "language_code",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "languageCode"
},
{
"name": "confidence",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "confidence"
}
]
},
{
"name": "DetectedBreak",
"field": [
{
"name": "type",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.BreakType",
"jsonName": "type"
},
{
"name": "is_prefix",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_BOOL",
"jsonName": "isPrefix"
}
],
"enumType": [
{
"name": "BreakType",
"value": [
{
"name": "UNKNOWN",
"number": 0
},
{
"name": "SPACE",
"number": 1
},
{
"name": "SURE_SPACE",
"number": 2
},
{
"name": "EOL_SURE_SPACE",
"number": 3
},
{
"name": "HYPHEN",
"number": 4
},
{
"name": "LINE_BREAK",
"number": 5
}
]
}
]
},
{
"name": "TextProperty",
"field": [
{
"name": "detected_languages",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage",
"jsonName": "detectedLanguages"
},
{
"name": "detected_break",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak",
"jsonName": "detectedBreak"
}
]
}
]
},
{
"name": "Page",
"field": [
{
"name": "property",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty",
"jsonName": "property"
},
{
"name": "width",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_INT32",
"jsonName": "width"
},
{
"name": "height",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_INT32",
"jsonName": "height"
},
{
"name": "blocks",
"number": 4,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Block",
"jsonName": "blocks"
},
{
"name": "confidence",
"number": 5,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "confidence"
}
]
},
{
"name": "Block",
"field": [
{
"name": "property",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty",
"jsonName": "property"
},
{
"name": "bounding_box",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.BoundingPoly",
"jsonName": "boundingBox"
},
{
"name": "paragraphs",
"number": 3,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Paragraph",
"jsonName": "paragraphs"
},
{
"name": "block_type",
"number": 4,
"label": "LABEL_OPTIONAL",
"type": "TYPE_ENUM",
"typeName": ".google.cloud.vision.v1p4beta1.Block.BlockType",
"jsonName": "blockType"
},
{
"name": "confidence",
"number": 5,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "confidence"
}
],
"enumType": [
{
"name": "BlockType",
"value": [
{
"name": "UNKNOWN",
"number": 0
},
{
"name": "TEXT",
"number": 1
},
{
"name": "TABLE",
"number": 2
},
{
"name": "PICTURE",
"number": 3
},
{
"name": "RULER",
"number": 4
},
{
"name": "BARCODE",
"number": 5
}
]
}
]
},
{
"name": "Paragraph",
"field": [
{
"name": "property",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty",
"jsonName": "property"
},
{
"name": "bounding_box",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.BoundingPoly",
"jsonName": "boundingBox"
},
{
"name": "words",
"number": 3,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Word",
"jsonName": "words"
},
{
"name": "confidence",
"number": 4,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "confidence"
}
]
},
{
"name": "Word",
"field": [
{
"name": "property",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty",
"jsonName": "property"
},
{
"name": "bounding_box",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.BoundingPoly",
"jsonName": "boundingBox"
},
{
"name": "symbols",
"number": 3,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.Symbol",
"jsonName": "symbols"
},
{
"name": "confidence",
"number": 4,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "confidence"
}
]
},
{
"name": "Symbol",
"field": [
{
"name": "property",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty",
"jsonName": "property"
},
{
"name": "bounding_box",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.BoundingPoly",
"jsonName": "boundingBox"
},
{
"name": "text",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "text"
},
{
"name": "confidence",
"number": 4,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "confidence"
}
]
}
],
"options": {
"javaPackage": "com.google.cloud.vision.v1p4beta1",
"javaOuterClassname": "TextAnnotationProto",
"javaMultipleFiles": true,
"goPackage": "google.golang.org/genproto/googleapis/cloud/vision/v1p4beta1;vision",
"ccEnableArenas": true,
"objcClassPrefix": "GCVN"
},
"syntax": "proto3"
},
{
"name": "google/cloud/vision/v1p4beta1/web_detection.proto",
"package": "google.cloud.vision.v1p4beta1",
"dependency": [
"google/api/annotations.proto"
],
"messageType": [
{
"name": "WebDetection",
"field": [
{
"name": "web_entities",
"number": 1,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.WebDetection.WebEntity",
"jsonName": "webEntities"
},
{
"name": "full_matching_images",
"number": 2,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.WebDetection.WebImage",
"jsonName": "fullMatchingImages"
},
{
"name": "partial_matching_images",
"number": 3,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.WebDetection.WebImage",
"jsonName": "partialMatchingImages"
},
{
"name": "pages_with_matching_images",
"number": 4,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.WebDetection.WebPage",
"jsonName": "pagesWithMatchingImages"
},
{
"name": "visually_similar_images",
"number": 6,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.WebDetection.WebImage",
"jsonName": "visuallySimilarImages"
},
{
"name": "best_guess_labels",
"number": 8,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.WebDetection.WebLabel",
"jsonName": "bestGuessLabels"
}
],
"nestedType": [
{
"name": "WebEntity",
"field": [
{
"name": "entity_id",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "entityId"
},
{
"name": "score",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "score"
},
{
"name": "description",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "description"
}
]
},
{
"name": "WebImage",
"field": [
{
"name": "url",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "url"
},
{
"name": "score",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "score"
}
]
},
{
"name": "WebLabel",
"field": [
{
"name": "label",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "label"
},
{
"name": "language_code",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "languageCode"
}
]
},
{
"name": "WebPage",
"field": [
{
"name": "url",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "url"
},
{
"name": "score",
"number": 2,
"label": "LABEL_OPTIONAL",
"type": "TYPE_FLOAT",
"jsonName": "score"
},
{
"name": "page_title",
"number": 3,
"label": "LABEL_OPTIONAL",
"type": "TYPE_STRING",
"jsonName": "pageTitle"
},
{
"name": "full_matching_images",
"number": 4,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.WebDetection.WebImage",
"jsonName": "fullMatchingImages"
},
{
"name": "partial_matching_images",
"number": 5,
"label": "LABEL_REPEATED",
"type": "TYPE_MESSAGE",
"typeName": ".google.cloud.vision.v1p4beta1.WebDetection.WebImage",
"jsonName": "partialMatchingImages"
}
]
}
]
}
],
"options": {
"javaPackage": "com.google.cloud.vision.v1p4beta1",
"javaOuterClassname": "WebDetectionProto",
"javaMultipleFiles": true,
"goPackage": "google.golang.org/genproto/googleapis/cloud/vision/v1p4beta1;vision",
"ccEnableArenas": true,
"objcClassPrefix": "GCVN"
},
"syntax": "proto3"
}
]
}
This syntax is supported by protoc so should also be supported by goprotoc.
If I give an output location that is a ZIP or JAR file, goprotoc instead just creates files in the parent directory of the expected location.
The plugins
package has some decent documentation, but I can't tell how it's actually intended to be used. Could you create an example, perhaps in plugins/README.md
?
As an idea, what if I wanted to codegen a copy of the structs created by protoc-gen-go
, but with different struct tags? How would that look? I get a little taste of it from the docs but I feel like I'm missing a lot of context.
Howdy, what's the status of this project?
I ask as, in the process of attempting to implement a protoc plugin (a while ago - I've kinda forgotten the details), I ran into significant issues with the name (and maybe type, I don't remember unfortunately) resolution, provided by this module.
I believe that the core problem was in the general vicinity of
Line 20 in 70c8197
protoc-gen-go
implementation. I'd imagine it'd be possible to trigger at least similar issues if there are fields which collide with generated getters.
Anyway, you're probably aware that google.golang.org/protobuf/compiler/protogen is a thing, nowadays. IMO it would be best to advertise the official protogen package in the readme of this package, particularly due to #37 .
This project seems kinda like a connector for https://github.com/jhump/gopoet , which I did end up using, and quite liked. It did what I needed and was easy to understand and use. It's just something I slapped together, but I've implemented a vaguely similar type cache myself, connecting gopoet and the official protogen packages (I don't mean that as a self plug, just a FYI).
mentioned above: https://github.com/joeycumines/gopoet-protogen
example usage of the above module: https://github.com/joeycumines/protoc-gen-go-copy
Right now, when Golang Modules are not used in testing, the latest version of each dependency is pulled, not a specific version. This is going to cause breakages with tests at some point, and also makes it difficult for users who do not use Golang Modules to know what versions of dependencies to use.
This probably just means setting up https://github.com/golang/dep so this repository has a Gopkg.toml
and Gopkg.lock
.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.