RFC: Use annotations for parsing arguments
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 28/100
Línea de trabajo
Empieza revisando la prueba de concepto en webargs-starlette; después, inspecciona AsyncParser y core.Parser, y cómo marshmallow Schema.TYPE_MAPPING construye los campos. Se considera terminado cuando se haya adaptado el enfoque basado en anotaciones use_annotations para los parsers relevantes, de modo que los argumentos de la solicitud se analicen a partir de las anotaciones de las funciones de vista.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Add a decorator that will parse request arguments from the view function's type annotations.
I've built a working proof of concept of this idea in webargs-starlette.
@app.route("/")
@use_annotations(locations=("query",))
async def index(request, name: str = "World"):
return JSONResponse({"Hello": name})
A marshmallow Schema is generated from the annotations using Schema.TYPE_MAPPING to construct fields.
The code for use_annotations mostly isn't tied to Starlette and could be adapted for AsyncParser (and core.Parser when we drop Python 2 support).
- Lenguaje dominante
- Python
- Estrellas
- 1.4k
- Forks
- 171
- Merge medio
- 8 h 47 min
- PR fusionados (30 d)
- 12
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de marshmallow-code/webargs
-
Multi-value tornado headers are fetched with `get()` rather than `get_list()`Quizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
marshmallow-code/webargs#1109 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Improve Falcon parserPosiblemente ocupada @vytas7 la tomó hace 112 días. Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
marshmallow-code/webargs#1079 · 7 comentarios · 2 reacciones ·
Los mantenedores suelen responder en 1 día
-
Dependency DashboardAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 20/100
marshmallow-code/webargs#1046 ·
Los mantenedores suelen responder en 1 día
-
docs
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
marshmallow-code/webargs#644 · 5 comentarios · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
question
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
marshmallow-code/webargs#549 · 15 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de marshmallow-code/webargs
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
btclib-org/btclib#3062 ·
Los mantenedores suelen responder en 1 día
-
Run evals automatically in CIAbiertoarea:evals area:infra enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
jse-avl/support-bot#4 · 1 comentario ·
-
bug good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
qte77/agentic-job-offer-to-application-kit#487 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
On a free-threaded build, `_decrypted` can report a ledger locked mid-sign as a damaged fileAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
btclib-org/btclib-wallet#801 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
documentation good first issue
Dificultad 1/5 1-3 horas Aptitud para principiantes 94/100