{
  "_id": "6ac8c47fde46216d5edd6cc5",
  "Package": "plumbr",
  "Version": "0.6.9",
  "Title": "Mutable and dynamic data models",
  "Author": "Michael Lawrence, Hadley Wickham",
  "URL": "https://github.com/ggobi/plumbr/wiki",
  "Maintainer": "Michael Lawrence <lawremi@gmail.com>",
  "Description": "The base R data.frame, like any vector, is copied upon\nmodification. This behavior is at odds with that of GUIs and\ninteractive graphics. To rectify this, plumbr provides a\nmutable, dynamic tabular data model. Models may be chained\ntogether to form the complex plumbing necessary for\nsophisticated graphical interfaces. Also included is a general\nframework for linking datasets; an typical use case would be a\nlinked brush.",
  "License": "GPL (>= 2)",
  "Collate": "'accessors.r' 'bindings.r' 'coercion.r' 'constructor.r'\n'dimensions.r' 'events.r' 'linking.r' 'mutalist.R' 'names.r'\n'print.r' 'proxy-filter.r' 'selection.r' 'utils.r' 's4.r'\n'import.r' 'globals.r'",
  "Repository": "https://ggobi.r-universe.dev",
  "Date/Publication": "2025-07-16 00:06:18 UTC",
  "RemoteUrl": "https://github.com/ggobi/plumbr",
  "RemoteRef": "HEAD",
  "RemoteSha": "0855e87fcb477e68457008835a4d393719b649a7",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-10-09 09:53:47 UTC",
    "User": "root"
  },
  "_user": "ggobi",
  "_type": "src",
  "_file": "plumbr_0.6.9.tar.gz",
  "_fileid": "https://r2.ropensci.org/b865e2fd5d6fcd5afc89dab75dd7ca07c4c27731ca45df2930e5c1671b4199af",
  "_filesize": 152218,
  "_sha256": "b865e2fd5d6fcd5afc89dab75dd7ca07c4c27731ca45df2930e5c1671b4199af",
  "_expires": "2027-01-17T10:39:57.000Z",
  "_created": "2026-10-09T09:53:47.000Z",
  "_published": "2026-10-09T10:39:59.136Z",
  "_buildurl": "https://github.com/r-universe/ggobi/actions/runs/37913868684",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_jobs": [
    {
      "job": 113766428005,
      "time": 100,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "WARNING",
      "artifact": "11609625390"
    },
    {
      "job": 113766427982,
      "time": 100,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "WARNING",
      "artifact": "11609445489"
    },
    {
      "job": 113766427882,
      "time": 175,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "WARNING",
      "artifact": "11610252848"
    },
    {
      "job": 113766428077,
      "time": 145,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "WARNING",
      "artifact": "11610624403"
    },
    {
      "job": 113765400667,
      "time": 176,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11608536424"
    },
    {
      "job": 113766427797,
      "time": 93,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "11609630358"
    },
    {
      "job": 113766428008,
      "time": 66,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "WARNING",
      "artifact": "11609600285"
    },
    {
      "job": 113766427949,
      "time": 73,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "WARNING",
      "artifact": "11608896463"
    },
    {
      "job": 113766427952,
      "time": 55,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "WARNING",
      "artifact": "11608831450"
    }
  ],
  "_upstream": "https://github.com/ggobi/plumbr",
  "_commit": {
    "id": "0855e87fcb477e68457008835a4d393719b649a7",
    "author": "Michael Lawrence <lawremi@gmail.com>",
    "committer": "Michael Lawrence <lawremi@gmail.com>",
    "message": "Update maintainer e-mail to lawremi@gmail.com\n",
    "time": 1752624378
  },
  "_maintainer": {
    "name": "Michael Lawrence",
    "email": "lawremi@gmail.com",
    "login": "lawremi",
    "linkedin": "in/michael-lawrence-74a9b482",
    "description": "Member of R core, contributor to @Bioconductor.",
    "uuid": 158190
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 2.10.0",
      "role": "Depends"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "objectSignals",
      "version": ">= 0.10.2",
      "role": "Imports"
    },
    {
      "package": "plyr",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "role": "Suggests"
    },
    {
      "package": "MASS",
      "role": "Suggests"
    }
  ],
  "_owner": "ggobi",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [],
  "_tags": [],
  "_stars": 18,
  "_contributors": [
    {
      "user": "lawremi",
      "count": 50,
      "uuid": 158190
    },
    {
      "user": "yihui",
      "count": 25,
      "uuid": 163582
    },
    {
      "user": "schloerke",
      "count": 1,
      "uuid": 93231
    },
    {
      "user": "hadley",
      "count": 1,
      "uuid": 4196
    }
  ],
  "_userbio": {
    "uuid": 423638,
    "type": "organization",
    "name": "GGobi foundation for interactive and dynamic graphics",
    "followers": 38
  },
  "_downloads": {
    "count": 270,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/plumbr"
  },
  "_devurl": "https://github.com/ggobi/plumbr",
  "_searchresults": 28,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/plumbr.html"
  ],
  "_homeurl": "https://github.com/ggobi/plumbr",
  "_realowner": "ggobi",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.6.3",
      "date": "2011-10-26"
    },
    {
      "version": "0.6.5",
      "date": "2011-11-02"
    },
    {
      "version": "0.6.6",
      "date": "2012-03-18"
    },
    {
      "version": "0.6.9",
      "date": "2014-02-22"
    },
    {
      "version": "0.6.10",
      "date": "2022-05-06"
    }
  ],
  "_exports": [
    "add_listener",
    "as.factor",
    "as.matrix",
    "as.mutaframe",
    "DataSelection",
    "duplex_data_linker",
    "is_paused",
    "is.mutaframe",
    "ItemSelection",
    "match_any_linker",
    "mutaframe",
    "mutalist",
    "mutalist2env",
    "notify_listeners",
    "pause",
    "RegionSelection",
    "remove_listener",
    "shape_changed",
    "unpause",
    "which"
  ],
  "_help": [
    {
      "page": "accessors",
      "title": "Extraction and Replacement",
      "topics": [
        "$.mutaframe",
        "$<-.mutaframe",
        "[.mutaframe",
        "[<-.mutaframe",
        "[[.mutaframe",
        "[[<-.mutaframe"
      ]
    },
    {
      "page": "add_listener",
      "title": "Plumbr events",
      "topics": [
        "add_listener"
      ]
    },
    {
      "page": "as.data.frame.mutaframe",
      "title": "Coercion to data.frame",
      "topics": [
        "as.data.frame.mutaframe"
      ]
    },
    {
      "page": "as.list.mutaframe",
      "title": "Coercion to list",
      "topics": [
        "as.list.mutaframe"
      ]
    },
    {
      "page": "as.mutaframe",
      "title": "Coercion to mutaframe",
      "topics": [
        "as.mutaframe",
        "as.mutaframe.data.frame",
        "as.mutaframe.default",
        "as.mutaframe.mutaframe"
      ]
    },
    {
      "page": "changed",
      "title": "Get the 'changed' signal",
      "topics": [
        "changed"
      ]
    },
    {
      "page": "combine_data_events",
      "title": "Combine list of events into single event.",
      "topics": [
        "combine_data_events"
      ]
    },
    {
      "page": "DataSelection",
      "title": "Selection in Data",
      "topics": [
        "DataSelection"
      ]
    },
    {
      "page": "duplex_data_linker",
      "title": "Duplex linking",
      "topics": [
        "duplex_data_linker"
      ]
    },
    {
      "page": "is_paused",
      "title": "Is a mutaframe currently paused?",
      "topics": [
        "is_paused"
      ]
    },
    {
      "page": "is.mutaframe",
      "title": "Test for mutaframes",
      "topics": [
        "is.mutaframe"
      ]
    },
    {
      "page": "ItemSelection-class",
      "title": "The 'ItemSelection' class implements 'Selection' for the very common case of selecting items in a dataset, optionally with weights.",
      "topics": [
        "as.factor,ItemSelection-method",
        "as.integer,ItemSelection-method",
        "as.logical,ItemSelection-method",
        "as.numeric,ItemSelection-method",
        "as.vector,ItemSelection-method",
        "class:ItemSelection",
        "coerce,ItemSelection,factor-method",
        "coerce,ItemSelection,integer-method",
        "coerce,ItemSelection,logical-method",
        "coerce,ItemSelection,numeric-method",
        "coerce,ItemSelection,vector-method",
        "ItemSelection",
        "ItemSelection-class",
        "which,ItemSelection-method"
      ]
    },
    {
      "page": "match_any_linker",
      "title": "match_any_linker",
      "topics": [
        "match_any_linker"
      ]
    },
    {
      "page": "mutaframe",
      "title": "Create a mutaframe, a mutable data.frame",
      "topics": [
        "mutaframe",
        "mutaframe-class"
      ]
    },
    {
      "page": "mutalist",
      "title": "mutalist",
      "topics": [
        "$.mutalist",
        "$<-.mutalist",
        "as.data.frame.mutalist",
        "as.list.mutalist",
        "c.mutalist",
        "head.mutalist",
        "lapply.mutalist",
        "length.mutalist",
        "mutalist",
        "mutalist-class",
        "mutalist2env",
        "names.mutalist",
        "names<-.mutalist",
        "print.mutalist",
        "rep.mutalist",
        "rev.mutalist",
        "tail.mutalist",
        "unlist.mutalist",
        "[.mutalist",
        "[<-.mutalist",
        "[[.mutalist",
        "[[<-.mutalist"
      ]
    },
    {
      "page": "notify_listeners",
      "title": "Notify listeners that data has changed.",
      "topics": [
        "notify_listeners"
      ]
    },
    {
      "page": "pause",
      "title": "Pause (cache) events.",
      "topics": [
        "pause"
      ]
    },
    {
      "page": "proxy_bindings",
      "title": "Generate binding for proxies.",
      "topics": [
        "proxy_bindings"
      ]
    },
    {
      "page": "raw_binding",
      "title": "Generate binding for raw values",
      "topics": [
        "raw_binding"
      ]
    },
    {
      "page": "raw_bindings",
      "title": "Generate binding for raw values",
      "topics": [
        "raw_bindings"
      ]
    },
    {
      "page": "RegionSelection-class",
      "title": "The 'ItemSelection' class implements 'Selection' for the selection of 1D and 2D regions in plot/data space.",
      "topics": [
        "as.matrix,RegionSelection-method",
        "class:RegionSelection",
        "coerce,RegionSelection,matrix-method",
        "RegionSelection",
        "RegionSelection-class"
      ]
    },
    {
      "page": "remove_listener",
      "title": "Remove a listener, identified by the ID returned by 'add_listener'.",
      "topics": [
        "remove_listener"
      ]
    },
    {
      "page": "Selection-class",
      "title": "Selection",
      "topics": [
        "class:Selection",
        "Selection-class"
      ]
    },
    {
      "page": "shape_changed",
      "title": "Is the event a shape changed event?",
      "topics": [
        "shape_changed"
      ]
    },
    {
      "page": "unpause",
      "title": "Unpause (reply) events.",
      "topics": [
        "unpause"
      ]
    },
    {
      "page": "variable_names",
      "title": "Make valid variable names",
      "topics": [
        "variable_names"
      ]
    }
  ],
  "_rundeps": [
    "objectSignals"
  ],
  "_score": 4.179551791165188,
  "_indexed": true,
  "_nocasepkg": "plumbr",
  "_universes": [
    "ggobi",
    "lawremi"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.6.9",
      "date": "2026-10-09T09:55:36.000Z",
      "distro": "resolute",
      "commit": "0855e87fcb477e68457008835a4d393719b649a7",
      "fileid": "https://r2.ropensci.org/25a3ef2a1a4b5e641ec61bd9f3d25c8c318cc52586dd6d2b7f335e4f5a8fcbb7",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/ggobi/actions/runs/37913868684"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.6.9",
      "date": "2026-10-09T09:55:35.000Z",
      "distro": "resolute",
      "commit": "0855e87fcb477e68457008835a4d393719b649a7",
      "fileid": "https://r2.ropensci.org/6b76cc62f320c8dfd962c548c6cdd92ce6eb9b7e9741157388af9bc8633dc2c1",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/ggobi/actions/runs/37913868684"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.6.9",
      "date": "2026-10-09T10:38:04.000Z",
      "commit": "0855e87fcb477e68457008835a4d393719b649a7",
      "fileid": "https://r2.ropensci.org/9337b4ff5a9e62cf594f4a599b7a089c3265c7af651abb14b4a407948d51e28b",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/ggobi/actions/runs/37913868684"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.6.9",
      "date": "2026-10-09T10:38:51.000Z",
      "commit": "0855e87fcb477e68457008835a4d393719b649a7",
      "fileid": "https://r2.ropensci.org/d7fb3296fb3524c61b71041316686646d90e86b7d14896367d247f2310e3b13e",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/ggobi/actions/runs/37913868684"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.6.9",
      "date": "2026-10-09T09:55:43.000Z",
      "commit": "0855e87fcb477e68457008835a4d393719b649a7",
      "fileid": "https://r2.ropensci.org/a111b25cf953c213a6197278df8275a2eb8d21b4cf50cf0c2c859ffa45d3a826",
      "status": "success",
      "buildurl": "https://github.com/r-universe/ggobi/actions/runs/37913868684"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.6.9",
      "date": "2026-10-09T09:54:58.000Z",
      "commit": "0855e87fcb477e68457008835a4d393719b649a7",
      "fileid": "https://r2.ropensci.org/62f2488864c8bba1e8bc0a5c20b9fc12930a11bee2a60a0bfd67220eb4625b6a",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/ggobi/actions/runs/37913868684"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.6.9",
      "date": "2026-10-09T09:55:04.000Z",
      "commit": "0855e87fcb477e68457008835a4d393719b649a7",
      "fileid": "https://r2.ropensci.org/78a7089abdf3e80252c7e0324e98e6caccba9e56cf8ba59c9ceb2e6e4338fbef",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/ggobi/actions/runs/37913868684"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.6.9",
      "date": "2026-10-09T09:54:50.000Z",
      "commit": "0855e87fcb477e68457008835a4d393719b649a7",
      "fileid": "https://r2.ropensci.org/d9a10c6eafe35f0c8297826a4bb269cd275420a93a3b9dd198dd42222414361e",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/ggobi/actions/runs/37913868684"
    }
  ]
}