[ 
https://issues.apache.org/jira/browse/OPENNLP-1830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18081941#comment-18081941
 ] 

ASF GitHub Bot commented on OPENNLP-1830:
-----------------------------------------

mawiesne commented on code in PR #465:
URL: https://github.com/apache/opennlp-sandbox/pull/465#discussion_r3264254362


##########
opennlp-grpc/examples/README.md:
##########
@@ -1,20 +1,42 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
 # Apache OpenNLP gRPC - Examples
 
 This repository contains examples for the Apache OpenNLP gRPC project.
 
-For other languages, you need to generate the code stubs yourself, as shown 
here for Python
+For other languages, generate the code stubs yourself, as shown here for 
Python:
 
-```
+```bash
 python3 -m pip install grpcio-tools
 mkdir python
-python3 -m grpc_tools.protoc -I. --python_out=python --grpc_python_out=python 
opennlp.proto
+python3 -m grpc_tools.protoc \

Review Comment:
   Any benefit in having this on multiple lines? IMHO, one liner was clear and 
readable.



##########
opennlp-grpc/examples/python-client/sentdetect_example.py:
##########
@@ -0,0 +1,65 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import grpc
+import opennlp_pb2
+import opennlp_pb2_grpc
+
+
+def run():
+    with grpc.insecure_channel("localhost:7071") as channel:
+        stub = opennlp_pb2_grpc.SentenceDetectorServiceStub(channel)
+
+        print("Connecting to OpenNLP gRPC server...")
+
+        try:
+            response = stub.GetAvailableModels(
+                opennlp_pb2.Empty(),
+                timeout=5
+            )
+            models = list(response.models)
+        except grpc.RpcError as e:
+            print(f"Server error: {e.code()} - {e.details()}")
+            return
+
+        if not models:
+            print("No models available on server.")
+            return
+
+        # Pick first registered sentence detector model
+        model = models[0]

Review Comment:
   What if none was found? Inform consumer of the non-available model state?



##########
opennlp-grpc/examples/python-client/uv.lock:
##########


Review Comment:
   Why do we need to add and keep a `.lock` file in the git repo? Can't this be 
just created on the checkout for the local dev purposes?



##########
README.md:
##########
@@ -14,7 +14,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 
or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
 -->
-

Review Comment:
   Can we leave the blank line in here?



##########
opennlp-grpc/examples/README.md:
##########
@@ -1,20 +1,42 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
 # Apache OpenNLP gRPC - Examples
 
 This repository contains examples for the Apache OpenNLP gRPC project.
 
-For other languages, you need to generate the code stubs yourself, as shown 
here for Python
+For other languages, generate the code stubs yourself, as shown here for 
Python:
 
-```
+```bash
 python3 -m pip install grpcio-tools
 mkdir python
-python3 -m grpc_tools.protoc -I. --python_out=python --grpc_python_out=python 
opennlp.proto
+python3 -m grpc_tools.protoc \
+    -I. \
+    --python_out=python \
+    --grpc_python_out=python \
+    opennlp.proto
 ```
 
-# Documentation generation
+## Documentation generation
 
 ```powershell
-docker run --rm -v ${PWD}:/out -v ${PWD}:/protos pseudomuto/protoc-gen-doc 
--doc_opt=markdown,opennlp.md 
+docker run --rm \

Review Comment:
   See comment above on one-liner formatting.





> Add Python gRPC sentence detection example with uv support
> ----------------------------------------------------------
>
>                 Key: OPENNLP-1830
>                 URL: https://issues.apache.org/jira/browse/OPENNLP-1830
>             Project: OpenNLP
>          Issue Type: Improvement
>          Components: gRPC binding
>            Reporter: Jobin Sabu
>            Priority: Major
>              Labels: Python, grpc
>
> Adds a Python sentence detection example for the OpenNLP gRPC example module.
> Change include:
> Adds Sentence detection Python client example
> Add uv-based dependency management support
> Improve Python example documentation
> Clean generated and align example structure with project conventions
> This improves usability for contributors testing OpenNLP gRPC Python 
> integration locally



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to