Giter VIP home page Giter VIP logo

mais's Introduction

Base dos Dados Mais

Universalizando o acesso a dados de qualidade no Brasil.

Watch Start Tweet Discord Apoiase

A Base dos Dados Mais (BD+) é um datalake público no Google BigQuery com os principais conjuntos de dados abertos do Brasil. Na BD+ você encontra tabelas tratadas e prontas para uso de forma gratuita. Disponibilizamos e mantemos neste projeto pacotes de acesso à BD+ em diferentes linguagens.

O projeto faz parte da Base dos Dados, uma organização sem fins lucrativos com a missão de universalizar o acesso a dados de qualidade para todes.

Versões atuais

R Python Stata
install.packages("basedosdados") pip install basedosdados -

Encontre aqui

Como citar o projeto

O projeto (software) está sob licenca MIT - logo, pode ser utilizado e modificado sem restrições desde que sejam remetidos os direitos autorais originais - veja o texto de referência aqui.

Caso queira citar o projeto numa publicação, artigo ou na web, utilize o modelo no menu ao lado conforme a imagem.

💡 Quer divulgar seu projeto nas nossas redes? Envie para [email protected]

image

Usando em Python

Instale

pip install basedosdados

Acesse uma tabela

import basedosdados as bd

df = bd.read_table('br_ibge_pib', 'municipio', billing_project_id="<YOUR-PROJECT>")

Caso esteja acessando da primeira vez, vão aparecer alguns passos na tela para autenticar seu projeto - basta segui-los!

É necessário criar um projeto para que você possa fazer as queries no nosso repositório. Ter um projeto é de graça e basta ter uma conta Google (seu gmail por exemplo). Veja aqui como criar um projeto no Google Cloud.

Se possível, armazene suas credenciais em um arquivo dotenv: "billing_project_id=<suas_credenciais_do_projeto>" >> .env

Faça uma consulta

import basedosdados as bd

# Bens dos candidatos de Tocantins em 2020
query = """
SELECT *
FROM `basedosdados.br_tse_eleicoes.bens_candidato` 
WHERE ano = 2020
AND sigla_uf = 'TO'
"""

df = bd.read_sql(query, billing_project_id="<YOUR-PROJECT>")

Caso esteja acessando da primeira vez, vão aparecer alguns passos na tela para autenticar seu projeto - basta segui-los!

Veja todos os datasets disponíveis

import basedosdados as bd

bd.list_datasets()

Defina paramêtros utilizando as configurações do pacote

import basedosdados as bd

# seta o billing_project_id global
bd.config.billing_project_id =  '<billing-project-id>'

query = """
SELECT 
    * 
FROM `basedosdados.br_bd_diretorios_brasil.municipio`
"""

df = bd.read_sql(query=query)

Para saber mais, veja os exemplos ou a documentação da API

Usando em R

Instalação

install.packages("basedosdados")

# ou a versão de desenvolvimento

devtools::install_github("basedosdados/mais", subdir = "r-package")

Consultas

read_sql executa queries no banco e as devolve em dataframes (sempre na classe tibble), download escreve o resultado da query em um arquivo .csv no disco.

library(basedosdados)

set_billing_id("id do seu projeto aqui") # autenticação para acesso aos dados

pib_per_capita <- " 
SELECT 
    pib.id_municipio ,
    pop.ano, 
    pib.PIB / pop.populacao as pib_per_capita
FROM `basedosdados.br_ibge_pib.municipio` as pib
  INNER JOIN `basedosdados.br_ibge_populacao.municipio` as pop
  ON pib.id_municipio = pop.id_municipio AND pib.ano = pop.ano"

(data <- read_sql(pib_per_capita)) # leia os dados em memória
download(pib_per_capita, "pib_per_capita.csv") # salve os dados em disco

Ou use o nosso backend para o dplyr e faça queries com código, sem SQL.

  query <- basedosdados::bdplyr("br_inep_ideb.municipio") %>% 
    dplyr::select(ano, id_municipio, sigla_uf, ideb) %>% 
    dplyr::filter(sigla_uf == "AC", ano < 2021) %>% 
    dplyr::group_by(ano) %>% 
    dplyr::summarise(ideb_medio = mean(ideb, na.rm = TRUE)) 

  basedosdados::bd_collect(query) # retorne como um tibble
  basedosdados::bd_write_csv(query, "ideb_medio.csv") 
  basedosdados::bd_write_rds(query, "ideb_medio.rds") 

bd_write é uma extensão para formatos customizados.

  basedosdados::bd_write(query, .write_fn = writexl::write_xlsx, "ideb_medio.xlsx")
  basedosdados::bd_write(query, .write_fn = jsonlite::write_json, "ideb_medio.json")
  basedosdados::bd_write(query, .write_fn = haven::write_dta, "ideb_medio.dta")

O argumento .write_fn espera uma função que receba como argumento um tibble e um endereço de escrita, compatível com a interface convencional da língua para escrever arquivos em disco. A princípio, toda função write_* disponível no CRAN deve funcionar.

Caso encontre algum problema no pacote e queira ajudar, basta documentar o problema em um exemplo mínimo reprodutível e abrir uma issue.

Metadados e buscas

Você pode fazer buscas por tabelas usando palavras-chave ou buscar descrições de conjuntos e tabelas:

dataset_search("educação")
get_dataset_description("br_sp_alesp")
get_table_description("br_sp_alesp", "deputado")

Atenção

Caso esteja acessando da primeira vez, vão aparecer alguns passos na tela para autenticar seu projeto com sua conta google e possivelmente na Tidyverse API - basta segui-los! As credenciais ficam armazenadas no computador então usuários com mais de uma máquina talvez precisem autenticar mais de uma vez. É necessário criar um projeto para que você possa fazer as queries no nosso repositório. Ter um projeto é de graça e basta ter uma conta Google (seu gmail por exemplo). Veja aqui como criar um projeto no Google Cloud. Se possível, armazene suas credenciais em um arquivo dotenv, em bash o comando é "billing_project_id=<suas_credenciais_do_projeto>" >> .env. Veja aqui como criar um arquivo dotenv.

Desenvolvimento

Roadmap

Documentação

Para rodar a documentação localmente:

python -m venv .mais # cria ambiente virtual (só rodar da primeira vez)
. .mais/bin/activate # ativa ambiente virtual
pip install --upgrade  -r python-package/requirements-dev.txt # instala dependências
python python-package/setup.py develop # instala pacote local
mkdocs serve # cria documentacao em: http://localhost:8000/

Atualize os docs adicionando ou editando os arquivos .md em docs/.

Para adicionar seu arquivo no sumário da documentação, adicione-o em mkdocs.yml sob a chave nav:

nav:
  - Home:
    - Aprenda sobre a BD: index.md
    - BigQuery: access_data_bq.md
    - Pacotes: access_data_packages.md
    - Contribua: colab.md
    - [Seu novo título]: <seu_arquivo>.md

mais's People

Contributors

joaocarabetta avatar rdahis avatar d116626 avatar fernandascovino avatar lucasnascm avatar hevsouza avatar gustavoairestiago avatar crislanealves avatar mavalentim avatar vncsna avatar hellcassius avatar allcontributors[bot] avatar pedrocava avatar hsxavier avatar aspeddro avatar filipemsc avatar rfdornelles avatar vmussa avatar polvoazul avatar ingridsrabelo avatar lucascr91 avatar athossampayo avatar isabellahelter avatar kimjoaoun avatar leonardoshibata avatar jptbrandao avatar

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.