Model named `Client` causes errors
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 42/100
Línea de trabajo
Reproduce el problema con la especificación OpenAPI proporcionada y, a continuación, inspecciona los imports del archivo generado fast_api_client/api/default/client_client_get.py. La corrección estará completa cuando los tipos de modelo y cliente generados ya no entren en conflicto y ruff se ejecute sin el error F811.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Describe the bug
If a model of the Openapi App is called Client this name collides with the client.Client object in imports.
OpenAPI Spec File
{
"openapi": "3.1.0",
"info": {
"title": "FastAPI",
"version": "0.1.0"
},
"paths": {
"/client": {
"get": {
"summary": "Client",
"operationId": "client_client_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Client"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"Client": {
"properties": {
"foo": {
"type": "string",
"title": "Foo"
},
"bar": {
"type": "integer",
"title": "Bar"
}
},
"type": "object",
"required": [
"foo",
"bar"
],
"title": "Client"
}
}
}
}
Desktop (please complete the following information):
- OS: [e.g. Ubuntu 22.04]
- Python Version: [e.g. 3.10.12]
- openapi-python-client version [e.g. 0.19.1]
Additional context
The generator outputs:
Generating fast-api-client
Error(s) encountered while generating, client was not created
ruff failed
fast_api_client/api/default/client_client_get.py:8:30: F811 Redefinition of unused `Client` from line 7
Found 16 errors (15 fixed, 1 remaining).
In the relevant code there are two imports:
from ...client import AuthenticatedClient, Client
from ...models.client import Client
As hinted by ruff' error message there are two imports that load a Client object but they are loading different objects.
If you ty to use the generated code:
from fast_api_client import Client
from fast_api_client.api.default import client_client_get
with Client(base_url="http://localhost:8000") as client:
data = client_client_get.sync(client=client)
print(data)
It will still work properly as the only Client type that is actually used at runtime is the one from models which is imported last (the Client from client is only used for type-hinting).
- Lenguaje dominante
- Python
- Estrellas
- 2k
- Forks
- 293
- Merge medio
- 34 min
- PR fusionados (30 d)
- 1
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 openapi-generators/openapi-python-client
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 72/100
openapi-generators/openapi-python-client#1451 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 52/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 64/100
openapi-generators/openapi-python-client#1435 · 1 comentario ·
Todos los issues de openapi-generators/openapi-python-client
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
anthropics/skills#1811 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
speaches-ai/speaches#678 ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
datalayer/mcp-compose#42 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
conda-forge/spacy-feedstock#177 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
UKGovernmentBEIS/inspect_evals#2523 ·