TL,DR: You should probably be using the rcrossref client instead.
The goal of crlite is to make it easier to use the Crossref REST API from R in production. To that end, it differs from the existing (and much more mature and comprehensive) rcrossref in several ways:
crlite provides some type- and length-stable field accessors. The crossref API itself is (? https://github.com/subugoe/crlite/issues/20) not type- and length-stable. This instability is (unavoidably) imported into the rcrossref client, as it wrangles unstable API results into useful R objects. For example, in rcrossref::cr_works()
, the order and number of columns may differ, depending on whether some field is included in the JSON returned from the corresponding /works
endpoint. This is not the fault of rcrossref, but a necessary result of wrapping an unstable API in R dataframes (unless you want to reimplement the entire API spec in R to reassert stability). In interactive use, the instability may be a minor concern, outweighted by the convenience of ready-made R objects. In production use, type- and length-instability can cause unexpected, hard to debug errors or requires non-idiomatic workarounds.
NA
otherwise. These accessors, will, however remain tightly limited.crlite provides extensive support for the higher-performance polite
and plus
API pools.