pluggyai / meu-pluggy

An easy way to connect your account to Open Finance Brasil
https://meu.pluggy.ai
32 stars 0 forks source link

Problemas na geração do SDK Python #8

Open diraol opened 6 months ago

diraol commented 6 months ago

Oi gente, tudo certo?

Fui fazer umas melhorias no workflow que publica o SDK python (baseado na Spec OpenAPI de vocês), e tanto na hora de gerar a documentação do pacote quanto na hora de rodar testes o pacote gerado indica problemas.

Parece ser algum problema com a spec mesmo, de relações e tipos inválidos.

Inclusive, fui tentar gerar o pacote python usando essa lib (mais específica e mais criteriosa) e nem consegui gerar o SDK por conta dos erros (rodei local mesmo):

https://marcomuellner.github.io/openapi-python-generator/tutorial/

Não sei bem como poderia ajudar nisso...

Gabrielpanga commented 6 months ago

Bom dia, obrigado por reportar!

Pelo que vemos na OAS.json, a especificação está correta, foi adicionado um novo componente que é PaymentIntentParameter e está vinculado à intenção de pagamento.

Devo assumir que o problema é que a nova versão do SDK não está sendo publicada e aí os testes quebram, correto?

diraol commented 6 months ago

Olá @Gabrielpanga, bom dia!

Então, não analisei a fundo os problemas.

Não tenho muita experiência com OpenAPI Spec, mas com relação aos erros de testes, o que identifiquei foram:

Além disso, em loan_installments.py tem o uso de null, que não é um type válido no python (seria None). Não sei o quanto isso está vindo da própria spec.

E em payment_data_participant.py tem uma referência à classe Document também dando erro provavelmente por falta de "import".

Como são pouco erros, me parece ser algo vindo da Spec mesmo - senão teria dado o mesmo erro em muitos outros lugares.

Faz sentido?

Ah, e esse erro é rodando o linter após gerar o SDK a partir da spec OpenAPI mais atual. Eu sequer conseguir chegar a rodar os testes nesse fluxo de CI (porque quebrou já no linter)

NicolasMontone commented 6 months ago

Oi @diraol tudo bom? Vou analisar bem isso para que a geração do SDK fique boa! Muito obrigado!

NicolasMontone commented 6 months ago

Ou @diraol tudo bem? Fiz algumas alterações no oas3 e consegui gerar o SDK manualmente, você poderia verificar agora? Fico atento a qualquer coisa.

diraol commented 6 months ago

Oi @NicolasMontone, obrigado pela rápida resposta! De fato melhorou o processo e agora o CI de linter/testes está passando - apesar de alguns warnings.

Mas a parte de geração de Documentação do pacote ainda não está funcionando.

NicolasMontone commented 6 months ago

@diraol Obrigado a você! Vou verificar o que está acontecendo e ver se conseguimos colocar o CI em funcionamento!

btw, você não se importaria se adicionássemos o SDK à nossa documentação como "SDK da comunidade"?

diraol commented 6 months ago

Opa, com certeza pode adicionar lá :)

NicolasMontone commented 6 months ago

@diraol, como vai? Não estou conseguindo priorizar as mudanças na OpenAPI JSON porque percebo que há problemas nas associações, certo? Você consegue pensar em como resolver isso? Se eu enviar o OAS para este repositório, você me ajudaria a corrigir o JSON da OpenAPI?