Giter VIP home page Giter VIP logo

empacotador's Introduction

empacotador

O nosso empacotador de dados 📦

Como esse repositório está organizado?

Na pasta datasets você irá encontrar as bases de dados que estamos disponibilizando. Ela segue a estrutura:

datasets
  <orgao-publico>
    <base-de-dados>
        query.sql
        tableschema.json

De onde vem os dados?

Os dados são coletados e armazenados pela Maria Quitéria. Você pode acessá-los em nossa página no Kaggle.

Para baixar os dados localmente você precisará ter configurado a variável de ambiente DATABASE_URL (veja o arquivo .env.example).

Então execute o script seguinte passando como parâmetro o arquivo sql desejado e o nome escolhido:

python fetch_data.py datasets/prefeitura/licitacoes/query.sql
python fetch_data.py datasets/prefeitura/licitacoes/query.sql --filename licitacoes-da-prefeitura

O arquivo com o resultado será criado na mesma pasta do arquivo sql informado.

Como os dados são exportados?

Por enquanto é feito de maneira manual. Dentro de cada diretório de datasets você encontrará um query.sql com a query utilizada para exportação dos dados.

Como os dados são validados?

Utilizamos o Frictionless Data para criar o esquema de dados e, posteriormente, validá-los. Veja mais sobre o table-schema aqui.

Para validar um pacote de dados execute:

goodtables datasets/camara/assiduidade-dos-vereadores/datapackage-results.csv

É esperado que o arquivo esteja na mesma pasta que o seu table-schema.json.

Como contribuir?

Para contribuir você precisará ter instalado:

  • Postgres 9+
  • Poetry

Esse repositório segue o código de conduta e o guia de contribuição do Dados Abertos de Feira.

empacotador's People

Contributors

anapaulagomes avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

empacotador's Issues

Enviar notificações para o Discord

Devemos criar uma maneira de notificar no Discord para avisos sobre quando o processo de criação for concluído, se a validação der erro ou não também etc.

Executar o empacotamento de dados a cada 3 meses

Devemos configurar uma Action para gerar os pacotes e validá-los a cada 3 meses.

Como deve ser o processo:

  • Acessamos o banco de dados e pegamos os dados (caso tenha atualizações dentro dos últimos 3 meses)
  • Validamos esses dados (utilizando o goodtables xxx.csv)
  • Se estiver tudo certo, publicamos esses dados (onde? #7)
  • Se der erro, o CI falha
  • Comunicamos o resultado (#4)

Criar pacote de dados para as licitações da prefeitura

Para concluir essa tarefa precisamos de:

  • Um query.sql com o sql utilizado para exportar a base de dados
  • Um tableschema.json para validar o arquivo
  • O esquema deverá ter uma explicação para cada campo
  • O arquivo exportado pelo query.sql deverá ser válido

Criar pacote de dados para assiduidade dos vereadores

Essa base de dados já está disponível em nossa API.
Assim que o framework de empacotamento for disponível (#1) precisamos acessar a API, coletar os dados e criar um pacote de dados em CSV.
Esse processo deve ser feito através de uma CLI que receberá data inicial e data final.

Definir onde os dados serão publicados

Caso resolvamos publicar todos os dados no basedosdados.org devemos publicá-los no Google Cloud.
Podemos publicá-los também no nosso Amazon S3, onde armazenamos os arquivos.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.