Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Como estruturar e distribuir uma aplicação python 3

Qual a melhor forma de estruturar e distribuir uma aplicação python 3, considerando os pacotes, testes, documentação, etc.. E qual a função do arquivo 'init.py'

2 respostas
solução!

Olá Marcus, tudo bem?

A forma que nosso projeto está estruturado é uma forma comum de se encontrar uma aplicação em Python. Pois, basta pegarmos a pasta src/ e colocá-la no servidor ou em um container do Docker para subir a aplicação.

Essa abordagem é interessante, pois em produção, não existe a necessidade do código de testes.

A parte de organização dos pacotes e documentação varia muito da cultura do time. Em alguns times é comum ter código comentados, em outros, temos diagramas UMLs, outros times utilizam o próprio código de testes como uma forma de documentação. Uma abordagem comum é deixar o código ser a documentação, mas ter um arquivo README.md com informações sobre como rodar o projeto, onde buscar ajuda, ferramentas e tecnologias utilizadas, entre outros.

Sobre o arquivo __init__.py, ele, é utilizado para inicializar um pacote Python, isto é, informar ao Python que aquele diretório é um pacote.

Além disso, ele pode ter outros usos como importar e carregar arquivos e módulos.

Legal Yuri, muito obrigado pela resposta. A dúvida surgiu quando precisei organizar um projeto pessoal e algumas fontes de pesquisa não utilizavam a pasta source (/src), mas sim uma pasta com mesmo nome do projeto. No entanto, acredito que utilizar a src seja sim uma boa prática e facilita para subir em produção.

Seguem algumas referências que pesquisei:

https://docs.python.org/3.7/tutorial/modules.html

https://docs.python-guide.org/writing/structure/

https://pt.stackoverflow.com/questions/214770/como-%C3%A9-a-estrutura-de-projetos-em-python

Agradeço mais uma vez!