{
  "_id": "6a2322a1530b9bc726bce118",
  "Package": "opencltools",
  "Type": "Package",
  "Title": "'OpenCL' Tools for R Package Developers",
  "Version": "0.8.1",
  "Date": "2026-05-26",
  "Authors@R": "c(\nperson(\"Kjell\", \"Nygren\", role = c(\"aut\", \"cre\"),\nemail = \"kjell.a.nygren@gmail.com\"),\nperson(\"The R Core Team\", role = c(\"ctb\", \"cph\"),\ncomment = \"R Mathlib sources, R stats modeling code, and derived/adapted routines\"),\nperson(\"The R Foundation\", role = \"cph\",\ncomment = \"Portions of R Mathlib and R source code\"),\nperson(\"Ross\", \"Ihaka\", role = c(\"ctb\", \"cph\"),\ncomment = \"R Mathlib and original R modeling infrastructure\"),\nperson(\"Robert\", \"Gentleman\", role = c(\"ctb\", \"cph\"),\ncomment = \"Portions of R Mathlib\"),\nperson(\"Simon\", \"Davies\", role = \"ctb\",\ncomment = \"Original R glm implementation\"),\nperson(\"Morten\", \"Welinder\", role = c(\"ctb\", \"cph\"),\ncomment = \"Portions of R Mathlib\"),\nperson(\"Martin\", \"Maechler\", role = \"ctb\",\ncomment = \"Portions of R Mathlib\")\n)",
  "Description": "Runtime 'OpenCL' support for R package developers: probe\nhardware and drivers, load and concatenate kernel sources, and\nmanage dependency-annotated '.cl' libraries, so packages like\n'nmathopencl' and other ported libraries can offer GPU\nacceleration without each re-implementing the same plumbing.\nVignettes use the 'glmbayes' envelope-gradient example and\nlikelihood subgradient methodology (Nygren and Nygren, 2006,\n<doi:10.1198/016214506000000357>).",
  "License": "GPL-2",
  "URL": "https://github.com/knygren/opencltools,\nhttps://knygren.r-universe.dev/opencltools",
  "BugReports": "https://github.com/knygren/opencltools/issues",
  "RdMacros": "Rdpack",
  "VignetteBuilder": "knitr",
  "SystemRequirements": "Optional 'OpenCL' support. If available, GPU\nacceleration will be used; otherwise, computation runs on CPU.",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.3",
  "Config/testthat/edition": "3",
  "Language": "en-US",
  "Config/pak/sysreqs": "make ocl-icd-opencl-dev",
  "Repository": "https://knygren.r-universe.dev",
  "Date/Publication": "2026-06-05 19:14:04 UTC",
  "RemoteUrl": "https://github.com/knygren/opencltools",
  "RemoteRef": "HEAD",
  "RemoteSha": "a2a14aede417a01008f577bf18e1883ffceb07a3",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-06-05 19:18:29 UTC",
    "User": "root"
  },
  "Author": "Kjell Nygren [aut, cre],\nThe R Core Team [ctb, cph] (R Mathlib sources, R stats modeling code,\nand derived/adapted routines),\nThe R Foundation [cph] (Portions of R Mathlib and R source code),\nRoss Ihaka [ctb, cph] (R Mathlib and original R modeling\ninfrastructure),\nRobert Gentleman [ctb, cph] (Portions of R Mathlib),\nSimon Davies [ctb] (Original R glm implementation),\nMorten Welinder [ctb, cph] (Portions of R Mathlib),\nMartin Maechler [ctb] (Portions of R Mathlib)",
  "Maintainer": "Kjell Nygren <kjell.a.nygren@gmail.com>",
  "MD5sum": "e4fd9845b3e4119df58b7057818aede7",
  "_user": "knygren",
  "_type": "src",
  "_file": "opencltools_0.8.1.tar.gz",
  "_fileid": "08e857ec33aa31386aa14256a0fa3b4e520002cf759d030ec551ac9317b58513",
  "_filesize": 1833703,
  "_sha256": "08e857ec33aa31386aa14256a0fa3b4e520002cf759d030ec551ac9317b58513",
  "_created": "2026-06-05T19:18:29.000Z",
  "_published": "2026-06-05T19:25:21.911Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 79797488588,
      "time": 179,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7444981154"
    },
    {
      "job": 79797488655,
      "time": 171,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7444977703"
    },
    {
      "job": 79797488550,
      "time": 214,
      "config": "linux-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7444991824"
    },
    {
      "job": 79797488599,
      "time": 174,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7444978928"
    },
    {
      "job": 79797488474,
      "time": 118,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7444961554"
    },
    {
      "job": 79797488513,
      "time": 325,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7445027429"
    },
    {
      "job": 79797488524,
      "time": 126,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7444963636"
    },
    {
      "job": 79797488509,
      "time": 288,
      "config": "macos-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7445014477"
    },
    {
      "job": 79796818937,
      "time": 248,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7444924965"
    },
    {
      "job": 79797488468,
      "time": 140,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "FAIL",
      "artifact": ""
    },
    {
      "job": 79797488485,
      "time": 318,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7445024667"
    },
    {
      "job": 79797488521,
      "time": 314,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7445022978"
    },
    {
      "job": 79797488490,
      "time": 345,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7445033340"
    }
  ],
  "_buildurl": "https://github.com/r-universe/knygren/actions/runs/27035048892",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/knygren/opencltools",
  "_commit": {
    "id": "a2a14aede417a01008f577bf18e1883ffceb07a3",
    "author": "knygren <kjell.a.nygren@gmail.com>",
    "committer": "knygren <kjell.a.nygren@gmail.com>",
    "message": "Update R universe\n",
    "time": 1780686844
  },
  "_maintainer": {
    "name": "Kjell Nygren",
    "email": "kjell.a.nygren@gmail.com",
    "login": "knygren",
    "linkedin": "in/kjellnygren",
    "description": "Data and analytics professional in pharma. Hobby: R package development. Creator of glmbayes — iid posterior sampling for Bayesian GLMs.",
    "uuid": 7188517
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.5.0",
      "role": "Depends"
    },
    {
      "package": "Rcpp",
      "role": "LinkingTo"
    },
    {
      "package": "RcppArmadillo",
      "role": "LinkingTo"
    },
    {
      "package": "RcppParallel",
      "role": "LinkingTo"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "Rcpp",
      "version": ">= 1.1.1",
      "role": "Imports"
    },
    {
      "package": "RcppParallel",
      "role": "Imports"
    },
    {
      "package": "Rdpack",
      "version": ">= 0.11-0",
      "role": "Imports"
    },
    {
      "package": "jsonlite",
      "role": "Imports"
    },
    {
      "package": "glmbayes",
      "version": ">= 0.9.3",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "spelling",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    }
  ],
  "_owner": "knygren",
  "_selfowned": true,
  "_usedby": 2,
  "_updates": [
    {
      "week": "2025-28",
      "n": 1
    },
    {
      "week": "2025-29",
      "n": 11
    },
    {
      "week": "2025-30",
      "n": 12
    },
    {
      "week": "2025-31",
      "n": 83
    },
    {
      "week": "2025-32",
      "n": 38
    },
    {
      "week": "2025-33",
      "n": 23
    },
    {
      "week": "2025-34",
      "n": 9
    },
    {
      "week": "2025-35",
      "n": 12
    },
    {
      "week": "2025-36",
      "n": 12
    },
    {
      "week": "2025-37",
      "n": 10
    },
    {
      "week": "2025-38",
      "n": 3
    },
    {
      "week": "2025-39",
      "n": 8
    },
    {
      "week": "2025-40",
      "n": 5
    },
    {
      "week": "2025-41",
      "n": 16
    },
    {
      "week": "2025-42",
      "n": 8
    },
    {
      "week": "2025-45",
      "n": 8
    },
    {
      "week": "2025-46",
      "n": 7
    },
    {
      "week": "2025-47",
      "n": 7
    },
    {
      "week": "2025-48",
      "n": 10
    },
    {
      "week": "2025-49",
      "n": 2
    },
    {
      "week": "2025-50",
      "n": 7
    },
    {
      "week": "2025-51",
      "n": 7
    },
    {
      "week": "2025-52",
      "n": 16
    },
    {
      "week": "2026-01",
      "n": 35
    },
    {
      "week": "2026-02",
      "n": 7
    },
    {
      "week": "2026-03",
      "n": 28
    },
    {
      "week": "2026-04",
      "n": 52
    },
    {
      "week": "2026-05",
      "n": 17
    },
    {
      "week": "2026-06",
      "n": 22
    },
    {
      "week": "2026-07",
      "n": 3
    },
    {
      "week": "2026-08",
      "n": 4
    },
    {
      "week": "2026-09",
      "n": 6
    },
    {
      "week": "2026-10",
      "n": 9
    },
    {
      "week": "2026-11",
      "n": 4
    },
    {
      "week": "2026-12",
      "n": 21
    },
    {
      "week": "2026-13",
      "n": 42
    },
    {
      "week": "2026-14",
      "n": 1
    },
    {
      "week": "2026-15",
      "n": 19
    },
    {
      "week": "2026-16",
      "n": 38
    },
    {
      "week": "2026-17",
      "n": 64
    },
    {
      "week": "2026-18",
      "n": 18
    },
    {
      "week": "2026-19",
      "n": 24
    },
    {
      "week": "2026-20",
      "n": 65
    },
    {
      "week": "2026-21",
      "n": 72
    },
    {
      "week": "2026-22",
      "n": 14
    },
    {
      "week": "2026-23",
      "n": 2
    }
  ],
  "_tags": [
    {
      "name": "v0.8.1",
      "date": "2026-06-03"
    }
  ],
  "_stars": 2,
  "_contributors": [
    {
      "user": "knygren",
      "count": 912,
      "uuid": 7188517
    },
    {
      "user": "knygrensny",
      "count": 266,
      "uuid": 224791279
    },
    {
      "user": "danieljobrien",
      "count": 1,
      "uuid": 7174733
    }
  ],
  "_userbio": {
    "uuid": 7188517,
    "type": "user",
    "name": "Kjell Nygren",
    "description": "Data and analytics professional in pharma. Hobby: R package development. Creator of glmbayes — iid posterior sampling for Bayesian GLMs."
  },
  "_downloads": {
    "count": 20,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/opencltools"
  },
  "_devurl": "https://github.com/knygren/opencltools",
  "_searchresults": 0,
  "_topics": [
    "cpp"
  ],
  "_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/opencltools.html",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/knygren/opencltools",
  "_realowner": "knygren",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.8.1",
      "date": "2026-06-03"
    }
  ],
  "_exports": [
    "add_to_libpath_linux",
    "add_to_path_linux",
    "add_to_path_windows",
    "attach_cross_library_tags",
    "attach_kernel_call_tags",
    "attach_kernel_dependency_tags",
    "check_runtime_env",
    "detect_compute_runtimes",
    "detect_environment_and_gpus",
    "detect_or_install_gpu_drivers",
    "diagnose_glmbayes",
    "extract_library_subset",
    "get_opencl_core_count",
    "gpu_names",
    "has_opencl",
    "load_kernel_library",
    "load_kernel_source",
    "load_library_for_kernel",
    "opencl_device_info",
    "opencl_fp64_available",
    "opencl_reset_device_selection",
    "opencltoolsLdFlags",
    "port_to_opencl_configure",
    "stage_kernel_dependency_sort",
    "use_opencl_configure",
    "verify_opencl_runtime",
    "write_kernel_dependency_index"
  ],
  "_help": [
    {
      "page": "opencltools-package",
      "title": "opencltools: OpenCL Tools for R Package Developers",
      "topics": [
        "opencltools-package",
        "opencltools"
      ]
    },
    {
      "page": "add_to_path",
      "title": "Add Directories to PATH or LD_LIBRARY_PATH",
      "topics": [
        "add_to_libpath_linux",
        "add_to_path",
        "add_to_path_linux",
        "add_to_path_windows"
      ]
    },
    {
      "page": "attach_cross_library_tags",
      "title": "Attach Cross-Library Dependency Tags to Kernel Files",
      "topics": [
        "attach_cross_library_tags"
      ]
    },
    {
      "page": "attach_kernel_call_tags",
      "title": "Attach Library Call Tags to Kernel Files",
      "topics": [
        "attach_kernel_call_tags"
      ]
    },
    {
      "page": "attach_kernel_dependency_tags",
      "title": "Attach Dependency Tags to a Dependency-Ordered Kernel Library",
      "topics": [
        "attach_kernel_dependency_tags"
      ]
    },
    {
      "page": "gpu_diagnostics",
      "title": "GPU and OpenCL Diagnostics for 'glmbayes'",
      "topics": [
        "check_runtime_env",
        "detect_compute_runtimes",
        "detect_environment_and_gpus",
        "detect_or_install_gpu_drivers",
        "diagnose_glmbayes",
        "gpu_diagnostics",
        "gpu_names",
        "has_opencl",
        "opencl_device_info",
        "opencl_fp64_available",
        "opencl_reset_device_selection",
        "verify_opencl_runtime"
      ]
    },
    {
      "page": "extract_library_subset",
      "title": "Extract a Minimal Library Subset for a Set of Kernels",
      "concept": [
        "OpenCL kernel library subsets"
      ],
      "topics": [
        "extract_library_subset"
      ]
    },
    {
      "page": "get_opencl_core_count",
      "title": "Get the number of available OpenCL compute units",
      "topics": [
        "get_opencl_core_count"
      ]
    },
    {
      "page": "kernel_lib_subset_printing",
      "title": "Printing results from minimal kernel-library subset loaders",
      "topics": [
        "kernel_lib_subset_printing",
        "print.nmathopencl_concatenated_lib",
        "print.nmathopencl_lib_extract_df"
      ]
    },
    {
      "page": "load_kernel_source",
      "title": "Load OpenCL Kernel Source Files",
      "topics": [
        "load_kernel_library",
        "load_kernel_source"
      ]
    },
    {
      "page": "load_library_for_kernel",
      "title": "Load a Minimal OpenCL Library Subset for a Single Kernel",
      "concept": [
        "OpenCL kernel library subsets"
      ],
      "topics": [
        "load_library_for_kernel"
      ]
    },
    {
      "page": "opencltoolsLdFlags",
      "title": "Linker flags for downstream 'LinkingTo: opencltools' packages",
      "topics": [
        "opencltoolsLdFlags"
      ]
    },
    {
      "page": "port_to_opencl_configure",
      "title": "Port an existing static src/Makevars to use OpenCL configure scripts",
      "topics": [
        "port_to_opencl_configure"
      ]
    },
    {
      "page": "print.opencl_dependency_tags",
      "title": "Print Dependency Tag Attachment Results",
      "topics": [
        "print.opencl_dependency_tags"
      ]
    },
    {
      "page": "stage_kernel_dependency_sort",
      "title": "Stage Kernel Library Dependency Sort Results",
      "topics": [
        "stage_kernel_dependency_sort"
      ]
    },
    {
      "page": "use_opencl_configure",
      "title": "Set up OpenCL configure scripts in a downstream R package",
      "topics": [
        "use_opencl_configure"
      ]
    },
    {
      "page": "write_kernel_dependency_index",
      "title": "Build and save a kernel dependency index",
      "concept": [
        "OpenCL kernel library subsets"
      ],
      "topics": [
        "write_kernel_dependency_index"
      ]
    }
  ],
  "_readme": "https://github.com/knygren/opencltools/raw/HEAD/README.md",
  "_rundeps": [
    "jsonlite",
    "rbibutils",
    "Rcpp",
    "RcppArmadillo",
    "RcppParallel",
    "Rdpack"
  ],
  "_sysdeps": [
    {
      "shlib": "libstdc++",
      "package": "libstdc++6",
      "source": "gcc",
      "version": "14.2.0-4ubuntu2~24.04.1",
      "name": "c++",
      "homepage": "http://gcc.gnu.org/",
      "description": "GNU Standard C++ Library v3"
    }
  ],
  "_vignettes": [
    {
      "source": "Chapter-01.Rmd",
      "filename": "Chapter-01.html",
      "title": "Chapter 01: Getting started — Setting up OpenCL",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "1. Download and install build tools",
        "1.1 Windows: Install Rtools",
        "1.2 Linux: Install compiler toolchain and R development headers",
        "Installing the latest R on Ubuntu/Debian (optional but recommended)",
        "1.3 macOS: Install Xcode Command Line Tools and GCC",
        "2. Install OpenCL components",
        "2.1 Windows",
        "2.2 Linux",
        "2.2.1 OpenCL implementation (vendor runtime)",
        "2.2.2 OpenCL header files",
        "2.2.3 OpenCL runtime (ICD loader)",
        "2.2.4 OpenCL development library (linker symlink)",
        "2.2.5 Verify OpenCL platforms with clinfo (Linux, recommended)",
        "2.3 macOS",
        "3. Install opencltools from source (for OpenCL)",
        "4. Load the package",
        "5. Check for OpenCL availability",
        "5.1 Full diagnostic",
        "6. Verify the kernel-loading path",
        "Appendix A: AMD GPUs on Linux (ROCm OpenCL recommended)",
        "Install ROCm OpenCL (Ubuntu LTS)",
        "Supported AMD GPUs",
        "Other AMD OpenCL stacks",
        "References"
      ],
      "created": "2020-07-05 13:36:43",
      "modified": "2026-05-29 19:16:10",
      "commits": 28
    },
    {
      "source": "Chapter-02.Rmd",
      "filename": "Chapter-02.html",
      "title": "Chapter 02: Using a ported library — assembling kernel programs",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "1. Anatomy of a ported library",
        "1.1 Shard annotations",
        "2. The nmath module",
        "3. Loading kernel source files",
        "3.1 Single file",
        "3.2 A whole library directory",
        "4. Program assembly",
        "5. Minimal subsetting — loading only the nmath shards a kernel needs",
        "6. Annotating your kernel files",
        "6.1 Declare the library (one line, written by you)",
        "6.2 Step 1 — scan source, write direct-call tags",
        "6.3 Step 2 — compute transitive closure",
        "7. Verifying portability",
        "8. Maintaining a library index",
        "Cross-references"
      ],
      "created": "2020-07-05 13:36:43",
      "modified": "2026-05-29 19:16:10",
      "commits": 33
    },
    {
      "source": "Chapter-03.Rmd",
      "filename": "Chapter-03.html",
      "title": "Chapter 03: Kernel runners and wrappers — the glmbayes pattern",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "1. Architecture overview",
        "Call path",
        "2. Kernel structure",
        "Step 1 — Work-item mapping",
        "Step 2 — Prior term",
        "Step 3 — Prior gradient",
        "Step 4 — Data loop",
        "Step 5 — Write outputs",
        "2.1 Supported family/link kernels in glmbayes",
        "3. The kernel wrapper",
        "Linking against opencltools",
        "4. The kernel runner",
        "5. Fail gracefully — the dispatch pattern",
        "6. The pilot pattern",
        "7. Setting up OpenCL before first use",
        "Cross-references",
        "References"
      ],
      "created": "2020-07-05 13:36:43",
      "modified": "2026-05-29 19:16:10",
      "commits": 37
    }
  ],
  "_score": 7.219060332448862,
  "_indexed": true,
  "_nocasepkg": "opencltools",
  "_universes": [
    "knygren"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.8.1",
      "date": "2026-06-05T19:21:28.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "a2a14aede417a01008f577bf18e1883ffceb07a3",
      "fileid": "6ae372fbe6da48ea0f05cf9af489e325b8f12ed57528a8c07f62c1ca0b9f1d8d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/knygren/actions/runs/27035048892"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.8.1",
      "date": "2026-06-05T19:21:18.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "a2a14aede417a01008f577bf18e1883ffceb07a3",
      "fileid": "bc3460951bab27a6881cce4a9bbfdd660c9e58c98e7794eea49b12966689ffb6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/knygren/actions/runs/27035048892"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.8.1",
      "date": "2026-06-05T19:22:00.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "a2a14aede417a01008f577bf18e1883ffceb07a3",
      "fileid": "865350d3983e9f23f6b8c0f1a7c20413b3fa19e04eba3066db22676bb50ded21",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/knygren/actions/runs/27035048892"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.8.1",
      "date": "2026-06-05T19:21:22.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "a2a14aede417a01008f577bf18e1883ffceb07a3",
      "fileid": "c7034ba725dd6d086b6eacfe56375bc7bdef2296158cfa0fe5fe66777a26cb8c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/knygren/actions/runs/27035048892"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.8.1",
      "date": "2026-06-05T19:20:39.000Z",
      "arch": "aarch64",
      "commit": "a2a14aede417a01008f577bf18e1883ffceb07a3",
      "fileid": "2bdae3742a89d6c1be132e1622dc0212be0ae349d2fa7e4155dbfe77028d202f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/knygren/actions/runs/27035048892"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.8.1",
      "date": "2026-06-05T19:23:07.000Z",
      "arch": "x86_64",
      "commit": "a2a14aede417a01008f577bf18e1883ffceb07a3",
      "fileid": "39df0719a3eba81ec04d007c05346d014f1dd7d63b75696057bfe23f2164525b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/knygren/actions/runs/27035048892"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.8.1",
      "date": "2026-06-05T19:20:37.000Z",
      "arch": "aarch64",
      "commit": "a2a14aede417a01008f577bf18e1883ffceb07a3",
      "fileid": "43d0d2c8d0ef1aaab4a51c32df31a1f2271362b9cd6c12a3bee3e1b787dab4fb",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/knygren/actions/runs/27035048892"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.8.1",
      "date": "2026-06-05T19:22:24.000Z",
      "arch": "x86_64",
      "commit": "a2a14aede417a01008f577bf18e1883ffceb07a3",
      "fileid": "a14a26a7afb3ab0286db9cc68a4573510f59a17ec9b39f14e19c0d132e950c8d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/knygren/actions/runs/27035048892"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.8.1",
      "date": "2026-06-05T19:20:38.000Z",
      "arch": "x86_64",
      "commit": "a2a14aede417a01008f577bf18e1883ffceb07a3",
      "fileid": "e47c6a22f47b38a6af41ba9344781964c1e9e63298628f528f45d700b083d2c0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/knygren/actions/runs/27035048892"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.8.1",
      "date": "2026-06-05T19:20:28.000Z",
      "arch": "x86_64",
      "commit": "a2a14aede417a01008f577bf18e1883ffceb07a3",
      "fileid": "6e36d84b056f1436e9f6471b93e0ad3dd98f369cf5fef67fc64bb823226fd577",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/knygren/actions/runs/27035048892"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.8.1",
      "date": "2026-06-05T19:20:39.000Z",
      "arch": "x86_64",
      "commit": "a2a14aede417a01008f577bf18e1883ffceb07a3",
      "fileid": "cfe7fca17bc1352b3e83ea264617b1a9693a7a4248fec8a94aa5b5aff072f9f5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/knygren/actions/runs/27035048892"
    }
  ]
}