Pular para o conteúdo
Bruno Dórea
Todos os posts

3 mins de leitura


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. O type = "virtual" indica que é um ambiente virtual do Python, e path = ".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 script main_1.py localizado na pasta src.`
  • start2: executa o script main_2.py localizado na pasta src.`
  • execute: executa start1 seguido de start2, 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.