danielgtaylor / danielgtaylor/python-betterproto

Documentation errors

Abierto
#208 1 comentario 3 reacciones 0 asignados Ver en GitHub
documentation
Lenguaje dominante
Python
Estrellas
1.8k
Forks
234
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

There're a few issues with the example server, even after using the prerelease version. Probably not worth a PR, so here's an update example with notes below:

```python
import asyncio

from echo import EchoBase, EchoResponse, EchoStreamResponse
from grpclib.server import Server
from typing import AsyncIterator

class EchoService(EchoBase):
async def echo(self, value: str, extra_times: int) -> EchoResponse:
return EchoResponse(values=[value] * extra_times)

async def echo_stream(
self, value: str, extra_times: int
) -> AsyncIterator[EchoStreamResponse]:
for _ in range(extra_times):
yield EchoStreamResponse(value=value)

async def start_server():
HOST = "127.0.0.1"
PORT = 50051
server = Server([EchoService()])
await server.start(HOST, PORT)
await server.wait_closed()

if __name__ == "__main__":
loop = asyncio.get_event_loop()
loop.run_until_complete(start_server())
loop.close()

```

### Changes

- Added imports of `EchoReponse` and `EchoStreamResponse`
- Updated `echo` and `echo_stream` to return the correct types
- Updated `PORT` to match that in the client example
- Replaced `await server.run_forever()` (raises a `NotImplementedError`) with `await server.wait_closed()`
- Added an asyncio loop at the bottom to actually run the server

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza con la documentación del servidor de ejemplo y compara su código con el ejemplo del cliente. Actualiza las importaciones, los tipos de respuesta, el puerto, la llamada de apagado del servidor y el punto de entrada de asyncio tal como se indica; se considera terminado cuando el ejemplo coincide con el comportamiento del servidor en funcionamiento y puede ejecutarse sin los errores indicados.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
grpc, python
Área
documentation
Tipo de issue
Documentación
Dificultad
2/5
Tiempo estimado
1-3 horas
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.