{
  "_id": "6ae470cb3d0f299392dd2e65",
  "Package": "fathom",
  "Type": "Package",
  "Title": "Qualitative Coding and Measurement with Local Language Models",
  "Version": "0.1.0",
  "Authors@R": "c(\nperson(\n\"Jose J.\", \"Alcocer\",\nemail = \"alcocer@protonmail.com\",\nrole = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0009-0005-0469-3689\")),\nperson(\"Ewon\", \"Baik\", email = \"ebaik@usc.edu\", role = \"ctb\",\ncomment = c(ORCID = \"0000-0002-4811-9401\")),\nperson(\"Karen\", \"Borglund\", email = \"borglund@usc.edu\", role = \"ctb\"),\nperson(\"Alain S.\", \"Muñoz\", email = \"santiago.mc1106@gmail.com\", role = \"ctb\"),\nperson(\"Sandra S.\", \"Muñoz\", email = \"saandramc2@gmail.com\", role = \"ctb\")\n)",
  "Description": "Qualitatively code a corpus by asking a local language\nmodel a set of questions about each document and reading the\nanswer from the model's next-token probability distribution\nrather than parsing its text. Extraction never fails to parse,\nreturns a probability per label, and reports the probability\nmass the model placed outside the label set. Includes the\nauditing steps that separate usable annotation from\nplausible-looking output. These inspect the documents that\nfired on an item and draw blinded samples for human coding.\nRequires a running Ollama server.",
  "License": "MIT + file LICENSE",
  "Note": "The `parlasent` dataset is distributed under CC BY-SA 4.0 rather\nthan MIT. See LICENSE.note.",
  "Encoding": "UTF-8",
  "SystemRequirements": "Ollama (>= 0.12.11); ffmpeg (for prepare_audio()\nand prepare_video()); whisperx or whispermlx (optional, for\nprepare_audio() and prepare_video())",
  "Config/testthat/edition": "3",
  "Roxygen": "list(markdown = TRUE)",
  "URL": "https://alcocer-jj.github.io/fathom,\nhttps://github.com/alcocer-jj/fathom",
  "BugReports": "https://github.com/alcocer-jj/fathom/issues",
  "Config/roxygen2/version": "8.0.0",
  "LazyData": "true",
  "VignetteBuilder": "knitr, quarto",
  "Config/pak/sysreqs": "libicu-dev libssl-dev",
  "Repository": "https://alcocer-jj.r-universe.dev",
  "Date/Publication": "2026-10-30 04:47:52 UTC",
  "RemoteUrl": "https://github.com/alcocer-jj/fathom",
  "RemoteRef": "HEAD",
  "RemoteSha": "fd309ad473b4431342eb1c5ac17dcfc99ad819e6",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-10-30 09:17:48 UTC",
    "User": "root"
  },
  "Author": "Jose J. Alcocer [aut, cre] (ORCID:\n<https://orcid.org/0009-0005-0469-3689>),\nEwon Baik [ctb] (ORCID: <https://orcid.org/0000-0002-4811-9401>),\nKaren Borglund [ctb],\nAlain S. Muñoz [ctb],\nSandra S. Muñoz [ctb]",
  "Maintainer": "Jose J. Alcocer <alcocer@protonmail.com>",
  "_user": "alcocer-jj",
  "_type": "src",
  "_file": "fathom_0.1.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/c5c7a07db1705c137fb73b9511f0dfb58d5018f3ff62b28e03bfba619efe94aa",
  "_filesize": 795359,
  "_sha256": "c5c7a07db1705c137fb73b9511f0dfb58d5018f3ff62b28e03bfba619efe94aa",
  "_expires": "2027-02-07T10:26:17.000Z",
  "_created": "2026-10-30T09:17:48.000Z",
  "_published": "2026-10-30T10:26:19.243Z",
  "_upstream": "https://github.com/alcocer-jj/fathom",
  "_status": "success",
  "_maintainer": {
    "name": "Jose J. Alcocer",
    "email": "alcocer@protonmail.com",
    "login": "alcocer-jj",
    "description": "",
    "uuid": 84480542,
    "orcid": "0009-0005-0469-3689"
  },
  "_jobs": [
    {
      "job": 123985104589,
      "time": 163,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12966756853"
    },
    {
      "job": 123985104406,
      "time": 161,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12967220160"
    },
    {
      "job": 123985104564,
      "time": 296,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "12970525826"
    },
    {
      "job": 123985104543,
      "time": 227,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12969847969"
    },
    {
      "job": 123983688451,
      "time": 209,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12966517141"
    },
    {
      "job": 123985104554,
      "time": 101,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "12966233686"
    },
    {
      "job": 123985104524,
      "time": 130,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "ERROR",
      "artifact": "12966337731"
    },
    {
      "job": 123985104503,
      "time": 161,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "ERROR",
      "artifact": "12966916404"
    },
    {
      "job": 123985104602,
      "time": 116,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "ERROR",
      "artifact": "12965469310"
    }
  ],
  "_buildurl": "https://github.com/r-universe/alcocer-jj/actions/runs/41031966379",
  "_commit": {
    "id": "fd309ad473b4431342eb1c5ac17dcfc99ad819e6",
    "author": "José J. Alcocer <84480542+alcocer-jj@users.noreply.github.com>",
    "committer": "José J. Alcocer <84480542+alcocer-jj@users.noreply.github.com>",
    "message": "version update\n",
    "time": 1793335672
  },
  "_distro": "resolute",
  "_host": "GitHub-Actions",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.4.0",
      "role": "Depends"
    },
    {
      "package": "cli",
      "version": ">= 3.0.0",
      "role": "Imports"
    },
    {
      "package": "digest",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "httr2",
      "role": "Imports"
    },
    {
      "package": "jsonlite",
      "role": "Imports"
    },
    {
      "package": "magrittr",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "stringi",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "tidyr",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "readr",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "version": ">= 2.13",
      "role": "Suggests"
    },
    {
      "package": "quarto",
      "role": "Suggests"
    },
    {
      "package": "withr",
      "role": "Suggests"
    },
    {
      "package": "ragg",
      "role": "Suggests"
    },
    {
      "package": "pander",
      "role": "Suggests"
    }
  ],
  "_owner": "alcocer-jj",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-44",
      "n": 3
    }
  ],
  "_tags": [],
  "_stars": 0,
  "_contributors": [
    {
      "user": "alcocer-jj",
      "count": 3,
      "uuid": 84480542
    }
  ],
  "_userbio": {
    "uuid": 84480542,
    "type": "user",
    "name": "José J. Alcocer",
    "followers": 7
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/fathom"
  },
  "_devurl": "https://github.com/alcocer-jj/fathom",
  "_pkgdown": "https://alcocer-jj.github.io/fathom",
  "_searchresults": 4,
  "_quarto": true,
  "_topics": [
    "quarto"
  ],
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/fathom.html",
    "extra/manual.pdf",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE"
  ],
  "_cranurl": false,
  "_exports": [
    "as_wide",
    "coder_reference",
    "coding_sample",
    "inspect_cases",
    "instrument",
    "item_report",
    "measure",
    "ollama_backend",
    "prepare_audio",
    "prepare_image",
    "prepare_video",
    "preview",
    "read_checkpoints",
    "template_items",
    "threshold_sensitivity",
    "validate_sample"
  ],
  "_datasets": [
    {
      "name": "ati",
      "title": "Mexican access-to-information requests",
      "object": "ati",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "id",
        "folio",
        "date",
        "dependency",
        "text"
      ],
      "rows": 300,
      "table": true,
      "tojson": true
    },
    {
      "name": "parlasent",
      "title": "UK parliamentary sentences, coded for sentiment on a six-level scale",
      "object": "parlasent",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "id",
        "sentence",
        "label",
        "reconciliation",
        "annotator1",
        "annotator2",
        "name",
        "party",
        "gender",
        "ruling",
        "date",
        "term",
        "document_id",
        "sentence_id",
        "split",
        "stratum_N",
        "stratum_n",
        "weight",
        "weight3"
      ],
      "rows": 100,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "as_wide",
      "title": "Pivot results into an analysis matrix",
      "topics": [
        "as_wide"
      ]
    },
    {
      "page": "ati",
      "title": "Mexican access-to-information requests",
      "topics": [
        "ati"
      ]
    },
    {
      "page": "coder_reference",
      "title": "Collapse several coders into one reference sheet",
      "topics": [
        "coder_reference"
      ]
    },
    {
      "page": "coding_sample",
      "title": "Draw a blinded sample for human coding",
      "topics": [
        "coding_sample"
      ]
    },
    {
      "page": "inspect_cases",
      "title": "Read the documents that fired on an item",
      "topics": [
        "inspect_cases"
      ]
    },
    {
      "page": "instrument",
      "title": "Construct a validated instrument of items",
      "topics": [
        "instrument"
      ]
    },
    {
      "page": "item_report",
      "title": "Summarize how each item behaved",
      "topics": [
        "item_report"
      ]
    },
    {
      "page": "measure",
      "title": "Measure documents against an instrument",
      "topics": [
        "measure",
        "measure.character",
        "measure.data.frame"
      ]
    },
    {
      "page": "ollama_backend",
      "title": "Configure an Ollama backend",
      "topics": [
        "ollama_backend"
      ]
    },
    {
      "page": "parlasent",
      "title": "UK parliamentary sentences, coded for sentiment on a six-level scale",
      "topics": [
        "parlasent"
      ]
    },
    {
      "page": "prepare_audio",
      "title": "Turn recordings into a corpus of annotated transcripts",
      "topics": [
        "prepare_audio"
      ]
    },
    {
      "page": "prepare_image",
      "title": "Turn a folder of images into a corpus measure() can take",
      "topics": [
        "prepare_image"
      ]
    },
    {
      "page": "prepare_video",
      "title": "Turn videos into a corpus carrying both what was shown and what was said",
      "topics": [
        "prepare_video"
      ]
    },
    {
      "page": "preview",
      "title": "Print the assembled prompt",
      "topics": [
        "preview"
      ]
    },
    {
      "page": "read_checkpoints",
      "title": "Read a checkpoint directory back into results",
      "topics": [
        "read_checkpoints"
      ]
    },
    {
      "page": "template_items",
      "title": "Build items by substituting categories into one question stem",
      "topics": [
        "template_items"
      ]
    },
    {
      "page": "threshold_sensitivity",
      "title": "Compute endorsement rates across a range of thresholds",
      "topics": [
        "threshold_sensitivity"
      ]
    },
    {
      "page": "validate_sample",
      "title": "Validate a completed coding sheet against the model",
      "topics": [
        "validate_sample"
      ]
    }
  ],
  "_readme": "https://github.com/alcocer-jj/fathom/raw/HEAD/README.md",
  "_rundeps": [
    "askpass",
    "cli",
    "cpp11",
    "curl",
    "digest",
    "dplyr",
    "generics",
    "glue",
    "httr2",
    "jsonlite",
    "lifecycle",
    "magrittr",
    "openssl",
    "pillar",
    "pkgconfig",
    "purrr",
    "R6",
    "rlang",
    "stringi",
    "stringr",
    "sys",
    "tibble",
    "tidyr",
    "tidyselect",
    "utf8",
    "vctrs",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "complete_run.qmd",
      "filename": "complete_run.html",
      "title": "A complete run",
      "engine": "quarto::html",
      "headings": [
        "Overview",
        "The corpus",
        "Step 1. Select a model",
        "Step 2. Code the qualitative instrument",
        "Previewing the model call",
        "Step 3. Extract response probabilities",
        "Step 4. Read the results",
        "Probabilities ($probs)",
        "Calls ($calls)",
        "Summarizing the results by question and label",
        "Inspecting question-document pairs",
        "The analysis matrix",
        "Step 5. Validate the LLM results",
        "Validating the sample using two coders",
        "Validating the model against the coders",
        "References"
      ],
      "created": "2026-10-30 04:33:09",
      "modified": "2026-10-30 04:33:09",
      "commits": 1
    },
    {
      "source": "quick_start.Rmd",
      "filename": "quick_start.html",
      "title": "Quick start",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Installation",
        "Tested Ollama models",
        "Checking the server and the model",
        "Working with an audio or video corpus",
        "ffmpeg",
        "macOS",
        "Windows",
        "Linux",
        "whisperx",
        "HuggingFace read token",
        "Workflow summary"
      ],
      "created": "2026-10-30 04:33:09",
      "modified": "2026-10-30 04:33:09",
      "commits": 1
    },
    {
      "source": "example_ati.qmd",
      "filename": "example_ati.html",
      "title": "What Mexicans ask their government for",
      "engine": "quarto::html",
      "headings": [
        "Overview",
        "The corpus",
        "Step 1. Preprocess the corpus",
        "Step 2. Code the qualitative instrument",
        "Previewing the model call",
        "Step 3. Extract response probabilities",
        "Step 4. Read the results",
        "Summarizing the results by question and label",
        "The analysis matrix",
        "Step 5. Check sensitivity to the cut point",
        "References"
      ],
      "created": "2026-10-30 04:33:09",
      "modified": "2026-10-30 04:33:09",
      "commits": 1
    }
  ],
  "_score": 3.1760912590556813,
  "_indexed": true,
  "_nocasepkg": "fathom",
  "_universes": [
    "alcocer-jj"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.0",
      "date": "2026-10-30T09:20:00.000Z",
      "distro": "resolute",
      "commit": "fd309ad473b4431342eb1c5ac17dcfc99ad819e6",
      "fileid": "https://r2.ropensci.org/76a825e2e7405ff3ed2dbf20cfbb41b42e6cbff182c62db64ee0edb2f3397a14",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/alcocer-jj/actions/runs/41031966379"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.1.0",
      "date": "2026-10-30T09:20:06.000Z",
      "distro": "resolute",
      "commit": "fd309ad473b4431342eb1c5ac17dcfc99ad819e6",
      "fileid": "https://r2.ropensci.org/2ccb72040ee40347b325bc19dad1fbaf3451ff5ab172dfcd9555c9c5aec0345c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/alcocer-jj/actions/runs/41031966379"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.0",
      "date": "2026-10-30T10:24:30.000Z",
      "commit": "fd309ad473b4431342eb1c5ac17dcfc99ad819e6",
      "fileid": "https://r2.ropensci.org/40b3f0365faefc755261f2359f5510bf40b19528a5e3508c04c0461d641473aa",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/alcocer-jj/actions/runs/41031966379"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.1.0",
      "date": "2026-10-30T10:24:12.000Z",
      "commit": "fd309ad473b4431342eb1c5ac17dcfc99ad819e6",
      "fileid": "https://r2.ropensci.org/62a04a07ce58182c184f2ef76c2a007bb0f7950e7f093951f8c7146c9c929307",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/alcocer-jj/actions/runs/41031966379"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.0",
      "date": "2026-10-30T09:19:50.000Z",
      "commit": "fd309ad473b4431342eb1c5ac17dcfc99ad819e6",
      "fileid": "https://r2.ropensci.org/6447cde8ee36f01a5526a173666e095638c50c4ef8032a637156087ddb19675e",
      "status": "success",
      "buildurl": "https://github.com/r-universe/alcocer-jj/actions/runs/41031966379"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.0",
      "date": "2026-10-30T09:19:29.000Z",
      "commit": "fd309ad473b4431342eb1c5ac17dcfc99ad819e6",
      "fileid": "https://r2.ropensci.org/3e01165b0487d6ff0bd5463664a7932c94f2e056dce5f5ace519e4cc7bb1bb0d",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/alcocer-jj/actions/runs/41031966379"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.0",
      "date": "2026-10-30T09:19:51.000Z",
      "commit": "fd309ad473b4431342eb1c5ac17dcfc99ad819e6",
      "fileid": "https://r2.ropensci.org/00075057d6db276a9886c1e7a7f19ddc4b6473c0227979855db185ca98e9dbdd",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/alcocer-jj/actions/runs/41031966379"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.1.0",
      "date": "2026-10-30T09:19:25.000Z",
      "commit": "fd309ad473b4431342eb1c5ac17dcfc99ad819e6",
      "fileid": "https://r2.ropensci.org/216afe97953f44b5e294de55bfd391348e1f3a65198909180792a6963878c0fe",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/alcocer-jj/actions/runs/41031966379"
    }
  ]
}