The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
## New functionality * Managing the API key can now be done via the
BLS_API_KEY
environment variable. This can be done using a
.Renviron
file or manually by setting the key with the new
bls_set_key
function. Functions which previously required
the argument api_key
now default to the result of
bls_set_key
* get_n_series
and all functions
downstream of it now support automatic spanning of lists of
series_ids
longer than the API limit by breaking up the
query into multiple API calls.
## Other Changes * Function arguments that previously defaulted to
NA
now default to NULL
* Major refactor of
documentation
## Bug Fixes * get_latest_observation
’s argument was
incorrectly named survey_id
instead of
series_id
get_n_series
documentation state that
...
was passed to query_n_series
. This was
both inaccurate and inconsistent with the behavior of the other
get_*
functions. get_n_series
arguments were
updated to capture all of the query_n_series
arguments and
pass ...
to bls_request
get_n_series
for only 1 series
would fail due to a json encoding issue stemming from a length 1 vector
being coerced to a scalar within httr::POST
in
bls_request
.data_as_table
would return a variable
number of columns based on the shape of the input. This led to
unpredictable output and caused issues when merging multiple requests
for different time spans. Going forward data_as_table
will
return a tibble with only 4 columns (year
,
period
, periodName
, and value
).
Users that wish to access aspects, footnotes, calculations, or the
‘latest’ flag should use get_n_series
.data_as_table
,
get_series_table
and get_n_series_table
no
longer include the latest
or footnotes
columns. This fixes a condition where requesting aspects for a series
without aspects would cause the table to have zero rows and a condition
where the latest
column could disappear between two
identical calls if the data was updated.get_series_table
and
get_series_tables
. Pagination behavior has been renamed to
‘spanning’, removed from the previous points of implementation and
implemented as three spanning functions following a map-reduce pattern:
span_series_request
- encapsulates all of the spanning
behaviorspan_request_queries
- creates multiple conforming
queriesreduce_spanned_responses
- merges the results of
multiple queries The spanning behavior is now implemented at
get_series
and get_n_series
, which removes the
burden of merging multiple requests from the higher level
get_series_table
and get_n_series_table
functions and allows users to create their own high-level functions to
alter the presentation without having to be aware of the multiple
requests. Spanning behavior may be turned off by setting the
span
argument to FALSE
.get_series_table
or
get_series_tables
were called for a date range and series
combination with no observations available, an error was triggered by
data_as_table
failing. Series and period combinations with
no results now return NA
.get_series_table
and get_series_tables
now
notify if the request is broken up into multiple API calls.get_series_tables
now merges the results descending order
to match the order of the returned data.get_series
and get_n_series
now notify if
request returns 0 observationsdata_as_table
throws an error if data
argument is empty or not a list.merge_tables
was used applied to
tables with different periods, results were dependent on the order in
which tables were arranged-in on the arguments list due to the use of
‘left_join’ logic. The updated implementation will return a row for
every period in any of the tables, making it insensitive to the order of
the tables in the input. As a side-effect of the implementation the
resulting table will return the merged table ordered-by the column(s) in
the join_by
argument in ascending order.data_as_table
, get_series_table
,
get_series_tables
, and get_n_series_table
all
have new optional parameter “parse_values” which will cast numeric
strings into numeric valuesbls_request
has new optional
process_response
argument which gives users access to the
raw API responseget series
documentation improvedtidy_table_as_zoo
for users of zoo
and
xts
get_series_table
and
get_series_tables
to request more than 20 years of data by
making multiple requestsBLS_API_TEST_KEY
env variable
is settidy_periods
now puts month and quarter column after
yearInitial release
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.