Automatizando scripts Python com Hatch
Simplificando a execução de scripts customizados Python com Hatch
Automatizar tarefas em projetos Python pode facilitar muito o desenvolvimento e a manutenção de código. Ferramentas como o npm
do JavaScript possuem funcionalidades convenientes, como os scripts definidos no package.json
, que permitem rodar comandos customizados facilmente. Felizmente, no ecossistema Python, podemos usar o Hatch para conseguir uma experiência similar.
O que é o Hatch?
O Hatch é uma ferramenta para gerenciamento de ambientes e projetos Python. Ele simplifica a criação de ambientes virtuais e permite a execução de scripts customizados de maneira organizada. Um dos principais benefícios é que ele usa o padrão pyproject.toml, que é um formato de configuração centralizado para projetos Python.
Pré-requisito
Antes de instalar/configurar o Hatch no seu projeto, configure um ambiente virtual. Aqui um artigo de como configurar seu ambiente virtual com o venv
Passo 1: Instalando o Hatch
O primeiro passo é instalar o Hatch. Para isso, você precisará de uma versão recente do pip
. Execute o seguinte comando no terminal para instalar o Hatch:
pip install hatch
Com o Hatch instalado, você poderá usá-lo para gerenciar ambientes virtuais e rodar scripts no seu projeto.
Passo 2: Criando um Arquivo pyproject.toml
O arquivo pyproject.toml
é o coração do seu projeto Python quando se trata de automação e gerenciamento de dependências. Nele, você pode configurar seus scripts da mesma maneira que faria no package.json do JavaScript.
Crie um arquivo chamado pyproject.toml
na raiz do seu projeto. Esse arquivo vai conter as configurações necessárias para automatizar a execução de scripts.
Exemplo de pyproject.toml
[project]
name = "meu-projeto-python"
version = "1.0.0"
description = "Um exemplo de projeto Python com automação de scripts"
readme = "readme.md"
[tool.hatch.envs.default]
type = "virtual"
path = ".venv"
[tool.hatch.envs.default.scripts]
start1 = "python src/main_1.py"
start2 = "python src/main_2.py"
execute = "hatch run start1 && hatch run start2"
Explicação:
[project]
: Define informações básicas sobre o projeto, como nome e versão.[tool.hatch.envs]
: Aqui definimos os ambientes. Otype = "virtual"
indica que é um ambiente virtual do Python, epath = ".venv"
é o caminho onde o Hatch vai procurar o ambiente.[tool.hatch.envs.default.scripts]
: Aqui você define os scripts personalizados que podem ser executados. O Hatch permitirá que você rode esses scripts com facilidade.
Passo 3: Definindo Scripts Automatizados e Executando
Depois de configurar o arquivo pyproject.toml
, vamos ver executar o scripts execute
com o seguinte comando.
hatch run start1
ou
hatch run start2
ou
hatch run execute
Explicação:
start1
: executa o scriptmain_1.py
localizado na pasta src.`start2
: executa o scriptmain_2.py
localizado na pasta src.`execute
: executastart1
seguido destart2
, rodando ambos os scripts em sequência.
Conclusão
Com o Hatch, você pode automatizar a execução de scripts e gerenciar ambientes virtuais de forma fácil e eficiente no Python, utilizando o pyproject.toml
. Ele permite que você mantenha seu projeto organizado e crie scripts reutilizáveis que facilitam o fluxo de trabalho.
Essa abordagem é ideal para quem vem do JavaScript e está acostumado com a automação oferecida pelo npm
e quer algo similar no Python. Além disso, o Hatch gerencia ambientes virtuais de maneira nativa, o que é um bônus em termos de flexibilidade e praticidade.