[pt-BR🇧🇷] Open Source Friday Brasil com o Emerson Delatorre, mantenedor do PyFlunt

GitHubAbout 4 min readJun 21, 2025Watch original
THE SUMMARYAI-generated

Resumo da Live "Open Source Friday com Emerson de la Torre"

Key Concepts:

  • Open Source Friday
  • Domain Notification Pattern
  • Flunt (biblioteca Python)
  • Validação de Domínio
  • Contratos de Validação
  • Performance vs. Exceções
  • Contribuição Open Source
  • Python Brasil

1. Apresentação e Introdução:

  • Apresentação de Emerson de la Torre, desenvolvedor na Luía Labes (Magalu), atuando na tribo de checkout, em um time de demandas táticas (SUAT).
  • Emerson compartilha seus hobbies, incluindo o estudo da Bíblia e trabalho voluntário como Testemunha de Jeová.
  • Discussão sobre a origem brasileira do mantenedor de projetos open source e a vantagem de ter suporte em português.

2. Quem é Emerson na Área de Tecnologia:

  • Emerson trabalha na Luía Labes, parte do grupo Magalu, que possui um ecossistema com Magalu Cloud, Magalu Pay, Magalu Log, Magalu Ads, entre outros.
  • Atua na vertical de experiência do e-commerce, cuidando do checkout.
  • Experiência com tecnologias legadas e atualização para o .NET.

3. Jornada no Open Source:

  • Início da jornada em open source por volta de 2016-2017, buscando atualização em programação.
  • Estudo do .NET e curso com André Baltieri (Balta), MVP da Microsoft.
  • Inspiração na biblioteca "Flunt" do Balta para criar uma versão em Python.
  • Criação da biblioteca "PL Flant" em Python, inspirada no "Flunt" do .NET.
  • Surpresa com o número de downloads da biblioteca (mais de 30.000).
  • Recebimento de contribuições de pessoas de diferentes lugares, como da Índia.
  • Decisão de manter a documentação principal em português para priorizar a comunidade brasileira.

4. Demonstração do PL Flant:

  • O PL Flant implementa o padrão de notificações de domínio (Domain Notification Pattern).
  • Alternativa ao uso de exceções para validação de inputs, especialmente em projetos com DDD (Domain Driven Design).
  • Duas formas de uso:
    • Criação de validações e trabalho com notificações.
    • Criação de contratos para entidades do domínio.
  • Exemplo de Value Object para nome, validando se o nome tem menos de três caracteres.
  • Explicação do uso de contratos:
    • A classe precisa herdar de "notifable".
    • Encadeamento de métodos para validar o domínio (ex: Requires, IsLowerThan, IsEmail).
    • Personalização das mensagens de erro.
    • Validação com pessoa.is_valid e obtenção das notificações com get_notifications.
  • Demonstração de código com a classe "Pessoa", construtor, contrato e validações.
  • Exemplo de validação falhando e exibindo a mensagem de erro padrão em inglês.

5. Benefícios e Performance:

  • Centralização das validações em um contrato para melhor organização.
  • Melhora na performance ao evitar o uso excessivo de exceções.
  • Comparação de performance entre validações com exceções, if/try/except e o PL Flant.
  • Demonstração de que o uso de exceções é custoso em termos de tempo de execução.
  • Otimização do programa ao evitar exceções para validações, reservando-as para situações excepcionais.
  • Impacto significativo em programas com alta escalabilidade.

6. Contribuição para o Projeto:

  • Convite para a comunidade contribuir com o PL Flant.
  • Explicação do "contributing guide" no GitHub.
  • Passo a passo para criar um fork, configurar o ambiente (Python, UV), fazer alterações, criar a PR e atualizar o change log.
  • Documentação detalhada no código com docstrings.
  • Lista de "issues" abertas com sugestões de melhorias (ex: URL validation, Rejects validation, object validation).

7. Gerenciamento de Projetos:

  • Discussão sobre o uso do GitHub Projects para gerenciar projetos.
  • O GitHub Projects é mais simples que o Jira, mas pode ser suficiente dependendo do tamanho do projeto.
  • Alternativas como o Azure DevOps.

8. Recomendações de Estudo para Python:

  • Recomendação do livro "Fluent Python" de Luciano Ramalho para quem já tem base em programação.
  • O livro aborda herança múltipla e duck typing, conceitos importantes em Python.
  • Para iniciantes, recomendação do canal do Guanabara no YouTube.

9. Encerramento:

  • Agradecimentos pela participação e atenção.
  • Emerson se coloca à disposição para ajudar e tirar dúvidas nas redes sociais (fazedor de código).
  • Incentivo para quem está começando na área de tecnologia.
  • Saudação "alvegra" e menção à vitória do Botafogo sobre o PSG.

Síntese/Conclusão:

A live "Open Source Friday" apresentou o PL Flant, uma biblioteca Python para validação de domínio inspirada no Flunt do .NET. Emerson de la Torre demonstrou o uso da biblioteca, seus benefícios em termos de organização e performance, e incentivou a comunidade a contribuir com o projeto. A discussão também abordou dicas de estudo para Python e gerenciamento de projetos open source. O foco na comunidade brasileira e na documentação em português foi um destaque, visando facilitar a entrada de novos colaboradores.

AI summaries can miss context or contain errors. Check important details against the original video.

Go a little deeper.

Have a question about this video? Load its transcript to open the video chat.