Python requirements and environments
-
py_require()now applies late package additions atomically. Failed
package-originated additions warn without changing the declared requirements.
Its printed summary now shows successful requirement requests in chronological
order, including their source and action. -
py_require()anduv_run_tool()now acceptDateandPOSIXtobjects for
exclude_newer. -
py_require()now updatessys.executableand an already-loaded
multiprocessinglauncher after a live activation, so child Python processes
can import newly added packages. -
RETICULATE_MAX_CACHE_AGE_DAYScan now configure the maximum age, in days,
of reticulate's manageduvcache before it is cleared (#1905). -
Managed
uvbootstrapping now works on Windows when R inherits a PowerShell 7
PSModulePath, such as from GitHub Actionspwshsteps. -
Pipenv interpreter discovery now uses a located Pipfile even when
here
cannot resolve a project root (#1909). -
Reticulate now treats projects with a
pyproject.tomlbut no[tool.poetry]
section, such as uv or PEP 621 projects, as non-Poetry projects (#1900). -
Reticulate now retains an expired managed
uvcache when it cannot download
the installer needed to replace it (#1876).
Conversion
-
py_to_r()now converts pandas data frames and series containing Arrow-backed
string columns (#1910). -
r_to_py()now preserves explicit integer row names as the index when
converting an R data frame to a pandas data frame (#1924).
Other improvements and fixes
-
Child processes created by
os.fork()now use Python's original output
streams when output remapping is enabled. -
Python calls to R now convert base R's built-in
abortrestart to a Python
exception instead of jumping to R's top level. -
Reticulate now builds with Clang 21 without a spurious
-Wnonnullcompiler
warning (#1917).
Documentation
- The
py_require()documentation now explains howR_USER_CACHE_DIRconfigures
the location of reticulate's manageduvcache (#1899).