{
  "_id": "6ae9017d1e2c7b3a4f5325e5",
  "Package": "tidybrregpanel",
  "Title": "Snapshots, Synchronisation and Panels for Norway's Business\nRegistry",
  "Version": "0.6.0",
  "Authors@R": "person(\"Sondre\", \"Skarsten\", role = c(\"aut\", \"cre\"),\nemail = \"sondreskarsten@gmail.com\")",
  "Description": "The managed-state companion to 'tidybrreg'. Saves dated\nbulk downloads of the Norwegian Central Coordinating Register\nfor Legal Entities (Enhetsregisteret) as Hive-partitioned\nParquet snapshots, keeps a local mirror current from the\nregister's change data capture feeds with a persistent\nchangelog, replays updates onto a base extract, and derives\nfirm-period panels, entry and exit flows, aggregate time\nseries, role-change diffs, annotation and name history,\ndirector networks and survival data. All retrieval goes through\n'tidybrreg'; this package adds persistence and analysis.",
  "License": "MIT + file LICENSE",
  "URL": "https://sondreskarsten.github.io/tidybrreg/,\nhttps://github.com/sondreskarsten/tidybrreg",
  "BugReports": "https://github.com/sondreskarsten/tidybrreg/issues",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "Encoding": "UTF-8",
  "LazyData": "true",
  "Roxygen": "list(markdown = TRUE)",
  "Config/roxygen2/version": "8.0.0",
  "RoxygenNote": "7.3.1",
  "Repository": "https://sondreskarsten.r-universe.dev",
  "Date/Publication": "2026-11-02 18:57:27 UTC",
  "RemoteUrl": "https://github.com/sondreskarsten/tidybrreg",
  "RemoteRef": "HEAD",
  "RemoteSha": "55e87e08a95137ad97098a794e327be25ac6aa01",
  "RemoteSubdir": "tidybrregpanel",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-11-02 20:55:21 UTC",
    "User": "root"
  },
  "Author": "Sondre Skarsten [aut, cre]",
  "Maintainer": "Sondre Skarsten <sondreskarsten@gmail.com>",
  "_user": "sondreskarsten",
  "_type": "src",
  "_file": "tidybrregpanel_0.6.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/22b433006945b978721401e7863c12d9481fb364b557f9ef570d63381e449058",
  "_filesize": 296998,
  "_sha256": "22b433006945b978721401e7863c12d9481fb364b557f9ef570d63381e449058",
  "_expires": "2027-02-10T21:32:43.000Z",
  "_created": "2026-11-02T20:55:21.000Z",
  "_published": "2026-11-02T21:32:45.351Z",
  "_upstream": "https://github.com/sondreskarsten/tidybrreg",
  "_status": "success",
  "_maintainer": {
    "name": "Sondre Skarsten",
    "email": "sondreskarsten@gmail.com",
    "login": "sondreskarsten",
    "description": "",
    "uuid": 8764538
  },
  "_jobs": [
    {
      "job": 125545798030,
      "time": 161,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "ERROR",
      "artifact": "13178631897"
    },
    {
      "job": 125545797994,
      "time": 131,
      "config": "linux-release-x86_64",
      "r": "4.6.2",
      "check": "ERROR",
      "artifact": "13178636790"
    },
    {
      "job": 125545797663,
      "time": 2200,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "ERROR",
      "artifact": "13181081749"
    },
    {
      "job": 125545797633,
      "time": 98,
      "config": "macos-release-arm64",
      "r": "4.6.2",
      "check": "ERROR",
      "artifact": "13178163717"
    },
    {
      "job": 125543747029,
      "time": 236,
      "config": "source",
      "r": "4.6.2",
      "check": "OK",
      "artifact": "13178277432"
    },
    {
      "job": 125545797667,
      "time": 120,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "13178577037"
    },
    {
      "job": 125545797877,
      "time": 86,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "ERROR",
      "artifact": "13179535543"
    },
    {
      "job": 125545798112,
      "time": 91,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "ERROR",
      "artifact": "13178576978"
    },
    {
      "job": 125545797805,
      "time": 86,
      "config": "windows-release-x86_64",
      "r": "4.6.2",
      "check": "ERROR",
      "artifact": "13178457328"
    }
  ],
  "_buildurl": "https://github.com/r-universe/sondreskarsten/actions/runs/41523021091",
  "_commit": {
    "id": "55e87e08a95137ad97098a794e327be25ac6aa01",
    "author": "Sondre Skarsten <sondreskarsten@users.noreply.github.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Split into core, tidybrregpanel, tidybrregmcp and the no-R tidybrreg-mcp; fix the 0.6.0 core blockers (#59)\n\nSplit into core, tidybrregpanel, tidybrregmcp and the no-R tidybrreg-mcp; fix the 0.6.0 core blockers",
    "time": 1793645847
  },
  "_distro": "resolute",
  "_host": "GitHub-Actions",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "httr2",
      "version": ">= 1.0.0",
      "role": "Imports"
    },
    {
      "package": "jsonlite",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "tidybrreg",
      "version": ">= 0.6.0",
      "role": "Imports"
    },
    {
      "package": "vctrs",
      "role": "Imports"
    },
    {
      "package": "arrow",
      "version": ">= 12.0.0",
      "role": "Suggests"
    },
    {
      "package": "nanoparquet",
      "version": ">= 0.3.0",
      "role": "Suggests"
    },
    {
      "package": "curl",
      "role": "Suggests"
    },
    {
      "package": "duckdb",
      "role": "Suggests"
    },
    {
      "package": "klassR",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "tidygraph",
      "role": "Suggests"
    },
    {
      "package": "tidyr",
      "role": "Suggests"
    },
    {
      "package": "tsibble",
      "role": "Suggests"
    },
    {
      "package": "yyjsonr",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "withr",
      "role": "Suggests"
    }
  ],
  "_owner": "sondreskarsten",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-11",
      "n": 7
    },
    {
      "week": "2026-12",
      "n": 44
    },
    {
      "week": "2026-13",
      "n": 14
    },
    {
      "week": "2026-16",
      "n": 1
    },
    {
      "week": "2026-23",
      "n": 6
    },
    {
      "week": "2026-25",
      "n": 11
    },
    {
      "week": "2026-32",
      "n": 7
    },
    {
      "week": "2026-45",
      "n": 1
    }
  ],
  "_tags": [],
  "_topics": [
    "api-wrapper",
    "brreg",
    "business-registry",
    "enhetsregisteret",
    "norway",
    "open-data",
    "tidyverse"
  ],
  "_stars": 1,
  "_contributors": [
    {
      "user": "sondreskarsten",
      "count": 64,
      "uuid": 8764538
    },
    {
      "user": "claude",
      "count": 3,
      "uuid": 81847
    }
  ],
  "_userbio": {
    "uuid": 8764538,
    "type": "user",
    "name": "Sondre Skarsten",
    "followers": 3
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/tidybrregpanel"
  },
  "_devurl": "https://github.com/sondreskarsten/tidybrreg",
  "_pkgdown": "https://sondreskarsten.github.io/tidybrreg/",
  "_searchresults": 5,
  "_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/tidybrregpanel.html",
    "LICENSE"
  ],
  "_cranurl": false,
  "_exports": [
    "as_brreg_tsibble",
    "brreg_annotation_summary",
    "brreg_annotations",
    "brreg_board_network",
    "brreg_board_summary",
    "brreg_change_summary",
    "brreg_changes",
    "brreg_cleanup",
    "brreg_data_dir",
    "brreg_events",
    "brreg_flows",
    "brreg_harmonize_kommune",
    "brreg_harmonize_nace",
    "brreg_historical_names",
    "brreg_import",
    "brreg_manifest",
    "brreg_network",
    "brreg_open",
    "brreg_panel",
    "brreg_replay",
    "brreg_series",
    "brreg_snapshot",
    "brreg_snapshots",
    "brreg_status",
    "brreg_survival_data",
    "brreg_sync",
    "brreg_sync_status",
    "diff_roller_state"
  ],
  "_datasets": [
    {
      "name": "annotation_infotypes",
      "title": "Annotation infotype codes with English descriptions",
      "object": "annotation_infotypes",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "code",
        "name_en"
      ],
      "rows": 7,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "annotation_infotypes",
      "title": "Annotation infotype codes with English descriptions",
      "concept": [
        "tidybrregpanel reference data"
      ],
      "topics": [
        "annotation_infotypes"
      ]
    },
    {
      "page": "as_brreg_tsibble",
      "title": "Convert tidybrreg output to tsibble",
      "concept": [
        "tidybrreg panel functions"
      ],
      "topics": [
        "as_brreg_tsibble"
      ]
    },
    {
      "page": "brreg_annotation_summary",
      "title": "Count entities with active annotations",
      "concept": [
        "tidybrreg data management functions"
      ],
      "topics": [
        "brreg_annotation_summary"
      ]
    },
    {
      "page": "brreg_annotations",
      "title": "Retrieve registry annotations (påtegninger) for entities",
      "concept": [
        "tidybrreg data management functions"
      ],
      "topics": [
        "brreg_annotations"
      ]
    },
    {
      "page": "brreg_board_network",
      "title": "Build a director interlock network",
      "concept": [
        "tidybrreg governance functions"
      ],
      "topics": [
        "brreg_board_network"
      ]
    },
    {
      "page": "brreg_board_summary",
      "title": "Derive board-level summary covariates from role data",
      "concept": [
        "tidybrreg governance functions"
      ],
      "topics": [
        "brreg_board_summary"
      ]
    },
    {
      "page": "brreg_change_summary",
      "title": "Summarize changes by field and type",
      "concept": [
        "tidybrreg panel functions"
      ],
      "topics": [
        "brreg_change_summary"
      ]
    },
    {
      "page": "brreg_changes",
      "title": "Query the change log for field-level mutations",
      "concept": [
        "tidybrreg panel functions"
      ],
      "topics": [
        "brreg_changes"
      ]
    },
    {
      "page": "brreg_cleanup",
      "title": "Remove old snapshots from the local store",
      "concept": [
        "tidybrreg snapshot functions"
      ],
      "topics": [
        "brreg_cleanup"
      ]
    },
    {
      "page": "brreg_data_dir",
      "title": "Path to the tidybrreg snapshot store",
      "concept": [
        "tidybrreg snapshot functions"
      ],
      "topics": [
        "brreg_data_dir"
      ]
    },
    {
      "page": "brreg_events",
      "title": "Detect changes between two snapshots",
      "concept": [
        "tidybrreg panel functions"
      ],
      "topics": [
        "brreg_events"
      ]
    },
    {
      "page": "brreg_flows",
      "title": "Compute daily entry and exit flows",
      "concept": [
        "tidybrreg panel functions"
      ],
      "topics": [
        "brreg_flows"
      ]
    },
    {
      "page": "brreg_harmonize_kommune",
      "title": "Harmonize municipality codes across boundary reforms",
      "concept": [
        "tidybrreg harmonization functions"
      ],
      "topics": [
        "brreg_harmonize_kommune"
      ]
    },
    {
      "page": "brreg_harmonize_nace",
      "title": "Harmonize NACE industry codes across classification revisions",
      "concept": [
        "tidybrreg harmonization functions"
      ],
      "topics": [
        "brreg_harmonize_nace"
      ]
    },
    {
      "page": "brreg_historical_names",
      "title": "Retrieve historical names (historiskeNavn) for entities",
      "concept": [
        "tidybrreg data management functions"
      ],
      "topics": [
        "brreg_historical_names"
      ]
    },
    {
      "page": "brreg_import",
      "title": "Import a historical bulk JSON file as a snapshot partition",
      "concept": [
        "tidybrreg snapshot functions"
      ],
      "topics": [
        "brreg_import"
      ]
    },
    {
      "page": "brreg_manifest",
      "title": "Read the snapshot manifest",
      "concept": [
        "tidybrreg snapshot functions"
      ],
      "topics": [
        "brreg_manifest"
      ]
    },
    {
      "page": "brreg_network",
      "title": "Build an entity network graph",
      "concept": [
        "tidybrreg governance functions"
      ],
      "topics": [
        "brreg_network"
      ]
    },
    {
      "page": "brreg_open",
      "title": "Open the snapshot store as a lazy Arrow Dataset",
      "concept": [
        "tidybrreg snapshot functions"
      ],
      "topics": [
        "brreg_open"
      ]
    },
    {
      "page": "brreg_panel",
      "title": "Construct a firm-period panel from accumulated snapshots",
      "concept": [
        "tidybrreg panel functions"
      ],
      "topics": [
        "brreg_panel"
      ]
    },
    {
      "page": "brreg_replay",
      "title": "Reconstruct register state by replaying CDC updates",
      "concept": [
        "tidybrreg panel functions"
      ],
      "topics": [
        "brreg_replay"
      ]
    },
    {
      "page": "brreg_series",
      "title": "Compute aggregate time series from snapshots",
      "concept": [
        "tidybrreg panel functions"
      ],
      "topics": [
        "brreg_series"
      ]
    },
    {
      "page": "brreg_snapshot",
      "title": "Save a dated snapshot of the full register",
      "concept": [
        "tidybrreg snapshot functions"
      ],
      "topics": [
        "brreg_snapshot"
      ]
    },
    {
      "page": "brreg_snapshots",
      "title": "List available snapshots",
      "concept": [
        "tidybrreg snapshot functions"
      ],
      "topics": [
        "brreg_snapshots"
      ]
    },
    {
      "page": "brreg_status",
      "title": "Check availability of local bulk datasets",
      "concept": [
        "tidybrreg data management functions"
      ],
      "topics": [
        "brreg_status"
      ]
    },
    {
      "page": "brreg_survival_data",
      "title": "Prepare firm survival data",
      "concept": [
        "tidybrreg governance functions"
      ],
      "topics": [
        "brreg_survival_data"
      ]
    },
    {
      "page": "brreg_sync",
      "title": "Synchronize local state with the brreg CDC stream",
      "concept": [
        "tidybrreg data management functions"
      ],
      "topics": [
        "brreg_sync"
      ]
    },
    {
      "page": "brreg_sync_status",
      "title": "Display sync status",
      "concept": [
        "tidybrreg data management functions"
      ],
      "topics": [
        "brreg_sync_status"
      ]
    },
    {
      "page": "diff_roller_state",
      "title": "Compute field-level diffs between two roller state tibbles",
      "concept": [
        "tidybrreg data management functions"
      ],
      "topics": [
        "diff_roller_state"
      ]
    }
  ],
  "_readme": "https://github.com/sondreskarsten/tidybrreg/raw/HEAD/tidybrregpanel/README.md",
  "_rundeps": [
    "askpass",
    "bit",
    "bit64",
    "cli",
    "clipr",
    "cpp11",
    "crayon",
    "curl",
    "dplyr",
    "generics",
    "glue",
    "hms",
    "httr2",
    "jsonlite",
    "lifecycle",
    "magrittr",
    "openssl",
    "pillar",
    "pkgconfig",
    "prettyunits",
    "progress",
    "R6",
    "readr",
    "rlang",
    "sys",
    "tibble",
    "tidybrreg",
    "tidyselect",
    "tzdb",
    "utf8",
    "vctrs",
    "vroom",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "panels.Rmd",
      "filename": "panels.html",
      "title": "Building firm panels and time series",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Accumulating snapshots",
        "Importing historical downloads",
        "Building panels from snapshots",
        "Custom date targets",
        "Entry and exit coding",
        "Detecting changes between snapshots",
        "CDC replay: single snapshot + updates",
        "CDC limitations",
        "Bridging snapshots to CDC",
        "Aggregate time series",
        "tsibble conversion",
        "Managing the snapshot store"
      ],
      "created": "2026-11-02 18:57:27",
      "modified": "2026-11-02 18:57:27",
      "commits": 1
    },
    {
      "source": "governance.Rmd",
      "filename": "governance.html",
      "title": "Corporate governance research",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Board composition",
        "Person identification",
        "Reverse role lookup",
        "Director interlock networks",
        "Pre-fetched role data",
        "Firm survival analysis",
        "Bulk role snapshots for panel analysis"
      ],
      "created": "2026-11-02 18:57:27",
      "modified": "2026-11-02 18:57:27",
      "commits": 1
    },
    {
      "source": "architecture.Rmd",
      "filename": "architecture.html",
      "title": "Package architecture",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Data flow overview",
        "Key design decisions"
      ],
      "created": "2026-11-02 18:57:27",
      "modified": "2026-11-02 18:57:27",
      "commits": 1
    },
    {
      "source": "roller-cdc.Rmd",
      "filename": "roller-cdc.html",
      "title": "Tracking board and role changes",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Roller data: two types of role holder",
        "Fetching roles",
        "Board summary",
        "Detecting changes with diff_roller_state()",
        "Automated sync",
        "Bulk method (default)",
        "CDC method (per-org fallback)",
        "Querying the changelog",
        "Example: monitoring board turnover",
        "Schema evolution"
      ],
      "created": "2026-11-02 18:57:27",
      "modified": "2026-11-02 18:57:27",
      "commits": 1
    }
  ],
  "_score": 4.204119982655925,
  "_indexed": true,
  "_nocasepkg": "tidybrregpanel",
  "_universes": [
    "sondreskarsten"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.6.0",
      "date": "2026-11-02T20:58:20.000Z",
      "distro": "resolute",
      "commit": "55e87e08a95137ad97098a794e327be25ac6aa01",
      "fileid": "https://r2.ropensci.org/4976d0b7e8c3fe3e89ae3d2769abb0f4c0406a7869f95e6037f594be342e09c3",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/sondreskarsten/actions/runs/41523021091"
    },
    {
      "r": "4.6.2",
      "os": "linux",
      "version": "0.6.0",
      "date": "2026-11-02T20:57:50.000Z",
      "distro": "resolute",
      "commit": "55e87e08a95137ad97098a794e327be25ac6aa01",
      "fileid": "https://r2.ropensci.org/7f68a1de5be137313bf5d5752c27e6f38cf94e4abe2b1a8e0bdda20276b0bfec",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/sondreskarsten/actions/runs/41523021091"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.6.0",
      "date": "2026-11-02T21:32:17.000Z",
      "commit": "55e87e08a95137ad97098a794e327be25ac6aa01",
      "fileid": "https://r2.ropensci.org/4bc5bfb075b26f43aaeb53cd2f4f0c5d5204628c22bfa8190b3c488c024ccf22",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/sondreskarsten/actions/runs/41523021091"
    },
    {
      "r": "4.6.2",
      "os": "mac",
      "version": "0.6.0",
      "date": "2026-11-02T20:57:21.000Z",
      "commit": "55e87e08a95137ad97098a794e327be25ac6aa01",
      "fileid": "https://r2.ropensci.org/49c366241440e3a80e42ae0cf0e18a08a5a3d3e88e76fb09557b0c25361bec34",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/sondreskarsten/actions/runs/41523021091"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.6.0",
      "date": "2026-11-02T20:57:39.000Z",
      "commit": "55e87e08a95137ad97098a794e327be25ac6aa01",
      "fileid": "https://r2.ropensci.org/27d60d62227b5fbdbb796139a33f84df30fc2acfa165f78ac309aa9d2b6d0e0f",
      "status": "success",
      "buildurl": "https://github.com/r-universe/sondreskarsten/actions/runs/41523021091"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.6.0",
      "date": "2026-11-02T20:57:03.000Z",
      "commit": "55e87e08a95137ad97098a794e327be25ac6aa01",
      "fileid": "https://r2.ropensci.org/1e6eafd8e103cf49305650e783e5c628f2cd84e3ef07a571768dece0af7bdf10",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/sondreskarsten/actions/runs/41523021091"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.6.0",
      "date": "2026-11-02T20:57:07.000Z",
      "commit": "55e87e08a95137ad97098a794e327be25ac6aa01",
      "fileid": "https://r2.ropensci.org/ef01f1a01e1c1f7c1c7056ea5ced54b4110f247bcd505739a652b3b87fc37050",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/sondreskarsten/actions/runs/41523021091"
    },
    {
      "r": "4.6.2",
      "os": "win",
      "version": "0.6.0",
      "date": "2026-11-02T20:57:11.000Z",
      "commit": "55e87e08a95137ad97098a794e327be25ac6aa01",
      "fileid": "https://r2.ropensci.org/5f2f7e17608e5f66f53b7576f172ce59ca63516c0fad91f78462143498b89b9f",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/sondreskarsten/actions/runs/41523021091"
    }
  ]
}