Python Nordeste 2023

Indo além com Jupyter Notebooks: Desenvolva o seu primeiro pacote python com programação letrada.
24/09, 09:30–12:00 (America/Recife), Laboratório 1

Programação letrada é um paradigma de programação que incorpora explicações em linguagem natural (como espanhol) junto com código tradicional. Programação letrada permite que desenvolvedores contem uma história com seu código, melhorando o entendimento do projeto, focando com documentação e facilitando a integração de novos desenvolvedores.

Esse tutorial irá mostrar os benefícios de programação letrada através da publicação de um pacote python que utiliza das melhores práticas de desenvolvimento.


Programação letrada é um paradigma de programação que incorpora explicações em linguagem natural (como espanhol) junto com código tradicional. Programação letrada permite que desenvolvedores contem uma história com seu código, melhorando o entendimento do projeto, focando com documentação e facilitando a integração de novos desenvolvedores.

Mesmo sendo um conceito respeitado e defendido por pesquisadores renomados, como Donald Knuth, ferramentas de programação letrada como Jupyter notebooks são considerados ineficientes para desenvolvimento de software. Essa percepção limitou a utilização de Jupyter notebooks a scripts simples e material educacional.

A biblioteca "Nbdev" demonstrou que programação letrada é útil para o desenvolvimento de grandes e sérios projetos, como FastAi.

Esse minicurso irá mostrar os benefícios de programação letrada ao mesmo tempo que utiliza das melhores práticas de desenvolvimento.

Iremos desenvolver um pacote Python utilizando Jupyter Notebooks, além de publica-lo, realizar deploy de documentação, executar testes e CI/CD.

Embora esse minicurso utilize Jupyter Notebooks e Nbdev, os participantes não precisam de conhecimento prévio dessas ferramentas. Um computador com Python e Pip instalados é tudo que iremos utilizar. Por fim, é recomendado ao estudando conhecimentos mínimos de Python e alguma familiariedade com Git. Uma conta Github também será necessária.