{
  "_id": "6abbef3d99f7aa8c6aa494e5",
  "Package": "shinysnap",
  "Title": "Save and Restore the State of 'shiny' Applications",
  "Version": "0.1.0",
  "Authors@R": "c(\nperson(\"Nan\", \"Xiao\", email = \"me@nanx.me\", role = c(\"aut\", \"cre\", \"cph\"),\ncomment = c(ORCID = \"0000-0002-0250-5673\"))\n)",
  "Description": "Save the state of applications built with 'shiny', the web\napplication framework by Chang et al. (2026)\n<doi:10.32614/CRAN.package.shiny>. Users can share their work\nand continue it in another session. Input values and selected\nvalues held by the server are saved in JSON (JavaScript Object\nNotation) files that can be read and edited by hand. Saved\nstate can be restored without reloading the page or setting up\nbookmarking. Restoration waits for inputs that appear as the\npage changes and reports which values were restored, missing,\nor could not be applied.",
  "License": "MIT + file LICENSE",
  "URL": "https://nanx.me/shinysnap/, https://github.com/nanxstats/shinysnap",
  "BugReports": "https://github.com/nanxstats/shinysnap/issues",
  "Encoding": "UTF-8",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "Roxygen": "list(markdown = TRUE)",
  "Config/roxygen2/version": "8.1.0",
  "Config/pak/sysreqs": "cmake make libuv1-dev zlib1g-dev",
  "Repository": "https://nanxstats.r-universe.dev",
  "Date/Publication": "2026-09-29 01:36:16 UTC",
  "RemoteUrl": "https://github.com/nanxstats/shinysnap",
  "RemoteRef": "HEAD",
  "RemoteSha": "9b3037d6253eae1d52247f3e496a2799e6a71333",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-09-29 16:28:47 UTC",
    "User": "root"
  },
  "Author": "Nan Xiao [aut, cre, cph] (ORCID:\n<https://orcid.org/0000-0002-0250-5673>)",
  "Maintainer": "Nan Xiao <me@nanx.me>",
  "_user": "nanxstats",
  "_type": "src",
  "_file": "shinysnap_0.1.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/2b92c679bf581fe7e075a6f1ff8827e83c3b1fc64e2df1f0f90464e546a9550e",
  "_filesize": 390207,
  "_sha256": "2b92c679bf581fe7e075a6f1ff8827e83c3b1fc64e2df1f0f90464e546a9550e",
  "_expires": "2027-01-07T17:02:51.000Z",
  "_created": "2026-09-29T16:28:47.000Z",
  "_published": "2026-09-29T17:02:53.887Z",
  "_jobs": [
    {
      "job": 109507962223,
      "time": 152,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11048075126"
    },
    {
      "job": 109507962173,
      "time": 152,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11046139766"
    },
    {
      "job": 109507962417,
      "time": 96,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11048584323"
    },
    {
      "job": 109507962429,
      "time": 85,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11049421587"
    },
    {
      "job": 109506218773,
      "time": 248,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11047705133"
    },
    {
      "job": 109507962176,
      "time": 140,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "11048455038"
    },
    {
      "job": 109507962581,
      "time": 113,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11047541461"
    },
    {
      "job": 109507962323,
      "time": 74,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11046603900"
    },
    {
      "job": 109507962312,
      "time": 92,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11047295701"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/nanxstats/actions/runs/36597510841",
  "_status": "success",
  "_upstream": "https://github.com/nanxstats/shinysnap",
  "_commit": {
    "id": "9b3037d6253eae1d52247f3e496a2799e6a71333",
    "author": "Nan Xiao <me@nanx.me>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Add CRAN badge + CRAN install command (#9)",
    "time": 1790645776
  },
  "_maintainer": {
    "name": "Nan Xiao",
    "email": "me@nanx.me",
    "login": "nanxstats",
    "bluesky": "@nanxstats.bsky.social",
    "linkedin": "in/nanxstats",
    "twitter": "@nanxstats",
    "description": "Statistician",
    "uuid": 199363,
    "orcid": "0000-0002-0250-5673"
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "htmltools",
      "role": "Imports"
    },
    {
      "package": "jsonlite",
      "role": "Imports"
    },
    {
      "package": "promises",
      "role": "Imports"
    },
    {
      "package": "R6",
      "role": "Imports"
    },
    {
      "package": "shiny",
      "version": ">= 1.8.0",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "zmij",
      "role": "Imports"
    },
    {
      "package": "bslib",
      "role": "Suggests"
    },
    {
      "package": "chromote",
      "role": "Suggests"
    },
    {
      "package": "httpuv",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "later",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "shinyMatrix",
      "role": "Suggests"
    },
    {
      "package": "shinytest2",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "withr",
      "role": "Suggests"
    },
    {
      "package": "zip",
      "role": "Suggests"
    }
  ],
  "_owner": "nanxstats",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-38",
      "n": 22
    },
    {
      "week": "2026-40",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "v0.1.0",
      "date": "2026-09-18"
    }
  ],
  "_stars": 1,
  "_contributors": [
    {
      "user": "nanxstats",
      "count": 29,
      "uuid": 199363
    }
  ],
  "_userbio": {
    "uuid": 199363,
    "type": "user",
    "name": "Nan Xiao",
    "followers": 819,
    "description": "Statistician"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/shinysnap"
  },
  "_devurl": "https://github.com/nanxstats/shinysnap",
  "_pkgdown": "https://nanx.me/shinysnap/",
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/shinysnap.html",
    "LICENSE"
  ],
  "_homeurl": "https://github.com/nanxstats/shinysnap",
  "_realowner": "nanxstats",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2026-09-28"
    }
  ],
  "_exports": [
    "snap_as_bookmark_url",
    "snap_as_test_inputs",
    "snap_attachment",
    "snap_dependency",
    "snap_diff",
    "snap_download_button",
    "snap_download_handler",
    "snap_enable",
    "snap_exclude",
    "snap_file_input",
    "snap_file_restore",
    "snap_include",
    "snap_inputs",
    "snap_is_restoring",
    "snap_meta",
    "snap_on_restore",
    "snap_on_restored",
    "snap_on_save",
    "snap_read",
    "snap_restore",
    "snap_restorer",
    "snap_restorers",
    "snap_serialize",
    "snap_take",
    "snap_track",
    "snap_unserialize",
    "snap_values",
    "snap_write"
  ],
  "_help": [
    {
      "page": "print.shinysnap",
      "title": "Print, format, and coerce snapshots and restore results",
      "topics": [
        "as.list.shinysnap",
        "format.shinysnap",
        "print.shinysnap",
        "print.shinysnap_diff",
        "print.shinysnap_report",
        "print.shinysnap_restore"
      ]
    },
    {
      "page": "snap_as_bookmark_url",
      "title": "Interoperate with bookmarks, tests, and bundles",
      "topics": [
        "snap_as_bookmark_url",
        "snap_as_test_inputs",
        "snap_attachment"
      ]
    },
    {
      "page": "snap_dependency",
      "title": "The client-side script as an HTML dependency",
      "topics": [
        "snap_dependency"
      ]
    },
    {
      "page": "snap_diff",
      "title": "Compare two snapshots",
      "topics": [
        "snap_diff"
      ]
    },
    {
      "page": "snap_download_button",
      "title": "Save-state button and its download handler",
      "topics": [
        "snap_download_button",
        "snap_download_handler"
      ]
    },
    {
      "page": "snap_enable",
      "title": "Configure shinysnap for a session",
      "topics": [
        "snap_enable"
      ]
    },
    {
      "page": "snap_exclude",
      "title": "Exclude or include inputs by pattern",
      "topics": [
        "snap_exclude",
        "snap_include"
      ]
    },
    {
      "page": "snap_file_input",
      "title": "Restore-state upload and its handler",
      "topics": [
        "snap_file_input",
        "snap_file_restore"
      ]
    },
    {
      "page": "snap_inputs",
      "title": "Access the parts of a snapshot",
      "topics": [
        "snap_inputs",
        "snap_meta",
        "snap_values"
      ]
    },
    {
      "page": "snap_is_restoring",
      "title": "Is a restore in flight?",
      "topics": [
        "snap_is_restoring"
      ]
    },
    {
      "page": "snap_on_restore",
      "title": "Register hooks that run around a restore",
      "topics": [
        "snap_on_restore",
        "snap_on_restored"
      ]
    },
    {
      "page": "snap_on_save",
      "title": "Register a hook that runs when a snapshot is taken",
      "topics": [
        "snap_on_save"
      ]
    },
    {
      "page": "snap_restore",
      "title": "Restore a snapshot into the running app",
      "topics": [
        "snap_restore"
      ]
    },
    {
      "page": "snap_restorer",
      "title": "Register how an input is restored",
      "topics": [
        "snap_restorer",
        "snap_restorers"
      ]
    },
    {
      "page": "snap_serialize",
      "title": "Convert a snapshot to and from JSON text",
      "topics": [
        "snap_serialize",
        "snap_unserialize"
      ]
    },
    {
      "page": "snap_take",
      "title": "Take a snapshot of the running app",
      "topics": [
        "snap_take"
      ]
    },
    {
      "page": "snap_track",
      "title": "Track server-side values",
      "topics": [
        "snap_track"
      ]
    },
    {
      "page": "snap_write",
      "title": "Write a snapshot to a file and read it back",
      "topics": [
        "snap_read",
        "snap_write"
      ]
    }
  ],
  "_pkglogo": "https://github.com/nanxstats/shinysnap/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/nanxstats/shinysnap/raw/HEAD/README.md",
  "_rundeps": [
    "base64enc",
    "bslib",
    "cachem",
    "cli",
    "commonmark",
    "digest",
    "fastmap",
    "fontawesome",
    "fs",
    "glue",
    "htmltools",
    "httpuv",
    "jquerylib",
    "jsonlite",
    "later",
    "lifecycle",
    "magrittr",
    "memoise",
    "mime",
    "otel",
    "promises",
    "R6",
    "rappdirs",
    "Rcpp",
    "rlang",
    "sass",
    "shiny",
    "sourcetools",
    "withr",
    "xtable",
    "zmij"
  ],
  "_vignettes": [
    {
      "source": "shinysnap.Rmd",
      "filename": "shinysnap.html",
      "title": "Get started with shinysnap",
      "engine": "knitr::rmarkdown",
      "headings": [
        "A minimal app",
        "The file",
        "What gets saved",
        "Replacing your own restore code",
        "Learn more"
      ],
      "created": "2026-09-16 23:46:11",
      "modified": "2026-09-18 07:02:08",
      "commits": 4
    },
    {
      "source": "custom-inputs.Rmd",
      "filename": "custom-inputs.html",
      "title": "Restoring custom inputs",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Supported inputs",
        "Writing a restorer",
        "Example: shinyMatrix",
        "Converting messages in JavaScript",
        "Inputs that need more work"
      ],
      "created": "2026-09-17 05:48:22",
      "modified": "2026-09-18 07:02:08",
      "commits": 3
    },
    {
      "source": "dynamic-ui.Rmd",
      "filename": "dynamic-ui.html",
      "title": "Restoring dynamic UI",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Why dynamic inputs need special handling",
        "How shinysnap restores inputs",
        "The report",
        "Working with the promise",
        "Reacting during a restore",
        "Notes on timing"
      ],
      "created": "2026-09-17 05:48:22",
      "modified": "2026-09-18 07:02:08",
      "commits": 4
    },
    {
      "source": "migrating-from-bookmarks.Rmd",
      "filename": "migrating-from-bookmarks.html",
      "title": "Snapshots and bookmarks",
      "engine": "knitr::rmarkdown",
      "headings": [
        "What each one does",
        "Using both",
        "Turning a snapshot into a bookmark",
        "Migrating an app"
      ],
      "created": "2026-09-17 05:48:22",
      "modified": "2026-09-18 07:02:08",
      "commits": 3
    },
    {
      "source": "format-spec.Rmd",
      "filename": "format-spec.html",
      "title": "The snapshot file format",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The snapshot object",
        "The JSON file",
        "Encoding rules",
        "Examples",
        "Reading",
        "The bundle (.zip)",
        "The .rds format"
      ],
      "created": "2026-09-17 05:48:22",
      "modified": "2026-09-18 07:02:08",
      "commits": 3
    }
  ],
  "_score": 4.698970004336019,
  "_indexed": true,
  "_nocasepkg": "shinysnap",
  "_universes": [
    "nanxstats"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.0",
      "date": "2026-09-29T16:31:11.000Z",
      "distro": "resolute",
      "commit": "9b3037d6253eae1d52247f3e496a2799e6a71333",
      "fileid": "https://r2.ropensci.org/29ef770addc05327e571271a870161cf99f122e7a7004baf510444a07c4c8c8d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nanxstats/actions/runs/36597510841"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.1.0",
      "date": "2026-09-29T16:31:13.000Z",
      "distro": "resolute",
      "commit": "9b3037d6253eae1d52247f3e496a2799e6a71333",
      "fileid": "https://r2.ropensci.org/c8ed85dc4b62c9cebba28d66b83770cc44d79ebba1bbd4554f97ee5f962a06cc",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nanxstats/actions/runs/36597510841"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.0",
      "date": "2026-09-29T16:58:04.000Z",
      "commit": "9b3037d6253eae1d52247f3e496a2799e6a71333",
      "fileid": "https://r2.ropensci.org/443cab5889520674c7d93c84f940c40ee9a81158eddd5732dc7ad1d76025dfe4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nanxstats/actions/runs/36597510841"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.1.0",
      "date": "2026-09-29T17:01:43.000Z",
      "commit": "9b3037d6253eae1d52247f3e496a2799e6a71333",
      "fileid": "https://r2.ropensci.org/7b57db61fde186e7734e560fa8cb95679700a290f48d74b0a228e0efdcbf46e0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nanxstats/actions/runs/36597510841"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.0",
      "date": "2026-09-29T16:31:25.000Z",
      "commit": "9b3037d6253eae1d52247f3e496a2799e6a71333",
      "fileid": "https://r2.ropensci.org/a0cc195b8181f90c9fe9a6bfae110a08348a95e7712c304f1fce2ec403e0a4e7",
      "status": "success",
      "buildurl": "https://github.com/r-universe/nanxstats/actions/runs/36597510841"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.0",
      "date": "2026-09-29T16:30:22.000Z",
      "commit": "9b3037d6253eae1d52247f3e496a2799e6a71333",
      "fileid": "https://r2.ropensci.org/67fd45479b5227f9ebc066f7a391c6602071f6f38f19d2c3f578f1db2083720b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nanxstats/actions/runs/36597510841"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.0",
      "date": "2026-09-29T16:29:54.000Z",
      "commit": "9b3037d6253eae1d52247f3e496a2799e6a71333",
      "fileid": "https://r2.ropensci.org/713e2089f97addb3f3bb9fe17c7812dc0f51e078b9ad2b640e87fba7579a5243",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nanxstats/actions/runs/36597510841"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.1.0",
      "date": "2026-09-29T16:30:08.000Z",
      "commit": "9b3037d6253eae1d52247f3e496a2799e6a71333",
      "fileid": "https://r2.ropensci.org/267c1b8957cf768e8568f1e172230b0560a0c2bcfb3f40788e87ca8892956ee4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nanxstats/actions/runs/36597510841"
    }
  ]
}