From 8323306c6f5b77456c76364bea5d134cde8a64c2 Mon Sep 17 00:00:00 2001 From: Federico Bond Date: Thu, 22 Feb 2024 18:40:21 -0300 Subject: [PATCH 1/2] fix: include proto file in build Signed-off-by: Federico Bond --- providers/openfeature-provider-flagd/.gitignore | 1 + .../openfeature-provider-flagd/buf.gen.python.yaml | 8 ++++++++ providers/openfeature-provider-flagd/pyproject.toml | 12 ++++++++++-- .../openfeature-provider-flagd/scripts/gen_protos.sh | 9 +++------ 4 files changed, 22 insertions(+), 8 deletions(-) create mode 100644 providers/openfeature-provider-flagd/.gitignore create mode 100644 providers/openfeature-provider-flagd/buf.gen.python.yaml diff --git a/providers/openfeature-provider-flagd/.gitignore b/providers/openfeature-provider-flagd/.gitignore new file mode 100644 index 00000000..65d7bf49 --- /dev/null +++ b/providers/openfeature-provider-flagd/.gitignore @@ -0,0 +1 @@ +proto/ diff --git a/providers/openfeature-provider-flagd/buf.gen.python.yaml b/providers/openfeature-provider-flagd/buf.gen.python.yaml new file mode 100644 index 00000000..6d9e2e4e --- /dev/null +++ b/providers/openfeature-provider-flagd/buf.gen.python.yaml @@ -0,0 +1,8 @@ +version: v1 +managed: + enabled: true +plugins: + - plugin: buf.build/protocolbuffers/python:v23.4 + out: proto + - plugin: buf.build/grpc/python:v1.56.0 + out: proto diff --git a/providers/openfeature-provider-flagd/pyproject.toml b/providers/openfeature-provider-flagd/pyproject.toml index 5f61528d..0b42c18f 100644 --- a/providers/openfeature-provider-flagd/pyproject.toml +++ b/providers/openfeature-provider-flagd/pyproject.toml @@ -1,6 +1,6 @@ # pyproject.toml [build-system] -requires = ["hatchling"] +requires = ["hatchling", "hatch-build-scripts"] build-backend = "hatchling.build" [project] @@ -28,13 +28,21 @@ Homepage = "https://github.com/open-feature/python-sdk-contrib" [tool.hatch] +[[tool.hatch.build.hooks.build-scripts.scripts]] +commands = [ + "./scripts/gen_protos.sh", +] +artifacts = ["proto/**/*.py"] +out_dir = "src/openfeature/contrib/provider/flagd" + [tool.hatch.envs.default] dependencies = [ "coverage[toml]>=6.5", "pytest", ] post-install-commands = [ - "./scripts/gen_protos.sh" + "./scripts/gen_protos.sh", + "rm -r src/openfeature/contrib/provider/flagd/proto && mv proto src/openfeature/contrib/provider/flagd", ] [tool.hatch.envs.default.scripts] diff --git a/providers/openfeature-provider-flagd/scripts/gen_protos.sh b/providers/openfeature-provider-flagd/scripts/gen_protos.sh index 5c7c5fb2..a27d3b1c 100755 --- a/providers/openfeature-provider-flagd/scripts/gen_protos.sh +++ b/providers/openfeature-provider-flagd/scripts/gen_protos.sh @@ -2,9 +2,6 @@ set -e -buf generate buf.build/open-feature/flagd --template schemas/protobuf/buf.gen.python.yaml --output schemas -rm -rf openfeature/contrib/provider/flagd/proto -sed -i.bak 's/^from schema.v1 import/from . import/' proto/python/schema/v1/*.py -rm proto/python/schema/v1/*.bak -mv proto/python src/openfeature/contrib/provider/flagd/proto -rmdir proto +buf generate buf.build/open-feature/flagd --template buf.gen.python.yaml +sed -i.bak 's/^from schema.v1 import/from . import/' proto/schema/v1/*.py +rm proto/schema/v1/*.bak From 8e8ff2ef11992d1fa694d9720a2877ef3ec0a9f2 Mon Sep 17 00:00:00 2001 From: Federico Bond Date: Fri, 23 Feb 2024 10:43:47 -0300 Subject: [PATCH 2/2] fix: check in generated proto files Signed-off-by: Federico Bond --- .gitignore | 4 - .../openfeature-provider-flagd/.gitignore | 1 - .../buf.gen.python.yaml | 8 - .../openfeature-provider-flagd/pyproject.toml | 12 +- .../scripts/gen_protos.sh | 9 +- .../flagd/evaluation/v1/evaluation_pb2.py | 62 ++++ .../evaluation/v1/evaluation_pb2_grpc.py | 267 ++++++++++++++++++ .../flagd/proto/flagd/sync/v1/sync_pb2.py | 40 +++ .../proto/flagd/sync/v1/sync_pb2_grpc.py | 135 +++++++++ .../flagd/proto/schema/v1/schema_pb2.py | 62 ++++ .../flagd/proto/schema/v1/schema_pb2_grpc.py | 267 ++++++++++++++++++ .../flagd/proto/sync/v1/sync_service_pb2.py | 37 +++ .../proto/sync/v1/sync_service_pb2_grpc.py | 102 +++++++ ruff.toml | 2 +- 14 files changed, 981 insertions(+), 27 deletions(-) delete mode 100644 providers/openfeature-provider-flagd/.gitignore delete mode 100644 providers/openfeature-provider-flagd/buf.gen.python.yaml create mode 100644 providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/flagd/evaluation/v1/evaluation_pb2.py create mode 100644 providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/flagd/evaluation/v1/evaluation_pb2_grpc.py create mode 100644 providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/flagd/sync/v1/sync_pb2.py create mode 100644 providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/flagd/sync/v1/sync_pb2_grpc.py create mode 100644 providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/schema/v1/schema_pb2.py create mode 100644 providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/schema/v1/schema_pb2_grpc.py create mode 100644 providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/sync/v1/sync_service_pb2.py create mode 100644 providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/sync/v1/sync_service_pb2_grpc.py diff --git a/.gitignore b/.gitignore index 46969eae..6dd59cd9 100644 --- a/.gitignore +++ b/.gitignore @@ -19,10 +19,6 @@ var/ .installed.cfg *.egg -# Protobuf files -*_pb2.py -*_pb2_grpc.py - # Installer logs pip-log.txt pip-delete-this-directory.txt diff --git a/providers/openfeature-provider-flagd/.gitignore b/providers/openfeature-provider-flagd/.gitignore deleted file mode 100644 index 65d7bf49..00000000 --- a/providers/openfeature-provider-flagd/.gitignore +++ /dev/null @@ -1 +0,0 @@ -proto/ diff --git a/providers/openfeature-provider-flagd/buf.gen.python.yaml b/providers/openfeature-provider-flagd/buf.gen.python.yaml deleted file mode 100644 index 6d9e2e4e..00000000 --- a/providers/openfeature-provider-flagd/buf.gen.python.yaml +++ /dev/null @@ -1,8 +0,0 @@ -version: v1 -managed: - enabled: true -plugins: - - plugin: buf.build/protocolbuffers/python:v23.4 - out: proto - - plugin: buf.build/grpc/python:v1.56.0 - out: proto diff --git a/providers/openfeature-provider-flagd/pyproject.toml b/providers/openfeature-provider-flagd/pyproject.toml index 0b42c18f..5f61528d 100644 --- a/providers/openfeature-provider-flagd/pyproject.toml +++ b/providers/openfeature-provider-flagd/pyproject.toml @@ -1,6 +1,6 @@ # pyproject.toml [build-system] -requires = ["hatchling", "hatch-build-scripts"] +requires = ["hatchling"] build-backend = "hatchling.build" [project] @@ -28,21 +28,13 @@ Homepage = "https://github.com/open-feature/python-sdk-contrib" [tool.hatch] -[[tool.hatch.build.hooks.build-scripts.scripts]] -commands = [ - "./scripts/gen_protos.sh", -] -artifacts = ["proto/**/*.py"] -out_dir = "src/openfeature/contrib/provider/flagd" - [tool.hatch.envs.default] dependencies = [ "coverage[toml]>=6.5", "pytest", ] post-install-commands = [ - "./scripts/gen_protos.sh", - "rm -r src/openfeature/contrib/provider/flagd/proto && mv proto src/openfeature/contrib/provider/flagd", + "./scripts/gen_protos.sh" ] [tool.hatch.envs.default.scripts] diff --git a/providers/openfeature-provider-flagd/scripts/gen_protos.sh b/providers/openfeature-provider-flagd/scripts/gen_protos.sh index a27d3b1c..5c7c5fb2 100755 --- a/providers/openfeature-provider-flagd/scripts/gen_protos.sh +++ b/providers/openfeature-provider-flagd/scripts/gen_protos.sh @@ -2,6 +2,9 @@ set -e -buf generate buf.build/open-feature/flagd --template buf.gen.python.yaml -sed -i.bak 's/^from schema.v1 import/from . import/' proto/schema/v1/*.py -rm proto/schema/v1/*.bak +buf generate buf.build/open-feature/flagd --template schemas/protobuf/buf.gen.python.yaml --output schemas +rm -rf openfeature/contrib/provider/flagd/proto +sed -i.bak 's/^from schema.v1 import/from . import/' proto/python/schema/v1/*.py +rm proto/python/schema/v1/*.bak +mv proto/python src/openfeature/contrib/provider/flagd/proto +rmdir proto diff --git a/providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/flagd/evaluation/v1/evaluation_pb2.py b/providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/flagd/evaluation/v1/evaluation_pb2.py new file mode 100644 index 00000000..addd44aa --- /dev/null +++ b/providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/flagd/evaluation/v1/evaluation_pb2.py @@ -0,0 +1,62 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: flagd/evaluation/v1/evaluation.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$flagd/evaluation/v1/evaluation.proto\x12\x13\x66lagd.evaluation.v1\x1a\x1cgoogle/protobuf/struct.proto\"F\n\x11ResolveAllRequest\x12\x31\n\x07\x63ontext\x18\x01 \x01(\x0b\x32\x17.google.protobuf.StructR\x07\x63ontext\"\xb6\x01\n\x12ResolveAllResponse\x12H\n\x05\x66lags\x18\x01 \x03(\x0b\x32\x32.flagd.evaluation.v1.ResolveAllResponse.FlagsEntryR\x05\x66lags\x1aV\n\nFlagsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x32\n\x05value\x18\x02 \x01(\x0b\x32\x1c.flagd.evaluation.v1.AnyFlagR\x05value:\x02\x38\x01\"\xed\x01\n\x07\x41nyFlag\x12\x16\n\x06reason\x18\x01 \x01(\tR\x06reason\x12\x18\n\x07variant\x18\x02 \x01(\tR\x07variant\x12\x1f\n\nbool_value\x18\x03 \x01(\x08H\x00R\tboolValue\x12#\n\x0cstring_value\x18\x04 \x01(\tH\x00R\x0bstringValue\x12#\n\x0c\x64ouble_value\x18\x05 \x01(\x01H\x00R\x0b\x64oubleValue\x12<\n\x0cobject_value\x18\x06 \x01(\x0b\x32\x17.google.protobuf.StructH\x00R\x0bobjectValueB\x07\n\x05value\"e\n\x15ResolveBooleanRequest\x12\x19\n\x08\x66lag_key\x18\x01 \x01(\tR\x07\x66lagKey\x12\x31\n\x07\x63ontext\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructR\x07\x63ontext\"\x95\x01\n\x16ResolveBooleanResponse\x12\x14\n\x05value\x18\x01 \x01(\x08R\x05value\x12\x16\n\x06reason\x18\x02 \x01(\tR\x06reason\x12\x18\n\x07variant\x18\x03 \x01(\tR\x07variant\x12\x33\n\x08metadata\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructR\x08metadata\"d\n\x14ResolveStringRequest\x12\x19\n\x08\x66lag_key\x18\x01 \x01(\tR\x07\x66lagKey\x12\x31\n\x07\x63ontext\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructR\x07\x63ontext\"\x94\x01\n\x15ResolveStringResponse\x12\x14\n\x05value\x18\x01 \x01(\tR\x05value\x12\x16\n\x06reason\x18\x02 \x01(\tR\x06reason\x12\x18\n\x07variant\x18\x03 \x01(\tR\x07variant\x12\x33\n\x08metadata\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructR\x08metadata\"c\n\x13ResolveFloatRequest\x12\x19\n\x08\x66lag_key\x18\x01 \x01(\tR\x07\x66lagKey\x12\x31\n\x07\x63ontext\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructR\x07\x63ontext\"\x93\x01\n\x14ResolveFloatResponse\x12\x14\n\x05value\x18\x01 \x01(\x01R\x05value\x12\x16\n\x06reason\x18\x02 \x01(\tR\x06reason\x12\x18\n\x07variant\x18\x03 \x01(\tR\x07variant\x12\x33\n\x08metadata\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructR\x08metadata\"a\n\x11ResolveIntRequest\x12\x19\n\x08\x66lag_key\x18\x01 \x01(\tR\x07\x66lagKey\x12\x31\n\x07\x63ontext\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructR\x07\x63ontext\"\x91\x01\n\x12ResolveIntResponse\x12\x14\n\x05value\x18\x01 \x01(\x03R\x05value\x12\x16\n\x06reason\x18\x02 \x01(\tR\x06reason\x12\x18\n\x07variant\x18\x03 \x01(\tR\x07variant\x12\x33\n\x08metadata\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructR\x08metadata\"d\n\x14ResolveObjectRequest\x12\x19\n\x08\x66lag_key\x18\x01 \x01(\tR\x07\x66lagKey\x12\x31\n\x07\x63ontext\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructR\x07\x63ontext\"\xad\x01\n\x15ResolveObjectResponse\x12-\n\x05value\x18\x01 \x01(\x0b\x32\x17.google.protobuf.StructR\x05value\x12\x16\n\x06reason\x18\x02 \x01(\tR\x06reason\x12\x18\n\x07variant\x18\x03 \x01(\tR\x07variant\x12\x33\n\x08metadata\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructR\x08metadata\"V\n\x13\x45ventStreamResponse\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructR\x04\x64\x61ta\"\x14\n\x12\x45ventStreamRequest2\xd9\x05\n\x07Service\x12_\n\nResolveAll\x12&.flagd.evaluation.v1.ResolveAllRequest\x1a\'.flagd.evaluation.v1.ResolveAllResponse\"\x00\x12k\n\x0eResolveBoolean\x12*.flagd.evaluation.v1.ResolveBooleanRequest\x1a+.flagd.evaluation.v1.ResolveBooleanResponse\"\x00\x12h\n\rResolveString\x12).flagd.evaluation.v1.ResolveStringRequest\x1a*.flagd.evaluation.v1.ResolveStringResponse\"\x00\x12\x65\n\x0cResolveFloat\x12(.flagd.evaluation.v1.ResolveFloatRequest\x1a).flagd.evaluation.v1.ResolveFloatResponse\"\x00\x12_\n\nResolveInt\x12&.flagd.evaluation.v1.ResolveIntRequest\x1a\'.flagd.evaluation.v1.ResolveIntResponse\"\x00\x12h\n\rResolveObject\x12).flagd.evaluation.v1.ResolveObjectRequest\x1a*.flagd.evaluation.v1.ResolveObjectResponse\"\x00\x12\x64\n\x0b\x45ventStream\x12\'.flagd.evaluation.v1.EventStreamRequest\x1a(.flagd.evaluation.v1.EventStreamResponse\"\x00\x30\x01\x42\xad\x01\n\x17\x63om.flagd.evaluation.v1B\x0f\x45valuationProtoP\x01Z\x13\x66lagd/evaluation/v1\xa2\x02\x03\x46\x45X\xaa\x02\x13\x46lagd.Evaluation.V1\xca\x02\x13\x46lagd\\Evaluation\\V1\xe2\x02\x1f\x46lagd\\Evaluation\\V1\\GPBMetadata\xea\x02\x15\x46lagd::Evaluation::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flagd.evaluation.v1.evaluation_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'\n\027com.flagd.evaluation.v1B\017EvaluationProtoP\001Z\023flagd/evaluation/v1\242\002\003FEX\252\002\023Flagd.Evaluation.V1\312\002\023Flagd\\Evaluation\\V1\342\002\037Flagd\\Evaluation\\V1\\GPBMetadata\352\002\025Flagd::Evaluation::V1' + _RESOLVEALLRESPONSE_FLAGSENTRY._options = None + _RESOLVEALLRESPONSE_FLAGSENTRY._serialized_options = b'8\001' + _globals['_RESOLVEALLREQUEST']._serialized_start=91 + _globals['_RESOLVEALLREQUEST']._serialized_end=161 + _globals['_RESOLVEALLRESPONSE']._serialized_start=164 + _globals['_RESOLVEALLRESPONSE']._serialized_end=346 + _globals['_RESOLVEALLRESPONSE_FLAGSENTRY']._serialized_start=260 + _globals['_RESOLVEALLRESPONSE_FLAGSENTRY']._serialized_end=346 + _globals['_ANYFLAG']._serialized_start=349 + _globals['_ANYFLAG']._serialized_end=586 + _globals['_RESOLVEBOOLEANREQUEST']._serialized_start=588 + _globals['_RESOLVEBOOLEANREQUEST']._serialized_end=689 + _globals['_RESOLVEBOOLEANRESPONSE']._serialized_start=692 + _globals['_RESOLVEBOOLEANRESPONSE']._serialized_end=841 + _globals['_RESOLVESTRINGREQUEST']._serialized_start=843 + _globals['_RESOLVESTRINGREQUEST']._serialized_end=943 + _globals['_RESOLVESTRINGRESPONSE']._serialized_start=946 + _globals['_RESOLVESTRINGRESPONSE']._serialized_end=1094 + _globals['_RESOLVEFLOATREQUEST']._serialized_start=1096 + _globals['_RESOLVEFLOATREQUEST']._serialized_end=1195 + _globals['_RESOLVEFLOATRESPONSE']._serialized_start=1198 + _globals['_RESOLVEFLOATRESPONSE']._serialized_end=1345 + _globals['_RESOLVEINTREQUEST']._serialized_start=1347 + _globals['_RESOLVEINTREQUEST']._serialized_end=1444 + _globals['_RESOLVEINTRESPONSE']._serialized_start=1447 + _globals['_RESOLVEINTRESPONSE']._serialized_end=1592 + _globals['_RESOLVEOBJECTREQUEST']._serialized_start=1594 + _globals['_RESOLVEOBJECTREQUEST']._serialized_end=1694 + _globals['_RESOLVEOBJECTRESPONSE']._serialized_start=1697 + _globals['_RESOLVEOBJECTRESPONSE']._serialized_end=1870 + _globals['_EVENTSTREAMRESPONSE']._serialized_start=1872 + _globals['_EVENTSTREAMRESPONSE']._serialized_end=1958 + _globals['_EVENTSTREAMREQUEST']._serialized_start=1960 + _globals['_EVENTSTREAMREQUEST']._serialized_end=1980 + _globals['_SERVICE']._serialized_start=1983 + _globals['_SERVICE']._serialized_end=2712 +# @@protoc_insertion_point(module_scope) diff --git a/providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/flagd/evaluation/v1/evaluation_pb2_grpc.py b/providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/flagd/evaluation/v1/evaluation_pb2_grpc.py new file mode 100644 index 00000000..299a004b --- /dev/null +++ b/providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/flagd/evaluation/v1/evaluation_pb2_grpc.py @@ -0,0 +1,267 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from flagd.evaluation.v1 import evaluation_pb2 as flagd_dot_evaluation_dot_v1_dot_evaluation__pb2 + + +class ServiceStub(object): + """Service defines the exposed rpcs of flagd + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.ResolveAll = channel.unary_unary( + '/flagd.evaluation.v1.Service/ResolveAll', + request_serializer=flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveAllRequest.SerializeToString, + response_deserializer=flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveAllResponse.FromString, + ) + self.ResolveBoolean = channel.unary_unary( + '/flagd.evaluation.v1.Service/ResolveBoolean', + request_serializer=flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveBooleanRequest.SerializeToString, + response_deserializer=flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveBooleanResponse.FromString, + ) + self.ResolveString = channel.unary_unary( + '/flagd.evaluation.v1.Service/ResolveString', + request_serializer=flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveStringRequest.SerializeToString, + response_deserializer=flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveStringResponse.FromString, + ) + self.ResolveFloat = channel.unary_unary( + '/flagd.evaluation.v1.Service/ResolveFloat', + request_serializer=flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveFloatRequest.SerializeToString, + response_deserializer=flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveFloatResponse.FromString, + ) + self.ResolveInt = channel.unary_unary( + '/flagd.evaluation.v1.Service/ResolveInt', + request_serializer=flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveIntRequest.SerializeToString, + response_deserializer=flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveIntResponse.FromString, + ) + self.ResolveObject = channel.unary_unary( + '/flagd.evaluation.v1.Service/ResolveObject', + request_serializer=flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveObjectRequest.SerializeToString, + response_deserializer=flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveObjectResponse.FromString, + ) + self.EventStream = channel.unary_stream( + '/flagd.evaluation.v1.Service/EventStream', + request_serializer=flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.EventStreamRequest.SerializeToString, + response_deserializer=flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.EventStreamResponse.FromString, + ) + + +class ServiceServicer(object): + """Service defines the exposed rpcs of flagd + """ + + def ResolveAll(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ResolveBoolean(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ResolveString(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ResolveFloat(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ResolveInt(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ResolveObject(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def EventStream(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_ServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'ResolveAll': grpc.unary_unary_rpc_method_handler( + servicer.ResolveAll, + request_deserializer=flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveAllRequest.FromString, + response_serializer=flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveAllResponse.SerializeToString, + ), + 'ResolveBoolean': grpc.unary_unary_rpc_method_handler( + servicer.ResolveBoolean, + request_deserializer=flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveBooleanRequest.FromString, + response_serializer=flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveBooleanResponse.SerializeToString, + ), + 'ResolveString': grpc.unary_unary_rpc_method_handler( + servicer.ResolveString, + request_deserializer=flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveStringRequest.FromString, + response_serializer=flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveStringResponse.SerializeToString, + ), + 'ResolveFloat': grpc.unary_unary_rpc_method_handler( + servicer.ResolveFloat, + request_deserializer=flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveFloatRequest.FromString, + response_serializer=flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveFloatResponse.SerializeToString, + ), + 'ResolveInt': grpc.unary_unary_rpc_method_handler( + servicer.ResolveInt, + request_deserializer=flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveIntRequest.FromString, + response_serializer=flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveIntResponse.SerializeToString, + ), + 'ResolveObject': grpc.unary_unary_rpc_method_handler( + servicer.ResolveObject, + request_deserializer=flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveObjectRequest.FromString, + response_serializer=flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveObjectResponse.SerializeToString, + ), + 'EventStream': grpc.unary_stream_rpc_method_handler( + servicer.EventStream, + request_deserializer=flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.EventStreamRequest.FromString, + response_serializer=flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.EventStreamResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'flagd.evaluation.v1.Service', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class Service(object): + """Service defines the exposed rpcs of flagd + """ + + @staticmethod + def ResolveAll(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/flagd.evaluation.v1.Service/ResolveAll', + flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveAllRequest.SerializeToString, + flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveAllResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ResolveBoolean(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/flagd.evaluation.v1.Service/ResolveBoolean', + flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveBooleanRequest.SerializeToString, + flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveBooleanResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ResolveString(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/flagd.evaluation.v1.Service/ResolveString', + flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveStringRequest.SerializeToString, + flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveStringResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ResolveFloat(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/flagd.evaluation.v1.Service/ResolveFloat', + flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveFloatRequest.SerializeToString, + flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveFloatResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ResolveInt(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/flagd.evaluation.v1.Service/ResolveInt', + flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveIntRequest.SerializeToString, + flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveIntResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ResolveObject(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/flagd.evaluation.v1.Service/ResolveObject', + flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveObjectRequest.SerializeToString, + flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.ResolveObjectResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def EventStream(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/flagd.evaluation.v1.Service/EventStream', + flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.EventStreamRequest.SerializeToString, + flagd_dot_evaluation_dot_v1_dot_evaluation__pb2.EventStreamResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/flagd/sync/v1/sync_pb2.py b/providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/flagd/sync/v1/sync_pb2.py new file mode 100644 index 00000000..89345624 --- /dev/null +++ b/providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/flagd/sync/v1/sync_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: flagd/sync/v1/sync.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18\x66lagd/sync/v1/sync.proto\x12\rflagd.sync.v1\x1a\x1cgoogle/protobuf/struct.proto\"O\n\x10SyncFlagsRequest\x12\x1f\n\x0bprovider_id\x18\x01 \x01(\tR\nproviderId\x12\x1a\n\x08selector\x18\x02 \x01(\tR\x08selector\"B\n\x11SyncFlagsResponse\x12-\n\x12\x66lag_configuration\x18\x01 \x01(\tR\x11\x66lagConfiguration\"S\n\x14\x46\x65tchAllFlagsRequest\x12\x1f\n\x0bprovider_id\x18\x01 \x01(\tR\nproviderId\x12\x1a\n\x08selector\x18\x02 \x01(\tR\x08selector\"F\n\x15\x46\x65tchAllFlagsResponse\x12-\n\x12\x66lag_configuration\x18\x01 \x01(\tR\x11\x66lagConfiguration\"\x14\n\x12GetMetadataRequest\"P\n\x13GetMetadataResponse\x12\x33\n\x08metadata\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructR\x08metadataJ\x04\x08\x01\x10\x02\x32\x9b\x02\n\x0f\x46lagSyncService\x12R\n\tSyncFlags\x12\x1f.flagd.sync.v1.SyncFlagsRequest\x1a .flagd.sync.v1.SyncFlagsResponse\"\x00\x30\x01\x12\\\n\rFetchAllFlags\x12#.flagd.sync.v1.FetchAllFlagsRequest\x1a$.flagd.sync.v1.FetchAllFlagsResponse\"\x00\x12V\n\x0bGetMetadata\x12!.flagd.sync.v1.GetMetadataRequest\x1a\".flagd.sync.v1.GetMetadataResponse\"\x00\x42\x83\x01\n\x11\x63om.flagd.sync.v1B\tSyncProtoP\x01Z\rflagd/sync/v1\xa2\x02\x03\x46SX\xaa\x02\rFlagd.Sync.V1\xca\x02\rFlagd\\Sync\\V1\xe2\x02\x19\x46lagd\\Sync\\V1\\GPBMetadata\xea\x02\x0f\x46lagd::Sync::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flagd.sync.v1.sync_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'\n\021com.flagd.sync.v1B\tSyncProtoP\001Z\rflagd/sync/v1\242\002\003FSX\252\002\rFlagd.Sync.V1\312\002\rFlagd\\Sync\\V1\342\002\031Flagd\\Sync\\V1\\GPBMetadata\352\002\017Flagd::Sync::V1' + _globals['_SYNCFLAGSREQUEST']._serialized_start=73 + _globals['_SYNCFLAGSREQUEST']._serialized_end=152 + _globals['_SYNCFLAGSRESPONSE']._serialized_start=154 + _globals['_SYNCFLAGSRESPONSE']._serialized_end=220 + _globals['_FETCHALLFLAGSREQUEST']._serialized_start=222 + _globals['_FETCHALLFLAGSREQUEST']._serialized_end=305 + _globals['_FETCHALLFLAGSRESPONSE']._serialized_start=307 + _globals['_FETCHALLFLAGSRESPONSE']._serialized_end=377 + _globals['_GETMETADATAREQUEST']._serialized_start=379 + _globals['_GETMETADATAREQUEST']._serialized_end=399 + _globals['_GETMETADATARESPONSE']._serialized_start=401 + _globals['_GETMETADATARESPONSE']._serialized_end=481 + _globals['_FLAGSYNCSERVICE']._serialized_start=484 + _globals['_FLAGSYNCSERVICE']._serialized_end=767 +# @@protoc_insertion_point(module_scope) diff --git a/providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/flagd/sync/v1/sync_pb2_grpc.py b/providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/flagd/sync/v1/sync_pb2_grpc.py new file mode 100644 index 00000000..ce040715 --- /dev/null +++ b/providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/flagd/sync/v1/sync_pb2_grpc.py @@ -0,0 +1,135 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from flagd.sync.v1 import sync_pb2 as flagd_dot_sync_dot_v1_dot_sync__pb2 + + +class FlagSyncServiceStub(object): + """FlagService implements a server streaming to provide realtime flag configurations + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.SyncFlags = channel.unary_stream( + '/flagd.sync.v1.FlagSyncService/SyncFlags', + request_serializer=flagd_dot_sync_dot_v1_dot_sync__pb2.SyncFlagsRequest.SerializeToString, + response_deserializer=flagd_dot_sync_dot_v1_dot_sync__pb2.SyncFlagsResponse.FromString, + ) + self.FetchAllFlags = channel.unary_unary( + '/flagd.sync.v1.FlagSyncService/FetchAllFlags', + request_serializer=flagd_dot_sync_dot_v1_dot_sync__pb2.FetchAllFlagsRequest.SerializeToString, + response_deserializer=flagd_dot_sync_dot_v1_dot_sync__pb2.FetchAllFlagsResponse.FromString, + ) + self.GetMetadata = channel.unary_unary( + '/flagd.sync.v1.FlagSyncService/GetMetadata', + request_serializer=flagd_dot_sync_dot_v1_dot_sync__pb2.GetMetadataRequest.SerializeToString, + response_deserializer=flagd_dot_sync_dot_v1_dot_sync__pb2.GetMetadataResponse.FromString, + ) + + +class FlagSyncServiceServicer(object): + """FlagService implements a server streaming to provide realtime flag configurations + """ + + def SyncFlags(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def FetchAllFlags(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetMetadata(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_FlagSyncServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'SyncFlags': grpc.unary_stream_rpc_method_handler( + servicer.SyncFlags, + request_deserializer=flagd_dot_sync_dot_v1_dot_sync__pb2.SyncFlagsRequest.FromString, + response_serializer=flagd_dot_sync_dot_v1_dot_sync__pb2.SyncFlagsResponse.SerializeToString, + ), + 'FetchAllFlags': grpc.unary_unary_rpc_method_handler( + servicer.FetchAllFlags, + request_deserializer=flagd_dot_sync_dot_v1_dot_sync__pb2.FetchAllFlagsRequest.FromString, + response_serializer=flagd_dot_sync_dot_v1_dot_sync__pb2.FetchAllFlagsResponse.SerializeToString, + ), + 'GetMetadata': grpc.unary_unary_rpc_method_handler( + servicer.GetMetadata, + request_deserializer=flagd_dot_sync_dot_v1_dot_sync__pb2.GetMetadataRequest.FromString, + response_serializer=flagd_dot_sync_dot_v1_dot_sync__pb2.GetMetadataResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'flagd.sync.v1.FlagSyncService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class FlagSyncService(object): + """FlagService implements a server streaming to provide realtime flag configurations + """ + + @staticmethod + def SyncFlags(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/flagd.sync.v1.FlagSyncService/SyncFlags', + flagd_dot_sync_dot_v1_dot_sync__pb2.SyncFlagsRequest.SerializeToString, + flagd_dot_sync_dot_v1_dot_sync__pb2.SyncFlagsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def FetchAllFlags(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/flagd.sync.v1.FlagSyncService/FetchAllFlags', + flagd_dot_sync_dot_v1_dot_sync__pb2.FetchAllFlagsRequest.SerializeToString, + flagd_dot_sync_dot_v1_dot_sync__pb2.FetchAllFlagsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetMetadata(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/flagd.sync.v1.FlagSyncService/GetMetadata', + flagd_dot_sync_dot_v1_dot_sync__pb2.GetMetadataRequest.SerializeToString, + flagd_dot_sync_dot_v1_dot_sync__pb2.GetMetadataResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/schema/v1/schema_pb2.py b/providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/schema/v1/schema_pb2.py new file mode 100644 index 00000000..5a6a9134 --- /dev/null +++ b/providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/schema/v1/schema_pb2.py @@ -0,0 +1,62 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: schema/v1/schema.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16schema/v1/schema.proto\x12\tschema.v1\x1a\x1cgoogle/protobuf/struct.proto\"F\n\x11ResolveAllRequest\x12\x31\n\x07\x63ontext\x18\x01 \x01(\x0b\x32\x17.google.protobuf.StructR\x07\x63ontext\"\xa2\x01\n\x12ResolveAllResponse\x12>\n\x05\x66lags\x18\x01 \x03(\x0b\x32(.schema.v1.ResolveAllResponse.FlagsEntryR\x05\x66lags\x1aL\n\nFlagsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x12.schema.v1.AnyFlagR\x05value:\x02\x38\x01\"\xed\x01\n\x07\x41nyFlag\x12\x16\n\x06reason\x18\x01 \x01(\tR\x06reason\x12\x18\n\x07variant\x18\x02 \x01(\tR\x07variant\x12\x1f\n\nbool_value\x18\x03 \x01(\x08H\x00R\tboolValue\x12#\n\x0cstring_value\x18\x04 \x01(\tH\x00R\x0bstringValue\x12#\n\x0c\x64ouble_value\x18\x05 \x01(\x01H\x00R\x0b\x64oubleValue\x12<\n\x0cobject_value\x18\x06 \x01(\x0b\x32\x17.google.protobuf.StructH\x00R\x0bobjectValueB\x07\n\x05value\"e\n\x15ResolveBooleanRequest\x12\x19\n\x08\x66lag_key\x18\x01 \x01(\tR\x07\x66lagKey\x12\x31\n\x07\x63ontext\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructR\x07\x63ontext\"\x95\x01\n\x16ResolveBooleanResponse\x12\x14\n\x05value\x18\x01 \x01(\x08R\x05value\x12\x16\n\x06reason\x18\x02 \x01(\tR\x06reason\x12\x18\n\x07variant\x18\x03 \x01(\tR\x07variant\x12\x33\n\x08metadata\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructR\x08metadata\"d\n\x14ResolveStringRequest\x12\x19\n\x08\x66lag_key\x18\x01 \x01(\tR\x07\x66lagKey\x12\x31\n\x07\x63ontext\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructR\x07\x63ontext\"\x94\x01\n\x15ResolveStringResponse\x12\x14\n\x05value\x18\x01 \x01(\tR\x05value\x12\x16\n\x06reason\x18\x02 \x01(\tR\x06reason\x12\x18\n\x07variant\x18\x03 \x01(\tR\x07variant\x12\x33\n\x08metadata\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructR\x08metadata\"c\n\x13ResolveFloatRequest\x12\x19\n\x08\x66lag_key\x18\x01 \x01(\tR\x07\x66lagKey\x12\x31\n\x07\x63ontext\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructR\x07\x63ontext\"\x93\x01\n\x14ResolveFloatResponse\x12\x14\n\x05value\x18\x01 \x01(\x01R\x05value\x12\x16\n\x06reason\x18\x02 \x01(\tR\x06reason\x12\x18\n\x07variant\x18\x03 \x01(\tR\x07variant\x12\x33\n\x08metadata\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructR\x08metadata\"a\n\x11ResolveIntRequest\x12\x19\n\x08\x66lag_key\x18\x01 \x01(\tR\x07\x66lagKey\x12\x31\n\x07\x63ontext\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructR\x07\x63ontext\"\x91\x01\n\x12ResolveIntResponse\x12\x14\n\x05value\x18\x01 \x01(\x03R\x05value\x12\x16\n\x06reason\x18\x02 \x01(\tR\x06reason\x12\x18\n\x07variant\x18\x03 \x01(\tR\x07variant\x12\x33\n\x08metadata\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructR\x08metadata\"d\n\x14ResolveObjectRequest\x12\x19\n\x08\x66lag_key\x18\x01 \x01(\tR\x07\x66lagKey\x12\x31\n\x07\x63ontext\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructR\x07\x63ontext\"\xad\x01\n\x15ResolveObjectResponse\x12-\n\x05value\x18\x01 \x01(\x0b\x32\x17.google.protobuf.StructR\x05value\x12\x16\n\x06reason\x18\x02 \x01(\tR\x06reason\x12\x18\n\x07variant\x18\x03 \x01(\tR\x07variant\x12\x33\n\x08metadata\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructR\x08metadata\"V\n\x13\x45ventStreamResponse\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructR\x04\x64\x61ta\"\x14\n\x12\x45ventStreamRequest2\xcd\x04\n\x07Service\x12K\n\nResolveAll\x12\x1c.schema.v1.ResolveAllRequest\x1a\x1d.schema.v1.ResolveAllResponse\"\x00\x12W\n\x0eResolveBoolean\x12 .schema.v1.ResolveBooleanRequest\x1a!.schema.v1.ResolveBooleanResponse\"\x00\x12T\n\rResolveString\x12\x1f.schema.v1.ResolveStringRequest\x1a .schema.v1.ResolveStringResponse\"\x00\x12Q\n\x0cResolveFloat\x12\x1e.schema.v1.ResolveFloatRequest\x1a\x1f.schema.v1.ResolveFloatResponse\"\x00\x12K\n\nResolveInt\x12\x1c.schema.v1.ResolveIntRequest\x1a\x1d.schema.v1.ResolveIntResponse\"\x00\x12T\n\rResolveObject\x12\x1f.schema.v1.ResolveObjectRequest\x1a .schema.v1.ResolveObjectResponse\"\x00\x12P\n\x0b\x45ventStream\x12\x1d.schema.v1.EventStreamRequest\x1a\x1e.schema.v1.EventStreamResponse\"\x00\x30\x01\x42t\n\rcom.schema.v1B\x0bSchemaProtoP\x01Z\x11schema/service/v1\xa2\x02\x03SXX\xaa\x02\tSchema.V1\xca\x02\tSchema\\V1\xe2\x02\x15Schema\\V1\\GPBMetadata\xea\x02\nSchema::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'schema.v1.schema_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'\n\rcom.schema.v1B\013SchemaProtoP\001Z\021schema/service/v1\242\002\003SXX\252\002\tSchema.V1\312\002\tSchema\\V1\342\002\025Schema\\V1\\GPBMetadata\352\002\nSchema::V1' + _RESOLVEALLRESPONSE_FLAGSENTRY._options = None + _RESOLVEALLRESPONSE_FLAGSENTRY._serialized_options = b'8\001' + _globals['_RESOLVEALLREQUEST']._serialized_start=67 + _globals['_RESOLVEALLREQUEST']._serialized_end=137 + _globals['_RESOLVEALLRESPONSE']._serialized_start=140 + _globals['_RESOLVEALLRESPONSE']._serialized_end=302 + _globals['_RESOLVEALLRESPONSE_FLAGSENTRY']._serialized_start=226 + _globals['_RESOLVEALLRESPONSE_FLAGSENTRY']._serialized_end=302 + _globals['_ANYFLAG']._serialized_start=305 + _globals['_ANYFLAG']._serialized_end=542 + _globals['_RESOLVEBOOLEANREQUEST']._serialized_start=544 + _globals['_RESOLVEBOOLEANREQUEST']._serialized_end=645 + _globals['_RESOLVEBOOLEANRESPONSE']._serialized_start=648 + _globals['_RESOLVEBOOLEANRESPONSE']._serialized_end=797 + _globals['_RESOLVESTRINGREQUEST']._serialized_start=799 + _globals['_RESOLVESTRINGREQUEST']._serialized_end=899 + _globals['_RESOLVESTRINGRESPONSE']._serialized_start=902 + _globals['_RESOLVESTRINGRESPONSE']._serialized_end=1050 + _globals['_RESOLVEFLOATREQUEST']._serialized_start=1052 + _globals['_RESOLVEFLOATREQUEST']._serialized_end=1151 + _globals['_RESOLVEFLOATRESPONSE']._serialized_start=1154 + _globals['_RESOLVEFLOATRESPONSE']._serialized_end=1301 + _globals['_RESOLVEINTREQUEST']._serialized_start=1303 + _globals['_RESOLVEINTREQUEST']._serialized_end=1400 + _globals['_RESOLVEINTRESPONSE']._serialized_start=1403 + _globals['_RESOLVEINTRESPONSE']._serialized_end=1548 + _globals['_RESOLVEOBJECTREQUEST']._serialized_start=1550 + _globals['_RESOLVEOBJECTREQUEST']._serialized_end=1650 + _globals['_RESOLVEOBJECTRESPONSE']._serialized_start=1653 + _globals['_RESOLVEOBJECTRESPONSE']._serialized_end=1826 + _globals['_EVENTSTREAMRESPONSE']._serialized_start=1828 + _globals['_EVENTSTREAMRESPONSE']._serialized_end=1914 + _globals['_EVENTSTREAMREQUEST']._serialized_start=1916 + _globals['_EVENTSTREAMREQUEST']._serialized_end=1936 + _globals['_SERVICE']._serialized_start=1939 + _globals['_SERVICE']._serialized_end=2528 +# @@protoc_insertion_point(module_scope) diff --git a/providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/schema/v1/schema_pb2_grpc.py b/providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/schema/v1/schema_pb2_grpc.py new file mode 100644 index 00000000..e1dfad8f --- /dev/null +++ b/providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/schema/v1/schema_pb2_grpc.py @@ -0,0 +1,267 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from . import schema_pb2 as schema_dot_v1_dot_schema__pb2 + + +class ServiceStub(object): + """Service defines the exposed rpcs of flagd + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.ResolveAll = channel.unary_unary( + '/schema.v1.Service/ResolveAll', + request_serializer=schema_dot_v1_dot_schema__pb2.ResolveAllRequest.SerializeToString, + response_deserializer=schema_dot_v1_dot_schema__pb2.ResolveAllResponse.FromString, + ) + self.ResolveBoolean = channel.unary_unary( + '/schema.v1.Service/ResolveBoolean', + request_serializer=schema_dot_v1_dot_schema__pb2.ResolveBooleanRequest.SerializeToString, + response_deserializer=schema_dot_v1_dot_schema__pb2.ResolveBooleanResponse.FromString, + ) + self.ResolveString = channel.unary_unary( + '/schema.v1.Service/ResolveString', + request_serializer=schema_dot_v1_dot_schema__pb2.ResolveStringRequest.SerializeToString, + response_deserializer=schema_dot_v1_dot_schema__pb2.ResolveStringResponse.FromString, + ) + self.ResolveFloat = channel.unary_unary( + '/schema.v1.Service/ResolveFloat', + request_serializer=schema_dot_v1_dot_schema__pb2.ResolveFloatRequest.SerializeToString, + response_deserializer=schema_dot_v1_dot_schema__pb2.ResolveFloatResponse.FromString, + ) + self.ResolveInt = channel.unary_unary( + '/schema.v1.Service/ResolveInt', + request_serializer=schema_dot_v1_dot_schema__pb2.ResolveIntRequest.SerializeToString, + response_deserializer=schema_dot_v1_dot_schema__pb2.ResolveIntResponse.FromString, + ) + self.ResolveObject = channel.unary_unary( + '/schema.v1.Service/ResolveObject', + request_serializer=schema_dot_v1_dot_schema__pb2.ResolveObjectRequest.SerializeToString, + response_deserializer=schema_dot_v1_dot_schema__pb2.ResolveObjectResponse.FromString, + ) + self.EventStream = channel.unary_stream( + '/schema.v1.Service/EventStream', + request_serializer=schema_dot_v1_dot_schema__pb2.EventStreamRequest.SerializeToString, + response_deserializer=schema_dot_v1_dot_schema__pb2.EventStreamResponse.FromString, + ) + + +class ServiceServicer(object): + """Service defines the exposed rpcs of flagd + """ + + def ResolveAll(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ResolveBoolean(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ResolveString(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ResolveFloat(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ResolveInt(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ResolveObject(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def EventStream(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_ServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'ResolveAll': grpc.unary_unary_rpc_method_handler( + servicer.ResolveAll, + request_deserializer=schema_dot_v1_dot_schema__pb2.ResolveAllRequest.FromString, + response_serializer=schema_dot_v1_dot_schema__pb2.ResolveAllResponse.SerializeToString, + ), + 'ResolveBoolean': grpc.unary_unary_rpc_method_handler( + servicer.ResolveBoolean, + request_deserializer=schema_dot_v1_dot_schema__pb2.ResolveBooleanRequest.FromString, + response_serializer=schema_dot_v1_dot_schema__pb2.ResolveBooleanResponse.SerializeToString, + ), + 'ResolveString': grpc.unary_unary_rpc_method_handler( + servicer.ResolveString, + request_deserializer=schema_dot_v1_dot_schema__pb2.ResolveStringRequest.FromString, + response_serializer=schema_dot_v1_dot_schema__pb2.ResolveStringResponse.SerializeToString, + ), + 'ResolveFloat': grpc.unary_unary_rpc_method_handler( + servicer.ResolveFloat, + request_deserializer=schema_dot_v1_dot_schema__pb2.ResolveFloatRequest.FromString, + response_serializer=schema_dot_v1_dot_schema__pb2.ResolveFloatResponse.SerializeToString, + ), + 'ResolveInt': grpc.unary_unary_rpc_method_handler( + servicer.ResolveInt, + request_deserializer=schema_dot_v1_dot_schema__pb2.ResolveIntRequest.FromString, + response_serializer=schema_dot_v1_dot_schema__pb2.ResolveIntResponse.SerializeToString, + ), + 'ResolveObject': grpc.unary_unary_rpc_method_handler( + servicer.ResolveObject, + request_deserializer=schema_dot_v1_dot_schema__pb2.ResolveObjectRequest.FromString, + response_serializer=schema_dot_v1_dot_schema__pb2.ResolveObjectResponse.SerializeToString, + ), + 'EventStream': grpc.unary_stream_rpc_method_handler( + servicer.EventStream, + request_deserializer=schema_dot_v1_dot_schema__pb2.EventStreamRequest.FromString, + response_serializer=schema_dot_v1_dot_schema__pb2.EventStreamResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'schema.v1.Service', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class Service(object): + """Service defines the exposed rpcs of flagd + """ + + @staticmethod + def ResolveAll(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/schema.v1.Service/ResolveAll', + schema_dot_v1_dot_schema__pb2.ResolveAllRequest.SerializeToString, + schema_dot_v1_dot_schema__pb2.ResolveAllResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ResolveBoolean(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/schema.v1.Service/ResolveBoolean', + schema_dot_v1_dot_schema__pb2.ResolveBooleanRequest.SerializeToString, + schema_dot_v1_dot_schema__pb2.ResolveBooleanResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ResolveString(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/schema.v1.Service/ResolveString', + schema_dot_v1_dot_schema__pb2.ResolveStringRequest.SerializeToString, + schema_dot_v1_dot_schema__pb2.ResolveStringResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ResolveFloat(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/schema.v1.Service/ResolveFloat', + schema_dot_v1_dot_schema__pb2.ResolveFloatRequest.SerializeToString, + schema_dot_v1_dot_schema__pb2.ResolveFloatResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ResolveInt(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/schema.v1.Service/ResolveInt', + schema_dot_v1_dot_schema__pb2.ResolveIntRequest.SerializeToString, + schema_dot_v1_dot_schema__pb2.ResolveIntResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ResolveObject(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/schema.v1.Service/ResolveObject', + schema_dot_v1_dot_schema__pb2.ResolveObjectRequest.SerializeToString, + schema_dot_v1_dot_schema__pb2.ResolveObjectResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def EventStream(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/schema.v1.Service/EventStream', + schema_dot_v1_dot_schema__pb2.EventStreamRequest.SerializeToString, + schema_dot_v1_dot_schema__pb2.EventStreamResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/sync/v1/sync_service_pb2.py b/providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/sync/v1/sync_service_pb2.py new file mode 100644 index 00000000..8135eb75 --- /dev/null +++ b/providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/sync/v1/sync_service_pb2.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: sync/v1/sync_service.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1async/v1/sync_service.proto\x12\x07sync.v1\"O\n\x10SyncFlagsRequest\x12\x1f\n\x0bprovider_id\x18\x01 \x01(\tR\nproviderId\x12\x1a\n\x08selector\x18\x02 \x01(\tR\x08selector\"l\n\x11SyncFlagsResponse\x12-\n\x12\x66lag_configuration\x18\x01 \x01(\tR\x11\x66lagConfiguration\x12(\n\x05state\x18\x02 \x01(\x0e\x32\x12.sync.v1.SyncStateR\x05state\"S\n\x14\x46\x65tchAllFlagsRequest\x12\x1f\n\x0bprovider_id\x18\x01 \x01(\tR\nproviderId\x12\x1a\n\x08selector\x18\x02 \x01(\tR\x08selector\"F\n\x15\x46\x65tchAllFlagsResponse\x12-\n\x12\x66lag_configuration\x18\x01 \x01(\tR\x11\x66lagConfiguration*\x92\x01\n\tSyncState\x12\x1a\n\x16SYNC_STATE_UNSPECIFIED\x10\x00\x12\x12\n\x0eSYNC_STATE_ALL\x10\x01\x12\x12\n\x0eSYNC_STATE_ADD\x10\x02\x12\x15\n\x11SYNC_STATE_UPDATE\x10\x03\x12\x15\n\x11SYNC_STATE_DELETE\x10\x04\x12\x13\n\x0fSYNC_STATE_PING\x10\x05\x32\xab\x01\n\x0f\x46lagSyncService\x12\x46\n\tSyncFlags\x12\x19.sync.v1.SyncFlagsRequest\x1a\x1a.sync.v1.SyncFlagsResponse\"\x00\x30\x01\x12P\n\rFetchAllFlags\x12\x1d.sync.v1.FetchAllFlagsRequest\x1a\x1e.sync.v1.FetchAllFlagsResponse\"\x00\x42l\n\x0b\x63om.sync.v1B\x10SyncServiceProtoP\x01Z\x0e\x66lagd/grpcsync\xa2\x02\x03SXX\xaa\x02\x07Sync.V1\xca\x02\x07Sync\\V1\xe2\x02\x13Sync\\V1\\GPBMetadata\xea\x02\x08Sync::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sync.v1.sync_service_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'\n\013com.sync.v1B\020SyncServiceProtoP\001Z\016flagd/grpcsync\242\002\003SXX\252\002\007Sync.V1\312\002\007Sync\\V1\342\002\023Sync\\V1\\GPBMetadata\352\002\010Sync::V1' + _globals['_SYNCSTATE']._serialized_start=388 + _globals['_SYNCSTATE']._serialized_end=534 + _globals['_SYNCFLAGSREQUEST']._serialized_start=39 + _globals['_SYNCFLAGSREQUEST']._serialized_end=118 + _globals['_SYNCFLAGSRESPONSE']._serialized_start=120 + _globals['_SYNCFLAGSRESPONSE']._serialized_end=228 + _globals['_FETCHALLFLAGSREQUEST']._serialized_start=230 + _globals['_FETCHALLFLAGSREQUEST']._serialized_end=313 + _globals['_FETCHALLFLAGSRESPONSE']._serialized_start=315 + _globals['_FETCHALLFLAGSRESPONSE']._serialized_end=385 + _globals['_FLAGSYNCSERVICE']._serialized_start=537 + _globals['_FLAGSYNCSERVICE']._serialized_end=708 +# @@protoc_insertion_point(module_scope) diff --git a/providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/sync/v1/sync_service_pb2_grpc.py b/providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/sync/v1/sync_service_pb2_grpc.py new file mode 100644 index 00000000..fa38ac67 --- /dev/null +++ b/providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/sync/v1/sync_service_pb2_grpc.py @@ -0,0 +1,102 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from sync.v1 import sync_service_pb2 as sync_dot_v1_dot_sync__service__pb2 + + +class FlagSyncServiceStub(object): + """FlagService implements a server streaming to provide realtime flag configurations + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.SyncFlags = channel.unary_stream( + '/sync.v1.FlagSyncService/SyncFlags', + request_serializer=sync_dot_v1_dot_sync__service__pb2.SyncFlagsRequest.SerializeToString, + response_deserializer=sync_dot_v1_dot_sync__service__pb2.SyncFlagsResponse.FromString, + ) + self.FetchAllFlags = channel.unary_unary( + '/sync.v1.FlagSyncService/FetchAllFlags', + request_serializer=sync_dot_v1_dot_sync__service__pb2.FetchAllFlagsRequest.SerializeToString, + response_deserializer=sync_dot_v1_dot_sync__service__pb2.FetchAllFlagsResponse.FromString, + ) + + +class FlagSyncServiceServicer(object): + """FlagService implements a server streaming to provide realtime flag configurations + """ + + def SyncFlags(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def FetchAllFlags(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_FlagSyncServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'SyncFlags': grpc.unary_stream_rpc_method_handler( + servicer.SyncFlags, + request_deserializer=sync_dot_v1_dot_sync__service__pb2.SyncFlagsRequest.FromString, + response_serializer=sync_dot_v1_dot_sync__service__pb2.SyncFlagsResponse.SerializeToString, + ), + 'FetchAllFlags': grpc.unary_unary_rpc_method_handler( + servicer.FetchAllFlags, + request_deserializer=sync_dot_v1_dot_sync__service__pb2.FetchAllFlagsRequest.FromString, + response_serializer=sync_dot_v1_dot_sync__service__pb2.FetchAllFlagsResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'sync.v1.FlagSyncService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class FlagSyncService(object): + """FlagService implements a server streaming to provide realtime flag configurations + """ + + @staticmethod + def SyncFlags(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/sync.v1.FlagSyncService/SyncFlags', + sync_dot_v1_dot_sync__service__pb2.SyncFlagsRequest.SerializeToString, + sync_dot_v1_dot_sync__service__pb2.SyncFlagsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def FetchAllFlags(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/sync.v1.FlagSyncService/FetchAllFlags', + sync_dot_v1_dot_sync__service__pb2.FetchAllFlagsRequest.SerializeToString, + sync_dot_v1_dot_sync__service__pb2.FetchAllFlagsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/ruff.toml b/ruff.toml index f4b20b7f..a92d6eec 100644 --- a/ruff.toml +++ b/ruff.toml @@ -3,7 +3,7 @@ exclude = [ ".venv", "__pycache__", "venv", - "openfeature/contrib/providers/flagd/proto/*" + "providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/proto/*" ] target-version = "py38"