{
  "_id": "6ad9ec90096e831c03234871",
  "Package": "quallmer",
  "Type": "Package",
  "Title": "Qualitative Analysis with Large Language Models",
  "Version": "0.6.0.9000",
  "Authors@R": "c(\nperson(\n\"Seraphine F.\", \"Maerz\",\nemail = \"seraphine.maerz@unimelb.edu.au\",\nrole = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0002-7173-9617\")\n),\nperson(\n\"Kenneth\", \"Benoit\",\nemail = \"kbenoit@smu.edu.sg\",\nrole = c(\"aut\"), comment = c(ORCID = \"0000-0002-0797-564X\")\n)\n)",
  "Description": "Tools for AI-assisted qualitative data coding using large\nlanguage models ('LLMs') via the 'ellmer' package, supporting\nproviders including 'OpenAI', 'Anthropic', 'Google', 'Azure',\nand local models via 'Ollama'. Provides a 'codebook'-based\nworkflow for defining coding instructions and applying them to\ntexts, images, audio recordings, and other data, with optional\ntranscription of audio and translation of texts before coding\nthrough 'DeepL', 'Google', 'Qwen-MT', or a chat model. Includes\nbuilt-in 'codebooks' for common applications such as sentiment\nanalysis and policy coding, and functions for creating custom\n'codebooks' for specific research questions. Supports\nsystematic replication across models and settings, computing\ninter-coder reliability statistics including Krippendorff's\nalpha (Krippendorff 2019, <doi:10.4135/9781071878781>) and\nFleiss' kappa (Fleiss 1971, <doi:10.1037/h0031619>), as well as\ngold-standard validation metrics including accuracy, precision,\nrecall, and F1 scores following Sokolova and Lapalme (2009,\n<doi:10.1016/j.ipm.2009.03.002>). Provides audit trail\nfunctionality for documenting coding workflows following\nLincoln and Guba's (1985, ISBN:0803924313) framework for\nestablishing trustworthiness in qualitative research.",
  "License": "GPL (>= 3)",
  "URL": "https://quallmer.github.io/quallmer/",
  "Encoding": "UTF-8",
  "LazyData": "true",
  "Roxygen": "list(markdown = TRUE)",
  "Config/testthat/edition": "3",
  "VignetteBuilder": "knitr",
  "Config/roxygen2/version": "8.1.1",
  "Config/pak/sysreqs": "libxml2-dev libssl-dev",
  "Repository": "https://quallmer.r-universe.dev",
  "Date/Publication": "2026-10-22 10:06:39 UTC",
  "RemoteUrl": "https://github.com/quallmer/quallmer",
  "RemoteRef": "HEAD",
  "RemoteSha": "664ea34970bc1ec347985a6de1e9e2bfb28975db",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-10-22 10:37:56 UTC",
    "User": "root"
  },
  "Author": "Seraphine F. Maerz [aut, cre] (ORCID:\n<https://orcid.org/0000-0002-7173-9617>),\nKenneth Benoit [aut] (ORCID: <https://orcid.org/0000-0002-0797-564X>)",
  "Maintainer": "Seraphine F. Maerz <seraphine.maerz@unimelb.edu.au>",
  "_user": "quallmer",
  "_type": "src",
  "_file": "quallmer_0.6.0.9000.tar.gz",
  "_fileid": "https://r2.ropensci.org/615f0101ec96e8abb0afe98c72e2c9d7dad5d680d49a24e21b47847399dd872a",
  "_filesize": 2126324,
  "_sha256": "615f0101ec96e8abb0afe98c72e2c9d7dad5d680d49a24e21b47847399dd872a",
  "_expires": "2027-01-30T10:59:26.000Z",
  "_created": "2026-10-22T10:37:56.000Z",
  "_published": "2026-10-22T10:59:28.306Z",
  "_upstream": "https://github.com/quallmer/quallmer",
  "_status": "success",
  "_maintainer": {
    "name": "Seraphine F. Maerz",
    "email": "seraphine.maerz@unimelb.edu.au",
    "login": "seraphinem",
    "description": "",
    "uuid": 25905453,
    "orcid": "0000-0002-7173-9617"
  },
  "_jobs": [
    {
      "job": 119776828876,
      "time": 225,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12419014689"
    },
    {
      "job": 119776828975,
      "time": 231,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12419322772"
    },
    {
      "job": 119776829001,
      "time": 164,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "12420582098"
    },
    {
      "job": 119776829059,
      "time": 201,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12420261737"
    },
    {
      "job": 119774010994,
      "time": 407,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12418204988"
    },
    {
      "job": 119776828990,
      "time": 134,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "12419307748"
    },
    {
      "job": 119776828968,
      "time": 164,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12419312826"
    },
    {
      "job": 119776828866,
      "time": 204,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "12420465041"
    },
    {
      "job": 119776828861,
      "time": 203,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12419402573"
    }
  ],
  "_buildurl": "https://github.com/r-universe/quallmer/actions/runs/39763717631",
  "_commit": {
    "id": "664ea34970bc1ec347985a6de1e9e2bfb28975db",
    "author": "Kenneth Benoit <kbenoit@smu.edu.sg>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Merge pull request #207 from quallmer/translate-per-document-languages-200\n\nAccept per-document from and to in qlm_translate()",
    "time": 1792663599
  },
  "_distro": "resolute",
  "_host": "GitHub-Actions",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.5.0",
      "role": "Depends"
    },
    {
      "package": "ellmer",
      "version": ">= 0.5.0",
      "role": "Depends"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "curl",
      "role": "Imports"
    },
    {
      "package": "digest",
      "role": "Imports"
    },
    {
      "package": "httr2",
      "role": "Imports"
    },
    {
      "package": "jsonlite",
      "role": "Imports"
    },
    {
      "package": "lifecycle",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "vctrs",
      "role": "Imports"
    },
    {
      "package": "xml2",
      "role": "Imports"
    },
    {
      "package": "av",
      "role": "Suggests"
    },
    {
      "package": "ggplot2",
      "role": "Suggests"
    },
    {
      "package": "janitor",
      "role": "Suggests"
    },
    {
      "package": "keyring",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "magick",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "kableExtra",
      "role": "Suggests"
    },
    {
      "package": "mockery",
      "role": "Suggests"
    },
    {
      "package": "quanteda",
      "role": "Suggests"
    },
    {
      "package": "quanteda.tidy",
      "role": "Suggests"
    },
    {
      "package": "withr",
      "role": "Suggests"
    },
    {
      "package": "yardstick",
      "role": "Suggests"
    }
  ],
  "_owner": "quallmer",
  "_selfowned": true,
  "_usedby": 1,
  "_updates": [
    {
      "week": "2025-44",
      "n": 17
    },
    {
      "week": "2025-45",
      "n": 44
    },
    {
      "week": "2025-48",
      "n": 20
    },
    {
      "week": "2025-49",
      "n": 13
    },
    {
      "week": "2025-50",
      "n": 11
    },
    {
      "week": "2025-51",
      "n": 7
    },
    {
      "week": "2026-01",
      "n": 12
    },
    {
      "week": "2026-02",
      "n": 3
    },
    {
      "week": "2026-03",
      "n": 2
    },
    {
      "week": "2026-04",
      "n": 1
    },
    {
      "week": "2026-05",
      "n": 2
    },
    {
      "week": "2026-06",
      "n": 11
    },
    {
      "week": "2026-07",
      "n": 12
    },
    {
      "week": "2026-08",
      "n": 1
    },
    {
      "week": "2026-14",
      "n": 3
    },
    {
      "week": "2026-18",
      "n": 4
    },
    {
      "week": "2026-19",
      "n": 15
    },
    {
      "week": "2026-23",
      "n": 2
    },
    {
      "week": "2026-24",
      "n": 1
    },
    {
      "week": "2026-25",
      "n": 2
    },
    {
      "week": "2026-26",
      "n": 1
    },
    {
      "week": "2026-36",
      "n": 34
    },
    {
      "week": "2026-37",
      "n": 5
    },
    {
      "week": "2026-38",
      "n": 1
    },
    {
      "week": "2026-40",
      "n": 6
    },
    {
      "week": "2026-42",
      "n": 3
    },
    {
      "week": "2026-43",
      "n": 8
    }
  ],
  "_tags": [
    {
      "name": "v0.1.1",
      "date": "2025-12-11"
    },
    {
      "name": "v0.3.0",
      "date": "2026-02-12"
    },
    {
      "name": "v0.4.0",
      "date": "2026-05-06"
    },
    {
      "name": "v0.5.0",
      "date": "2026-09-29"
    },
    {
      "name": "v0.6.0",
      "date": "2026-10-20"
    }
  ],
  "_stars": 46,
  "_contributors": [
    {
      "user": "kbenoit",
      "count": 436,
      "uuid": 2182246
    },
    {
      "user": "seraphinem",
      "count": 190,
      "uuid": 25905453
    },
    {
      "user": "copilot",
      "count": 1,
      "uuid": 198982749
    }
  ],
  "_userbio": {
    "uuid": 254825112,
    "type": "organization",
    "name": "quallmer",
    "followers": 7
  },
  "_downloads": {
    "count": 431,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/quallmer"
  },
  "_devurl": "https://github.com/quallmer/quallmer",
  "_pkgdown": "https://quallmer.github.io/quallmer/",
  "_searchresults": 60,
  "_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/quallmer.html",
    "extra/readme.html",
    "extra/readme.md"
  ],
  "_homeurl": "https://github.com/quallmer/quallmer",
  "_realowner": "quallmer",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.3.0",
      "date": "2026-02-16"
    },
    {
      "version": "0.4.0",
      "date": "2026-05-06"
    },
    {
      "version": "0.5.0",
      "date": "2026-09-29"
    },
    {
      "version": "0.6.0",
      "date": "2026-10-21"
    }
  ],
  "_exports": [
    "annotate",
    "as_qlm_codebook",
    "as_qlm_coded",
    "codebook",
    "inputs",
    "qlm_backfill",
    "qlm_code",
    "qlm_codebook",
    "qlm_compare",
    "qlm_failures",
    "qlm_humancoded",
    "qlm_meta",
    "qlm_meta<-",
    "qlm_register_provider",
    "qlm_replicate",
    "qlm_segment",
    "qlm_trail",
    "qlm_transcribe",
    "qlm_translate",
    "qlm_validate",
    "task",
    "trail_compare",
    "trail_icr",
    "trail_matrix",
    "trail_record",
    "trail_settings",
    "validate"
  ],
  "_datasets": [
    {
      "name": "data_codebook_immigration",
      "title": "Immigration policy codebook based on Benoit et al. (2016)",
      "object": "data_codebook_immigration",
      "class": [
        "qlm_codebook",
        "task"
      ],
      "fields": [],
      "table": false,
      "tojson": false
    },
    {
      "name": "data_codebook_sentiment",
      "title": "Sentiment analysis codebook for movie reviews",
      "object": "data_codebook_sentiment",
      "class": [
        "qlm_codebook",
        "task"
      ],
      "fields": [],
      "table": false,
      "tojson": false
    },
    {
      "name": "data_corpus_LMRDsample",
      "title": "Sample from Large Movie Review Dataset (Maas et al. 2011)",
      "object": "data_corpus_LMRDsample",
      "class": [
        "qlm_corpus",
        "corpus",
        "character"
      ],
      "fields": [],
      "table": false,
      "tojson": true
    },
    {
      "name": "data_corpus_manifsentsUK2010sample",
      "title": "Sample of UK manifesto sentences 2010 crowd-annotated for immigration",
      "object": "data_corpus_manifsentsUK2010sample",
      "class": [
        "qlm_corpus",
        "corpus",
        "character"
      ],
      "fields": [],
      "table": false,
      "tojson": true
    },
    {
      "name": "data_corpus_MPexamples",
      "title": "Manifesto Project example manifestos and gold-standard segmentation",
      "object": "data_corpus_MPexamples",
      "class": [
        "qlm_corpus",
        "corpus",
        "character"
      ],
      "fields": [],
      "table": false,
      "tojson": true
    },
    {
      "name": "data_corpus_MPexamplesseg",
      "title": "Manifesto Project example manifestos and gold-standard segmentation",
      "object": "data_corpus_MPexamplesseg",
      "class": [
        "corpus",
        "character"
      ],
      "fields": [],
      "table": false,
      "tojson": true
    },
    {
      "name": "data_corpus_ms2020sample",
      "title": "Sample corpus of political speeches from Maerz & Schneider (2020)",
      "object": "data_corpus_ms2020sample",
      "class": [
        "qlm_corpus",
        "corpus",
        "character"
      ],
      "fields": [],
      "table": false,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "accessors",
      "title": "Accessor functions for quallmer objects",
      "topics": [
        "accessors"
      ]
    },
    {
      "page": "as_qlm_coded",
      "title": "Convert coded data to qlm_coded format",
      "topics": [
        "as_qlm_coded",
        "as_qlm_coded.data.frame",
        "as_qlm_coded.default"
      ]
    },
    {
      "page": "corpus.qlm_coded",
      "title": "Convert translations and coded text fields to a corpus",
      "topics": [
        "corpus.qlm_coded",
        "corpus.qlm_translation"
      ]
    },
    {
      "page": "data_codebook_immigration",
      "title": "Immigration policy codebook based on Benoit et al. (2016)",
      "topics": [
        "data_codebook_immigration"
      ]
    },
    {
      "page": "data_codebook_sentiment",
      "title": "Sentiment analysis codebook for movie reviews",
      "topics": [
        "data_codebook_sentiment"
      ]
    },
    {
      "page": "data_corpus_LMRDsample",
      "title": "Sample from Large Movie Review Dataset (Maas et al. 2011)",
      "topics": [
        "data_corpus_LMRDsample"
      ]
    },
    {
      "page": "data_corpus_manifsentsUK2010sample",
      "title": "Sample of UK manifesto sentences 2010 crowd-annotated for immigration",
      "topics": [
        "data_corpus_manifsentsUK2010sample"
      ]
    },
    {
      "page": "data_corpus_MPexamples",
      "title": "Manifesto Project example manifestos and gold-standard segmentation",
      "topics": [
        "data_corpus_MPexamples",
        "data_corpus_MPexamplesseg"
      ]
    },
    {
      "page": "data_corpus_ms2020sample",
      "title": "Sample corpus of political speeches from Maerz & Schneider (2020)",
      "topics": [
        "data_corpus_ms2020sample"
      ]
    },
    {
      "page": "qlm_backfill",
      "title": "Re-code the units a run failed on",
      "topics": [
        "qlm_backfill"
      ]
    },
    {
      "page": "qlm_code",
      "title": "Code qualitative data with an LLM",
      "topics": [
        "qlm_code"
      ]
    },
    {
      "page": "qlm_codebook",
      "title": "Define a qualitative codebook",
      "topics": [
        "qlm_codebook"
      ]
    },
    {
      "page": "qlm_compare",
      "title": "Compare coded results for inter-rater reliability",
      "topics": [
        "qlm_compare"
      ]
    },
    {
      "page": "qlm_failures",
      "title": "List the units a coding run failed on",
      "topics": [
        "qlm_failures"
      ]
    },
    {
      "page": "qlm_meta",
      "title": "Get or set quallmer object metadata",
      "topics": [
        "qlm_meta",
        "qlm_meta<-"
      ]
    },
    {
      "page": "qlm_register_provider",
      "title": "Register an OpenAI-compatible endpoint",
      "topics": [
        "qlm_register_provider"
      ]
    },
    {
      "page": "qlm_replicate",
      "title": "Replicate a coding task",
      "topics": [
        "qlm_replicate"
      ]
    },
    {
      "page": "qlm_segment",
      "title": "Segment texts using an LLM",
      "topics": [
        "qlm_segment"
      ]
    },
    {
      "page": "qlm_trail",
      "title": "Create an audit trail from quallmer objects",
      "topics": [
        "qlm_trail"
      ]
    },
    {
      "page": "qlm_transcribe",
      "title": "Transcribe audio recordings",
      "topics": [
        "qlm_transcribe"
      ]
    },
    {
      "page": "qlm_translate",
      "title": "Translate texts",
      "topics": [
        "qlm_translate"
      ]
    },
    {
      "page": "qlm_validate",
      "title": "Validate coded results against a gold standard",
      "topics": [
        "qlm_validate"
      ]
    }
  ],
  "_pkglogo": "https://github.com/quallmer/quallmer/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/quallmer/quallmer/raw/HEAD/README.md",
  "_rundeps": [
    "askpass",
    "cli",
    "coro",
    "curl",
    "digest",
    "ellmer",
    "fastmap",
    "glue",
    "httr2",
    "jsonlite",
    "later",
    "lifecycle",
    "magrittr",
    "openssl",
    "otel",
    "pillar",
    "pkgconfig",
    "promises",
    "R6",
    "Rcpp",
    "rlang",
    "S7",
    "sys",
    "tibble",
    "utf8",
    "vctrs",
    "withr",
    "xml2"
  ],
  "_vignettes": [
    {
      "source": "getting-started.Rmd",
      "filename": "getting-started.html",
      "title": "Getting started with quallmer",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Basic usage",
        "The quallmer workflow",
        "Setting up LLM access"
      ],
      "created": "2025-11-01 03:36:28",
      "modified": "2026-09-28 09:25:45",
      "commits": 21
    }
  ],
  "_score": 8.349394100943869,
  "_indexed": true,
  "_nocasepkg": "quallmer",
  "_universes": [
    "quallmer",
    "seraphinem"
  ],
  "_previous": "0.6.0",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.6.0.9000",
      "date": "2026-10-22T10:40:21.000Z",
      "distro": "resolute",
      "commit": "664ea34970bc1ec347985a6de1e9e2bfb28975db",
      "fileid": "https://r2.ropensci.org/70ebf441cdfd3ecd18e9520138330c74d8a2a40f5b68e6553acbf3d3cb083fe6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/quallmer/actions/runs/39763717631"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.6.0.9000",
      "date": "2026-10-22T10:40:15.000Z",
      "distro": "resolute",
      "commit": "664ea34970bc1ec347985a6de1e9e2bfb28975db",
      "fileid": "https://r2.ropensci.org/59c319e88f02dae93e5d2819c48d83af99b30980769fdf2ec3dbbbcfb690ec7d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/quallmer/actions/runs/39763717631"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.6.0.9000",
      "date": "2026-10-22T10:57:37.000Z",
      "commit": "664ea34970bc1ec347985a6de1e9e2bfb28975db",
      "fileid": "https://r2.ropensci.org/de9908546a177ce56037d0568c12134bcd8a249c6db243973d9b36b266d03f04",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/quallmer/actions/runs/39763717631"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.6.0.9000",
      "date": "2026-10-22T10:51:14.000Z",
      "commit": "664ea34970bc1ec347985a6de1e9e2bfb28975db",
      "fileid": "https://r2.ropensci.org/05b33ed5576cef15f70e320d5b2977050b99a6fc85d39f84f4ab4dd9ad666de7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/quallmer/actions/runs/39763717631"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.6.0.9000",
      "date": "2026-10-22T10:40:34.000Z",
      "commit": "664ea34970bc1ec347985a6de1e9e2bfb28975db",
      "fileid": "https://r2.ropensci.org/904393aa658a368c390801cde46c9219af4a864321a679b25c5ff72430430b9b",
      "status": "success",
      "buildurl": "https://github.com/r-universe/quallmer/actions/runs/39763717631"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.6.0.9000",
      "date": "2026-10-22T10:39:14.000Z",
      "commit": "664ea34970bc1ec347985a6de1e9e2bfb28975db",
      "fileid": "https://r2.ropensci.org/29effac731d6b2283fa44a9b7054ffc95c174117fbe03b88c201035013ded283",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/quallmer/actions/runs/39763717631"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.6.0.9000",
      "date": "2026-10-22T10:39:17.000Z",
      "commit": "664ea34970bc1ec347985a6de1e9e2bfb28975db",
      "fileid": "https://r2.ropensci.org/4dcd6a0443918e34bfc7230dc4a06d84ef85728f60abb8f63410d3ae3741c124",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/quallmer/actions/runs/39763717631"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.6.0.9000",
      "date": "2026-10-22T10:39:18.000Z",
      "commit": "664ea34970bc1ec347985a6de1e9e2bfb28975db",
      "fileid": "https://r2.ropensci.org/4ec07ade98fd625cfb45ca991e519be76b734e9bc8b291289312f62508137800",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/quallmer/actions/runs/39763717631"
    }
  ]
}