Version: 0.10.1
Depends: R (≥ 3.4.0), future (≥ 1.58.0)
Imports: parallelly, callr
Suggests: globals, future.apply, listenv, markdown, R.rsp
VignetteBuilder: R.rsp
Title: A Future API for Parallel Processing using 'callr'
Description: Implementation of the Future API <doi:10.32614/RJ-2021-048> on top of the 'callr' package. This allows you to process futures, as defined by the 'future' package, in parallel out of the box, on your local (Linux, macOS, Windows, ...) machine. Contrary to backends relying on the 'parallel' package (e.g. 'future::multisession') and socket connections, the 'callr' backend provided here can run more than 125 parallel R processes.
License: LGPL-2.1 | LGPL-3 [expanded from: LGPL (≥ 2.1)]
LazyLoad: TRUE
URL: https://future.callr.futureverse.org, https://github.com/futureverse/future.callr
BugReports: https://github.com/futureverse/future.callr/issues
Language: en-US
Encoding: UTF-8
RoxygenNote: 7.3.2
NeedsCompilation: no
Packaged: 2025-07-10 10:13:49 UTC; henrik
Author: Henrik Bengtsson ORCID iD [aut, cre, cph]
Maintainer: Henrik Bengtsson <henrikb@braju.com>
Repository: CRAN
Date/Publication: 2025-07-10 16:50:01 UTC

future.callr: A Future for callr

Description

The future.callr package implements the Future API on top of callr. The Future API is defined by the future package.

Details

To use callr futures, load future.callr, and select the type of future you wish to use, e.g. plan(callr).

Author(s)

Maintainer: Henrik Bengtsson henrikb@braju.com (ORCID) [copyright holder]

See Also

Useful links:

Examples


plan(callr)
demo("mandelbrot", package = "future", ask = FALSE)



A callr future is a future whose value will be resolved via callr

Description

A callr future is a future whose value will be resolved via callr

Usage

CallrFutureBackend(workers = availableCores(), supervise = FALSE, ...)

Arguments

workers

(optional) The maximum number of workers the callr backend may use at any time.

supervise

(optional) Argument passed to callr::r_bg().

...

Additional arguments passed to future::FutureBackend().

Value

A CallrFutureBackend object


FutureError class for errors related to CallrFuture:s

Description

FutureError class for errors related to CallrFuture:s

Usage

CallrFutureError(...)

Arguments

...

Arguments passed to FutureError.


callr futures

Description

WARNING: This function must never be called. It may only be used with future::plan()

Usage

callr(
  ...,
  workers = availableCores(),
  supervise = FALSE,
  envir = parent.frame()
)

Arguments

workers

The number of processes to be available for concurrent callr futures.

supervise

(optional) Argument passed to callr::r_bg().

envir

The environment from where global objects should be identified.

...

Additional arguments passed to Future().

Details

A callr future is an asynchronous multiprocess future that will be evaluated in a background R session.

callr futures rely on the callr package, which is supported on all operating systems.

Value

An object of class CallrFuture.


Prints a callr future

Description

Prints a callr future

Usage

## S3 method for class 'CallrFuture'
print(x, ...)

Arguments

x

An CallrFuture object

...

Not used.