Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Metadados de runtime durante etapa de build do datapackage.json #14

Open
fjuniorr opened this issue Jan 23, 2023 · 2 comments
Open

Metadados de runtime durante etapa de build do datapackage.json #14

fjuniorr opened this issue Jan 23, 2023 · 2 comments

Comments

@fjuniorr
Copy link
Contributor

fjuniorr commented Jan 23, 2023

Ainda que utilizar o yaml seja bom para os processos internos, como em #4-comment e #12, ele ainda não faz parte da especificação1, e, portanto, o nosso produto final deve ser um datapackage.json.

Essa etapa é simples e pode ser gerada por exemplo com:

datapackage.json: datapackage.yaml
    frictionless describe --type package --json datapackage.yaml > datapackage.json

O que eu tenho mais dúvida é se o datapackage.json deve ser versionado e quais informações extras de run time devem ser inseridos (eg. commit).

Um argumento forte para ele ser versionado é que permite que as ferramentas façam a leitura do data package diretamente do repositório do Github.

Footnotes

  1. Vide Yaml as well as JSON for Data Package descriptor files (?) · Issue #292 · frictionlessdata/specs

@fjuniorr fjuniorr self-assigned this Feb 23, 2023
@fjuniorr
Copy link
Contributor Author

Um argumento forte para ele ser versionado é que permite que as ferramentas façam a leitura do data package diretamente do repositório do Github.

Os clientes em Python e R aceitam a leitura do datapackage.yaml, o que diminui a relevância desse ponto.

Como algumas informações de run time, especialmente o commit, somente podem ser inseridas se o datapackage.json não for versionado, vou optar por essa solução.

Além disso, para facilitar a distribuição, o output do diretório build or dist deve ser um único arquivo zip contendo o datapackage.json com os arquivos externos dereferenciados (eg. table schema) e os arquivos de dados.

Ps. Para o arquivo zip, confirmar o status atual da especificação (vide frictionlessdata/datapackage#132) e o suporte do cliente em R (vide frictionlessdata/frictionless-r#10)

@fjuniorr
Copy link
Contributor Author

O data package zipado teve uma redução de 25,4 MB para 1,9 MB.

Para finalizar esse issue vou esperar a implementação de um novo método dereference() (vide frictionlessdata/frictionlessdata.io#798).

Também faz sentido fazer uma sugestão de melhoria para que a exportação de um data package como um arquivo zip faça a dereferenciação de arquivos externos locais.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant