Neste post, vamos criar um passo a passo para a criação de um ambiente de desenvolvimento Python completo, desde a instalação até a configuração de ferramentas que otimizam seu fluxo de trabalho.
Um ambiente bem configurado significa:
- Isolamento de projetos
- Gestão de dependências
- Padronização de código
- Facilidade de colaboração
- Qualidade
Desenvolvimento
A nossa linguagem para o desenvolvimento:
Python
Download e instalação:
https://www.python.org/downloads/
Instalador Global
Pipx
Instalar aplicativos, por usuário.
Gerenciador de Dependências
Poetry
Instalação:
O pipx irá instalar o Poetry apenas para o usuário corrente e não para todos os usuários da máquina.
pipx install poetry
Uso:
Criar um novo projeto:
poetry new <o nome do projeto >
Nota: Ao criar o projeto, caso esteja utilizando “-” no nome do projeto, o Poetry irá substitui-lo por “_”, na criação do nome do diretório de trabalho. O nome do projeto permanecerá igual ao definido.
Ativar o ambiente virtual do poetry:
cd <o nome do projeto >
poetry shell
Versionamento
Git
Para o versionamento do projeto eu utilizo o Git com o a hospedagem no GitHub.
Inicializar o Git:
git init .
Criar o projeto no GitHub, utilizando o cli gh:
gh repo create
Conectar o repositorio local ao remoto:
git remote add origin https://github.com/seu-usuario/seu-repositorio.git
Criar o gitignore, utilizando o ignr:
ignr -p python > .gitignore
Subir o projeto para o GitHub:
git add .
git commit -m “feat: commit inicial”
git push –set-upstream origin main
Ferramentas
Pytest
Instalação:
Para os testes unitários:
poetry add pytest -G dev
Para acompanhar a cobertura dos testes, pytest-cov:
poetry add pytest-cov -G dev
Formatação e Linting
Pep8
Uma guia de estilos de como deve ser o código em seu padrão de escrita. Gosto de seguir este padrão e as ferramentas a seguir me ajudam neste propósito.
Blue
Formatador de código
poetry add blue -G dev
O Black é, também, uma ótima opção, sendo um concorrente direto.
Isort
Mantém os imports organizados.
poetry add isort -G dev
Taskipy
Automatizar tarefas e ou comandos.
poetry add taskipy -G dev
Garantia da Qualidade
Pre-Commit
Realiza uma verificação prévia do código, antes do commit para o repositório.
Instalação:
poetry add pre-commit -G dev
Iniciar:
pre-commit install
Documentação
MkDocs
Para gerar documentação:
poetry add mkdocs-material -G doc
MkDocStrings
Para não ter que repetir informação ao gerar a documentação:
poetry add mkdocstrings -G doc
MkDocStrings-Python
A extenção para o Python:
poetry add mkdocstrings-python -G doc
Nota 1: A pep257 formaliza a forma de escrever as docstrings.
Nota 2: O formato de docstrings do Google é bem legal e vale a pena ser considerado.
MkDocs Material
O tema material para a documentação:
poetry add mkdocs-material -G doc
Conclusão
É assim, com estas ferramentas e configurações, que eu crio o meu ambiente para desenvolvimento Python.
Espero que possa, de alguma forma, ser útil a outros também.
Fontes de referência
Diversas na internet.