python plugin can generate invalid python file names.
forgive me if i'm missing something obvious python is a language I rarely touch by choice so I might be missing something trivial.
What version of protobuf and what language are you using? Version: 5.27.2 Language: python
What operating system (Linux, Windows, ...) and version?
uname -a
Linux 6.10.6-arch1-1 #1 SMP PREEMPT_DYNAMIC Mon, 19 Aug 2024 17:02:39 +0000 x86_64 GNU/Linux
What runtime / compiler are you using (e.g., python version or gcc version) Python 3.12.4, setup a virtual env following the grpc quick start guide.
What did you do? Steps to reproduce the behavior:
- create a proto file with the name
example.service.proto - generate python code using the proto file.
.egpyenv/bin/python -m grpc_tools.protoc --python_out=. --pyi_out=. --grpc_python_out=. example.service.proto - generated code will be named example.service_pb2.py and example.service_pb2_grpc.py respectively.
- can't import these files easily in python making them hard to use.
What did you expect to see generated code that was usable. manually renaming the proto files is a possibility but the point of IDL tools is to handle these langauge specific divergent behaviors.
What did you see instead? hard to import generated code.
@james-lawrence Can you provide a little more information about what was hard about importing these files?
try importing a python file with periods in the filename, python doesn't allow it as periods are used as path separators.
for example: if you import the following it'll look for the file foo/bar/example.py not file.bar.example.py which is what the protoc plugin generates with a proto file names foo.bar.example.proto. afiak there is no way to import a file named as such in python, but that could just be my lack of knowledge of python's behaviors for imports.
import foo.bar.example
We triage inactive PRs and issues in order to make it easier to find active work. If this issue should remain active or becomes active again, please add a comment.
This issue is labeled inactive because the last activity was over 90 days ago. This issue will be closed and archived after 14 additional days without activity.
bump.
We triage inactive PRs and issues in order to make it easier to find active work. If this issue should remain active or becomes active again, please add a comment.
This issue is labeled inactive because the last activity was over 90 days ago. This issue will be closed and archived after 14 additional days without activity.
bump
We triage inactive PRs and issues in order to make it easier to find active work. If this issue should remain active or becomes active again, please add a comment.
This issue is labeled inactive because the last activity was over 90 days ago. This issue will be closed and archived after 14 additional days without activity.
bump still an issue.