Skip to content

Material do minicurso SiM 2025 sobre SQL integrado a Python, Polars e Altair. Inclui notas, desafios e guias para análise dos microdados do INEP.

License

Notifications You must be signed in to change notification settings

andremsouza/sim2025-sql-python-polars

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Minicurso SiM 2025: SQL com Python, Polars e Altair

Visão Geral

Este repositório reúne o material do minicurso de dois encontros oferecido no Simpósio de Matemática (SiM) 2025 no ICMC-USP. O foco é ensinar SQL de forma aplicada, combinando consultas em um banco SQLite com um fluxo moderno em Python que usa Polars para manipulação de dados e Altair para visualização declarativa.

Estrutura do Repositório

  • notebooks/: contém os notebooks principais do curso.
    • dia1_fundamentos.ipynb: introdução ao ecossistema SQL + Python, consultas básicas e primeiras visualizações.
    • dia2_relacoes.ipynb: consultas relacionais, agregações avançadas e narrativas visuais com Altair.
    • dia1_teoria_slides.ipynb: “slides” executáveis para a abertura do primeiro dia, com exemplos mínimos de SQL, Pandas × Polars e Altair × Matplotlib.
    • dia2_teoria_slides.ipynb: “slides” executáveis para o dia dois, cobrindo junções, CTEs, comparações Pandas × Polars e visualizações paralelas em Altair e Matplotlib.

Requisitos

  • Python 3.10+
  • Bibliotecas: polars[connectorx,sqlalchemy], pandas, altair, vl-convert-python, adbc-driver-sqlite, duckdb, kaleido, requests, tqdm, ftfy, IPython, matplotlib
  • Banco de dados inep.db (não incluso por questões de tamanho; ver seção a seguir).

Preparação do Ambiente

  1. Crie e ative um ambiente virtual (opcional, mas recomendado).
  2. Instale as dependências:
pip install "polars[connectorx,sqlalchemy]" pandas altair vl-convert-python adbc-driver-sqlite duckdb kaleido requests tqdm ftfy ipython matplotlib
  1. Coloque o arquivo inep.db na raiz do repositório.

Executando os Notebooks

  1. Inicie o Jupyter Lab, Google Colab ou VS Code com suporte a notebooks.
  2. Abra notebooks/dia1_fundamentos.ipynb e execute as células na ordem.
  3. Repita o processo para notebooks/dia2_relacoes.ipynb.
  4. Utilize notebooks/dia1_teoria_slides.ipynb e notebooks/dia2_teoria_slides.ipynb como material de apoio introdutório; eles são independentes e contêm células %pip install para preparar o ambiente automaticamente.
  5. Cada notebook possui desafios interativos com soluções comentadas.

Preparação do Banco inep.db

O arquivo é derivado dos microdados do Censo da Educação Superior do INEP. Para recriá-lo, execute as seções iniciais de preparação em notebooks/dia1_fundamentos.ipynb ou notebooks/dia2_relacoes.ipynb. As funções fornecidas baixam os microdados oficiais, selecionam as colunas relevantes e persistem tudo no SQLite automaticamente, gerando inep.db localmente sem necessidade de scripts adicionais.

Créditos

  • Material elaborado por André Moreira Souza.
  • Dados públicos: microdados do Censo da Educação Superior (INEP).
  • Ferramentas centrais: SQLite, Polars, Altair, Jupyter Notebook.

Licença

Este projeto está licenciado sob os termos da licença MIT. Consulte o arquivo LICENSE para mais detalhes.

About

Material do minicurso SiM 2025 sobre SQL integrado a Python, Polars e Altair. Inclui notas, desafios e guias para análise dos microdados do INEP.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published