working py server
diff --git a/examples/python/server/__main__.py b/examples/python/server/__main__.py
index a12bef3..c709bb0 100644
--- a/examples/python/server/__main__.py
+++ b/examples/python/server/__main__.py
@@ -1,18 +1,17 @@
 from concurrent import futures
 import logging
-import math
-import time
 
 import grpc
 from proto import greeter_pb2
+from proto.greeter_pb2_grpc import GreeterServicer, add_GreeterServicer_to_server
 
-class Greeter(greeter_pb2.GreeterStub):
+class Greeter(GreeterServicer):
     def SayHello(self, request, context):
-        return greeter_pb2.HelloReply(message=f'Hello {request.name}')
+        return greeter_pb2.HelloReply(message=f'Hello {request.name}, I am Python server')
 
 def serve():
     server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
-    greeter_pb2.add_Greeter_to_server(Greeter(), server)
+    add_GreeterServicer_to_server(Greeter(), server)
     server.add_insecure_port("[::1]:5042")
     server.start()
     server.wait_for_termination()
diff --git a/examples/rust/server/src/server.rs b/examples/rust/server/src/server.rs
index 4984721..e5975ca 100644
--- a/examples/rust/server/src/server.rs
+++ b/examples/rust/server/src/server.rs
@@ -21,7 +21,7 @@
         println!("Got a request from {:?}", request.remote_addr());
 
         let reply = HelloReply {
-            message: format!("Hello {}!", request.into_inner().name),
+            message: format!("Hello {}, I am Rust server", request.into_inner().name),
         };
         Ok(Response::new(reply))
     }
diff --git a/examples/tools/requirements.in b/examples/tools/requirements.in
index 3171ab2..313bb45 100644
--- a/examples/tools/requirements.in
+++ b/examples/tools/requirements.in
@@ -1,3 +1,3 @@
-protobuf==5.28.0
+protobuf==5.29.1
 grpcio
 grpcio-tools
diff --git a/examples/tools/requirements.txt b/examples/tools/requirements.txt
index bc65038..a1bbf0e 100644
--- a/examples/tools/requirements.txt
+++ b/examples/tools/requirements.txt
@@ -110,18 +110,18 @@
     --hash=sha256:f7c678e68ece0ae908ecae1c4314a0c2c7f83e26e281738b9609860cc2c82d96 \
     --hash=sha256:ffff9bc5eacb34dd26b487194f7d44a3e64e752fc2cf049d798021bf25053b87
     # via -r tools/requirements.in
-protobuf==5.28.0 \
-    --hash=sha256:018db9056b9d75eb93d12a9d35120f97a84d9a919bcab11ed56ad2d399d6e8dd \
-    --hash=sha256:510ed78cd0980f6d3218099e874714cdf0d8a95582e7b059b06cabad855ed0a0 \
-    --hash=sha256:532627e8fdd825cf8767a2d2b94d77e874d5ddb0adefb04b237f7cc296748681 \
-    --hash=sha256:6206afcb2d90181ae8722798dcb56dc76675ab67458ac24c0dd7d75d632ac9bd \
-    --hash=sha256:66c3edeedb774a3508ae70d87b3a19786445fe9a068dd3585e0cefa8a77b83d0 \
-    --hash=sha256:6d7cc9e60f976cf3e873acb9a40fed04afb5d224608ed5c1a105db4a3f09c5b6 \
-    --hash=sha256:853db610214e77ee817ecf0514e0d1d052dff7f63a0c157aa6eabae98db8a8de \
-    --hash=sha256:d001a73c8bc2bf5b5c1360d59dd7573744e163b3607fa92788b7f3d5fefbd9a5 \
-    --hash=sha256:dde74af0fa774fa98892209992295adbfb91da3fa98c8f67a88afe8f5a349add \
-    --hash=sha256:dde9fcaa24e7a9654f4baf2a55250b13a5ea701493d904c54069776b99a8216b \
-    --hash=sha256:eef7a8a2f4318e2cb2dee8666d26e58eaf437c14788f3a2911d0c3da40405ae8
+protobuf==5.29.1 \
+    --hash=sha256:012ce28d862ff417fd629285aca5d9772807f15ceb1a0dbd15b88f58c776c98c \
+    --hash=sha256:027fbcc48cea65a6b17028510fdd054147057fa78f4772eb547b9274e5219331 \
+    --hash=sha256:1fc55267f086dd4050d18ef839d7bd69300d0d08c2a53ca7df3920cc271a3c34 \
+    --hash=sha256:22c1f539024241ee545cbcb00ee160ad1877975690b16656ff87dde107b5f110 \
+    --hash=sha256:32600ddb9c2a53dedc25b8581ea0f1fd8ea04956373c0c07577ce58d312522e0 \
+    --hash=sha256:50879eb0eb1246e3a5eabbbe566b44b10348939b7cc1b267567e8c3d07213853 \
+    --hash=sha256:5a41deccfa5e745cef5c65a560c76ec0ed8e70908a67cc8f4da5fce588b50d57 \
+    --hash=sha256:683be02ca21a6ffe80db6dd02c0b5b2892322c59ca57fd6c872d652cb80549cb \
+    --hash=sha256:8ee1461b3af56145aca2800e6a3e2f928108c749ba8feccc6f5dd0062c410c0d \
+    --hash=sha256:b5ba1d0e4c8a40ae0496d0e2ecfdbb82e1776928a205106d14ad6985a09ec155 \
+    --hash=sha256:d473655e29c0c4bbf8b69e9a8fb54645bc289dead6d753b952e7aa660254ae18
     # via
     #   -r tools/requirements.in
     #   grpcio-tools