Non-standard-evaluation constructor mirroring targets::tar_target(): pass a bare name and an unquoted pattern, for direct use in _targets.R. It quotes those and delegates to tar_target_py_raw(). See that function and run_py_step() for the full argument reference and the pre/post-script contract. The Julia twin is tar_target_jl().
Usage
tar_target_py(
name,
script,
pre_script = NULL,
post_script = NULL,
inputs = NULL,
output = "object",
retrieve = NULL,
files = NULL,
python_version = NULL,
env = NULL,
env_manager = "system",
python = NULL,
pattern = NULL,
packages = targets::tar_option_get("packages"),
library = targets::tar_option_get("library"),
deps = NULL,
string = NULL,
format = NULL,
repository = targets::tar_option_get("repository"),
iteration = targets::tar_option_get("iteration"),
error = targets::tar_option_get("error"),
memory = targets::tar_option_get("memory"),
garbage_collection = isTRUE(targets::tar_option_get("garbage_collection")),
deployment = targets::tar_option_get("deployment"),
priority = targets::tar_option_get("priority"),
resources = targets::tar_option_get("resources"),
storage = targets::tar_option_get("storage"),
retrieval = targets::tar_option_get("retrieval"),
cue = targets::tar_option_get("cue"),
description = targets::tar_option_get("description")
)Arguments
- name
Symbol, the target name (unquoted).
- script
Path to the Python script to run (required). Either a literal string (an untracked path: editing the file does not invalidate the target) or a
tar_target_path()reference to an upstream target (typicallyformat = "file"), which makes this step re-run whenever that file changes.- pre_script
Optional path to an R script run before the Python script. See
run_py_step(); assign a named listto_pyto hand objects to Python. Accepts a literal string or atar_target_path()reference, as forscript.- post_script
Optional path to an R script run after the Python script. See
run_py_step(); helperspyandpy_get()are available, and its last expression (object mode) or returned paths (file mode) become the value. Accepts a literal string or atar_target_path()reference, as forscript.- inputs
Named character vector (or list) mapping the name seen inside the step (in the R environment and, after the hand-off, in the foreign session) to the name of an upstream target, e.g.
c(x = "prepared_x"). Each upstream target becomes a dependency of this target and is bound by that name in the step environment; under dynamic branching the per-branch slice is bound instead.- output
Output mode:
"object"(default) returns a converted R object,"file"returns a character vector of file paths (and defaultsformatto"file").- retrieve
Optional character vector of foreign-session variable names to return when no
post_scriptis supplied in object mode. One name returns that object; several return a named list.- files
Optional character vector of file paths to return when no
post_scriptis supplied in file mode.- python_version
Optional Python version to select (e.g.
"3.12"or">=3.11"), used only when no environment and no explicitpythonpath are given. reticulate fetches/selects it (via its uv-backed ephemeral environment) withreticulate::py_require(). DefaultNULLuses the computer/global default Python. Use this when you only care about the interpreter version and are happy for reticulate to build a throwaway environment; for a pinned, reproducible environment useenv/env_manager(orpython) instead.- env, env_manager, python
Python environment selection: the reproducible alternatives to
python_version. Useenv+env_managerto point at an existing environment built by a known tool, orpythonfor one explicit interpreter path.env_manageris one of"system","virtualenv","venv","conda","uv","poetry";envis the corresponding virtualenv/conda name or path (or poetry project directory);pythonis an explicit interpreter path. Precedence:python> environment (env/env_manager) >python_version> default. ("virtualenv","venv"and"uv"all point at a standard virtualenv, including one created byrenv::use_python(), and behave identically.) For"virtualenv"/"venv"/"uv"/"poetry", anenvthat is an already-existing directory (relative to the working directory, or absolute) is resolved to an absolute path before use, so a relative venv path (e.g.".venv", created withuv venv .venv) works as expected; otherwisereticulate::use_virtualenv()would misread a separator-less relative path as the name of an environment under its own virtualenv root instead of a path on disk. A bare name that does not correspond to an existing directory is passed through unchanged, so a genuine named environment (one already registered under that root) still resolves. Whenpythonor an environment is given, the selection also takes priority over an ambientRETICULATE_PYTHONenvironment variable (e.g. one set by the RStudio project Python config and inherited bycrewworkers), which reticulate would otherwise let silently override the request.- pattern
Optional dynamic-branching pattern, unquoted (e.g.
map(x)).- packages, library
Character vectors of R packages (and library paths) to load for the target, forwarded to
targets::tar_target_raw().- deps, string
Advanced
targets::tar_target_raw()arguments: extra dependency names and a string used for change detection.- format, repository, iteration
Storage/iteration settings forwarded to
targets::tar_target_raw().formatdefaults to"file"whenoutput = "file", otherwise to thetargetsoption default.- error, memory, garbage_collection, deployment, priority, resources, storage, retrieval, cue, description
Standard
targets::tar_target_raw()execution/behaviour arguments, forwarded unchanged.