tabpfn 0.4.0
Documented how to pin a version of one of the Python
tabpfnlibrary’s own dependencies, such astorchornumpy, when a new release of that dependency breaks atabpfnversion that worked before. Useextra_packagesininstall_tabpfn()for the persistent environment, orreticulate::py_require()for the ephemeral one. See the “Pinning dependencies” section in?install_tabpfn(#40).The
training_set_limitargument oftab_pfn()now defaults toInf, so all of your data is used. It previously sampled anything larger down to 10,000 rows without saying so.tab_pfn()no longer checks your data against the model’s limits; the Python library does, and its error names the model in use. Limits now follow the version you chose rather than one fixed set.Fixed a failure that stopped models from fitting at all on some setups, reported as
AttributeError: property 'stream' of '_StderrHandler' object has no setter(#40). The package no longer usesreticulate::py_capture_output(), which reassigns the streams of Python’s logging handlers and errors when one of them is read-only.Failures coming from the Python library are now reported as R errors. The message keeps what the library said and drops the wrapper around it, and
tab_pfn()adds what to do about it in R, such as loweringtraining_set_limit. This coverspredict()as well.?tab_pfnnow lists each model version’s limits, including the lower one that applies on a CPU, and its examples use current versions rather than earlier ones.Test snapshots now record TabPFN v3.5, the model the Python library currently defaults to. They will need updating again whenever that default moves.
CI pins
torchto 2.13.0. The 2.14.0 release triggers the_StderrHandlerfailure above, and the pin stays until that is settled upstream.
tabpfn 0.3.0
CRAN release: 2026-09-01
Added quantile regression support to
predict().tab_pfn()’sversionargument now accepts bare version numbers in addition to"v"-prefixed strings. A"v"is prepended automatically, soversion = 2.5,version = "2.5", andversion = "v2.5"are all equivalent.New
tabpfn_initialize()eagerly loads the Pythontabpfnlibrary (and PyTorch). Call it right afterlibrary(tabpfn)and before other OpenMP-using packages to avoid the segmentation fault described in #34.When the
"r-tabpfn"environment (created byinstall_tabpfn()) is the Python installation reticulate resolves to, thetabpfnPython library is now imported eagerly at load time so that PyTorch claims OpenMP before other packages can, avoiding a segmentation fault (#34).New
install_tabpfn()sets up a persistent"r-tabpfn"Python virtual environment. It has aversionargument to pin a specifictabpfnrelease and, by default, offers to upgrade an existing environment when a newer release is available.Added a
typeargument to be consistent with parsnip. Defaults toNULL, which will produce all prediction types.The fitted
tab_pfnobject now records:The underlying TabPFN model version in a
versionelement, which is also shown by the print method. It falls back to"unknown"if the version cannot be determined.The device(s) used to fit the model (e.g.
"cpu","mps", or"cuda:0") in adeviceelement, which is also shown by the print method. It falls back to"unknown"if the device cannot be determined.
tabpfn 0.2.0
CRAN release: 2026-05-14
Updated notes on License Requirements in
?tab_pfn.control_tab_pfn()now accepts...to pass additional arguments directly to the TabPFN Python constructor (e.g.model_path).tab_pfn()gains aversionargument to select a specific TabPFN model version (e.g.,"v2","v2.5"). WhenNULL, the Python library’s current default is used (#15).New
tabpfn_list_versions()returns the model versions supported by the currently installed Pythontabpfnlibrary.Added
tabpfn_download_models()to close (#15) @frankiethull
