You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Changes for users
New function print() prints a human-readable summary of the Data Package, rather than a (long) list (#155).
read_package() no longer returns a message regarding rights and credit (#121). If package$id is a URL (e.g. a DOI) it will be mentioned in print().
add_resource() accepts additional arguments via .... These are added as (custom) properties to the resource and are retained in write_package() (#195).
read_resource() now supports column selection via the col_select argument from readr::read_delim(). This can vastly improve reading speed (#123). Tidy selection is not supported.
write_package() no longer adds "profile": "tabular-data-package" to datapackage.json. It is also removed from the example dataset (#188).
Error and warning messages use semantic colours for variables, parameters, fields, etc.
readr::problems() is included in NAMESPACE so you don't have to load readr to inspect parsing issues. The function is mentioned in the documentation of read_resource() (#129).
Changes for developers
A Data Package object (package) now has a datapackage class (#184). This enables a custom print() function (see above). check_package() will warn if the class is missing, so previously saved Data Package objects (without the class) will generate a warning.
check_package() is now a public function, so it can be used in your package (#185). This and the other check_ functions return the first argument silently (rather than TRUE), so they can be chained.
create_package() now accepts a descriptor argument so that a Data Package object can be created from an existing object (#184). It will always validate the created object with check_package().
cli::cli_abort(), cli::cli_warn() and cli::cli_inform() are used for all errors, warnings, and messages (#163). This has several advantages:
Messages use semantic colours for variables, parameters, fields, etc.
Messages and warnings can be silenced with a global or local option, see this blog post.
Each call has an rlang class, e.g. frictionless_error_fields_without_name, making it easier to test for specific errors.
glue and assertthat are removed as dependencies (#163). The functionality of glue is replaced by cli, while assertthat::assert() calls are now if () statements.
rlang is added as dependency (#192). It is already used by other dependencies.
frictionless now depends on R >= 3.5.0.
Other changes
The package now adheres to the requirements of checklist, so that .zenodo.json can be created with checklist::update_citation().