Skip to content

frictionless 1.1.0

Compare
Choose a tag to compare
@peterdesmet peterdesmet released this 29 Mar 10:25
bea468d

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().
  • Add Pieter Huybrechts as author and Kyle Husmann as contributor. Welcome both!