{
  "_id": "6ae841dd2e87f76f20ace2eb",
  "Package": "TidyPanel",
  "Title": "Universal Messy Panel Data Cleaner",
  "Version": "0.2.133",
  "Authors@R": "person(given = \"Tony\", family = \"Lu\", email = \"xulunt123@gmail.com\", role = c(\"aut\", \"cre\"))",
  "Author": "Tony Lu [aut, cre]",
  "Maintainer": "Tony Lu <xulunt123@gmail.com>",
  "Description": "A robust toolkit designed to standardize and clean complex\ntabular data from commercial enterprise systems, healthcare\nrecords, logistics software, and HR databases. Now natively\nsupports Excel files, flat-file databases (CSV/TSV/RDB),\ngzip-compressed CSV/TSV/TXT/RDB files, and raw data.frame\ninputs. Features include intelligent regex parsing for\ndomain-specific noise (currencies, percentages), horizontal\nside-by-side panel splitting, automated metadata key-value\nextraction from decoy rows, gap-based block clustering, and\nmessy table resolution. Methods draw on tidy data principles\ndescribed in Wickham (2014) <doi:10.18637/jss.v059.i10> and the\n'readxl' parsing infrastructure described in Wickham & Bryan\n(2023) <https://readxl.tidyverse.org>. A local JSON\ncommand-line interface supports reproducible table-cleaning\njobs and bounded agent handoffs.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.3",
  "VignetteBuilder": "knitr",
  "Config/TidyPanel/Edition": "public",
  "Config/pak/sysreqs": "libicu-dev",
  "Repository": "https://tonyisfool.r-universe.dev",
  "Date/Publication": "2026-11-02 03:57:23 UTC",
  "RemoteUrl": "https://github.com/tonyisfool/tidypanel",
  "RemoteRef": "HEAD",
  "RemoteSha": "6adce22b7301903656855f4be80e45c67b1ff2e0",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-11-02 07:52:24 UTC",
    "User": "root"
  },
  "_user": "tonyisfool",
  "_type": "src",
  "_file": "TidyPanel_0.2.133.tar.gz",
  "_fileid": "https://r2.ropensci.org/60b457566a160b36650b47d6fb4574cf6b860bfe44f26d291d670fb95efaa2f8",
  "_filesize": 189086,
  "_sha256": "60b457566a160b36650b47d6fb4574cf6b860bfe44f26d291d670fb95efaa2f8",
  "_expires": "2027-02-10T07:55:07.000Z",
  "_created": "2026-11-02T07:52:24.000Z",
  "_published": "2026-11-02T07:55:08.987Z",
  "_upstream": "https://github.com/tonyisfool/tidypanel",
  "_status": "success",
  "_maintainer": {
    "name": "Tony Lu",
    "email": "xulunt123@gmail.com",
    "login": "tonyisfool",
    "description": "",
    "uuid": 280893128
  },
  "_jobs": [
    {
      "job": 125157881016,
      "time": 116,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "13124488363"
    },
    {
      "job": 125157881088,
      "time": 105,
      "config": "linux-release-x86_64",
      "r": "4.6.2",
      "check": "OK",
      "artifact": "13124289323"
    },
    {
      "job": 125157881074,
      "time": 86,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "13124741691"
    },
    {
      "job": 125157881123,
      "time": 110,
      "config": "macos-release-arm64",
      "r": "4.6.2",
      "check": "OK",
      "artifact": "13124179790"
    },
    {
      "job": 125156749640,
      "time": 202,
      "config": "source",
      "r": "4.6.2",
      "check": "OK",
      "artifact": "13124249251"
    },
    {
      "job": 125157881115,
      "time": 108,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "13124976129"
    },
    {
      "job": 125157881148,
      "time": 72,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "13125255665"
    },
    {
      "job": 125157881176,
      "time": 88,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "13124831923"
    },
    {
      "job": 125157881129,
      "time": 98,
      "config": "windows-release-x86_64",
      "r": "4.6.2",
      "check": "OK",
      "artifact": "13125055895"
    }
  ],
  "_buildurl": "https://github.com/r-universe/tonyisfool/actions/runs/41408726963",
  "_commit": {
    "id": "6adce22b7301903656855f4be80e45c67b1ff2e0",
    "author": "Tony Lu <xulunt123@gmail.com>",
    "committer": "Tony Lu <xulunt123@gmail.com>",
    "message": "Highlight global public-data validation coverage\n",
    "time": 1793591843
  },
  "_distro": "resolute",
  "_host": "GitHub-Actions",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "stringr",
      "role": "Imports"
    },
    {
      "package": "stringi",
      "role": "Imports"
    },
    {
      "package": "readxl",
      "role": "Imports"
    },
    {
      "package": "jsonlite",
      "version": ">= 1.8.9",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    }
  ],
  "_owner": "tonyisfool",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-18",
      "n": 2
    },
    {
      "week": "2026-19",
      "n": 7
    },
    {
      "week": "2026-20",
      "n": 1
    },
    {
      "week": "2026-25",
      "n": 3
    },
    {
      "week": "2026-40",
      "n": 1
    },
    {
      "week": "2026-41",
      "n": 2
    },
    {
      "week": "2026-42",
      "n": 1
    },
    {
      "week": "2026-43",
      "n": 4
    },
    {
      "week": "2026-44",
      "n": 5
    },
    {
      "week": "2026-45",
      "n": 1
    }
  ],
  "_tags": [],
  "_topics": [
    "agent-tools",
    "ai-agents",
    "command-line",
    "csv",
    "data-cleaning",
    "data-wrangling",
    "excel",
    "json",
    "llm-tools",
    "local-first",
    "tabular-data",
    "token-saving"
  ],
  "_stars": 1,
  "_contributors": [
    {
      "user": "tonyisfool",
      "count": 27,
      "uuid": 280893128
    }
  ],
  "_userbio": {
    "uuid": 280893128,
    "type": "user",
    "name": "TonyIsFool",
    "followers": 0
  },
  "_downloads": {
    "count": 236,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/TidyPanel"
  },
  "_devurl": "https://github.com/tonyisfool/tidypanel",
  "_searchresults": 0,
  "_rbuild": "4.6.2",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/readme.html",
    "extra/readme.md",
    "extra/TidyPanel.html",
    "LICENSE"
  ],
  "_homeurl": "https://github.com/tonyisfool/tidypanel",
  "_realowner": "tonyisfool",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.2",
      "date": "2026-05-11"
    }
  ],
  "_exports": [
    "clean_variable_names",
    "detect_panel_structure",
    "infer_data_types",
    "normalize_units",
    "read_messy_panel",
    "tidypanel_cli",
    "validate_panel"
  ],
  "_help": [
    {
      "page": "clean_variable_names",
      "title": "Standardize and Clean Variable Names",
      "topics": [
        "clean_variable_names"
      ]
    },
    {
      "page": "detect_panel_structure",
      "title": "Diagnose the Structure of a Messy Excel Panel File",
      "topics": [
        "detect_panel_structure"
      ]
    },
    {
      "page": "infer_data_types",
      "title": "Smart Type Coercion & NA Recognition",
      "topics": [
        "infer_data_types"
      ]
    },
    {
      "page": "normalize_units",
      "title": "Normalize Numeric Columns Based on Header Unit Declarations",
      "topics": [
        "normalize_units"
      ]
    },
    {
      "page": "read_messy_panel",
      "title": "Robust Parsing and Extraction of Messy Excel Panel Data",
      "topics": [
        "read_messy_panel"
      ]
    },
    {
      "page": "tidypanel_cli",
      "title": "Run the Local JSON Cleaning Interface",
      "topics": [
        "tidypanel_cli"
      ]
    },
    {
      "page": "validate_panel",
      "title": "Validate Data Quality of a Cleaned Panel Data Frame",
      "topics": [
        "validate_panel"
      ]
    }
  ],
  "_readme": "https://github.com/tonyisfool/tidypanel/raw/HEAD/README.md",
  "_rundeps": [
    "cellranger",
    "cli",
    "cpp11",
    "crayon",
    "dplyr",
    "generics",
    "glue",
    "hms",
    "jsonlite",
    "lifecycle",
    "magrittr",
    "pillar",
    "pkgconfig",
    "prettyunits",
    "progress",
    "R6",
    "readxl",
    "rematch",
    "rlang",
    "stringi",
    "stringr",
    "tibble",
    "tidyselect",
    "utf8",
    "vctrs",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "TidyPanel_introduction.Rmd",
      "filename": "TidyPanel_introduction.html",
      "title": "Four Small TidyPanel Examples",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Numbers",
        "Dates",
        "Subtotals And Periods",
        "Caller-Declared Missing Tokens"
      ],
      "created": "2026-05-03 03:16:36",
      "modified": "2026-11-01 04:53:04",
      "commits": 6
    }
  ],
  "_score": 4.698970004336019,
  "_indexed": true,
  "_nocasepkg": "tidypanel",
  "_universes": [
    "tonyisfool"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.2.133",
      "date": "2026-11-02T07:54:21.000Z",
      "distro": "resolute",
      "commit": "6adce22b7301903656855f4be80e45c67b1ff2e0",
      "fileid": "https://r2.ropensci.org/fb28dbd17d9d56a16856af16d1f2205a7d07c087ce0f75d445c00c7603ecff1e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tonyisfool/actions/runs/41408726963"
    },
    {
      "r": "4.6.2",
      "os": "linux",
      "version": "0.2.133",
      "date": "2026-11-02T07:54:28.000Z",
      "distro": "resolute",
      "commit": "6adce22b7301903656855f4be80e45c67b1ff2e0",
      "fileid": "https://r2.ropensci.org/04ef1c7983e14fb399a732a2b5053f1eed2b7f055d69f099fee7f89d28cc6590",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tonyisfool/actions/runs/41408726963"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.2.133",
      "date": "2026-11-02T07:54:06.000Z",
      "commit": "6adce22b7301903656855f4be80e45c67b1ff2e0",
      "fileid": "https://r2.ropensci.org/c43a8df78a2937fa5933e896e2aa89992cd082b330980d2b9818d58155689c92",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tonyisfool/actions/runs/41408726963"
    },
    {
      "r": "4.6.2",
      "os": "mac",
      "version": "0.2.133",
      "date": "2026-11-02T07:54:15.000Z",
      "commit": "6adce22b7301903656855f4be80e45c67b1ff2e0",
      "fileid": "https://r2.ropensci.org/d2ef05241a289a8396d1bbb25a41c8507bf9a1269a3d67f06fbba6b0f2a11a5f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tonyisfool/actions/runs/41408726963"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.2.133",
      "date": "2026-11-02T07:54:43.000Z",
      "commit": "6adce22b7301903656855f4be80e45c67b1ff2e0",
      "fileid": "https://r2.ropensci.org/a4ab3c24fa06e97e17a3fbf9f43321e0e98d9139de4ecacbeee7bee2093916e6",
      "status": "success",
      "buildurl": "https://github.com/r-universe/tonyisfool/actions/runs/41408726963"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.2.133",
      "date": "2026-11-02T07:53:36.000Z",
      "commit": "6adce22b7301903656855f4be80e45c67b1ff2e0",
      "fileid": "https://r2.ropensci.org/7d3f2e9bfc946d314503a34c74c7a419b7285754fc7f42de5ef9c3ce0732f48d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tonyisfool/actions/runs/41408726963"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.2.133",
      "date": "2026-11-02T07:53:59.000Z",
      "commit": "6adce22b7301903656855f4be80e45c67b1ff2e0",
      "fileid": "https://r2.ropensci.org/1416f013803b2834f47aab764aaccff32f5b6767f3fff4a5c0137e98011f1d13",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tonyisfool/actions/runs/41408726963"
    },
    {
      "r": "4.6.2",
      "os": "win",
      "version": "0.2.133",
      "date": "2026-11-02T07:53:52.000Z",
      "commit": "6adce22b7301903656855f4be80e45c67b1ff2e0",
      "fileid": "https://r2.ropensci.org/41d290710bcec1f97694601227ca1f050c56418e6b77544efff50de7d017c36c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tonyisfool/actions/runs/41408726963"
    }
  ]
}