{
  "_id": "69d8e47fc5259ad4cd817c3c",
  "Package": "butterfly",
  "Title": "Verification for Continually Updating Time Series Data",
  "Version": "1.1.2",
  "Authors@R": "c(\nperson(\"Thomas\", \"Zwagerman\", , \"thozwa@bas.ac.uk\", role = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0009-0003-3742-3234\")),\nperson(\"British Antarctic Survey\", role = c(\"cph\")),\nperson(\"Quentin\", \"Read\", role = \"rev\",\ncomment = \"Quentin reviewed the package (v. 1.1.0) for rOpenSci, see <https://github.com/ropensci/software-review/issues/676>\"))",
  "Description": "Verification of continually updating time series data\nwhere we expect new values, but want to ensure previous data\nremains unchanged. Data previously recorded could change for a\nnumber of reasons, such as discovery of an error in model code,\na change in methodology or instrument recalibration. Monitoring\ndata sources for these changes is not always possible. Other\nunnoticed changes could include a jump in time or measurement\nfrequency, due to instrument failure or software updates.\nFunctionality is provided that can be used to check and flag\nchanges to previous data to prevent changes going unnoticed, as\nwell as unexpected jumps in time.",
  "License": "MIT + file LICENSE",
  "URL": "https://docs.ropensci.org/butterfly/,\nhttps://github.com/ropensci/butterfly/",
  "BugReports": "https://github.com/ropensci/butterfly/issues",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "Encoding": "UTF-8",
  "LazyData": "true",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.2",
  "Repository": "https://ropensci.r-universe.dev",
  "Date/Publication": "2026-04-10 10:41:55 UTC",
  "RemoteUrl": "https://github.com/ropensci/butterfly",
  "RemoteRef": "main",
  "RemoteSha": "11b30d8457006672b3ba3aa8bbf0ed7627517e54",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-04-10 11:49:31 UTC",
    "User": "root"
  },
  "Author": "Thomas Zwagerman [aut, cre] (ORCID:\n<https://orcid.org/0009-0003-3742-3234>),\nBritish Antarctic Survey [cph],\nQuentin Read [rev] (Quentin reviewed the package (v. 1.1.0) for\nrOpenSci, see\n<https://github.com/ropensci/software-review/issues/676>)",
  "Maintainer": "Thomas Zwagerman <thozwa@bas.ac.uk>",
  "MD5sum": "7e6283a14bbb193d751b5019dbfc19d4",
  "_user": "ropensci",
  "_type": "src",
  "_file": "butterfly_1.1.2.tar.gz",
  "_fileid": "028accb42510855547a3f3481da04de20486403e3069cc50637eb56951c8336c",
  "_filesize": 565986,
  "_sha256": "028accb42510855547a3f3481da04de20486403e3069cc50637eb56951c8336c",
  "_created": "2026-04-10T11:49:31.000Z",
  "_published": "2026-04-10T11:52:31.854Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 70776880205,
      "time": 118,
      "config": "linux-devel-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6370266617"
    },
    {
      "job": 70776880206,
      "time": 100,
      "config": "linux-release-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "6370262560"
    },
    {
      "job": 70776880224,
      "time": 82,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "6370257901"
    },
    {
      "job": 70776880193,
      "time": 116,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6370266173"
    },
    {
      "job": 70776547962,
      "time": 161,
      "config": "pkgdown",
      "r": "4.5.2",
      "check": "OK",
      "artifact": "6370236020"
    },
    {
      "job": 70776547967,
      "time": 168,
      "config": "source",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "6370237180"
    },
    {
      "job": 70776880244,
      "time": 104,
      "config": "wasm-release",
      "r": "4.5.1",
      "check": "OK",
      "artifact": "6370263237"
    },
    {
      "job": 70776880251,
      "time": 82,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "6370258005"
    },
    {
      "job": 70776880265,
      "time": 138,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "6370271401"
    },
    {
      "job": 70776880253,
      "time": 78,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6370256453"
    }
  ],
  "_buildurl": "https://github.com/r-universe/ropensci/actions/runs/24241370959",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/ropensci/butterfly",
  "_commit": {
    "id": "11b30d8457006672b3ba3aa8bbf0ed7627517e54",
    "author": "thomaszwagerman <thozwa@bas.ac.uk>",
    "committer": "thomaszwagerman <thozwa@bas.ac.uk>",
    "message": "still use @main for pkgcheck\n",
    "time": 1775817715
  },
  "_maintainer": {
    "name": "Thomas Zwagerman",
    "email": "thozwa@bas.ac.uk",
    "login": "thomaszwagerman",
    "uuid": 36264706
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "lifecycle",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "waldo",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "ropensci",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-15",
      "n": 3
    }
  ],
  "_tags": [],
  "_topics": [
    "data-versioning",
    "qaqc",
    "timeseries",
    "verification"
  ],
  "_stars": 10,
  "_contributors": [
    {
      "user": "thomaszwagerman",
      "count": 157,
      "uuid": 36264706
    }
  ],
  "_userbio": {
    "uuid": 1200269,
    "type": "organization",
    "name": "rOpenSci",
    "description": "Tools and R Packages for Open Science"
  },
  "_downloads": {
    "count": 307,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/butterfly"
  },
  "_devurl": "https://github.com/ropensci/butterfly",
  "_pkgdown": "https://docs.ropensci.org/butterfly/",
  "_searchresults": 12,
  "_metadata": {
    "review": {
      "id": 676,
      "status": "reviewed",
      "version": "1.0.0",
      "organization": "rOpenSci Software Review",
      "url": "https://github.com/ropensci/software-review/issues/676"
    },
    "ropensci_category": "data-extraction"
  },
  "_rbuild": "4.5.3",
  "_assets": [
    "extra/butterfly.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",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/ropensci/butterfly",
  "_realowner": "ropensci",
  "_cranurl": true,
  "_releases": [
    {
      "version": "1.1.2",
      "date": "2025-04-12"
    }
  ],
  "_exports": [
    "catch",
    "create_object_list",
    "loupe",
    "release",
    "timeline",
    "timeline_group"
  ],
  "_datasets": [
    {
      "name": "butterflycount",
      "title": "Butterfly count dummy data",
      "object": "butterflycount",
      "class": [
        "list"
      ],
      "fields": [],
      "table": false,
      "tojson": true
    },
    {
      "name": "butterflymess",
      "title": "Butterfly count messy data",
      "object": "butterflymess",
      "class": [
        "list"
      ],
      "fields": [],
      "table": false,
      "tojson": true
    },
    {
      "name": "forestprecipitation",
      "title": "Forest precipitation dummy data",
      "object": "forestprecipitation",
      "class": [
        "list"
      ],
      "fields": [],
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "butterflycount",
      "title": "Butterfly count dummy data",
      "topics": [
        "butterflycount"
      ]
    },
    {
      "page": "butterflymess",
      "title": "Butterfly count messy data",
      "topics": [
        "butterflymess"
      ]
    },
    {
      "page": "catch",
      "title": "Catch: return dataframe containing only rows that have changed",
      "topics": [
        "catch"
      ]
    },
    {
      "page": "create_object_list",
      "title": "create_object_list: creates a list of objects used in all butterfly functions",
      "topics": [
        "create_object_list"
      ]
    },
    {
      "page": "forestprecipitation",
      "title": "Forest precipitation dummy data",
      "topics": [
        "forestprecipitation"
      ]
    },
    {
      "page": "loupe",
      "title": "Loupe: compare new and old data in continuously updated timeseries",
      "topics": [
        "loupe"
      ]
    },
    {
      "page": "release",
      "title": "Release: return current dataframe without changed old rows",
      "topics": [
        "release"
      ]
    },
    {
      "page": "timeline",
      "title": "timeline: check if a timeseries is continuous",
      "topics": [
        "timeline"
      ]
    },
    {
      "page": "timeline_group",
      "title": "timeline_group: check if a timeseries is continuous",
      "topics": [
        "timeline_group"
      ]
    }
  ],
  "_pkglogo": "https://github.com/ropensci/butterfly/raw/main/man/figures/logo.png",
  "_readme": "https://github.com/ropensci/butterfly/raw/main/README.md",
  "_rundeps": [
    "cli",
    "crayon",
    "diffobj",
    "dplyr",
    "generics",
    "glue",
    "lifecycle",
    "magrittr",
    "pillar",
    "pkgconfig",
    "R6",
    "rlang",
    "tibble",
    "tidyselect",
    "utf8",
    "vctrs",
    "waldo",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "butterfly.Rmd",
      "filename": "butterfly.html",
      "title": "butterfly",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Data",
        "Examining datasets: loupe()",
        "Additional arguments from waldo::compare()",
        "Extracting unexpected changes: catch()",
        "Dropping unexpected changes: release()",
        "Checking for continuity: timeline()",
        "Grouping distinct continuous sequences: timeline_group()",
        "Using butterfly in a data processing pipeline",
        "A note on controlling verbosity",
        "Rationale",
        "Unexpected changes in models",
        "Unexpected changes in data acquisition",
        "Variable measurement frequencies",
        "In summary"
      ],
      "created": "2024-10-16 08:07:53",
      "modified": "2025-04-02 11:01:24",
      "commits": 15
    }
  ],
  "_score": 4.778151250383644,
  "_indexed": true,
  "_nocasepkg": "butterfly",
  "_universes": [
    "ropensci",
    "thomaszwagerman"
  ],
  "_binaries": [
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.1.2",
      "date": "2026-04-10T11:51:29.000Z",
      "distro": "noble",
      "commit": "11b30d8457006672b3ba3aa8bbf0ed7627517e54",
      "fileid": "c8bc0446eaae2e5ff4709ec520db30a34f53f92cede671f6de4b684935923ffb",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ropensci/actions/runs/24241370959"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.1.2",
      "date": "2026-04-10T11:51:00.000Z",
      "commit": "11b30d8457006672b3ba3aa8bbf0ed7627517e54",
      "fileid": "6d44aa3bfdb209c95e5ee14d05069057d265cdc94b99d5a7332e2f477310eae3",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ropensci/actions/runs/24241370959"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.1.2",
      "date": "2026-04-10T11:51:29.000Z",
      "commit": "11b30d8457006672b3ba3aa8bbf0ed7627517e54",
      "fileid": "ccd872eeeb846a471b4075a571b90c0599ad54d4add597b80737c2ae7251c50c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ropensci/actions/runs/24241370959"
    },
    {
      "r": "4.5.1",
      "os": "wasm",
      "version": "1.1.2",
      "date": "2026-04-10T11:51:31.000Z",
      "commit": "11b30d8457006672b3ba3aa8bbf0ed7627517e54",
      "fileid": "f264f38a65ed4d614e400567b2bb5f0b3b0f32099b4af3a7a2508ca8f0c877a6",
      "status": "success",
      "buildurl": "https://github.com/r-universe/ropensci/actions/runs/24241370959"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.1.2",
      "date": "2026-04-10T11:50:51.000Z",
      "commit": "11b30d8457006672b3ba3aa8bbf0ed7627517e54",
      "fileid": "a594fe369b1b471528377f1d85609362ad67f9d58f5bd974cdc5f5dd136d26bb",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ropensci/actions/runs/24241370959"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.1.2",
      "date": "2026-04-10T11:51:45.000Z",
      "commit": "11b30d8457006672b3ba3aa8bbf0ed7627517e54",
      "fileid": "4c3039d46de34b89b99afed946ca03ac7b2e21145e7b9beeec6de7def518a5e7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ropensci/actions/runs/24241370959"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.1.2",
      "date": "2026-04-10T11:50:48.000Z",
      "commit": "11b30d8457006672b3ba3aa8bbf0ed7627517e54",
      "fileid": "ff162b4a7c4093df93e78d2284d2ff53f5f9753447f65bb0b087e79a35e07137",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ropensci/actions/runs/24241370959"
    }
  ]
}