Brasil.IO: Libertação de Dados Públicos, com Python


Álvaro Justen


QConSP 2019

07 de maio de 2019

$ whoami

Turicas, prazer! =)

Sigam-me os bons:

{twitter,
github,
youtube,
slideshare,
instagram}
/turicas

turicas@brasil.io

Brasil.IO

O Brasil em dados libertos

Logo Brasil.IO
## Agenda - Dados abertos - O que são - Para que servem - Acessibilidade de dados - Problemas comuns - Como resolver - Exemplos de código o/

Software Livre & Python

(desde 2004/2005)

       

Dados Abertos

Dados abertos são dados que podem ser livremente usados, reutilizados e redistribuídos por qualquer pessoa - sujeitos, no máximo, à exigência de atribuição da fonte e compartilhamento pelas mesmas regras. ”
-- OpenData Handbook (definição de Open Definition)


Mais detalhes:

“ De acordo com o governo brasileiro, o controle social é a participação da sociedade civil nos processos de planejamento, acompanhamento, monitoramento e avaliação das ações da gestão pública e na execução das políticas e programas públicos. ”
-- Wikipedia

Operação Serenata de Amor

#civictech

Operação Serenata de Amor
serenata.ai

Rosie, a robô

Tweet de RosieDaSerenata
R$ 191 em um restaurante cujos pratos não custam R$ 40, deputado?
twitter.com/tOa_D/status/1058495655184871425

Jornalismo Investigativo

+

Jornalismo de Dados


(em conjunto com Juan Torres, para correio24horas.com.br)
Acesse a matéria

(em conjunto com Giulliana Biaconi, para generonumero.media)
Leia a matéria

Rua: substantivo (ainda) masculino


(em conjunto com Natália Mazotte, para generonumero.media)
youtu.be/7yQ8U2tFFq4

(em conjunto com Adriano Belisário, para apublica.org)
Acesse a matéria

Aplicações Úteis

Eleições

Portal de Candidaturas do Poder360
(em conjunto com Voltdatalab, para poder360.com.br)
eleicoes.poder360.com.br

Data Pipeline


schoolofdata.org/methodology
## Qualidade dos Dados ![](images/5-star-steps.png) [5stardata.info](http://5stardata.info/)

Maior parte do tempo dos projetos de análise de dados:

Problema antigo

(automação )

Máquina Hollerith
## Acessibilidade: Problemas - **Formato** (qualidade técnica) - Exemplo: Boletim de balneabilidade em PDF (INEMA/BA) - **Dispersão** - Exemplo: Filiações partidárias em 945 ZIPs com CSVs (TSE) - **Quantidade** de dados - Exemplo: 18 milhões de sócios (RFB) - **Domínio** da área - Exemplo: o que é unidade eleitoral? (TSE)
## Acessibilidade: Soluções - **Educação tecnológica** - Do-it-yourself - Interdisciplinaridade - **Melhorar ferramentas** - Software livre - **Libertação de dados** - Dados menos dispersos - Formato aberto - **Pressão por dados melhores** - Dar visibilidade aos problemas - Usar a LAI

Educação Tecnológica

Curso Gratuito (3.000+ alunos)

Foto curso Python Knight Center

Python!


Acesse a matéria
xkcd Python
xkcd.com/353

Causos da Transparência Brasileira

&

Libertação de Dados

Problema: Migram-se os ministérios, sem dados

Estrelando: Ministério da Justiça

Tweet de Turicas sobre lista de beneficiados da lei da anistia
twitter.com/turicas/status/1112491956314259457
## Solução ![](images/waybackmachine.png) [web.archive.org](http://web.archive.org)

Problema: dados dispersos

Estrelando: IBGE

Site IBGE Nomes
## Solução [github.com/turicas/genero-nomes](https://github.com/turicas/genero-nomes) (código ao vivo)

Problema: dado pago! (???)

Estrelando: Receita Federal

Tweet de Turicas
https://twitter.com/turicas/status/1019272233095745537
## Solução - Pedido de acesso à informação - com muitos recursos - Paciência

Problema (2): lentidão ao baixar

Estrelando: Receita Federal


twitter.com/turicas/status/1114185311372873729
## Solução ``` URL="http://200.152.38.155/CNPJ/DADOS_ABERTOS_CNPJ.zip" aria2c -s 16 -x 16 $URL ```

Problema (3): Formato Proprietário

Estrelando: Receita Federal

## Solução [github.com/turicas/socios-brasil](https://github.com/turicas/socios-brasil)

Problema: dado disperso e não padronizado

Estrelando: Conselho Nacional de Justiça

Tweet de Turicas

Solução

github.com/turicas/salarios-magistrados
Tweet de Turicas
twitter.com/turicas/status/943176715672711168

Formato não estruturado

Estrelando: INEMA/BA

Solução

rows convert arquivo.pdf arquivo.csv Biblioteca rows convertendo PDF para CSV
github.com/turicas/balneabilidade-brasil
(código ao vivo)
## Acessibilidade - [x] Formato - [x] Dispersão - [ ] Quantidade de dados - [ ] Domínio da área

Brasil.IO

O Brasil em dados libertos

Logo Brasil.IO

Demonstração

## Tecnologias utilizadas - Scripts: - [Python3](https://www.python.org/) - [scrapy](https://scrapy.org) - [rows](https://github.com/turicas/rows) - Análise: - [sqlite3](https://docs.python.org/3/library/sqlite3.html) - Backend: - [Python3](https://www.python.org/) - [Django](https://www.djangoproject.com/) - [PostgreSQL](https://www.postgresql.org/) - [Neo4J](https://neo4j.com/) - Servidores: DigitalOcean e OVH - PaaS: dokku
## Contribua com o Brasil.IO! - Melhorando os scripts de coleta - Coletando novos datasets - Publicando tutoriais no [blog.brasil.io](https://blog.brasil.io/) - **Doando** no [apoia.se/brasilio](https://apoia.se/brasilio) - Saiba mais em: [brasil.io/colabore](https://brasil.io/colabore)

CODA.BR 2019

CODA.BR 2019
23 e 24 de novembro, São Paulo/SP
coda.escoladedados.org

PythonBrasil 2019

PythonBrasil 2019
23 a 28 de outubro, Ribeirão Preto/SP
pythonbrasil.com.br

Dúvidas?

“ Restringir acesso a dados públicos é elitizar a democracia. ”
-- Manifesto Brasil.IO

{twitter,
github,
youtube,
slideshare,
instagram}
/turicas

turicas@brasil.io