Webnário 14/02/2023 - Dataset Template⚓︎
No webnário do dia 14/02/2023 aprendemos sobre a estrutura do repositório dataset-template.
Vimos que o mesmo foi criado com o objetivo de automatizar algumas das rotinas necessárias para publicação e atualização de um conjunto de dados.
As principais tarefas automatizadas por este repositório, com auxílio do GitHub Actions, são a conversão de arquivos .xls
ou .xlsx
para o formato .csv
, a conversão do arquivo datapackage.yaml
para datapackage.json
, bem como a atualização em instância CKAN do conjunto trabalhado.
No estudo utilizamos o arquivo .xlsx
do repositório doacoes-comodatos-amigo-estado-mg.
Abaixo alguns dos comandos utilizados. Lembre de trocar < >
pelo valor correto durante o trabalho.
Utilização de ambiente virtual python⚓︎
python -m venv venv
source venv/Scritpt/activate
pip install <pacote-desejado>
# Pacotes instalados
pip install frictionless
pip install pandas
pip install dpckan
# Não instalamos pacotes via requirements.txt mas é uma boa prática
pip install -r requirements.txt
Documentando um conjunto de dados⚓︎
frictionless describe --type package data/<nome-arquivo>.csv > datapackage.yaml
Documentação inicial criada é muito básica e necessitará ser melhor "recheada" ao longo do tempo.
Não foi abordado, mas tarefas como separação do table_schema
inclusão de novas propriedades são ideais para melhorar a qualidade desta documentação.
Targets Makefile (tarefas automatizadas)⚓︎
# Converter arquivos excel para csv
make data
# Converter arquivo datapackage.yaml para datapackage.json
make datapackage.json
# Criar conjunto instância CKAN
make create
# Conferir variáveis de ambiente necessárias para dpckan
echo $CKAN_HOST
echo $CKAN_KEY
Ao final do encontro encontramos um erro durante a publicação via comando make create
.
Resolvemos que vamos iniciar o próximo encontro desta parte.
Resumo dos itens revistos:⚓︎
- Copiar dataset-template.
- Visualizar pasta local e navegar por elas na bash/CLI.
- Acessar o editor de texto Sublime na CLI via comando
subl .
. - Criar e ativar ambiente virtual.
- Entender objetivo dos comandos do actions do repositório e como localizá-los.
- Instalar bibliotecas necessárias para converter e validar arquivos do repositório (frictionless, pandas, etc).
- Converter arquivo excel para csv via comando
make data
. - Documentar arquivo csv criado via comando
frictionless describe(...)
. - Conferir variáveis de ambiente (ckan-host e ckan-key) cadastradas ma máquina local.
- Simular atualização de conjunto de dados no homologa a partir da máquina local.
- Excluir conjunto publicado por engano na interface gráfica do CKAN produção.
Fontes de consulta⚓︎
Criado em: February 14, 2023 20:39:46