Add a default values for rpc with empty message
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- grpc, python
- Domínio
- api, backend-api-design
Direção de pesquisa
Nenhum arquivo ou teste é identificado na issue. Comece localizando as assinaturas dos métodos RPC de Python gerados e o tratamento atual de google.protobuf.Empty ou de mensagens sem campos; o trabalho estará concluído quando RPCs de mensagens vazias puderem ser chamados sem um argumento, enquanto as chamadas existentes com mensagens explícitas continuarem funcionando.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
The Problem
Sometimes, it is needed to declare RPCs that take no parameter. However, it is not possible in gRPC. In such a situation, it is needed to either create an empty message type, or to use google.protobuf.Empty ( https://stackoverflow.com/questions/29687243/protobuf-rpc-service-method-without-parameters ).
However, this is not convenient for the final user: an empty message need to be created and passed to the method each time. It also makes it necessary to add potentially long imports.
The Ideal Solution
To make this easier, it would be better to add a default value for the parameter containing the request when it is possible. I see two possibilities:
- Add the default value only for
google.protobug.Empty - Add the default value for all the messages who have no field at all
I think the second solution would be better as it is common to define empty messages in such situations. I can make a PR if you agree, I already have a working version locally.
The Current Solution
Currently, it is necessary for the user to import by hand from betterproto.lib.std.google.protobuf import Empty or the custom message, which is not convenient.
The feature would turn:
from betterproto.lib.std.google.protobuf import Empty
answer = TestStub().call(Empty())
To something like:
answer = TestStub().call()
- Linguagem predominante
- Python
- Estrelas
- 1.8k
- Forks
- 235
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de danielgtaylor/python-betterproto
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 15/100
-
bug investigation needed
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 42/100
-
bug investigation needed
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 45/100
-
bug investigation needed
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 38/100
danielgtaylor/python-betterproto#676 · 3 comentários ·
Todas as issues de danielgtaylor/python-betterproto
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
volcengine/OpenViking#6445 ·
Mantenedores costumam responder em até 1 dia
-
BUG:Edit Album strips spaces from the password so albums with a leading/trailing space in the password can't be editedTalvez já em andamento @ManyaJain111 assumiu hoje. Abertabug enhancement possible-duplicate
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 77/100
AOSSIE-Org/PictoPy#1637 · 4 comentários ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
deepspeedai/DeepSpeed#8884 ·
Mantenedores costumam responder em até 3 dias
-
Flaky: test_advisor_live_calibrates_an_unmeasured_circuit ranks engines by a 1.8ms sleep marginAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
flagos-ai/FlagQuantum#718 ·
Mantenedores costumam responder em até 1 dia
-
bug CI-failure high priority
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 86/100
vllm-project/afd-plugin#483 ·
Mantenedores costumam responder em até 1 dia