{
  "_id": "6acfd231e2d863f662953253",
  "Package": "aniread",
  "Type": "Package",
  "Title": "An R package for reading and writing movement data",
  "Version": "0.7.0.9006",
  "Authors@R": "person(\n\"Mikkel\",\n\"Roald-Arbøl\",\nrole = c(\"aut\", \"cre\", \"cph\"),\nemail = \"animovement.84w1m@passmail.com\",\ncomment = c(ORCID = \"0000-0002-9998-0058\")\n)",
  "Description": "An R package for reading and writing movement data.",
  "License": "MIT + file LICENSE",
  "URL": "https://animovement.dev/aniread/,\nhttps://github.com/animovement/aniread/",
  "BugReports": "https://github.com/animovement/aniread/issues",
  "Encoding": "UTF-8",
  "Language": "en-GB",
  "Additional_repositories": "https://animovement.r-universe.dev,\nhttps://bioc.r-universe.dev",
  "Config/testthat/edition": "3",
  "Config/Needs/website": "animovement/animovementtemplate, knitr",
  "Roxygen": "list(markdown = TRUE)",
  "Config/roxygen2/version": "8.1.0",
  "Repository": "https://animovement.r-universe.dev",
  "Date/Publication": "2026-10-14 15:01:49 UTC",
  "RemoteUrl": "https://github.com/animovement/aniread",
  "RemoteRef": "HEAD",
  "RemoteSha": "22974a73834211b76f9ef478220905e45d77ad26",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-10-14 18:54:54 UTC",
    "User": "root"
  },
  "Author": "Mikkel Roald-Arbøl [aut, cre, cph] (ORCID:\n<https://orcid.org/0000-0002-9998-0058>)",
  "Maintainer": "Mikkel Roald-Arbøl <animovement.84w1m@passmail.com>",
  "_user": "animovement",
  "_type": "src",
  "_file": "aniread_0.7.0.9006.tar.gz",
  "_fileid": "https://r2.ropensci.org/a478cd8d19ffbb9b63383c2cbd836233f60063f4ed238d68dd8578f3508f45d4",
  "_filesize": 934255,
  "_sha256": "a478cd8d19ffbb9b63383c2cbd836233f60063f4ed238d68dd8578f3508f45d4",
  "_expires": "2027-01-22T19:04:13.000Z",
  "_created": "2026-10-14T18:54:54.000Z",
  "_published": "2026-10-14T19:04:17.154Z",
  "_buildurl": "https://github.com/r-universe/animovement/actions/runs/38618438359",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_jobs": [
    {
      "job": 116042242275,
      "time": 231,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11922135747"
    },
    {
      "job": 116042242152,
      "time": 230,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11920883288"
    },
    {
      "job": 116042242324,
      "time": 167,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11921058668"
    },
    {
      "job": 116042242219,
      "time": 138,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11921766244"
    },
    {
      "job": 116039626313,
      "time": 322,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11920689777"
    },
    {
      "job": 116042242266,
      "time": 107,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "11921930422"
    },
    {
      "job": 116042242118,
      "time": 224,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11920953024"
    },
    {
      "job": 116042242132,
      "time": 266,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11921068025"
    },
    {
      "job": 116042242270,
      "time": 226,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11921730799"
    }
  ],
  "_upstream": "https://github.com/animovement/aniread",
  "_commit": {
    "id": "22974a73834211b76f9ef478220905e45d77ad26",
    "author": "Mikkel Roald-Arbøl <25629697+roaldarbol@users.noreply.github.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "feat(aniread): keep Parquet metadata as JSON under the animovement key (#214)\n\n* feat(aniread): keep Parquet metadata as JSON under the animovement key\n\nwrite_aniframe() writes {\"class\": [...], \"metadata\": {...}} to the\nanimovement key, the metadata as anicore::get_metadata_json() writes it,\nand strips it from the frame so arrow's R-only \"r\" key keeps only the\ntable's own attributes (its grouping and base class). read_aniframe()\nrestores the classes and metadata from the key, and reads files written\nbefore through \"r\" as it did.\n\nFixes #203\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\n\n* build(aniread): require anicore 0.8.0.9009, which has get_metadata_json()\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\n\n* test(aniread): keep two tests meaningful with anicore's new verb rules\n\nanicore#212 changed two things these tests relied on:\n\n- as_anipoint() without a declared unit now leaves a time that isn't\n  whole numbers \"unknown\" rather than \"frame\", so the inTRACKtive test of\n  frames that aren't whole errored before reaching its check. It now\n  declares the frames it means.\n- group_by() on an anipoint keeps its keys, so grouping the anipose\n  result by time grouped by keypoint and time, and the check that every\n  time has the same number of keypoints passed without checking\n  anything. It now counts on a plain table.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>",
    "time": 1791990109
  },
  "_maintainer": {
    "name": "Mikkel Roald-Arbøl",
    "email": "animovement.84w1m@passmail.com",
    "login": "roaldarbol",
    "bluesky": "@roald-arboel.com",
    "orcid": "0000-0002-9998-0058",
    "description": "Postdoc @ University of Bonn",
    "uuid": 25629697
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "anicore",
      "version": ">= 0.8.0.9009",
      "role": "Imports"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "janitor",
      "role": "Imports"
    },
    {
      "package": "lifecycle",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "tidyr",
      "role": "Imports"
    },
    {
      "package": "tidyselect",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "vroom",
      "role": "Imports"
    },
    {
      "package": "arrow",
      "role": "Suggests"
    },
    {
      "package": "covr",
      "role": "Suggests"
    },
    {
      "package": "curl",
      "role": "Suggests"
    },
    {
      "package": "rhdf5",
      "role": "Suggests"
    },
    {
      "package": "jsonlite",
      "role": "Suggests"
    },
    {
      "package": "yaml",
      "role": "Suggests"
    },
    {
      "package": "xml2",
      "role": "Suggests"
    },
    {
      "package": "c3dr",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "withr",
      "role": "Suggests"
    }
  ],
  "_owner": "animovement",
  "_selfowned": true,
  "_usedby": 1,
  "_updates": [
    {
      "week": "2025-42",
      "n": 16
    },
    {
      "week": "2025-48",
      "n": 4
    },
    {
      "week": "2025-49",
      "n": 1
    },
    {
      "week": "2026-03",
      "n": 3
    },
    {
      "week": "2026-14",
      "n": 1
    },
    {
      "week": "2026-19",
      "n": 2
    },
    {
      "week": "2026-26",
      "n": 1
    },
    {
      "week": "2026-27",
      "n": 3
    },
    {
      "week": "2026-33",
      "n": 2
    },
    {
      "week": "2026-34",
      "n": 10
    },
    {
      "week": "2026-35",
      "n": 7
    },
    {
      "week": "2026-36",
      "n": 6
    },
    {
      "week": "2026-39",
      "n": 5
    },
    {
      "week": "2026-40",
      "n": 7
    },
    {
      "week": "2026-41",
      "n": 18
    },
    {
      "week": "2026-42",
      "n": 5
    }
  ],
  "_tags": [
    {
      "name": "v0.4.0",
      "date": "2026-05-05"
    },
    {
      "name": "v0.4.1",
      "date": "2026-05-07"
    },
    {
      "name": "v0.5.0",
      "date": "2026-06-24"
    },
    {
      "name": "v0.5.1",
      "date": "2026-06-29"
    },
    {
      "name": "v0.6.0",
      "date": "2026-08-18"
    },
    {
      "name": "v0.7.0",
      "date": "2026-08-28"
    }
  ],
  "_topics": [
    "movement",
    "read-write"
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "roaldarbol",
      "count": 151,
      "uuid": 25629697
    }
  ],
  "_userbio": {
    "uuid": 238288616,
    "type": "organization",
    "name": "animovement",
    "followers": 1,
    "description": "An R toolbox for analysing movement across space and time"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/aniread"
  },
  "_devurl": "https://github.com/animovement/aniread",
  "_pkgdown": "https://animovement.dev/aniread/",
  "_searchresults": 4,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/aniread.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",
    "LICENSE"
  ],
  "_cranurl": false,
  "_exports": [
    "calibrate_trackball",
    "detect_source",
    "get_sample_data",
    "get_supported_sources",
    "read_aniframe",
    "read_animalta",
    "read_anipose",
    "read_bonsai",
    "read_boris",
    "read_c3d",
    "read_custom",
    "read_dataset",
    "read_deeplabcut",
    "read_fasttrack",
    "read_fictrac",
    "read_freemocap",
    "read_idtracker",
    "read_lightningpose",
    "read_movement",
    "read_octron",
    "read_sleap",
    "read_structure",
    "read_structure_deeplabcut",
    "read_structure_sleap",
    "read_trackball",
    "read_trackmate",
    "read_trex",
    "validate_trackball",
    "write_aniframe",
    "write_dataset",
    "write_intracktive"
  ],
  "_help": [
    {
      "page": "calibrate_trackball",
      "title": "Get calibration values for trackball data",
      "topics": [
        "calibrate_trackball"
      ]
    },
    {
      "page": "detect_source",
      "title": "Detect which source software wrote a file",
      "topics": [
        "detect_source"
      ]
    },
    {
      "page": "get_sample_data",
      "title": "Download sample tracking data",
      "topics": [
        "get_sample_data"
      ]
    },
    {
      "page": "get_supported_sources",
      "title": "List the formats aniread can read and write",
      "topics": [
        "get_supported_sources"
      ]
    },
    {
      "page": "read_aniframe",
      "title": "Read an aniframe from a Parquet file",
      "topics": [
        "read_aniframe"
      ]
    },
    {
      "page": "read_animalta",
      "title": "Read AnimalTA data",
      "topics": [
        "read_animalta"
      ]
    },
    {
      "page": "read_anipose",
      "title": "Read Anipose 3D pose estimation data",
      "topics": [
        "read_anipose"
      ]
    },
    {
      "page": "read_bonsai",
      "title": "Read centroid tracking data from Bonsai",
      "topics": [
        "read_bonsai"
      ]
    },
    {
      "page": "read_boris",
      "title": "Read events from a BORIS export",
      "topics": [
        "read_boris"
      ]
    },
    {
      "page": "read_c3d",
      "title": "Read a C3D motion capture file",
      "topics": [
        "read_c3d"
      ]
    },
    {
      "page": "read_custom",
      "title": "Read a custom file format",
      "topics": [
        "read_custom"
      ]
    },
    {
      "page": "read_dataset",
      "title": "Read a movement or event dataset from any supported format",
      "topics": [
        "read_dataset"
      ]
    },
    {
      "page": "read_deeplabcut",
      "title": "Read DeepLabCut data",
      "topics": [
        "read_deeplabcut"
      ]
    },
    {
      "page": "read_fasttrack",
      "title": "Read FastTrack tracking data",
      "topics": [
        "read_fasttrack"
      ]
    },
    {
      "page": "read_fictrac",
      "title": "Read projected FicTrac data",
      "topics": [
        "read_fictrac"
      ]
    },
    {
      "page": "read_freemocap",
      "title": "Read FreeMoCap motion capture data",
      "topics": [
        "read_freemocap"
      ]
    },
    {
      "page": "read_idtracker",
      "title": "Read idtracker.ai data",
      "topics": [
        "read_idtracker"
      ]
    },
    {
      "page": "read_lightningpose",
      "title": "Read LightningPose data",
      "topics": [
        "read_lightningpose"
      ]
    },
    {
      "page": "read_movement",
      "title": "Read data exported from the movement Python package",
      "topics": [
        "read_movement"
      ]
    },
    {
      "page": "read_octron",
      "title": "Read Octron Segmentation Data",
      "topics": [
        "read_octron"
      ]
    },
    {
      "page": "read_sleap",
      "title": "Read SLEAP data",
      "topics": [
        "read_sleap"
      ]
    },
    {
      "page": "read_structure",
      "title": "Read a skeleton as an anistructure",
      "topics": [
        "read_structure",
        "read_structure_deeplabcut",
        "read_structure_sleap"
      ]
    },
    {
      "page": "read_trackball",
      "title": "Read trackball data",
      "topics": [
        "read_trackball"
      ]
    },
    {
      "page": "read_trackmate",
      "title": "Read TrackMate XML into an aniframe",
      "topics": [
        "read_trackmate"
      ]
    },
    {
      "page": "read_trex",
      "title": "Read TRex Movement Tracking Data",
      "topics": [
        "read_trex"
      ]
    },
    {
      "page": "write_aniframe",
      "title": "Write an _aniframe_ to disk",
      "topics": [
        "write_aniframe"
      ]
    },
    {
      "page": "write_dataset",
      "title": "Write a movement or event dataset to any supported format",
      "topics": [
        "write_dataset"
      ]
    },
    {
      "page": "write_intracktive",
      "title": "Write aniframe data to inTRACKtive CSV format",
      "topics": [
        "write_intracktive"
      ]
    }
  ],
  "_pkglogo": "https://github.com/animovement/aniread/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/animovement/aniread/raw/HEAD/README.md",
  "_rundeps": [
    "anicore",
    "anytime",
    "BH",
    "bit",
    "bit64",
    "cli",
    "cpp11",
    "crayon",
    "dplyr",
    "generics",
    "glue",
    "hms",
    "janitor",
    "lifecycle",
    "lubridate",
    "magrittr",
    "pillar",
    "pkgconfig",
    "prettyunits",
    "progress",
    "purrr",
    "R6",
    "Rcpp",
    "rlang",
    "snakecase",
    "stringi",
    "stringr",
    "tibble",
    "tidyr",
    "tidyselect",
    "timechange",
    "tzdb",
    "utf8",
    "vctrs",
    "vroom",
    "withr"
  ],
  "_score": 3.380211241711606,
  "_indexed": true,
  "_nocasepkg": "aniread",
  "_universes": [
    "animovement",
    "roaldarbol"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.7.0.9006",
      "date": "2026-10-14T18:57:19.000Z",
      "distro": "resolute",
      "commit": "22974a73834211b76f9ef478220905e45d77ad26",
      "fileid": "https://r2.ropensci.org/9c2bc701d166a8bef069548ab89075d97618fc7f3909a822d30eb1839227a637",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/animovement/actions/runs/38618438359"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.7.0.9006",
      "date": "2026-10-14T18:57:24.000Z",
      "distro": "resolute",
      "commit": "22974a73834211b76f9ef478220905e45d77ad26",
      "fileid": "https://r2.ropensci.org/9ad504a33d8f24a025fdf2676c4c6a32eeb5f780423f410befb572dd54443c0b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/animovement/actions/runs/38618438359"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.7.0.9006",
      "date": "2026-10-14T19:02:25.000Z",
      "commit": "22974a73834211b76f9ef478220905e45d77ad26",
      "fileid": "https://r2.ropensci.org/0451fbb1f3e67a4e4544e50c238d4e4462c12515bf74c72f31311af40521fc61",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/animovement/actions/runs/38618438359"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.7.0.9006",
      "date": "2026-10-14T19:00:43.000Z",
      "commit": "22974a73834211b76f9ef478220905e45d77ad26",
      "fileid": "https://r2.ropensci.org/4861e795093561f6f07e912f20c5e9bd0568800343825fd5c7bdbb407c6fccfe",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/animovement/actions/runs/38618438359"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.7.0.9006",
      "date": "2026-10-14T18:57:06.000Z",
      "commit": "22974a73834211b76f9ef478220905e45d77ad26",
      "fileid": "https://r2.ropensci.org/6d3c6860309fee38ce5c878deb7ba8010d678827e6eb113428a1ecf3ed265031",
      "status": "success",
      "buildurl": "https://github.com/r-universe/animovement/actions/runs/38618438359"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.7.0.9006",
      "date": "2026-10-14T18:56:33.000Z",
      "commit": "22974a73834211b76f9ef478220905e45d77ad26",
      "fileid": "https://r2.ropensci.org/2988f47c6b18fc11b2a7e8eb881d373aa213bb8c09893908fbd190fd585f1e21",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/animovement/actions/runs/38618438359"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.7.0.9006",
      "date": "2026-10-14T18:57:19.000Z",
      "commit": "22974a73834211b76f9ef478220905e45d77ad26",
      "fileid": "https://r2.ropensci.org/16bdc3cd4c6c61bbbe49682aa1b8bcfc70e1410cc05f14fe2559647225e014bf",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/animovement/actions/runs/38618438359"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.7.0.9006",
      "date": "2026-10-14T18:57:07.000Z",
      "commit": "22974a73834211b76f9ef478220905e45d77ad26",
      "fileid": "https://r2.ropensci.org/45ec464ba76c674ee5d8c4603351e1885aa52b7efe4e7f3e78e5ca809444747e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/animovement/actions/runs/38618438359"
    }
  ]
}