Provides a local execution environment for testing and developing the 'FaaSr' workflows without requiring cloud infrastructure. The 'FaaSr' package enables R developers to validate and test workflows locally before deploying to Function-as-a-Service (FaaS) platforms. Key features include: 1) Parsing and validating JSON workflow configurations compliant with the 'FaaSr' schema 2) Simulated S3 storage operations using local file system with local logging 3) Support for conditional branching 4) Support for parallel rank functions execution 5) Workflow cycle detection and validation 6) No cloud credentials or infrastructure required for testing This package is designed for development and testing purposes. For production deployment to cloud FaaS platforms, use the main 'FaaSr' package available at < https://faasr.io/>.

Start here to learn about FaaSr, especially if you used the previous version of the FaaSr package before.
FaaSr is a completely new local execution system. In this article we highlight the differences between the old and the new system.
There are two ways to use FaaSr. The recommended way for development and
testing is to use faasr_test() from this package to run your FaaSr
workflows locally on your own machine — no cloud credentials or accounts
required.
When you are ready to deploy to production, use FaaSr-Backend, which handles execution across GitHub Actions, AWS Lambda, OpenWhisk, Google Cloud, and SLURM. For more information, visit https://faasr.io.
First, you need R (>= 3.5.0) installed on your machine.
Second, you need a project directory containing your workflow JSON file and your R function scripts.
Third, install FaaSr:
# install.packages("devtools")
devtools::install_github("FaaSr/FaaSr-package-v2")
Call faasr_test("path/to/workflow.json") from your project directory
to run your workflow locally. FaaSr automatically creates a
faasr_data/ directory to simulate cloud infrastructure.
The production execution backend — cloud deployment, S3 operations, and FaaS platform triggers — has moved to FaaSr-Backend. This package now focuses exclusively on local testing.
faasr_data/files/.faasr_data/logs/ instead of a remote S3
bucket.FaaSr creates a faasr_data/ directory automatically to
simulate cloud infrastructure:
library(FaaSr)
# Directory structure (created automatically by faasr_test()):
# your-project/
# ├── workflow.json # Your FaaSr workflow configuration
# ├── faasr_data/ # Created automatically
# │ ├── functions/ # (Optional) User R functions
# │ ├── files/ # Simulated S3 storage
# │ ├── logs/ # Log files
# │ └── temp/ # Temporary execution files
# └── my_functions.R # (Optional) Your R functions
Set your working directory to your project and call:
faasr_test("path/to/workflow.json")
Your workflow runs locally with full support for:
Local testing with faasr_test() does not connect to any cloud
infrastructure — all storage operations use the local filesystem. This
means:
To deploy against real cloud infrastructure, use FaaSr-Backend.
Once your workflow is validated locally, deploy it to the cloud using FaaSr-Backend, which supports GitHub Actions, AWS Lambda, OpenWhisk, Google Cloud, and SLURM.
For more information, visit https://faasr.io.