{
  "_id": "6a47d29ee06c18f0a65200be",
  "Package": "canpumf",
  "Type": "Package",
  "Title": "Parse StatCan PUMF Files",
  "Version": "0.5.2",
  "Authors@R": "c(\nperson(\"Jens\", \"von Bergmann\", email = \"jens@mountainmath.ca\", role = c(\"aut\", \"cre\"))\n)",
  "Description": "Facilitate working with Statistics Canada (StatCan) Public\nUse Microdata Files (PUMF). Enables downloading of available\nPUMF data, parsing of metadata from command files or other\nsources to infer the layout structure, variable labels and\nvalue labels as well as missing data values, and returns a\nconnection to a 'DuckDB' database with the labelled data. Data\nand documentation come from Statistics Canada's Public Use\nMicrodata Files <https://www.statcan.gc.ca/en/microdata/pumf>,\ndistributed under the Statistics Canada Open Licence\n<https://www.statcan.gc.ca/en/terms-conditions/open-licence>.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "URL": "https://github.com/mountainMath/canpumf,\nhttps://mountainmath.github.io/canpumf/",
  "BugReports": "https://github.com/mountainMath/canpumf/issues",
  "VignetteBuilder": "knitr",
  "Language": "en-CA",
  "Config/roxygen2/version": "8.0.0",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-07-03 15:14:06 UTC",
    "User": "root"
  },
  "Author": "Jens von Bergmann [aut, cre]",
  "Maintainer": "Jens von Bergmann <jens@mountainmath.ca>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-07-03 12:10:09 UTC",
  "RemoteUrl": "https://github.com/cran/canpumf",
  "RemoteRef": "HEAD",
  "RemoteSha": "df6858e2940eb17aeb7695d3d21d040b188b7b68",
  "_user": "cran",
  "_type": "src",
  "_file": "canpumf_0.5.2.tar.gz",
  "_fileid": "https://r2.ropensci.org/43f80e9dfc85713ee642a4d24be6f8a6eae07c323ae536808bdbaec039d4e525",
  "_filesize": 739850,
  "_sha256": "43f80e9dfc85713ee642a4d24be6f8a6eae07c323ae536808bdbaec039d4e525",
  "_expires": "2026-10-11T15:17:49.000Z",
  "_created": "2026-07-03T15:14:06.000Z",
  "_published": "2026-07-03T15:17:50.817Z",
  "_jobs": [
    {
      "job": 85028242893,
      "time": 171,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8069957657"
    },
    {
      "job": 85028242811,
      "time": 148,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8069950040"
    },
    {
      "job": 85027521280,
      "time": 262,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8069899577"
    },
    {
      "job": 85028242789,
      "time": 176,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "8069959121"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/28668947659",
  "_status": "success",
  "_upstream": "https://github.com/cran/canpumf",
  "_commit": {
    "id": "df6858e2940eb17aeb7695d3d21d040b188b7b68",
    "author": "Jens von Bergmann <jens@mountainmath.ca>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 0.5.2\n",
    "time": 1783080609
  },
  "_maintainer": {
    "name": "Jens von Bergmann",
    "email": "jens@mountainmath.ca",
    "login": "mountainmath",
    "description": "",
    "uuid": 1395960
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.2",
      "role": "Depends"
    },
    {
      "package": "dplyr",
      "version": ">= 1.1.0",
      "role": "Imports"
    },
    {
      "package": "readr",
      "role": "Imports"
    },
    {
      "package": "stringr",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "rvest",
      "role": "Imports"
    },
    {
      "package": "httr",
      "role": "Imports"
    },
    {
      "package": "purrr",
      "role": "Imports"
    },
    {
      "package": "DBI",
      "role": "Imports"
    },
    {
      "package": "duckdb",
      "version": ">= 1.5.2",
      "role": "Imports"
    },
    {
      "package": "duckplyr",
      "version": ">= 1.2.1",
      "role": "Imports"
    },
    {
      "package": "dbplyr",
      "role": "Imports"
    },
    {
      "package": "haven",
      "version": ">= 2.5.0",
      "role": "Imports"
    },
    {
      "package": "zip",
      "role": "Imports"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "scales",
      "role": "Suggests"
    },
    {
      "package": "ggplot2",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "withr",
      "role": "Suggests"
    },
    {
      "package": "microbenchmark",
      "role": "Suggests"
    },
    {
      "package": "DiagrammeR",
      "role": "Suggests"
    },
    {
      "package": "DiagrammeRsvg",
      "role": "Suggests"
    },
    {
      "package": "rsvg",
      "role": "Suggests"
    },
    {
      "package": "pdftools",
      "role": "Suggests"
    },
    {
      "package": "tidyr",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-27",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "0.5.2",
      "date": "2026-07-03"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "mountainmath",
      "count": 1,
      "uuid": 1395960
    }
  ],
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "followers": 615,
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/canpumf"
  },
  "_devurl": "https://github.com/mountainmath/canpumf",
  "_pkgdown": "https://mountainmath.github.io/canpumf/",
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/canpumf.html",
    "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",
    "LICENSE",
    "manual.pdf"
  ],
  "_cranurl": false,
  "_releases": [
    {
      "version": "0.5.2",
      "date": "2026-07-03"
    }
  ],
  "_exports": [
    "add_bootstrap_weights",
    "add_lfs_GENDER_SEX",
    "add_lfs_SURVDATE",
    "bsw_info",
    "close_pumf",
    "get_pumf",
    "get_pumf_connection",
    "label_pumf_columns",
    "list_available_lfs_pumf_versions",
    "list_canpumf_collection",
    "list_pumf_cache",
    "list_pumf_registry",
    "list_statcan_pumf_catalogue",
    "open_pumf_documentation",
    "pumf_metadata",
    "pumf_module",
    "pumf_registry",
    "pumf_registry_entry",
    "pumf_var_labels",
    "remove_bootstrap_weights",
    "remove_pumf_cache"
  ],
  "_help": [
    {
      "page": "add_bootstrap_weights",
      "title": "Generate bootstrap weights for a PUMF dataset",
      "topics": [
        "add_bootstrap_weights"
      ]
    },
    {
      "page": "add_lfs_GENDER_SEX",
      "title": "Add a harmonised gender/sex column to an LFS table",
      "topics": [
        "add_lfs_GENDER_SEX"
      ]
    },
    {
      "page": "add_lfs_SURVDATE",
      "title": "Add a date column to an LFS table",
      "topics": [
        "add_lfs_SURVDATE"
      ]
    },
    {
      "page": "bsw_info",
      "title": "Summarise bootstrap weight tables present in a PUMF DuckDB database",
      "topics": [
        "bsw_info"
      ]
    },
    {
      "page": "close_pumf",
      "title": "Close the DuckDB connection backing a PUMF lazy table",
      "topics": [
        "close_pumf"
      ]
    },
    {
      "page": "get_pumf",
      "title": "Get a Statistics Canada PUMF dataset as a lazy DuckDB table",
      "topics": [
        "get_pumf"
      ]
    },
    {
      "page": "get_pumf_connection",
      "title": "Get a read-write DuckDB connection to a PUMF database",
      "topics": [
        "get_pumf_connection"
      ]
    },
    {
      "page": "label_pumf_columns",
      "title": "Rename PUMF table columns to human-readable variable labels",
      "topics": [
        "label_pumf_columns"
      ]
    },
    {
      "page": "list_available_lfs_pumf_versions",
      "title": "List available LFS PUMF versions",
      "topics": [
        "list_available_lfs_pumf_versions"
      ]
    },
    {
      "page": "list_canpumf_collection",
      "title": "List Statistics Canada PUMF datasets supported by canpumf",
      "topics": [
        "list_canpumf_collection"
      ]
    },
    {
      "page": "list_pumf_cache",
      "title": "List the contents of the local canpumf cache",
      "topics": [
        "list_pumf_cache"
      ]
    },
    {
      "page": "list_pumf_registry",
      "title": "Overview of all built-in registry entries",
      "topics": [
        "list_pumf_registry"
      ]
    },
    {
      "page": "list_statcan_pumf_catalogue",
      "title": "Crawl the full Statistics Canada PUMF catalogue (experimental)",
      "topics": [
        "list_statcan_pumf_catalogue"
      ]
    },
    {
      "page": "open_pumf_documentation",
      "title": "Open PUMF documentation in the browser",
      "topics": [
        "open_pumf_documentation"
      ]
    },
    {
      "page": "pumf_metadata",
      "title": "Download and parse PUMF metadata without building a DuckDB table",
      "topics": [
        "pumf_metadata"
      ]
    },
    {
      "page": "pumf_module",
      "title": "Open a sibling module of a multi-module survey",
      "topics": [
        "pumf_module"
      ]
    },
    {
      "page": "pumf_registry",
      "title": "Inspect a survey's registry configuration",
      "topics": [
        "pumf_registry"
      ]
    },
    {
      "page": "pumf_registry_entry",
      "title": "Construct a custom PUMF registry entry",
      "topics": [
        "pumf_registry_entry"
      ]
    },
    {
      "page": "pumf_var_labels",
      "title": "Retrieve variable labels as a tibble",
      "topics": [
        "pumf_var_labels"
      ]
    },
    {
      "page": "remove_bootstrap_weights",
      "title": "Remove bootstrap weight tables and views from a PUMF DuckDB database",
      "topics": [
        "remove_bootstrap_weights"
      ]
    },
    {
      "page": "remove_pumf_cache",
      "title": "Remove a PUMF version from the local cache",
      "topics": [
        "remove_pumf_cache"
      ]
    }
  ],
  "_pkglogo": "https://github.com/cran/canpumf/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/cran/canpumf/raw/HEAD/README.md",
  "_rundeps": [
    "askpass",
    "bit",
    "bit64",
    "blob",
    "cachem",
    "cli",
    "clipr",
    "collections",
    "cpp11",
    "crayon",
    "curl",
    "DBI",
    "dbplyr",
    "dplyr",
    "duckdb",
    "duckplyr",
    "fastmap",
    "forcats",
    "generics",
    "glue",
    "haven",
    "hms",
    "httr",
    "jsonlite",
    "lifecycle",
    "magrittr",
    "memoise",
    "mime",
    "openssl",
    "pillar",
    "pkgconfig",
    "prettyunits",
    "progress",
    "purrr",
    "R6",
    "readr",
    "rlang",
    "rvest",
    "selectr",
    "stringi",
    "stringr",
    "sys",
    "tibble",
    "tidyr",
    "tidyselect",
    "tzdb",
    "utf8",
    "vctrs",
    "vroom",
    "withr",
    "xml2",
    "zip"
  ],
  "_vignettes": [
    {
      "source": "bootstrap_weights.Rmd",
      "filename": "bootstrap_weights.html",
      "title": "Bootstrap weights",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The method: a resampling bootstrap",
        "Two modes",
        "Where the weights are stored (DuckDB path)",
        "Identifying rows",
        "Stratified bootstrap weights",
        "Estimating uncertainty",
        "Incremental re-runs",
        "Reuse — nothing to do",
        "More replicates requested",
        "Rows added to the survey table",
        "Forcing a full regeneration",
        "Multiple weight columns",
        "Filtered input tables",
        "Connection lifecycle",
        "Inspecting and removing weights"
      ],
      "created": "2026-07-03 12:10:09",
      "modified": "2026-07-03 12:10:09",
      "commits": 1
    },
    {
      "source": "pipeline.Rmd",
      "filename": "pipeline.html",
      "title": "canpumf Pipeline Architecture",
      "engine": "knitr::rmarkdown",
      "headings": [
        "High-level flow",
        "Stage 1 — Locate or download",
        "Version resolution",
        "Stage 2 — Parse metadata",
        "Format detection",
        "Parsers",
        "SPSS monolithic (parse_spss_mono)",
        "SPSS split-file (parse_spss_split)",
        "SAS reading cards (parse_sas_cards)",
        "LFS codebook CSV (parse_lfs_codebook)",
        "CPSS variables CSV (parse_cpss_csv)",
        "SPSS .sav (parse_spss_sav)",
        "PDF Data Dictionary (parse_pdf_dictionary)",
        "PDF frequency codebook (parse_pdf_codebook)",
        "Metadata encoding",
        "Merge",
        "Stage 3 — Build DuckDB",
        "Data file selection",
        "FWF vs. CSV",
        "Trailing junk row removal (FWF only)",
        "Data fixups (pre-label)",
        "Bootstrap weight join (BSW)",
        "Numeric conversion",
        "Code labels → factors",
        "DuckDB write and ENUM enforcement",
        "Multi-module surveys",
        "LFS pipeline",
        "Connection provenance registry",
        "Registry configuration",
        "Newest-sibling inheritance"
      ],
      "created": "2026-07-03 12:10:09",
      "modified": "2026-07-03 12:10:09",
      "commits": 1
    },
    {
      "source": "Census.Rmd",
      "filename": "Census.html",
      "title": "Census",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2026-07-03 12:10:09",
      "modified": "2026-07-03 12:10:09",
      "commits": 1
    },
    {
      "source": "LFS.Rmd",
      "filename": "LFS.html",
      "title": "LFS",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Timelines"
      ],
      "created": "2026-07-03 12:10:09",
      "modified": "2026-07-03 12:10:09",
      "commits": 1
    },
    {
      "source": "onboarding.Rmd",
      "filename": "onboarding.html",
      "title": "Onboarding a new PUMF",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Naming conventions and where to put the files",
        "Smart defaults and the newest-sibling fallback",
        "When the automatic import fails",
        "See what is actually in the directory",
        "Parse the metadata in isolation",
        "Start from an existing entry as a template",
        "Tweak fixups for data-level issues",
        "Build the full table",
        "Promote the configuration into the registry",
        "Summary"
      ],
      "created": "2026-07-03 12:10:09",
      "modified": "2026-07-03 12:10:09",
      "commits": 1
    },
    {
      "source": "working_with_canpumf.Rmd",
      "filename": "working_with_canpumf.html",
      "title": "Working with canpumf",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Forced moves"
      ],
      "created": "2026-07-03 12:10:09",
      "modified": "2026-07-03 12:10:09",
      "commits": 1
    },
    {
      "source": "submodules.Rmd",
      "filename": "submodules.html",
      "title": "Working with multi-module PUMF surveys",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Loading the primary module",
        "Opening a sibling module",
        "Joining modules for analysis",
        "A second example: the Survey of Household Spending",
        "Cleaning up",
        "Database connections",
        "Notes"
      ],
      "created": "2026-07-03 12:10:09",
      "modified": "2026-07-03 12:10:09",
      "commits": 1
    }
  ],
  "_score": 3.5440680443502757,
  "_indexed": false,
  "_nocasepkg": "canpumf",
  "_universes": [
    "cran",
    "mountainmath"
  ],
  "_indexurl": "https://mountainmath.r-universe.dev/canpumf",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.5.2",
      "date": "2026-07-03T15:16:46.000Z",
      "distro": "resolute",
      "commit": "df6858e2940eb17aeb7695d3d21d040b188b7b68",
      "fileid": "https://r2.ropensci.org/091c318655b2163bf797716167981297f5d17cfb515a0836bd63ede65dcc42c8",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/28668947659"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.5.2",
      "date": "2026-07-03T15:16:31.000Z",
      "distro": "resolute",
      "commit": "df6858e2940eb17aeb7695d3d21d040b188b7b68",
      "fileid": "https://r2.ropensci.org/07d8e6f51786fd15492a395624addace34b1ae494d3aad0e833f8bc589a4d74e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/28668947659"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.5.2",
      "date": "2026-07-03T15:17:26.000Z",
      "commit": "df6858e2940eb17aeb7695d3d21d040b188b7b68",
      "fileid": "https://r2.ropensci.org/917178d3606d4f80cb4d7420c3193ba56333ac0c636133907d815ad0de990e33",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/28668947659"
    }
  ]
}