openapi-generators / openapi-generators/openapi-python-client
Conflicting module names for models silently generate invalid code
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- Python
- Estrelas
- 2k
- Forks
- 293
- Merge médio
- 34min
- PRs com merge (30d)
- 1
Descrição
Describe the bug
I am generating a Python Client using the OpenAPI model of Netbox 3.6.9 (with a few plugins pre-installed).
This schema contains for example a model VLAN and a model Vlan.
However, in the generated client, only the model Vlan is generated, but the models/__init__.py still tries to import VLAN.
OpenAPI Spec File
https://gist.github.com/linkdd/3193453b38357d190545c7988cdac692
Desktop:
- OS: Debian 12
- Python Version: 3.12
- openapi-python-client version 0.21.6
Additional context
At $day_job, it was a blocking point, we had to remove temporarily the dependency to the generated client. I added a few tasks to my backlog in order to tackle this issue myself and ideally come up with a PR, but it won't be soon. Any help or information on how/where the model generation actually happens would be awesome and a huge time saver.
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.
Direção de pesquisa
Reproduza a geração com a especificação Netbox OpenAPI vinculada e inspecione os modelos gerados e models/init.py. Rastreie o caminho de geração de modelos para ver como VLAN e Vlan são nomeados e, em seguida, adicione cobertura mostrando que tanto os modelos gerados quanto suas importações continuam válidos.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- python
- Domínio
- tooling
- Tipo de issue
- Bug
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 45/100