{
  "_id": "6ac63aa6f511ae58c09a83c5",
  "Package": "chronicler",
  "Title": "Add Logging to Functions",
  "Version": "0.3.0",
  "Authors@R": "c(\nperson(\"Bruno\", \"Rodrigues\", , \"bruno@brodrigues.co\", role = c(\"aut\", \"cre\", \"cph\"),\ncomment = c(ORCID = \"0000-0002-3211-3689\")),\nperson(\"Matouš\", \"Eibich\", , \"matous.eibich@seznam.cz\", role = \"ctb\")\n)",
  "Description": "Decorate functions to make them return enhanced output.\nThe enhanced output consists in an object of type 'chronicle'\ncontaining the result of the function applied to its arguments,\nas well as a log detailing when the function was run, what were\nits inputs, what were the errors (if the function failed to\nrun) and other useful information. Tools to handle decorated\nfunctions are included, such as a forward pipe operator that\nmakes chaining decorated functions possible.",
  "License": "GPL (>= 3)",
  "VignetteBuilder": "knitr",
  "Encoding": "UTF-8",
  "LazyData": "TRUE",
  "Config/testthat/edition": "3",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.2",
  "Repository": "https://b-rodrigues.r-universe.dev",
  "Date/Publication": "2026-01-10 12:40:34 UTC",
  "RemoteUrl": "https://github.com/b-rodrigues/chronicler",
  "RemoteRef": "HEAD",
  "RemoteSha": "cdcbfd1a7b1cb90b9c8fd44675097aec7ef450ba",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-10-07 09:57:50 UTC",
    "User": "root"
  },
  "Author": "Bruno Rodrigues [aut, cre, cph] (ORCID:\n<https://orcid.org/0000-0002-3211-3689>),\nMatouš Eibich [ctb]",
  "Maintainer": "Bruno Rodrigues <bruno@brodrigues.co>",
  "_user": "b-rodrigues",
  "_type": "src",
  "_file": "chronicler_0.3.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/e8dae2451cc124c91adc5d9db2ce9a7a37cbf9e783bbbccee66c8b313563448a",
  "_filesize": 578509,
  "_sha256": "e8dae2451cc124c91adc5d9db2ce9a7a37cbf9e783bbbccee66c8b313563448a",
  "_expires": "2027-01-15T12:27:16.000Z",
  "_created": "2026-10-07T09:57:50.000Z",
  "_published": "2026-10-07T12:27:18.362Z",
  "_buildurl": "https://github.com/r-universe/b-rodrigues/actions/runs/37603749372",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_jobs": [
    {
      "job": 112735672445,
      "time": 122,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11474820067"
    },
    {
      "job": 112735672308,
      "time": 143,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11473958364"
    },
    {
      "job": 112735672463,
      "time": 123,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11481228949"
    },
    {
      "job": 112735672479,
      "time": 109,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11481528719"
    },
    {
      "job": 112734352519,
      "time": 212,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11474077497"
    },
    {
      "job": 112735672360,
      "time": 95,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "11473998073"
    },
    {
      "job": 112735672412,
      "time": 99,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11473674213"
    },
    {
      "job": 112735672341,
      "time": 97,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11474177614"
    },
    {
      "job": 112735672575,
      "time": 95,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11474082773"
    }
  ],
  "_upstream": "https://github.com/b-rodrigues/chronicler",
  "_commit": {
    "id": "cdcbfd1a7b1cb90b9c8fd44675097aec7ef450ba",
    "author": "github-actions[bot] <github-actions[bot]@users.noreply.github.com>",
    "committer": "github-actions[bot] <github-actions[bot]@users.noreply.github.com>",
    "message": "Update package context [skip ci]\n",
    "time": 1768048834
  },
  "_maintainer": {
    "name": "Bruno Rodrigues",
    "email": "bruno@brodrigues.co",
    "login": "b-rodrigues",
    "mastodon": "@brodriguesco@fosstodon.org",
    "bluesky": "@brodriguesco.bsky.social",
    "orcid": "0000-0002-3211-3689",
    "twitter": "@brodriguesco",
    "description": "",
    "uuid": 2998834
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "diffobj",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "maybe",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "clipr",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "lubridate",
      "role": "Suggests"
    },
    {
      "package": "openxlsx",
      "role": "Suggests"
    },
    {
      "package": "purrr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "role": "Suggests"
    },
    {
      "package": "tidyr",
      "role": "Suggests"
    }
  ],
  "_owner": "b-rodrigues",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-02",
      "n": 3
    }
  ],
  "_tags": [],
  "_stars": 55,
  "_contributors": [
    {
      "user": "b-rodrigues",
      "count": 123,
      "uuid": 2998834
    },
    {
      "user": "matouseibich",
      "count": 35,
      "uuid": 80744518
    },
    {
      "user": "armcn",
      "count": 1,
      "uuid": 91022923
    },
    {
      "user": "davisvaughan",
      "count": 1,
      "uuid": 19150088
    }
  ],
  "_userbio": {
    "uuid": 2998834,
    "type": "user",
    "name": "Bruno Rodrigues",
    "followers": 470
  },
  "_downloads": {
    "count": 372,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/chronicler"
  },
  "_devurl": "https://github.com/b-rodrigues/chronicler",
  "_searchresults": 36,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/chronicler.html",
    "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"
  ],
  "_homeurl": "https://github.com/b-rodrigues/chronicler",
  "_realowner": "b-rodrigues",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.2.0",
      "date": "2022-05-17"
    },
    {
      "version": "0.2.1",
      "date": "2023-02-03"
    },
    {
      "version": "0.2.2",
      "date": "2024-03-20"
    },
    {
      "version": "0.3.0",
      "date": "2025-08-18"
    }
  ],
  "_exports": [
    "%>=%",
    "as_chronicle",
    "bind_record",
    "check_diff",
    "check_g",
    "flatten_record",
    "fmap_record",
    "is_chronicle",
    "purely",
    "read_log",
    "record",
    "record_ggplot",
    "record_many",
    "unveil",
    "write_chronicle_df",
    "zap_log"
  ],
  "_datasets": [
    {
      "name": "avia",
      "title": "avia Air passenger transport between the main airports of Luxembourg and their main partner airports",
      "object": "avia",
      "class": [
        "spec_tbl_df",
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [],
      "rows": 1434,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "grapes-greater-than-equals-grapes",
      "title": "Pipe a chronicle object to a decorated function.",
      "topics": [
        "%>=%"
      ]
    },
    {
      "page": "as_chronicle",
      "title": "Coerce an object to a chronicle object.",
      "topics": [
        "as_chronicle"
      ]
    },
    {
      "page": "as.data.frame.chronicle",
      "title": "Coerce a chronicle object to a data.frame",
      "topics": [
        "as.data.frame.chronicle"
      ]
    },
    {
      "page": "avia",
      "title": "avia Air passenger transport between the main airports of Luxembourg and their main partner airports",
      "topics": [
        "avia"
      ]
    },
    {
      "page": "bind_record",
      "title": "Evaluate a decorated function; used to chain multiple decorated functions.",
      "topics": [
        "bind_record"
      ]
    },
    {
      "page": "check_diff",
      "title": "Check the output of the diff column",
      "topics": [
        "check_diff"
      ]
    },
    {
      "page": "check_g",
      "title": "Check the output of the .g function",
      "topics": [
        "check_g"
      ]
    },
    {
      "page": "flatten_record",
      "title": "Flatten nested chronicle objects",
      "topics": [
        "flatten_record"
      ]
    },
    {
      "page": "fmap_record",
      "title": "Evaluate a non-chronicle function on a chronicle object.",
      "topics": [
        "fmap_record"
      ]
    },
    {
      "page": "is_chronicle",
      "title": "Checks whether an object is of class \"chronicle\"",
      "topics": [
        "is_chronicle"
      ]
    },
    {
      "page": "print.chronicle",
      "title": "Print method for chronicle objects.",
      "topics": [
        "print.chronicle"
      ]
    },
    {
      "page": "purely",
      "title": "Capture all errors, warnings and messages.",
      "topics": [
        "purely"
      ]
    },
    {
      "page": "read_log",
      "title": "Read and display the log of a chronicle",
      "topics": [
        "read_log"
      ]
    },
    {
      "page": "record",
      "title": "Decorates a function to output objects of type 'chronicle'.",
      "topics": [
        "record"
      ]
    },
    {
      "page": "record_ggplot",
      "title": "Record a ggplot expression",
      "topics": [
        "record_ggplot"
      ]
    },
    {
      "page": "record_many",
      "title": "Decorate a list of functions",
      "topics": [
        "record_many"
      ]
    },
    {
      "page": "unveil",
      "title": "Retrieve an element from a chronicle object.",
      "topics": [
        "unveil"
      ]
    },
    {
      "page": "write_chronicle_df",
      "title": "Write a chronicler Data Frame object to a file",
      "topics": [
        "write_chronicle_df"
      ]
    },
    {
      "page": "zap_log",
      "title": "Zap the log of a chronicle object",
      "topics": [
        "zap_log"
      ]
    }
  ],
  "_readme": "https://github.com/b-rodrigues/chronicler/raw/HEAD/README.md",
  "_rundeps": [
    "cli",
    "cpp11",
    "crayon",
    "diffobj",
    "dplyr",
    "farver",
    "generics",
    "ggplot2",
    "glue",
    "gtable",
    "isoband",
    "labeling",
    "lifecycle",
    "magrittr",
    "maybe",
    "pillar",
    "pkgconfig",
    "R6",
    "RColorBrewer",
    "rlang",
    "S7",
    "scales",
    "tibble",
    "tidyselect",
    "utf8",
    "vctrs",
    "viridisLite",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "a-non-mathematician-s-introduction-to-monads.Rmd",
      "filename": "a-non-mathematician-s-introduction-to-monads.html",
      "title": "A non-mathematician's introduction to monads",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Monadic laws",
        "First law",
        "Second law",
        "Third law",
        "flatmap() for chronicle objects"
      ],
      "created": "2024-02-14 20:00:11",
      "modified": "2025-08-14 16:00:52",
      "commits": 6
    },
    {
      "source": "a-real-world-example.Rmd",
      "filename": "a-real-world-example.html",
      "title": "A real world example",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2024-02-14 20:00:11",
      "modified": "2025-08-16 12:20:05",
      "commits": 7
    },
    {
      "source": "recording-ggplot.Rmd",
      "filename": "recording-ggplot.html",
      "title": "Recording ggplot Objects with chronicler",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Basic Recording and Inspection",
        "Handling Failures Gracefully",
        "Capturing Errors",
        "Controlling Strictness",
        "Conclusion"
      ],
      "created": "2025-08-14 13:27:20",
      "modified": "2025-08-14 15:20:10",
      "commits": 5
    },
    {
      "source": "the-maybe-monad.Rmd",
      "filename": "the-maybe-monad.html",
      "title": "The Maybe monad",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2024-02-14 20:00:11",
      "modified": "2025-08-14 10:20:17",
      "commits": 4
    }
  ],
  "_score": 7.074816440645176,
  "_indexed": true,
  "_nocasepkg": "chronicler",
  "_universes": [
    "b-rodrigues"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.3.0",
      "date": "2026-10-07T09:59:42.000Z",
      "distro": "resolute",
      "commit": "cdcbfd1a7b1cb90b9c8fd44675097aec7ef450ba",
      "fileid": "https://r2.ropensci.org/7b88a6f36ed2b8d0b063b19c20dc207e69edd1fe8be98420807dcc6ae1fc80ce",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/b-rodrigues/actions/runs/37603749372"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.3.0",
      "date": "2026-10-07T10:00:02.000Z",
      "distro": "resolute",
      "commit": "cdcbfd1a7b1cb90b9c8fd44675097aec7ef450ba",
      "fileid": "https://r2.ropensci.org/3ecd68e44f1c4ff484759e3e420c46ff6df6eb76d75fa88fd75680f1cd795572",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/b-rodrigues/actions/runs/37603749372"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.3.0",
      "date": "2026-10-07T12:26:14.000Z",
      "commit": "cdcbfd1a7b1cb90b9c8fd44675097aec7ef450ba",
      "fileid": "https://r2.ropensci.org/fa496e3a5ee421f058d938fac6c9dbf3a43004e5c9e249753a62e279a2f7bdf1",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/b-rodrigues/actions/runs/37603749372"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.3.0",
      "date": "2026-10-07T12:26:20.000Z",
      "commit": "cdcbfd1a7b1cb90b9c8fd44675097aec7ef450ba",
      "fileid": "https://r2.ropensci.org/a778fc2cfc3befe95a788ae61901e106931968dabac4097f32ac06f96a1a0fe6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/b-rodrigues/actions/runs/37603749372"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.3.0",
      "date": "2026-10-07T09:59:51.000Z",
      "commit": "cdcbfd1a7b1cb90b9c8fd44675097aec7ef450ba",
      "fileid": "https://r2.ropensci.org/0b24cc540d994b3b3d086892811cf9c41be9b473e2e0ed609eefb9494b2a2a72",
      "status": "success",
      "buildurl": "https://github.com/r-universe/b-rodrigues/actions/runs/37603749372"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.3.0",
      "date": "2026-10-07T09:59:11.000Z",
      "commit": "cdcbfd1a7b1cb90b9c8fd44675097aec7ef450ba",
      "fileid": "https://r2.ropensci.org/21aebe62004bbea006617f3e3eaa0602cd58b1b9bfc951e2f36df10b0644b04d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/b-rodrigues/actions/runs/37603749372"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.3.0",
      "date": "2026-10-07T09:59:10.000Z",
      "commit": "cdcbfd1a7b1cb90b9c8fd44675097aec7ef450ba",
      "fileid": "https://r2.ropensci.org/2b5e40ac6fce88c7ea3c8561e16bcb92a84de8b2edbe166e0e308c6cf39b8c22",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/b-rodrigues/actions/runs/37603749372"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.3.0",
      "date": "2026-10-07T09:59:06.000Z",
      "commit": "cdcbfd1a7b1cb90b9c8fd44675097aec7ef450ba",
      "fileid": "https://r2.ropensci.org/70f3ac25c89b7e90293541c75d3dd9e13b34d4c1b43fa24b04ae3cec91032823",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/b-rodrigues/actions/runs/37603749372"
    }
  ]
}