{
  "_id": "6a268b0724555f66ed51adfa",
  "Package": "smimodel",
  "Title": "Sparse Multiple Index Models for Nonparametric Forecasting",
  "Version": "0.1.3",
  "Authors@R": "c(\nperson(given = \"Nuwani\",\nfamily = \"Palihawadana\",\nrole = c(\"aut\", \"cre\", \"cph\"),\nemail = \"nuwanipalihawadana@gmail.com\",\ncomment = c(ORCID = \"0009-0008-6395-7797\")),\nperson(given = \"Xiaoqian\",\nfamily = \"Wang\",\nrole = \"ctb\",\nemail = \"Xiaoqian.Wang@amss.ac.cn\",\ncomment = c(ORCID = \"0000-0003-4827-496X\"))\n)",
  "Description": "Implements a general algorithm for estimating Sparse\nMultiple Index (SMI) models for nonparametric forecasting and\nprediction. Estimation of SMI models requires the Gurobi mixed\ninteger programming (MIP) solver via the gurobi R package. To\nuse this functionality, the Gurobi Optimizer must be installed,\nand a valid license obtained and activated from\n<https://www.gurobi.com>. The gurobi R package must then be\ninstalled and configured following the instructions at\n<https://support.gurobi.com/hc/en-us/articles/14462206790033-How-do-I-install-Gurobi-for-R>.\nThe package also includes functions for fitting nonparametric\nadditive models with backward elimination, group-wise additive\nindex models, and projection pursuit regression models as\nbenchmark comparison methods. In addition, it provides tools\nfor generating prediction intervals to quantify uncertainty in\npoint forecasts produced by the SMI model and benchmark models,\nusing the classical block bootstrap and a new method called\nconformal bootstrap, which integrates block bootstrap with\nsplit conformal prediction.",
  "License": "GPL (>= 3)",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.2",
  "URL": "https://github.com/nuwani-palihawadana/smimodel,\nhttps://nuwani-palihawadana.github.io/smimodel/",
  "BugReports": "https://github.com/nuwani-palihawadana/smimodel/issues",
  "Config/testthat/edition": "3",
  "VignetteBuilder": "knitr",
  "Config/pak/sysreqs": "cmake make libicu-dev",
  "Repository": "https://nuwani-palihawadana.r-universe.dev",
  "Date/Publication": "2026-04-02 12:45:55 UTC",
  "RemoteUrl": "https://github.com/nuwani-palihawadana/smimodel",
  "RemoteRef": "HEAD",
  "RemoteSha": "e599f7f821d0ddb6f89ab8770428ff1d5f170652",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-06-08 09:21:19 UTC",
    "User": "root"
  },
  "Author": "Nuwani Palihawadana [aut, cre, cph] (ORCID:\n<https://orcid.org/0009-0008-6395-7797>),\nXiaoqian Wang [ctb] (ORCID: <https://orcid.org/0000-0003-4827-496X>)",
  "Maintainer": "Nuwani Palihawadana <nuwanipalihawadana@gmail.com>",
  "MD5sum": "fd492534a59d60a77e7f4d654a359b76",
  "_user": "nuwani-palihawadana",
  "_type": "src",
  "_file": "smimodel_0.1.3.tar.gz",
  "_fileid": "f852559f893740d1a254c6c80f3493dee383b78f43ec20fa5dc7857643fb8121",
  "_filesize": 657073,
  "_sha256": "f852559f893740d1a254c6c80f3493dee383b78f43ec20fa5dc7857643fb8121",
  "_created": "2026-06-08T09:21:19.000Z",
  "_published": "2026-06-08T09:27:35.434Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 80061709608,
      "time": 297,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7476280252"
    },
    {
      "job": 80061709708,
      "time": 239,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7476258717"
    },
    {
      "job": 80061709650,
      "time": 234,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7476247185"
    },
    {
      "job": 80061709589,
      "time": 225,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7476243416"
    },
    {
      "job": 80060884147,
      "time": 271,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7476165540"
    },
    {
      "job": 80061709614,
      "time": 151,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7476225267"
    },
    {
      "job": 80061709594,
      "time": 237,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7476257494"
    },
    {
      "job": 80061709606,
      "time": 197,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7476242207"
    },
    {
      "job": 80061709920,
      "time": 220,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7476250341"
    }
  ],
  "_buildurl": "https://github.com/r-universe/nuwani-palihawadana/actions/runs/27127803633",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/nuwani-palihawadana/smimodel",
  "_commit": {
    "id": "e599f7f821d0ddb6f89ab8770428ff1d5f170652",
    "author": "Nuwani Palihawadana <60213950+nuwani-palihawadana@users.noreply.github.com>",
    "committer": "Nuwani Palihawadana <60213950+nuwani-palihawadana@users.noreply.github.com>",
    "message": "trial 4\n",
    "time": 1775133955
  },
  "_maintainer": {
    "name": "Nuwani Palihawadana",
    "email": "nuwanipalihawadana@gmail.com",
    "login": "nuwani-palihawadana",
    "linkedin": "in/nuwani-palihawadana",
    "description": "Ph.D. Student, Monash University",
    "uuid": 60213950
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "cgaim",
      "role": "Imports"
    },
    {
      "package": "conformalForecast",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "furrr",
      "role": "Imports"
    },
    {
      "package": "future",
      "role": "Imports"
    },
    {
      "package": "generics",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "gratia",
      "role": "Imports"
    },
    {
      "package": "gtools",
      "role": "Imports"
    },
    {
      "package": "Matrix",
      "role": "Imports"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "mgcv",
      "role": "Imports"
    },
    {
      "package": "purrr",
      "role": "Imports"
    },
    {
      "package": "ROI",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "tidyselect",
      "role": "Imports"
    },
    {
      "package": "tidyr",
      "role": "Imports"
    },
    {
      "package": "tsibble",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "gurobi",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "lubridate",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "nuwani-palihawadana",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-23",
      "n": 11
    },
    {
      "week": "2025-24",
      "n": 2
    },
    {
      "week": "2025-46",
      "n": 7
    },
    {
      "week": "2026-02",
      "n": 2
    },
    {
      "week": "2026-09",
      "n": 15
    },
    {
      "week": "2026-12",
      "n": 1
    },
    {
      "week": "2026-13",
      "n": 9
    },
    {
      "week": "2026-14",
      "n": 11
    }
  ],
  "_tags": [],
  "_stars": 0,
  "_contributors": [
    {
      "user": "nuwani-palihawadana",
      "count": 299,
      "uuid": 60213950
    },
    {
      "user": "xqnwang",
      "count": 8,
      "uuid": 37219858
    },
    {
      "user": "mitchelloharawild",
      "count": 1,
      "uuid": 16127127
    }
  ],
  "_userbio": {
    "uuid": 60213950,
    "type": "user",
    "name": "Nuwani Palihawadana",
    "description": "Ph.D. Student, Monash University"
  },
  "_downloads": {
    "count": 455,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/smimodel"
  },
  "_devurl": "https://github.com/nuwani-palihawadana/smimodel",
  "_pkgdown": "https://nuwani-palihawadana.github.io/smimodel/",
  "_searchresults": 93,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/smimodel.html",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/nuwani-palihawadana/smimodel",
  "_realowner": "nuwani-palihawadana",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.3",
      "date": "2026-04-08"
    }
  ],
  "_exports": [
    "augment",
    "autoplot",
    "avgCoverage",
    "avgWidth",
    "bb_cvforecast",
    "cb_cvforecast",
    "forecast",
    "greedy_smimodel",
    "lag_matrix",
    "MAE",
    "model_backward",
    "model_gaim",
    "model_gam",
    "model_lm",
    "model_ppr",
    "model_smimodel",
    "MSE",
    "point_measures"
  ],
  "_help": [
    {
      "page": "smimodel-package",
      "title": "smimodel: Sparse Multiple Index Models for Nonparametric Forecasting",
      "topics": [
        "smimodel-package",
        "smimodel"
      ]
    },
    {
      "page": "allpred_index",
      "title": "Constructing index coefficient vectors with all predictors in each index",
      "topics": [
        "allpred_index"
      ]
    },
    {
      "page": "augment.backward",
      "title": "Augment function for class 'backward'",
      "topics": [
        "augment.backward"
      ]
    },
    {
      "page": "augment.gaimFit",
      "title": "Augment function for class 'gaimFit'",
      "topics": [
        "augment.gaimFit"
      ]
    },
    {
      "page": "augment.gamFit",
      "title": "Augment function for class 'gamFit'",
      "topics": [
        "augment.gamFit"
      ]
    },
    {
      "page": "augment.lmFit",
      "title": "Augment function for class 'lmFit'",
      "topics": [
        "augment.lmFit"
      ]
    },
    {
      "page": "augment.pprFit",
      "title": "Augment function for class 'pprFit'",
      "topics": [
        "augment.pprFit"
      ]
    },
    {
      "page": "augment.smimodel",
      "title": "Augment function for class 'smimodel'",
      "topics": [
        "augment.smimodel"
      ]
    },
    {
      "page": "augment.smimodelFit",
      "title": "Augment function for class 'smimodelFit'",
      "topics": [
        "augment.smimodelFit"
      ]
    },
    {
      "page": "autoplot.smimodel",
      "title": "Plot estimated smooths from a fitted 'smimodel'",
      "topics": [
        "autoplot.smimodel"
      ]
    },
    {
      "page": "avgCoverage",
      "title": "Calculate interval forecast coverage",
      "topics": [
        "avgCoverage"
      ]
    },
    {
      "page": "avgWidth",
      "title": "Calculate interval forecast width",
      "topics": [
        "avgWidth"
      ]
    },
    {
      "page": "bb_cvforecast",
      "title": "Single season block bootstrap prediction intervals through time series cross-validation forecasting",
      "topics": [
        "bb_cvforecast"
      ]
    },
    {
      "page": "blockBootstrap",
      "title": "Futures through single season block bootstrapping",
      "topics": [
        "blockBootstrap"
      ]
    },
    {
      "page": "cb_cvforecast",
      "title": "Conformal bootstrap prediction intervals through time series cross-validation forecasting",
      "topics": [
        "cb_cvforecast"
      ]
    },
    {
      "page": "eliminate",
      "title": "Eliminate a variable and fit a nonparametric additive model",
      "topics": [
        "eliminate"
      ]
    },
    {
      "page": "forecast.backward",
      "title": "Forecasting using nonparametric additive models with backward elimination",
      "topics": [
        "forecast.backward"
      ]
    },
    {
      "page": "forecast.gaimFit",
      "title": "Forecasting using GAIMs",
      "topics": [
        "forecast.gaimFit"
      ]
    },
    {
      "page": "forecast.gamFit",
      "title": "Forecasting using GAMs",
      "topics": [
        "forecast.gamFit"
      ]
    },
    {
      "page": "forecast.pprFit",
      "title": "Forecasting using PPR models",
      "topics": [
        "forecast.pprFit"
      ]
    },
    {
      "page": "forecast.smimodel",
      "title": "Forecasting using SMI models",
      "topics": [
        "forecast.smimodel"
      ]
    },
    {
      "page": "greedy_smimodel",
      "title": "SMI model estimation through a greedy search for penalty parameters",
      "topics": [
        "greedy_smimodel"
      ]
    },
    {
      "page": "greedy.fit",
      "title": "Greedy search for tuning penalty parameters",
      "topics": [
        "greedy.fit"
      ]
    },
    {
      "page": "init_alpha",
      "title": "Initialising index coefficients",
      "topics": [
        "init_alpha"
      ]
    },
    {
      "page": "inner_update",
      "title": "Updating index coefficients and non-linear functions iteratively",
      "topics": [
        "inner_update"
      ]
    },
    {
      "page": "lag_matrix",
      "title": "Function for adding lags of time series variables",
      "topics": [
        "lag_matrix"
      ]
    },
    {
      "page": "loss",
      "title": "Calculating the loss of the MIP used to estimate a SMI model",
      "topics": [
        "loss"
      ]
    },
    {
      "page": "point_measures",
      "title": "Point estimate accuracy measures",
      "topics": [
        "MAE",
        "MSE",
        "point_measures"
      ]
    },
    {
      "page": "make_smimodelFit",
      "title": "Converting a fitted 'gam' object to a 'smimodelFit' object",
      "topics": [
        "make_smimodelFit"
      ]
    },
    {
      "page": "model_backward",
      "title": "Nonparametric Additive Model with Backward Elimination",
      "topics": [
        "model_backward"
      ]
    },
    {
      "page": "model_gaim",
      "title": "Groupwise Additive Index Models (GAIM)",
      "topics": [
        "model_gaim"
      ]
    },
    {
      "page": "model_gam",
      "title": "Generalised Additive Models",
      "topics": [
        "model_gam"
      ]
    },
    {
      "page": "model_lm",
      "title": "Linear Regression models",
      "topics": [
        "model_lm"
      ]
    },
    {
      "page": "model_ppr",
      "title": "Projection Pursuit Regression (PPR) models",
      "topics": [
        "model_ppr"
      ]
    },
    {
      "page": "model_smimodel",
      "title": "Sparse Multiple Index (SMI) Models",
      "topics": [
        "model_smimodel"
      ]
    },
    {
      "page": "new_smimodelFit",
      "title": "Constructor function for the class 'smimodelFit'",
      "topics": [
        "new_smimodelFit"
      ]
    },
    {
      "page": "normalise_alpha",
      "title": "Scaling index coefficient vectors to have unit norm",
      "topics": [
        "normalise_alpha"
      ]
    },
    {
      "page": "possibleFutures_benchmark",
      "title": "Possible future sample paths (multi-step) from residuals of a fitted benchmark model",
      "topics": [
        "possibleFutures_benchmark"
      ]
    },
    {
      "page": "possibleFutures_smimodel",
      "title": "Possible future sample paths (multi-step) from 'smimodel' residuals",
      "topics": [
        "possibleFutures_smimodel"
      ]
    },
    {
      "page": "predict_gam",
      "title": "Obtaining recursive forecasts on a test set from a fitted 'mgcv::gam'",
      "topics": [
        "predict_gam"
      ]
    },
    {
      "page": "predict.backward",
      "title": "Obtaining forecasts on a test set from a fitted 'backward'",
      "topics": [
        "predict.backward"
      ]
    },
    {
      "page": "predict.gaimFit",
      "title": "Obtaining forecasts on a test set from a fitted 'gaimFit'",
      "topics": [
        "predict.gaimFit"
      ]
    },
    {
      "page": "predict.gamFit",
      "title": "Obtaining forecasts on a test set from a fitted 'gamFit'",
      "topics": [
        "predict.gamFit"
      ]
    },
    {
      "page": "predict.lmFit",
      "title": "Obtaining forecasts on a test set from a fitted 'lmFit'",
      "topics": [
        "predict.lmFit"
      ]
    },
    {
      "page": "predict.pprFit",
      "title": "Obtaining forecasts on a test set from a fitted 'pprFit'",
      "topics": [
        "predict.pprFit"
      ]
    },
    {
      "page": "predict.smimodel",
      "title": "Obtaining forecasts on a test set from a fitted 'smimodel'",
      "topics": [
        "predict.smimodel"
      ]
    },
    {
      "page": "predict.smimodelFit",
      "title": "Obtaining forecasts on a test set from a 'smimodelFit'",
      "topics": [
        "predict.smimodelFit"
      ]
    },
    {
      "page": "prep_newdata",
      "title": "Prepare a data set for recursive forecasting",
      "topics": [
        "prep_newdata"
      ]
    },
    {
      "page": "print.backward",
      "title": "Printing a 'backward' object",
      "topics": [
        "print.backward"
      ]
    },
    {
      "page": "print.gaimFit",
      "title": "Printing a 'gaimFit' object",
      "topics": [
        "print.gaimFit"
      ]
    },
    {
      "page": "print.pprFit",
      "title": "Printing a 'pprFit' object",
      "topics": [
        "print.pprFit"
      ]
    },
    {
      "page": "print.smimodel",
      "title": "Printing a 'smimodel' object",
      "topics": [
        "print.smimodel"
      ]
    },
    {
      "page": "print.smimodelFit",
      "title": "Printing a 'smimodelFit' object",
      "topics": [
        "print.smimodelFit"
      ]
    },
    {
      "page": "randomBlock",
      "title": "Randomly sampling a block",
      "topics": [
        "randomBlock"
      ]
    },
    {
      "page": "remove_lags",
      "title": "Remove actual values from a data set for recursive forecasting",
      "topics": [
        "remove_lags"
      ]
    },
    {
      "page": "residBootstrap",
      "title": "Generate multiple single season block bootstrap series",
      "topics": [
        "residBootstrap"
      ]
    },
    {
      "page": "residuals.smimodel",
      "title": "Extract residuals from a fitted 'smimodel'",
      "topics": [
        "residuals.smimodel"
      ]
    },
    {
      "page": "scaling",
      "title": "Scale data",
      "topics": [
        "scaling"
      ]
    },
    {
      "page": "seasonBootstrap",
      "title": "Single season block bootstrap",
      "topics": [
        "seasonBootstrap"
      ]
    },
    {
      "page": "smimodel.fit",
      "title": "SMI model estimation",
      "topics": [
        "smimodel.fit"
      ]
    },
    {
      "page": "split_index",
      "title": "Splitting predictors into multiple indices",
      "topics": [
        "split_index"
      ]
    },
    {
      "page": "truncate_vars",
      "title": "Truncating predictors to be in the in-sample range",
      "topics": [
        "truncate_vars"
      ]
    },
    {
      "page": "tune_smimodel",
      "title": "SMI model with a given penalty parameter combination",
      "topics": [
        "tune_smimodel"
      ]
    },
    {
      "page": "unscaling",
      "title": "Unscale a fitted 'smimodel'",
      "topics": [
        "unscaling"
      ]
    },
    {
      "page": "update_alpha",
      "title": "Updating index coefficients using MIP",
      "topics": [
        "update_alpha"
      ]
    },
    {
      "page": "update_smimodelFit",
      "title": "Updating a 'smimodelFit'",
      "topics": [
        "update_smimodelFit"
      ]
    }
  ],
  "_pkglogo": "https://github.com/nuwani-palihawadana/smimodel/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/nuwani-palihawadana/smimodel/raw/HEAD/README.md",
  "_rundeps": [
    "alabama",
    "anytime",
    "backports",
    "BH",
    "boot",
    "cgaim",
    "cgam",
    "checkmate",
    "cli",
    "codetools",
    "colorspace",
    "coneproj",
    "conformalForecast",
    "cpp11",
    "digest",
    "distributional",
    "doParallel",
    "dplyr",
    "farver",
    "foreach",
    "forecast",
    "fracdiff",
    "furrr",
    "future",
    "generics",
    "ggdist",
    "ggokabeito",
    "ggplot2",
    "globals",
    "glue",
    "gratia",
    "gtable",
    "gtools",
    "isoband",
    "iterators",
    "labeling",
    "lattice",
    "lifecycle",
    "limSolve",
    "listenv",
    "lme4",
    "lmtest",
    "lpSolve",
    "lubridate",
    "magrittr",
    "MASS",
    "Matrix",
    "mgcv",
    "minqa",
    "mirai",
    "mvnfast",
    "nanonext",
    "nleqslv",
    "nlme",
    "nloptr",
    "nnet",
    "numDeriv",
    "osqp",
    "parallelly",
    "patchwork",
    "pillar",
    "pkgconfig",
    "purrr",
    "qrng",
    "quadprog",
    "R6",
    "rbibutils",
    "RColorBrewer",
    "Rcpp",
    "RcppArmadillo",
    "RcppEigen",
    "Rdpack",
    "reformulas",
    "registry",
    "rlang",
    "ROI",
    "rstudioapi",
    "S7",
    "scales",
    "scam",
    "scar",
    "slam",
    "spacefillr",
    "splines2",
    "statmod",
    "stringi",
    "stringr",
    "svDialogs",
    "svGUI",
    "tibble",
    "tidyr",
    "tidyselect",
    "timechange",
    "timeDate",
    "TruncatedNormal",
    "tsibble",
    "tweedie",
    "urca",
    "utf8",
    "vctrs",
    "viridisLite",
    "withr",
    "zeallot",
    "zoo"
  ],
  "_vignettes": [
    {
      "source": "smimodel.Rmd",
      "filename": "smimodel.html",
      "title": "Introduction to smimodel",
      "engine": "knitr::rmarkdown",
      "headings": [
        "What is smimodel?",
        "How to use smimodel?",
        "Data simulation",
        "SMI model estimation",
        "SMI model with \"ppr\" initialisation:",
        "SMI model with \"additive\" initialisation:",
        "SMI model with \"linear\" initialisation:",
        "Visualisation of estimated smooths",
        "Residuals and fitted values",
        "Forecasts on a test set",
        "Tuning for penalty parameters"
      ],
      "created": "2024-06-09 05:36:29",
      "modified": "2026-03-23 08:31:13",
      "commits": 22
    }
  ],
  "_score": 5.871572935545879,
  "_indexed": true,
  "_nocasepkg": "smimodel",
  "_universes": [
    "nuwani-palihawadana"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.3",
      "date": "2026-06-08T09:25:15.000Z",
      "distro": "noble",
      "commit": "e599f7f821d0ddb6f89ab8770428ff1d5f170652",
      "fileid": "b80a5b992812f97307a2da3d0c7b9e1482be3c39253c82526cda4f056b548cfd",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nuwani-palihawadana/actions/runs/27127803633"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.3",
      "date": "2026-06-08T09:24:25.000Z",
      "distro": "noble",
      "commit": "e599f7f821d0ddb6f89ab8770428ff1d5f170652",
      "fileid": "f5205df180681f1919c7d2d72c7f2b571aa5961899b96ad3778582f27da93f52",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nuwani-palihawadana/actions/runs/27127803633"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.3",
      "date": "2026-06-08T09:24:01.000Z",
      "commit": "e599f7f821d0ddb6f89ab8770428ff1d5f170652",
      "fileid": "53a07bf35c95405f8c00a29e1478d0842d53d09d99b845e8051bdf5bd1752741",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nuwani-palihawadana/actions/runs/27127803633"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.1.3",
      "date": "2026-06-08T09:23:52.000Z",
      "commit": "e599f7f821d0ddb6f89ab8770428ff1d5f170652",
      "fileid": "d556c3876f25fc8180e48afd5e3d4a3aa6e31145161fe92cd69458eb15db4457",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nuwani-palihawadana/actions/runs/27127803633"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.3",
      "date": "2026-06-08T09:24:24.000Z",
      "commit": "e599f7f821d0ddb6f89ab8770428ff1d5f170652",
      "fileid": "40a2f04e5d4aeb0479a1b701131c498ae22169b2fccb0f3623941eea20a91213",
      "status": "success",
      "buildurl": "https://github.com/r-universe/nuwani-palihawadana/actions/runs/27127803633"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.3",
      "date": "2026-06-08T09:23:41.000Z",
      "commit": "e599f7f821d0ddb6f89ab8770428ff1d5f170652",
      "fileid": "896e3ce3cd18188738c06df527ad89786f10254d6fc861dcf68c91ca14b36174",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nuwani-palihawadana/actions/runs/27127803633"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.3",
      "date": "2026-06-08T09:23:16.000Z",
      "commit": "e599f7f821d0ddb6f89ab8770428ff1d5f170652",
      "fileid": "7ac5eba4c8f75eb3ce42032e481a001340546d83a4d99521e751ec5dd395310e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nuwani-palihawadana/actions/runs/27127803633"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.1.3",
      "date": "2026-06-08T09:23:50.000Z",
      "commit": "e599f7f821d0ddb6f89ab8770428ff1d5f170652",
      "fileid": "c887139c2b8383b7aa0d8e7d3bc5696127605c310399761796e0e3e3a55b2a77",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nuwani-palihawadana/actions/runs/27127803633"
    }
  ]
}