{
  "_id": "6a1f2f9bb401979e7342753c",
  "Type": "Package",
  "Package": "anticlust",
  "Title": "Subset Partitioning via Anticlustering",
  "Version": "0.8.15",
  "Authors@R": "c(\nperson(\"Martin\", \"Papenberg\", , \"martin.papenberg@hhu.de\", role = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0000-0002-9900-4268\")),\nperson(\"Meik\", \"Michalke\", role = \"ctb\",\ncomment = \"centroid based clustering algorithm\"),\nperson(c(\"Gunnar\", \"W.\"), \"Klau\", role = \"ths\"),\nperson(c(\"Juliane\", \"V.\"), \"Nagel\", role = \"ctb\",\ncomment = \"package logo\"),\nperson(\"Martin\", \"Breuer\", role = \"ctb\",\ncomment = \"Bicriterion algorithm by Brusco et al.\"),\nperson(\"Marie L.\", \"Schaper\", role = \"ctb\",\ncomment = \"Example data set\"),\nperson(\"Max\", \"Diekhoff\", role = \"ctb\",\ncomment = \"Optimal maximum dispersion algorithm\"),\nperson(\"Hannah\", \"Hengelbrock\", role = \"ctb\",\ncomment = \"TPSDP heuristic by Yang et al.\")\n)",
  "Author": "Martin Papenberg [aut, cre]\n(<https://orcid.org/0000-0002-9900-4268>), Meik Michalke [ctb]\n(centroid based clustering algorithm), Gunnar W. Klau [ths],\nJuliane V. Nagel [ctb] (package logo), Martin Breuer [ctb]\n(Bicriterion algorithm by Brusco et al.), Marie L. Schaper\n[ctb] (Example data set), Max Diekhoff [ctb] (Optimal maximum\ndispersion algorithm), Hannah Hengelbrock [ctb] (TPSDP\nheuristic by Yang et al.)",
  "Maintainer": "Martin Papenberg <martin.papenberg@hhu.de>",
  "Description": "The method of anticlustering partitions a pool of elements\ninto groups (i.e., anticlusters) with the goal of maximizing\nbetween-group similarity or within-group heterogeneity. The\nanticlustering approach thereby reverses the logic of cluster\nanalysis that strives for high within-group homogeneity and\nclear separation between groups.  Computationally,\nanticlustering is accomplished by maximizing instead of\nminimizing a clustering objective function, such as the\nintra-cluster variance (used in k-means clustering) or the sum\nof pairwise distances within clusters. The main function\nanticlustering() gives access to optimal and heuristic\nanticlustering methods described in Papenberg and Klau (2021;\n<doi:10.1037/met0000301>), Brusco et al. (2020;\n<doi:10.1111/bmsp.12186>), Papenberg (2024;\n<doi:10.1111/bmsp.12315>), Papenberg, Wang, et al. (2025;\n<doi:10.1016/j.crmeth.2025.101137>), Papenberg, Breuer, et al.\n(2025; <doi:10.1017/psy.2025.10052>), and Yang et al. (2022;\n<doi:10.1016/j.ejor.2022.02.003>). The optimal algorithms\nrequire that an integer linear programming solver is installed.\nThis package will install 'lpSolve'\n(<https://cran.r-project.org/package=lpSolve>) as a default\nsolver, but it is also possible to use the package 'Rglpk'\n(<https://cran.r-project.org/package=Rglpk>), which requires\nthe GNU linear programming kit\n(<https://www.gnu.org/software/glpk/glpk.html>), the package\n'Rsymphony' (<https://cran.r-project.org/package=Rsymphony>),\nwhich requires the SYMPHONY ILP solver\n(<https://github.com/coin-or/SYMPHONY>), or the commercial\nsolver Gurobi, which provides its own R package that is not\navailable via CRAN (<https://www.gurobi.com/downloads/>).\n'Rglpk', 'Rsymphony', 'gurobi' and their system dependencies\nhave to be manually installed by the user because they are only\nsuggested dependencies. Full access to the bicriterion\nanticlustering method proposed by Brusco et al. (2020) is given\nvia the function bicriterion_anticlustering(), while\nkplus_anticlustering() implements the full functionality of the\nk-plus anticlustering approach proposed by Papenberg (2024).\nSome other functions are available to solve classical\nclustering problems. The function balanced_clustering() applies\na cluster analysis under size constraints, i.e., creates\nequal-sized clusters. The function matching() can be used for\n(unrestricted, bipartite, or K-partite) matching. The function\nwce() can be used optimally solve the (weighted) cluster\nediting problem, also known as correlation clustering, clique\npartitioning problem or transitivity clustering.",
  "License": "MIT + file LICENSE",
  "URL": "https://github.com/m-Py/anticlust,\nhttps://m-py.github.io/anticlust/",
  "BugReports": "https://github.com/m-Py/anticlust/issues",
  "VignetteBuilder": "knitr, rmarkdown",
  "Encoding": "UTF-8",
  "LazyData": "true",
  "NeedsCompilation": "yes",
  "RoxygenNote": "7.3.3",
  "SystemRequirements": "Rendering the vignette requires pandoc\n(<https://pandoc.org/>).",
  "Repository": "https://m-py.r-universe.dev",
  "Date/Publication": "2026-04-15 14:47:59 UTC",
  "RemoteUrl": "https://github.com/m-py/anticlust",
  "RemoteRef": "HEAD",
  "RemoteSha": "ed26511dfac1dc2d7d8266882c2a7e8ae7d525b9",
  "Packaged": {
    "Date": "2026-05-15 09:02:18 UTC",
    "User": "root"
  },
  "MD5sum": "f1e1ff1a736da74af4ee3b1a0349cec4",
  "_user": "m-py",
  "_type": "src",
  "_file": "anticlust_0.8.15.tar.gz",
  "_fileid": "687c7335010b790408cc0683c69a2777d33b3ab83cbce6e8d3796a2d957e4f23",
  "_filesize": 977039,
  "_sha256": "687c7335010b790408cc0683c69a2777d33b3ab83cbce6e8d3796a2d957e4f23",
  "_created": "2026-05-15T09:02:18.000Z",
  "_published": "2026-06-02T19:31:39.506Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 79155097230,
      "time": 231,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7013675424"
    },
    {
      "job": 79155096733,
      "time": 217,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7013671828"
    },
    {
      "job": 79155097088,
      "time": 227,
      "config": "linux-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7013674580"
    },
    {
      "job": 79155097488,
      "time": 221,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7013674996"
    },
    {
      "job": 79155097364,
      "time": 305,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7013678972"
    },
    {
      "job": 79155097313,
      "time": 425,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7013726749"
    },
    {
      "job": 79155096804,
      "time": 204,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7013660044"
    },
    {
      "job": 79155097149,
      "time": 545,
      "config": "macos-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7013755677"
    },
    {
      "job": 79155096770,
      "time": 227,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7013612285"
    },
    {
      "job": 79155096387,
      "time": 121,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7367823395"
    },
    {
      "job": 79155096867,
      "time": 217,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7013671894"
    },
    {
      "job": 79155097251,
      "time": 205,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7013668503"
    },
    {
      "job": 79155097223,
      "time": 208,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7013669269"
    }
  ],
  "_buildurl": "https://github.com/r-universe/m-py/actions/runs/25909372529",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/m-py/anticlust",
  "_commit": {
    "id": "ed26511dfac1dc2d7d8266882c2a7e8ae7d525b9",
    "author": "Martin Papenberg <martin.papenberg@hhu.de>",
    "committer": "Martin Papenberg <martin.papenberg@hhu.de>",
    "message": "needed for model.matrix()\n",
    "time": 1776264479
  },
  "_maintainer": {
    "name": "Martin Papenberg",
    "email": "martin.papenberg@hhu.de",
    "login": "m-py",
    "uuid": 5699831,
    "orcid": "0000-0002-9900-4268"
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.6.0",
      "role": "Depends"
    },
    {
      "package": "Matrix",
      "role": "Imports"
    },
    {
      "package": "RANN",
      "version": ">= 2.6.0",
      "role": "Imports"
    },
    {
      "package": "lpSolve",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "MASS",
      "role": "Suggests"
    },
    {
      "package": "Rglpk",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "Rsymphony",
      "role": "Suggests"
    },
    {
      "package": "tinytest",
      "role": "Suggests"
    },
    {
      "package": "gurobi",
      "role": "Suggests"
    },
    {
      "package": "tableone",
      "role": "Suggests"
    },
    {
      "package": "palmerpenguins",
      "role": "Suggests"
    }
  ],
  "_owner": "m-py",
  "_selfowned": true,
  "_usedby": 2,
  "_updates": [
    {
      "week": "2025-26",
      "n": 6
    },
    {
      "week": "2025-38",
      "n": 30
    },
    {
      "week": "2025-39",
      "n": 17
    },
    {
      "week": "2025-44",
      "n": 17
    },
    {
      "week": "2025-47",
      "n": 4
    },
    {
      "week": "2025-48",
      "n": 22
    },
    {
      "week": "2026-16",
      "n": 7
    }
  ],
  "_tags": [
    {
      "name": "v0.8.11",
      "date": "2025-06-26"
    },
    {
      "name": "v0.8.11-1",
      "date": "2025-06-26"
    },
    {
      "name": "v0.8.12",
      "date": "2025-10-31"
    },
    {
      "name": "v0.8.13",
      "date": "2025-11-28"
    },
    {
      "name": "v0.8.15",
      "date": "2026-04-15"
    }
  ],
  "_stars": 38,
  "_contributors": [
    {
      "user": "m-py",
      "count": 1802,
      "uuid": 5699831
    },
    {
      "user": "einglasrotwein",
      "count": 4,
      "uuid": 45146055
    },
    {
      "user": "hanneyai",
      "count": 4,
      "uuid": 44026776
    },
    {
      "user": "manalama",
      "count": 2,
      "uuid": 57373780
    },
    {
      "user": "olivroy",
      "count": 1,
      "uuid": 52606734
    },
    {
      "user": "undocumeantit",
      "count": 1,
      "uuid": 1068974
    }
  ],
  "_userbio": {
    "uuid": 5699831,
    "type": "user",
    "name": "Martin Papenberg",
    "description": "Post-doctoral researcher at the University of Duesseldorf."
  },
  "_downloads": {
    "count": 1703,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/anticlust"
  },
  "_devurl": "https://github.com/m-py/anticlust",
  "_pkgdown": "https://m-py.github.io/anticlust/",
  "_searchresults": 81,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/anticlust.html",
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/m-py/anticlust",
  "_realowner": "m-py",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.5.0",
      "date": "2020-06-29"
    },
    {
      "version": "0.5.3",
      "date": "2020-09-25"
    },
    {
      "version": "0.5.6",
      "date": "2020-11-24"
    },
    {
      "version": "0.6.0",
      "date": "2021-12-01"
    },
    {
      "version": "0.6.1",
      "date": "2021-12-07"
    },
    {
      "version": "0.6.3",
      "date": "2023-01-30"
    },
    {
      "version": "0.6.4",
      "date": "2023-05-02"
    },
    {
      "version": "0.7.0",
      "date": "2023-07-15"
    },
    {
      "version": "0.8.0",
      "date": "2023-09-13"
    },
    {
      "version": "0.8.0-1",
      "date": "2023-10-25"
    },
    {
      "version": "0.8.1",
      "date": "2023-10-26"
    },
    {
      "version": "0.8.3",
      "date": "2024-04-24"
    },
    {
      "version": "0.8.5",
      "date": "2024-05-05"
    },
    {
      "version": "0.8.7",
      "date": "2024-10-01"
    },
    {
      "version": "0.8.9",
      "date": "2025-01-17"
    },
    {
      "version": "0.8.9-1",
      "date": "2025-01-20"
    },
    {
      "version": "0.8.10",
      "date": "2025-03-13"
    },
    {
      "version": "0.8.10-1",
      "date": "2025-03-26"
    },
    {
      "version": "0.8.12",
      "date": "2025-10-31"
    },
    {
      "version": "0.8.13",
      "date": "2025-11-29"
    },
    {
      "version": "0.8.14",
      "date": "2026-04-15"
    }
  ],
  "_exports": [
    "anticlustering",
    "balanced_clustering",
    "bicriterion_anticlustering",
    "categorical_sampling",
    "categories_to_binary",
    "dispersion_objective",
    "diversity_objective",
    "fast_anticlustering",
    "generate_exchange_partners",
    "generate_partitions",
    "kplus_anticlustering",
    "kplus_moment_variables",
    "matching",
    "mean_sd_tab",
    "n_partitions",
    "optimal_anticlustering",
    "optimal_dispersion",
    "plot_clusters",
    "plot_similarity",
    "three_phase_search_anticlustering",
    "variance_objective",
    "wce"
  ],
  "_datasets": [
    {
      "name": "brunel2025",
      "title": "Completion norms for 403 French sentences",
      "object": "brunel2025",
      "class": [
        "data.frame"
      ],
      "fields": [
        "target_word",
        "sentence",
        "target_word_emotionality",
        "sentence_emotionality",
        "percentage_target_word",
        "valence_target_word",
        "arousal_target_word"
      ],
      "rows": 403,
      "table": true,
      "tojson": true
    },
    {
      "name": "schaper2019",
      "title": "Ratings for 96 words",
      "object": "schaper2019",
      "class": [
        "data.frame"
      ],
      "fields": [
        "item",
        "room",
        "rating_consistent",
        "rating_inconsistent",
        "syllables",
        "frequency",
        "list"
      ],
      "rows": 96,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "anticlustering",
      "title": "Anticlustering",
      "topics": [
        "anticlustering"
      ]
    },
    {
      "page": "balanced_clustering",
      "title": "Create balanced clusters of equal size",
      "topics": [
        "balanced_clustering"
      ]
    },
    {
      "page": "bicriterion_anticlustering",
      "title": "Bicriterion iterated local search heuristic",
      "topics": [
        "bicriterion_anticlustering"
      ]
    },
    {
      "page": "brunel2025",
      "title": "Completion norms for 403 French sentences",
      "topics": [
        "brunel2025"
      ]
    },
    {
      "page": "categorical_sampling",
      "title": "Random sampling employing a categorical constraint",
      "topics": [
        "categorical_sampling"
      ]
    },
    {
      "page": "categories_to_binary",
      "title": "Get binary representation of categorical variables",
      "topics": [
        "categories_to_binary"
      ]
    },
    {
      "page": "dispersion_objective",
      "title": "Cluster dispersion",
      "topics": [
        "dispersion_objective"
      ]
    },
    {
      "page": "diversity_objective",
      "title": "(Anti)cluster editing \"diversity\" objective",
      "topics": [
        "diversity_objective"
      ]
    },
    {
      "page": "fast_anticlustering",
      "title": "Fast anticlustering",
      "topics": [
        "fast_anticlustering"
      ]
    },
    {
      "page": "generate_exchange_partners",
      "title": "Get exchange partners for fast_anticlustering()",
      "topics": [
        "generate_exchange_partners"
      ]
    },
    {
      "page": "generate_partitions",
      "title": "Generate all partitions of same cardinality",
      "topics": [
        "generate_partitions"
      ]
    },
    {
      "page": "kplus_anticlustering",
      "title": "K-plus anticlustering",
      "topics": [
        "kplus_anticlustering"
      ]
    },
    {
      "page": "kplus_moment_variables",
      "title": "Compute k-plus variables",
      "topics": [
        "kplus_moment_variables"
      ]
    },
    {
      "page": "matching",
      "title": "Matching",
      "topics": [
        "matching"
      ]
    },
    {
      "page": "mean_sd_tab",
      "title": "Means and standard deviations by group variable formatted in table",
      "topics": [
        "mean_sd_tab"
      ]
    },
    {
      "page": "n_partitions",
      "title": "Number of equal sized partitions",
      "topics": [
        "n_partitions"
      ]
    },
    {
      "page": "optimal_anticlustering",
      "title": "Optimal (\"exact\") algorithms for anticlustering",
      "topics": [
        "optimal_anticlustering"
      ]
    },
    {
      "page": "optimal_dispersion",
      "title": "Maximize dispersion for K groups",
      "topics": [
        "optimal_dispersion"
      ]
    },
    {
      "page": "plot_clusters",
      "title": "Visualize a cluster analysis",
      "topics": [
        "plot_clusters"
      ]
    },
    {
      "page": "plot_similarity",
      "title": "Plot similarity objective by cluster",
      "topics": [
        "plot_similarity"
      ]
    },
    {
      "page": "schaper2019",
      "title": "Ratings for 96 words",
      "topics": [
        "schaper2019"
      ]
    },
    {
      "page": "three_phase_search_anticlustering",
      "title": "Three phase search with dynamic population size heuristic",
      "topics": [
        "three_phase_search_anticlustering"
      ]
    },
    {
      "page": "variance_objective",
      "title": "Objective value for the variance criterion",
      "topics": [
        "variance_objective"
      ]
    },
    {
      "page": "wce",
      "title": "Exact weighted cluster editing",
      "topics": [
        "wce"
      ]
    }
  ],
  "_readme": "https://github.com/m-py/anticlust/raw/HEAD/README.md",
  "_rundeps": [
    "lattice",
    "lpSolve",
    "Matrix",
    "RANN"
  ],
  "_vignettes": [
    {
      "source": "Anticlustering_in_2025.Rmd",
      "filename": "Anticlustering_in_2025.html",
      "title": "Anticlustering in 2025",
      "author": "Martin Papenberg",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Improving the results",
        "Standardization",
        "Using a better algorithm",
        "Changing the objective function",
        "Unequal group sizes",
        "Further reading",
        "Categorical variables",
        "Objectives",
        "Algorithms",
        "References"
      ],
      "created": "2025-09-18 14:29:14",
      "modified": "2025-10-31 09:39:28",
      "commits": 5
    },
    {
      "source": "Best_practices.Rmd",
      "filename": "Best_practices.html",
      "title": "Some best practices for anticlustering",
      "author": "Martin Papenberg",
      "engine": "knitr::rmarkdown",
      "headings": [
        "References"
      ],
      "created": "2023-06-29 14:02:12",
      "modified": "2024-10-08 10:46:52",
      "commits": 8
    },
    {
      "source": "Speeding_up_anticlustering.Rmd",
      "filename": "Speeding_up_anticlustering.html",
      "title": "Speeding up anticlustering",
      "author": "Martin Papenberg",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The exchange algorithm",
        "Slowing down",
        "Getting fast: Using fewer exchange partners",
        "fast_anticlustering()",
        "Preclustering",
        "Secret hack",
        "Including categorical variables",
        "Objective function",
        "References"
      ],
      "created": "2023-06-13 11:23:37",
      "modified": "2024-04-24 09:15:04",
      "commits": 9
    },
    {
      "source": "Categorical_vars.Rmd",
      "filename": "Categorical_vars.html",
      "title": "Using categorical variables with anticlustering",
      "author": "Martin Papenberg",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Categorical variables as numeric variables",
        "Blocking",
        "References"
      ],
      "created": "2023-06-23 14:22:31",
      "modified": "2025-11-28 11:27:30",
      "commits": 12
    },
    {
      "source": "stimulus-selection.Rmd",
      "filename": "stimulus-selection.html",
      "title": "Using the R package anticlust for stimulus selection in experiments",
      "author": "Martin Papenberg",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Example 1a: Maximize differences in frequency",
        "Example 1b: Two-factorial design",
        "Example 2: Anticlustering",
        "Example 2b: Anticlustering on subset selection",
        "References"
      ],
      "created": "2019-11-14 13:13:37",
      "modified": "2023-10-25 10:29:59",
      "commits": 18
    }
  ],
  "_score": 9.439642566864018,
  "_indexed": true,
  "_nocasepkg": "anticlust",
  "_universes": [
    "m-py"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.8.15",
      "date": "2026-05-15T09:04:44.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "ed26511dfac1dc2d7d8266882c2a7e8ae7d525b9",
      "fileid": "a2f26152996ed1453efeabc877a171c753a05c60bd25b65cb12b35064c4b5265",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/m-py/actions/runs/25909372529"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.8.15",
      "date": "2026-05-15T09:04:47.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "ed26511dfac1dc2d7d8266882c2a7e8ae7d525b9",
      "fileid": "487a5696b9b54a4ef7013faad1a754fffc8f06e27e511be229e9c2694c367a5a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/m-py/actions/runs/25909372529"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.8.15",
      "date": "2026-05-15T09:04:43.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "ed26511dfac1dc2d7d8266882c2a7e8ae7d525b9",
      "fileid": "01568adf960310785ee6092adefd9d855f981b40dcae30eae1a085c6dba26432",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/m-py/actions/runs/25909372529"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.8.15",
      "date": "2026-05-15T09:04:39.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "ed26511dfac1dc2d7d8266882c2a7e8ae7d525b9",
      "fileid": "156c8c94df99ff95bed8df74da6a8eab32e500e829974250b50612aec97a95d1",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/m-py/actions/runs/25909372529"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.8.15",
      "date": "2026-05-15T09:05:07.000Z",
      "arch": "aarch64",
      "commit": "ed26511dfac1dc2d7d8266882c2a7e8ae7d525b9",
      "fileid": "f3d7dd55e4ce5310cc41f46c0dc8388f9531c8b9dcf8d2818ee233395f64528e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/m-py/actions/runs/25909372529"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.8.15",
      "date": "2026-05-15T09:06:31.000Z",
      "arch": "x86_64",
      "commit": "ed26511dfac1dc2d7d8266882c2a7e8ae7d525b9",
      "fileid": "2ce2b18fd44e5188ea8cb4bad2d69c46056dd2b39ad7b2adb9823d2afa5a3ea2",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/m-py/actions/runs/25909372529"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.8.15",
      "date": "2026-05-15T09:04:13.000Z",
      "arch": "aarch64",
      "commit": "ed26511dfac1dc2d7d8266882c2a7e8ae7d525b9",
      "fileid": "5997df9c7795a32717c91d6d83358b00c17dbd285c5aaab7a54febe53c5105c1",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/m-py/actions/runs/25909372529"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.8.15",
      "date": "2026-05-15T09:07:10.000Z",
      "arch": "x86_64",
      "commit": "ed26511dfac1dc2d7d8266882c2a7e8ae7d525b9",
      "fileid": "4526482b25a25b7657f2d065ea6682c8966da98dad13ee592f4f1cad8fff4056",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/m-py/actions/runs/25909372529"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.8.15",
      "date": "2026-05-15T09:03:59.000Z",
      "arch": "x86_64",
      "commit": "ed26511dfac1dc2d7d8266882c2a7e8ae7d525b9",
      "fileid": "cf81bf79c2f963672427fc56dc935b7db407112cbc72f61ab97d9d045195f159",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/m-py/actions/runs/25909372529"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.8.15",
      "date": "2026-05-15T09:03:42.000Z",
      "arch": "x86_64",
      "commit": "ed26511dfac1dc2d7d8266882c2a7e8ae7d525b9",
      "fileid": "03e4af785a32292ecca807b9874095df91f6fda6fb09b4101f0f15528f0e14ef",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/m-py/actions/runs/25909372529"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.8.15",
      "date": "2026-05-15T09:03:44.000Z",
      "arch": "x86_64",
      "commit": "ed26511dfac1dc2d7d8266882c2a7e8ae7d525b9",
      "fileid": "a67744c3b9493a9646c4346d6f6696c22ba3c04a86f2de6f7df3df35dd211436",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/m-py/actions/runs/25909372529"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.8.15",
      "date": "2026-06-02T19:31:08.000Z",
      "arch": "emscripten",
      "commit": "ed26511dfac1dc2d7d8266882c2a7e8ae7d525b9",
      "fileid": "bcdd5207c5047c367d33d141d1c0444d3a6a08b54525c53ee1a54258a6059faa",
      "status": "success",
      "buildurl": "https://github.com/r-universe/m-py/actions/runs/25909372529"
    }
  ]
}