Releases: ropensci/targets
Releases · ropensci/targets
HPC performance and monitoring
targets 0.4.0
Bug fixes
- Avoid
file.rename()errors when migrating staged temporary files (#410). - Return correct error messages from feather and parquet formats (#388). Now calling
assert_df()fromstore_assert_format()instead ofstore_cast_object(). And now those last two functions are not called at all if the target throws an error. - Retry writing lines to database files so Windows machines can run
tar_poll()at the same time as the pipeline (#393). - Rename file written by
tar_renv()to_targets_packages.R(#397). - Ensure metadata is loaded to compute labels properly when
outdated = FALSEintar_visnetwork().
New features
- Implement
tar_timestamp()andtar_timestamp_raw()to get the last modified timestamp of a target's data (#378). - Implement
tar_progress_summary()to compactly summarize all pipeline progress (#380). - Add a
charactersargument oftar_traceback()to cap the traceback line lengths (#383). - Add new "summary" and "about" views to
tar_watch()(#382). - Implement
tar_poll()to repeatedly poll runtime progress in the R console (#381).tar_poll()is a lightweight alternative totar_watch(). - Change the color of the "dormant" status in the graph.
- Add a
tar_envvar()function to list values of special environment variables supported intargets. The help file explains each environment variable in detail. - Support extra project-level configuration settings with
_targets.yaml(#297). New functionstar_config_get()andtar_config_set()interact with the_targets.yamlfile. Currently only supports thestorefield to set the data store path to something other than_targets/.
Performance
- Shut down superfluous persistent workers earlier in dynamic branching and when all remaining targets have
deployment = "main"(#398, #399, #404, @pat-s).
Enhancements
- Attempt to print only the useful part of the traceback in
tar_traceback()(#383). - Add a line break at the end of the "summary" reporter so warnings do not mangle the output.
- In
tar_watch(), useshinybusyinstead ofshinycssloadersand keep current output on display while new output is rendering (#386, @rcorty). - Right-align the headers and counts in the "summary" and "forecast" reporters.
- Add a timestamp to the "summary" reporter.
- Make the reporters show when a target ends (#391, @mattwarkentin).
- Make the reporters show when a pattern ends if the pattern built at least one target and none of the targets errored or canceled.
- Use words "start" and "built" in reporters.
- Use the region of the AWS S3 bucket instead of the local
AWS_DEFAULT_REGIONenvironment variable (check_region = TRUE; #400, @tomsing1). - In
tar_meta(), returnPOSIXcttimes in the time zone of the calling system (#131). - Throw informative error messages when a target's name or command is missing (#413, @liutiming).
- Bring back ALTREP in
qs::qread()now thatqs0.24.1 requiresstringfish>= 1.5.0 (#147, @glep). - Relax dynamic branching checks so
pattern = slice(...)can take multiple indexes (#406, #419, @djbirke, @alexgphayes)
CRAN hotfix: arrow formats
Arrow formats, HPC performance, infrastructure refactor, GHA
targets 0.3.0
Bug fixes
- Fix the "write target at cursor" RStudio addin and move cursor between the parentheses.
New features
- Add a
backoffoption intar_option_set()to set the maximum upper bound (seconds) for the polling interval (#333). - Add a new
tar_github_actions()function to write a GitHub Actions workflow file for continuous deployment of data analysis pipelines (#339, @jaredlander). - Add a new
TAR_MAKE_REPORTERenvironment variable to globally set the reporter of thetar_make*()functions (#345, @alexpghayes). - Support new storage formats "feather", "parquet", "aws_feather", and "aws_parquet" (#355, @riazarbi).
Performance
- Implement an exponential backoff algorithm for polling the priority queue in
tar_make_clustermq()andtar_make_future()(#333). - In
tar_make_future(), try to submit a target every time a worker is polled. - In
tar_make_future(), poll workers in order of target priority. - Avoid the time delay in exiting on error (from r-lib/callr#185).
- Clone target objects for the pipeline and scrape more
targetsinternal objects out of the environment in order to avoid accidental massive data transfers to workers.
Enhancements
- Use
rlang::check_installed()insideassert_package()(#331, @malcolmbarrett). - Allow
tar_destroy(destroy = "process"). - In
tar_watch(), increase defaultsecondsto 15 (previously 5). - In
tar_watch(), debounce instead of throttle inputs. - In
tar_watch(), add an action button to refresh the outputs. - Always deduplicate metadata after
tar_make(). Will help compute a cache key on GitHub Actions and similar services. - Deprecate
tar_deduplicate()due to the item above. - Reorder information in timestamped messages.
- Document RNG seed generation in
tar_target_raw(),tar_meta(), andtar_seed()(#357, @alexpghayes). - Switch meaning of
%||%and%|||%to conform to historical precedent. - Only show a command line spinner if
reporter = "silent"(#364, @matthiasgomolka). - Target and pipeline objects no longer have an
envirelement.
Nicer arguments and messages
Bug fixes
- In
tar_load(), subset metadata to avoid accidental attempts to load global objects intidyselectcalls. - Do not register a pattern as running unless an actual branch is about to start (#304).
- Use a name spec in
vctrs::vec_c()(#320, @joelnitta).
New features
- Add a new
namesargument totar_objects()andtar_workspaces()withtidyselectfunctionality. - Record info on the main process (PID, R version,
targetsversion) in_targets/meta/processand write new functionstar_process()andtar_pid()to retrieve the data (#291, #292). - Add a new
targets_onlyargument totar_meta(). - Add new functions
tar_helper()andtar_helper_raw()to write general-purpose R scripts, using tidy evaluation for as a template mechanism (#290, #291, #292, #306). - Export functions to check the existence of various pieces of local storage:
tar_exist_meta(),tar_exist_objects(),tar_exist_progress(),tar_exist_progress(),tar_exist_script()(#310). - Add a new
superviseargument totar_watch(). - Add a new
complete_onlyargument totar_meta()to optionally return only complete rows (noNAvalues). - Catch
callrerrors and refer users to the debugging chapter of the manual.
Enhancements
- Improve error messages of invalid arguments (#298, @brunocarlin). Removes partial argument matching in most cases.
- By default, locally enable
crayonif an only if the calling process is interactive (#302, @ginolhac). Can still be disabled withoptions(crayon.enabled = FALSE)in_targets.R. - Improve error handling and message for
format = "url"when the HTTP response status code is not 200 (#303, @petrbouchal). - Add more
extraspackages totar_renv()(to supporttar_watch()). - Show informative message instead of error in
tar_watch()if_targets.Rdoes not exist. - Clear up the documentation of the
namesargument oftar_load()(#314, @jameelalsalam). - Do not override
nobodyin customcurlhandles (#315, @riazarbi). - Rename "running" to "started" in the progress metadata. This avoids the implicit claim that
targetsis somehow actively monitoring each job, e.g. through a connection or heartbeat (#318). - Set
errormode = "warn"ingetVDigest()for files to work around eddelbuettel/digest#49 for network drives on Windows.targetsalready runs those file checks anyway. (#316, @boshek). - If a package fails to load, print the library paths
targetstried to load from.
CRAN hotfix and app improvements
Bug fixes
tar_test()now skips all tests on Solaris in order to fix the problems shown on the CRAN check page.- Enable
allowandexcludeto work on imports intar_visnetwork()andtar_glimpse(). - Put
visNetworklegends on right to deal with how legend nodes always align right within the legend space.
Performance
- Call
force()on subpipeline objects to eliminate high-memory promises in target objects. Allows targets to be deployed to workers much faster whenretreivalis"main"(#279).
New features
- Add a new box to the
tar_watch()app to tabulate progress on dynamic branches (#273, @mattwarkentin). - Store
type,parent, andbranchesin progress data fortar_watch()(#273, @mattwarkentin). - Add a
fieldsargument intar_progress()and default to"progress"for back compatibility (#273, @mattwarkentin). - Add a new
tar_progress_branches()function to tabulate branch progress (#273, @mattwarkentin). - Add new "refresh" switch to
tar_watch()to toggle automatic refreshing and force a refresh.
Enhancements
- Exclude
.Random.seedby default intar_visnetwork(). - Spelling: "cancelled" changed to "canceled".
- Enhance controls and use of space in the
tar_watch()app. - Centralize internal path management utilities.
Configuration
- Skip
clustermqtests on Solaris.
Address CRAN feedback
- Avoid starting the description with the package name.
- Remove
if(FALSE)blocks from help files to fix "unexecutable code" warnings (tar_glimpse(),tar_visnetwork(), andtar_watch()). - Remove commented code in the examples (
tar_edit(),tar_watch_ui(), andtar_watch_server()). - Ensure that all examples, tests, and vignettes do not write to the user's home file space. (Fixed an example of
tar_workspace().)
First production release
Enhancements
- Accept lists of target objects at the end of
_targets.R(#253). - Deprecate
tar_pipeline()andtar_bind()because of the above (#253). - Always show a special message when the pipeline finishes (#258, @petrbouchal).
- Disable
visNetworkstabilization (#264, @mattwarkentin). - Use default
visNetworkfont size. - Relay errors as condition messages if
erroris"continue"(#267, @liutiming).
Zenodo DOI release
0.0.0.9001 Bump version
Initial pre-release to enable Zenodo DOI
0.0.0.9000 Align internal defaults