{
  "_id": "6a4bc24a95416c4179535628",
  "Package": "ksCompare",
  "Title": "Smart Data Frame Comparison in the Spirit of SAS PROC COMPARE",
  "Version": "0.2.3",
  "Authors@R": "person(\"Igor\", \"Aleschenkov\", , \"igor.aleschenkov@gmail.com\", role = c(\"aut\", \"cre\"))",
  "Description": "A tidyverse-native engine for comparing two data frames in\nthe spirit of SAS 'PROC COMPARE', with extensions for\nclinical/pharma workflows: per-column tolerances (absolute,\nrelative, and ULP), smart column matching, intelligent type\nreconciliation, SAS special-missing awareness, diff-pattern\ndetection, and rich HTML/Excel reports.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "8.0.0",
  "Config/testthat/edition": "3",
  "URL": "https://al-garik.github.io/ksCompare/,\nhttps://github.com/al-garik/ksCompare,\nhttps://crow16384.r-universe.dev/ksCompare",
  "BugReports": "https://github.com/al-garik/ksCompare/issues",
  "VignetteBuilder": "knitr",
  "Config/pak/sysreqs": "libicu-dev",
  "Repository": "https://crow16384.r-universe.dev",
  "Date/Publication": "2026-07-06 13:43:16 UTC",
  "RemoteUrl": "https://github.com/al-garik/ksCompare",
  "RemoteRef": "HEAD",
  "RemoteSha": "554841cfa9485bd78809a67cac190b15b6504d09",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-07-06 14:52:41 UTC",
    "User": "root"
  },
  "Author": "Igor Aleschenkov [aut, cre]",
  "Maintainer": "Igor Aleschenkov <igor.aleschenkov@gmail.com>",
  "_user": "crow16384",
  "_type": "src",
  "_file": "ksCompare_0.2.3.tar.gz",
  "_fileid": "https://r2.ropensci.org/ddb86e18c645176394aac5e4797a5391ee4afe8d192587b1b636e0f18a5d1fc7",
  "_filesize": 24944258,
  "_sha256": "ddb86e18c645176394aac5e4797a5391ee4afe8d192587b1b636e0f18a5d1fc7",
  "_expires": "2026-10-14T14:57:10.000Z",
  "_created": "2026-07-06T14:52:41.000Z",
  "_published": "2026-07-06T14:57:14.912Z",
  "_jobs": [
    {
      "job": 85403011882,
      "time": 196,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8112810854"
    },
    {
      "job": 85403011843,
      "time": 175,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8112800810"
    },
    {
      "job": 85403011830,
      "time": 117,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8112774116"
    },
    {
      "job": 85403011819,
      "time": 163,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8112795309"
    },
    {
      "job": 85401956358,
      "time": 272,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8112717328"
    },
    {
      "job": 85403011762,
      "time": 173,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "8112800709"
    },
    {
      "job": 85403011806,
      "time": 172,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8112799712"
    },
    {
      "job": 85403011821,
      "time": 111,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8112770573"
    },
    {
      "job": 85403011922,
      "time": 139,
      "config": "windows-release",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8112784520"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/crow16384/actions/runs/28800393129",
  "_status": "success",
  "_upstream": "https://github.com/al-garik/ksCompare",
  "_commit": {
    "id": "554841cfa9485bd78809a67cac190b15b6504d09",
    "author": "Igor Aleschenkov <igor.aleschenkov@keystatsolutions.com>",
    "committer": "Igor Aleschenkov <igor.aleschenkov@keystatsolutions.com>",
    "message": "Documents refined\n",
    "time": 1783345396
  },
  "_maintainer": {
    "name": "Igor Aleschenkov",
    "email": "igor.aleschenkov@gmail.com",
    "login": "algarik",
    "description": "",
    "uuid": 179924434
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1",
      "role": "Depends"
    },
    {
      "package": "base64enc",
      "role": "Imports"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "digest",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "stringi",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "vctrs",
      "role": "Imports"
    },
    {
      "package": "arrow",
      "role": "Suggests"
    },
    {
      "package": "arsenal",
      "role": "Suggests"
    },
    {
      "package": "broom",
      "role": "Suggests"
    },
    {
      "package": "clue",
      "role": "Suggests"
    },
    {
      "package": "haven",
      "role": "Suggests"
    },
    {
      "package": "htmltools",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "openxlsx2",
      "role": "Suggests"
    },
    {
      "package": "pointblank",
      "role": "Suggests"
    },
    {
      "package": "reactable",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "stringdist",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "withr",
      "role": "Suggests"
    }
  ],
  "_owner": "al-garik",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-18",
      "n": 3
    },
    {
      "week": "2026-20",
      "n": 2
    },
    {
      "week": "2026-23",
      "n": 4
    },
    {
      "week": "2026-28",
      "n": 2
    }
  ],
  "_tags": [],
  "_stars": 0,
  "_contributors": [
    {
      "user": "al-garik",
      "count": 7,
      "uuid": 248288395
    }
  ],
  "_userbio": {
    "uuid": 115039243,
    "type": "user",
    "name": "crow16384",
    "followers": 0
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/ksCompare"
  },
  "_devurl": "https://github.com/al-garik/kscompare",
  "_pkgdown": "https://al-garik.github.io/ksCompare/",
  "_searchresults": 18,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/ksCompare.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE",
    "manual.pdf"
  ],
  "_cranurl": false,
  "_exports": [
    "as_ks_comparison",
    "as_outbase",
    "as_outcomp",
    "as_outdif",
    "as_outnoequal",
    "as_tibble",
    "ks_assert_clean",
    "ks_cause_summary",
    "ks_comp_options",
    "ks_compare",
    "ks_glance",
    "ks_match_health",
    "ks_pointblank_step",
    "ks_recommendations",
    "ks_report_html",
    "ks_report_xlsx",
    "ks_row_diff_summary",
    "ks_set_comp_options",
    "ks_suggest_key",
    "ks_sysinfo",
    "ks_tidy",
    "ks_tol",
    "ks_unmatched_rows"
  ],
  "_help": [
    {
      "page": "as_ks_comparison",
      "title": "Convert an 'arsenal::comparedf' result into a 'ks_comparison'",
      "topics": [
        "as_ks_comparison"
      ]
    },
    {
      "page": "ks_assert_clean",
      "title": "Use a comparison as a pipeline gate",
      "topics": [
        "ks_assert_clean",
        "ks_pointblank_step"
      ]
    },
    {
      "page": "ks_cause_summary",
      "title": "Diff causes summary",
      "topics": [
        "ks_cause_summary"
      ]
    },
    {
      "page": "ks_comp_options",
      "title": "Comparison options",
      "topics": [
        "ks_comp_options"
      ]
    },
    {
      "page": "ks_compare",
      "title": "Compare two data frames",
      "topics": [
        "ks_compare"
      ]
    },
    {
      "page": "ks_glance",
      "title": "Glance at a ks_comparison",
      "topics": [
        "ks_glance"
      ]
    },
    {
      "page": "ks_match_health",
      "title": "Match-quality health check",
      "topics": [
        "ks_match_health"
      ]
    },
    {
      "page": "ks_recommendations",
      "title": "Actionable recommendations for a comparison",
      "topics": [
        "ks_recommendations"
      ]
    },
    {
      "page": "ks_report_html",
      "title": "Render a self-contained HTML report",
      "topics": [
        "ks_report_html"
      ]
    },
    {
      "page": "ks_report_xlsx",
      "title": "Render an Excel workbook report",
      "topics": [
        "ks_report_xlsx"
      ]
    },
    {
      "page": "ks_row_diff_summary",
      "title": "Per-row diff summary",
      "topics": [
        "ks_row_diff_summary"
      ]
    },
    {
      "page": "ks_set_comp_options",
      "title": "Set ksCompare global options",
      "topics": [
        "ks_set_comp_options"
      ]
    },
    {
      "page": "ks_suggest_key",
      "title": "Suggest additional key columns when duplicates exist",
      "topics": [
        "ks_suggest_key"
      ]
    },
    {
      "page": "ks_sysinfo",
      "title": "SAS SYSINFO-compatible bitmask for a comparison",
      "topics": [
        "ks_sysinfo"
      ]
    },
    {
      "page": "ks_tidy",
      "title": "Tidy a ks_comparison",
      "topics": [
        "ks_tidy",
        "ks_tidy.ks_comparison"
      ]
    },
    {
      "page": "ks_tol",
      "title": "Tolerance specification for numeric comparisons",
      "topics": [
        "ks_tol"
      ]
    },
    {
      "page": "ks_unmatched_rows",
      "title": "Unmatched rows from a comparison",
      "topics": [
        "ks_unmatched_rows"
      ]
    },
    {
      "page": "sas-out",
      "title": "SAS PROC COMPARE-style output datasets",
      "topics": [
        "as_outbase",
        "as_outcomp",
        "as_outdif",
        "as_outnoequal",
        "sas-out"
      ]
    },
    {
      "page": "summary.ks_comparison",
      "title": "Summary statistics for a ks_comparison",
      "topics": [
        "summary.ks_comparison"
      ]
    }
  ],
  "_pkglogo": "https://github.com/al-garik/ksCompare/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/al-garik/ksCompare/raw/HEAD/README.md",
  "_rundeps": [
    "base64enc",
    "cli",
    "digest",
    "dplyr",
    "generics",
    "glue",
    "lifecycle",
    "magrittr",
    "pillar",
    "pkgconfig",
    "R6",
    "rlang",
    "stringi",
    "tibble",
    "tidyselect",
    "utf8",
    "vctrs",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "from-proc-compare.Rmd",
      "filename": "from-proc-compare.html",
      "title": "From PROC COMPARE",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Cheat sheet",
        "Row matching strategies",
        "OUT* outputs",
        "SYSINFO bitmask",
        "Things ksCompare does not try to replicate"
      ],
      "created": "2026-04-29 08:03:28",
      "modified": "2026-07-06 13:43:16",
      "commits": 3
    },
    {
      "source": "getting-started.Rmd",
      "filename": "getting-started.html",
      "title": "Getting started with ksCompare",
      "engine": "knitr::rmarkdown",
      "headings": [
        "A first comparison",
        "What's inside cmp?",
        "Triage helpers",
        "Tolerances",
        "Options",
        "Renamed columns",
        "Reading files directly",
        "Duplicate keys",
        "Next steps"
      ],
      "created": "2026-04-29 08:03:28",
      "modified": "2026-07-06 13:43:16",
      "commits": 3
    },
    {
      "source": "pipeline-gates.Rmd",
      "filename": "pipeline-gates.html",
      "title": "Pipeline gates",
      "engine": "knitr::rmarkdown",
      "headings": [
        "ks_assert_clean",
        "Tolerating known diffs",
        "CI integration",
        "With pointblank",
        "With arsenal"
      ],
      "created": "2026-04-29 08:03:28",
      "modified": "2026-04-29 11:22:40",
      "commits": 2
    },
    {
      "source": "reports.Rmd",
      "filename": "reports.html",
      "title": "Reports",
      "engine": "knitr::rmarkdown",
      "headings": [
        "HTML",
        "Smart sampling",
        "Group by key",
        "Excel"
      ],
      "created": "2026-04-29 08:03:28",
      "modified": "2026-07-06 13:43:16",
      "commits": 3
    },
    {
      "source": "smart-features.Rmd",
      "filename": "smart-features.html",
      "title": "Smart features",
      "engine": "knitr::rmarkdown",
      "headings": [
        "ULP tolerance",
        "Auto-key inference",
        "Diff triage helpers",
        "First / last unequal observations",
        "Duplicate-key strategies",
        "SAS format normalisation",
        "Encoding-safe string comparison",
        "Pattern detection"
      ],
      "created": "2026-04-29 08:03:28",
      "modified": "2026-07-06 13:43:16",
      "commits": 3
    }
  ],
  "_score": 4.2552725051033065,
  "_indexed": true,
  "_nocasepkg": "kscompare",
  "_universes": [
    "crow16384",
    "algarik",
    "al-garik"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.2.3",
      "date": "2026-07-06T14:55:59.000Z",
      "distro": "resolute",
      "commit": "554841cfa9485bd78809a67cac190b15b6504d09",
      "fileid": "https://r2.ropensci.org/bc96404c72eb1d875c1f896b22a581bbaba5068b98a743264673f6e356810b21",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/crow16384/actions/runs/28800393129"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.2.3",
      "date": "2026-07-06T14:55:37.000Z",
      "distro": "resolute",
      "commit": "554841cfa9485bd78809a67cac190b15b6504d09",
      "fileid": "https://r2.ropensci.org/09eea040e6242f7b411e28a8e3d24c050b81cd27bd5388f1467f26a0551ac9d5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/crow16384/actions/runs/28800393129"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.2.3",
      "date": "2026-07-06T14:54:46.000Z",
      "commit": "554841cfa9485bd78809a67cac190b15b6504d09",
      "fileid": "https://r2.ropensci.org/d104ffbf5fc91b06420bcfb8ed279f13825ae30b4b5f857089976c9b8255f323",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/crow16384/actions/runs/28800393129"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.2.3",
      "date": "2026-07-06T14:55:20.000Z",
      "commit": "554841cfa9485bd78809a67cac190b15b6504d09",
      "fileid": "https://r2.ropensci.org/856806461ba2f5c568d909c636632b056de2305f0dbb73425626969f5bf708b4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/crow16384/actions/runs/28800393129"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.2.3",
      "date": "2026-07-06T14:56:14.000Z",
      "commit": "554841cfa9485bd78809a67cac190b15b6504d09",
      "fileid": "https://r2.ropensci.org/11ce2d0954440dd185efec4c5c2c02e70a3824963110fbf32b83f7a2fd820d92",
      "status": "success",
      "buildurl": "https://github.com/r-universe/crow16384/actions/runs/28800393129"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.2.3",
      "date": "2026-07-06T14:55:23.000Z",
      "commit": "554841cfa9485bd78809a67cac190b15b6504d09",
      "fileid": "https://r2.ropensci.org/c55c4ed96204a13964c717dfa7da5d36e22659da7ac313970f595301b59fa590",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/crow16384/actions/runs/28800393129"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.2.3",
      "date": "2026-07-06T14:54:25.000Z",
      "commit": "554841cfa9485bd78809a67cac190b15b6504d09",
      "fileid": "https://r2.ropensci.org/8d3b2b83379d9d424a47e96b7c88533fb311ace5c50cb0104a4511875a3df0de",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/crow16384/actions/runs/28800393129"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.2.3",
      "date": "2026-07-06T14:54:52.000Z",
      "commit": "554841cfa9485bd78809a67cac190b15b6504d09",
      "fileid": "https://r2.ropensci.org/6345c876606ece3d675933fbc4916ca4ca2faead068766b9740a53b71944cd6e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/crow16384/actions/runs/28800393129"
    }
  ]
}