Skip to content

Latest commit

 

History

History

11-configuration

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

README.md

Configuration (Configuração de Projetos)

Bem-vindo ao Módulo 11!

Visão Geral

Todo projeto de software precisa de configurações que definam seu comportamento, suas dependências, sua forma de distribuição e as ferramentas utilizadas durante o desenvolvimento. Em Python, essas configurações evoluíram ao longo dos anos e, atualmente, são centralizadas principalmente no arquivo pyproject.toml.

Esse arquivo se tornou o padrão moderno para configuração de projetos Python, substituindo ou complementando diversos arquivos utilizados anteriormente, como setup.py, setup.cfg e parte das funcionalidades do requirements.txt. Além disso, ele permite centralizar as configurações de ferramentas como Poetry, uv, Ruff, Black, Pytest, Mypy e muitas outras.

Neste módulo, você aprenderá como estruturar e configurar projetos Python seguindo os padrões atuais da linguagem, tornando-os mais organizados, reproduzíveis e preparados para ambientes profissionais.

Objetivos do Módulo

Ao concluir este módulo, você será capaz de:

  • compreender o papel da configuração em projetos Python;
  • entender a importância do arquivo pyproject.toml;
  • configurar metadados de um projeto;
  • declarar dependências e dependências de desenvolvimento;
  • configurar o sistema de build do projeto;
  • centralizar configurações de ferramentas em um único arquivo;
  • compreender os padrões modernos adotados pelo ecossistema Python;
  • preparar projetos para distribuição e publicação.

Conteúdo do Módulo

  1. pyproject.toml

Neste tópico será apresentado o principal arquivo de configuração utilizado atualmente em projetos Python.

Principais conceitos estudados:

  • o que é o pyproject.toml;
  • estrutura do arquivo;
  • formato TOML;
  • metadados do projeto;
  • dependências;
  • dependências opcionais;
  • sistema de build;
  • configuração de ferramentas;
  • comparação com requirements.txt e setup.py;
  • boas práticas de organização.

Ao final deste tópico, o estudante será capaz de criar e configurar corretamente um projeto Python utilizando o padrão moderno adotado pela comunidade.

Habilidades Desenvolvidas

Ao longo deste módulo, serão desenvolvidas competências fundamentais para o desenvolvimento profissional, como:

  • organização de projetos Python;
  • configuração de ambientes de desenvolvimento;
  • gerenciamento de metadados;
  • centralização de configurações;
  • preparação para empacotamento e distribuição;
  • integração com ferramentas modernas do ecossistema Python;
  • padronização de projetos.

Estrutura Geral de um Projeto Moderno

meu_projeto/

├── pyproject.toml
├── README.md
├── LICENSE
├── src/
│   └── meu_projeto/
├── tests/
└── .gitignore

O pyproject.toml funciona como o centro das configurações do projeto, enquanto os demais arquivos desempenham papéis específicos, como documentação, licenciamento, código-fonte e testes.

Aplicações no Mercado

A configuração adequada de projetos é uma prática adotada em praticamente todas as áreas do desenvolvimento Python.

Exemplos incluem:

desenvolvimento de APIs REST; aplicações web; automação de processos; ciência de dados; engenharia de dados; inteligência artificial; desenvolvimento de bibliotecas; ferramentas de linha de comando (CLI); integração contínua (CI/CD); projetos open source.

Independentemente da área de atuação, o pyproject.toml tornou-se um elemento essencial para manter projetos organizados e fáceis de compartilhar. Pré-requisitos

Para aproveitar melhor este módulo, recomenda-se que o estudante já tenha estudado:

  • sintaxe básica do Python;
  • módulos e organização de código;
  • gerenciadores de pacotes (pip, Poetry, uv ou Conda);
  • gerenciamento de dependências;
  • estrutura básica de projetos Python.

O que vem depois?

Após dominar a configuração de projetos, o estudante estará preparado para estudar tópicos mais avançados, como:

  • testes automatizados;
  • documentação técnica;
  • tipagem estática;
  • integração contínua (CI/CD);
  • Docker;
  • desenvolvimento de APIs;
  • frameworks web;
  • publicação de bibliotecas no PyPI;
  • arquitetura e boas práticas de software.

Esses conhecimentos utilizam diretamente a estrutura configurada por meio do pyproject.toml.

Resumo

Neste módulo foi apresentado o pyproject.toml, o padrão moderno para configuração de projetos Python. Centralizando informações como metadados, dependências, sistema de build e configurações de ferramentas em um único arquivo, ele simplifica a organização dos projetos, facilita a colaboração entre equipes e prepara aplicações e bibliotecas para distribuição. Dominar esse arquivo é um passo importante para desenvolver projetos Python alinhados às práticas adotadas atualmente pela comunidade e pelo mercado.