{
  "_id": "6a3b29b85cdecea1d680dcef",
  "Package": "ctypesio",
  "Type": "Package",
  "Title": "Read and Write Standard 'C' Types from Files, Connections and\nRaw Vectors",
  "Version": "0.1.3",
  "Authors@R": "c(\nperson(\"Mike\", \"Cheng\", role = c(\"aut\", \"cre\", 'cph'), email = \"mikefc@coolbutuseless.com\"),\nperson(\"Anne\", \"Fu\", role = \"ctb\", comment = c(\"Better UTF-8 support\", ORCID = \"0000-0002-9025-6071\"))\n)",
  "Maintainer": "Mike Cheng <mikefc@coolbutuseless.com>",
  "Description": "Interacting with binary files can be difficult because R's\ntypes are a subset of what is generally supported by 'C'.  This\npackage provides a suite of functions for reading and writing\nbinary data (with files, connections, and raw vectors) using\n'C' type descriptions.  These functions convert data between\n'C' types and R types while checking for values outside the\ntype limits, 'NA' values, etc.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "RoxygenNote": "7.3.2",
  "Config/testthat/edition": "3",
  "VignetteBuilder": "knitr",
  "URL": "https://github.com/coolbutuseless/ctypesio",
  "BugReports": "https://github.com/coolbutuseless/ctypesio/issues",
  "Repository": "https://coolbutuseless.r-universe.dev",
  "Date/Publication": "2025-07-28 08:44:02 UTC",
  "RemoteUrl": "https://github.com/coolbutuseless/ctypesio",
  "RemoteRef": "HEAD",
  "RemoteSha": "e1b4eda59a77a0b74a7c4523a3ba8dbbd6baaa09",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-06-24 00:45:00 UTC",
    "User": "root"
  },
  "Author": "Mike Cheng [aut, cre, cph],\nAnne Fu [ctb] (Better UTF-8 support, ORCID:\n<https://orcid.org/0000-0002-9025-6071>)",
  "MD5sum": "0b1cb7c4c350f5b02fef3dbb26402704",
  "_user": "coolbutuseless",
  "_type": "src",
  "_file": "ctypesio_0.1.3.tar.gz",
  "_fileid": "e642cb7ea1f8310b9d2077b6377c4341381ffe0386062ed7d943a0982aee3355",
  "_filesize": 457925,
  "_sha256": "e642cb7ea1f8310b9d2077b6377c4341381ffe0386062ed7d943a0982aee3355",
  "_created": "2026-06-24T00:45:00.000Z",
  "_published": "2026-06-24T00:50:00.607Z",
  "_distro": "resolute",
  "_jobs": [
    {
      "job": 83093983442,
      "time": 127,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7837301636"
    },
    {
      "job": 83093983452,
      "time": 120,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7837299752"
    },
    {
      "job": 83093983449,
      "time": 158,
      "config": "linux-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7837309766"
    },
    {
      "job": 83093983444,
      "time": 113,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7837297979"
    },
    {
      "job": 83093983417,
      "time": 93,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7837293040"
    },
    {
      "job": 83093983414,
      "time": 266,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7837334683"
    },
    {
      "job": 83093983430,
      "time": 117,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7837298768"
    },
    {
      "job": 83093983435,
      "time": 205,
      "config": "macos-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7837319937"
    },
    {
      "job": 83093678408,
      "time": 152,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7837269777"
    },
    {
      "job": 83093983401,
      "time": 94,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7837293224"
    },
    {
      "job": 83093983500,
      "time": 105,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7837296100"
    },
    {
      "job": 83093983486,
      "time": 70,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7837287383"
    },
    {
      "job": 83093983446,
      "time": 86,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7837291588"
    }
  ],
  "_buildurl": "https://github.com/r-universe/coolbutuseless/actions/runs/28067077064",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/coolbutuseless/ctypesio",
  "_commit": {
    "id": "e1b4eda59a77a0b74a7c4523a3ba8dbbd6baaa09",
    "author": "mike <mikefc@coolbutuseless.com>",
    "committer": "mike <mikefc@coolbutuseless.com>",
    "message": "Version bump for CRAN [no ci]\n",
    "time": 1753692242
  },
  "_maintainer": {
    "name": "Mike Cheng",
    "email": "mikefc@coolbutuseless.com",
    "login": "coolbutuseless",
    "description": "Cool, but useless.",
    "uuid": 181818
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "jpeg",
      "role": "Suggests"
    }
  ],
  "_owner": "coolbutuseless",
  "_selfowned": true,
  "_usedby": 2,
  "_updates": [
    {
      "week": "2025-30",
      "n": 1
    },
    {
      "week": "2025-31",
      "n": 1
    }
  ],
  "_tags": [],
  "_stars": 7,
  "_contributors": [
    {
      "user": "coolbutuseless",
      "count": 41,
      "uuid": 181818
    },
    {
      "user": "eternal-flame-ad",
      "count": 1,
      "uuid": 35571479
    }
  ],
  "_userbio": {
    "uuid": 181818,
    "type": "user",
    "name": "mikefc",
    "followers": 794,
    "description": "Cool, but useless."
  },
  "_downloads": {
    "count": 209,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/ctypesio"
  },
  "_devurl": "https://github.com/coolbutuseless/ctypesio",
  "_searchresults": 6,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/ctypesio.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/coolbutuseless/ctypesio",
  "_realowner": "coolbutuseless",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.1",
      "date": "2024-10-16"
    },
    {
      "version": "0.1.2",
      "date": "2025-01-18"
    },
    {
      "version": "0.1.3",
      "date": "2025-08-01"
    }
  ],
  "_exports": [
    "aperm_array_to_vector",
    "aperm_vector_to_array",
    "flip_endian",
    "fprintf",
    "fprintf_raw",
    "read_bfloat",
    "read_dbl",
    "read_f16",
    "read_f32",
    "read_f64",
    "read_float",
    "read_half",
    "read_hex",
    "read_int16",
    "read_int32",
    "read_int64",
    "read_int8",
    "read_raw",
    "read_str",
    "read_str_raw",
    "read_uint16",
    "read_uint32",
    "read_uint64",
    "read_uint8",
    "read_utf8",
    "read_utf8_raw",
    "scan_dbl",
    "scan_int",
    "scan_str",
    "set_bounds_check",
    "set_endian",
    "set_eof_check",
    "set_integer_promotion",
    "set_na_check",
    "write_dbl",
    "write_f16",
    "write_f32",
    "write_f64",
    "write_half",
    "write_hex",
    "write_int16",
    "write_int32",
    "write_int64",
    "write_int8",
    "write_raw",
    "write_single",
    "write_uint16",
    "write_uint32",
    "write_uint64",
    "write_uint8",
    "write_utf8",
    "write_utf8_raw"
  ],
  "_help": [
    {
      "page": "aperm_array_to_vector",
      "title": "Permute an R array to a linear vector of data",
      "concept": [
        "data permutation functions"
      ],
      "topics": [
        "aperm_array_to_vector"
      ]
    },
    {
      "page": "aperm_vector_to_array",
      "title": "Permute a linear vector of data into an R array",
      "concept": [
        "data permutation functions"
      ],
      "topics": [
        "aperm_vector_to_array"
      ]
    },
    {
      "page": "flip_endian",
      "title": "Flip the endianness of elements in a vector",
      "concept": [
        "data permutation functions"
      ],
      "topics": [
        "flip_endian"
      ]
    },
    {
      "page": "fprintf",
      "title": "Print formatted strings to a connection",
      "concept": [
        "data output functions"
      ],
      "topics": [
        "fprintf",
        "fprintf_raw"
      ]
    },
    {
      "page": "read_f64",
      "title": "Read floating point values from a connection",
      "concept": [
        "data input functions"
      ],
      "topics": [
        "read_bfloat",
        "read_dbl",
        "read_f16",
        "read_f32",
        "read_f64",
        "read_float",
        "read_half"
      ]
    },
    {
      "page": "read_hex",
      "title": "Read bytes as hexadecimal strings",
      "concept": [
        "data input functions"
      ],
      "topics": [
        "read_hex"
      ]
    },
    {
      "page": "read_raw",
      "title": "Read raw bytes",
      "concept": [
        "data input functions"
      ],
      "topics": [
        "read_raw"
      ]
    },
    {
      "page": "read_str",
      "title": "Read a character string from a connection",
      "concept": [
        "data input functions"
      ],
      "topics": [
        "read_str",
        "read_str_raw",
        "read_utf8",
        "read_utf8_raw"
      ]
    },
    {
      "page": "read_uint8",
      "title": "Read integer data from a connection",
      "concept": [
        "data input functions"
      ],
      "topics": [
        "read_int16",
        "read_int32",
        "read_int64",
        "read_int8",
        "read_uint16",
        "read_uint32",
        "read_uint64",
        "read_uint8"
      ]
    },
    {
      "page": "scan_dbl",
      "title": "Read values encoded as characters strings",
      "concept": [
        "data input functions"
      ],
      "topics": [
        "scan_dbl",
        "scan_int",
        "scan_str"
      ]
    },
    {
      "page": "set_bounds_check",
      "title": "For this connection, set the response when values do not fit into given type before writing.",
      "concept": [
        "connection configuration functions"
      ],
      "topics": [
        "set_bounds_check"
      ]
    },
    {
      "page": "set_endian",
      "title": "Tag a connection with the preferred endianness",
      "concept": [
        "connection configuration functions"
      ],
      "topics": [
        "set_endian"
      ]
    },
    {
      "page": "set_eof_check",
      "title": "Set EOF (End-of-file) handling for this connection",
      "concept": [
        "connection configuration functions"
      ],
      "topics": [
        "set_eof_check"
      ]
    },
    {
      "page": "set_integer_promotion",
      "title": "Tag a connection with the preferred integer promotion method for types larger that R's integer type i.e. uint32, uint64, int64",
      "concept": [
        "connection configuration functions"
      ],
      "topics": [
        "set_integer_promotion"
      ]
    },
    {
      "page": "set_na_check",
      "title": "Check for NAs in values before writing",
      "concept": [
        "connection configuration functions"
      ],
      "topics": [
        "set_na_check"
      ]
    },
    {
      "page": "write_f64",
      "title": "Convert values to the given type and write to a connection",
      "concept": [
        "data output functions"
      ],
      "topics": [
        "write_dbl",
        "write_f16",
        "write_f32",
        "write_f64",
        "write_half",
        "write_single"
      ]
    },
    {
      "page": "write_hex",
      "title": "Write hexadecimal string as raw bytes",
      "concept": [
        "data output functions"
      ],
      "topics": [
        "write_hex"
      ]
    },
    {
      "page": "write_raw",
      "title": "Write raw bytes",
      "concept": [
        "data output functions"
      ],
      "topics": [
        "write_raw"
      ]
    },
    {
      "page": "write_uint8",
      "title": "Convert values to the given type and write to a connection",
      "concept": [
        "data output functions"
      ],
      "topics": [
        "write_int16",
        "write_int32",
        "write_int64",
        "write_int8",
        "write_uint16",
        "write_uint32",
        "write_uint64",
        "write_uint8"
      ]
    },
    {
      "page": "write_utf8",
      "title": "Write UTF8 string",
      "concept": [
        "data output functions"
      ],
      "topics": [
        "write_utf8",
        "write_utf8_raw"
      ]
    }
  ],
  "_readme": "https://github.com/coolbutuseless/ctypesio/raw/HEAD/README.md",
  "_rundeps": [],
  "_vignettes": [
    {
      "source": "wave-format.Rmd",
      "filename": "wave-format.html",
      "title": "Handcrafting a WAV file",
      "engine": "knitr::rmarkdown",
      "headings": [
        "WAV files",
        "WAV file structure",
        "Audio waveform",
        "Write the WAV file",
        "Play the audio",
        "Parsing a WAV file",
        "ctypesio is pipe-friendly"
      ],
      "created": "2024-10-06 05:56:13",
      "modified": "2024-10-06 05:56:13",
      "commits": 1
    },
    {
      "source": "parse-jpeg.Rmd",
      "filename": "parse-jpeg.html",
      "title": "Parsing JPEG Markers",
      "engine": "knitr::rmarkdown",
      "headings": [
        "JPEG Overview",
        "JPEG markers",
        "Example JPEG file",
        "What does the binary data in the JPEG look like?",
        "Process all chcunks"
      ],
      "created": "2024-10-05 13:11:55",
      "modified": "2024-10-05 22:32:18",
      "commits": 2
    }
  ],
  "_score": 5.924279286061882,
  "_indexed": true,
  "_nocasepkg": "ctypesio",
  "_universes": [
    "coolbutuseless"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.3",
      "date": "2026-06-24T00:47:17.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "e1b4eda59a77a0b74a7c4523a3ba8dbbd6baaa09",
      "fileid": "c05a864513ca3988c84b681a548f095294cb382deea051817e910254f99d7c8a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/coolbutuseless/actions/runs/28067077064"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.3",
      "date": "2026-06-24T00:47:06.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "e1b4eda59a77a0b74a7c4523a3ba8dbbd6baaa09",
      "fileid": "7b691957f75159e15bf31e9e6e2cfe2faf2bd4adbdcecd24d1ffc0322db857e8",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/coolbutuseless/actions/runs/28067077064"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.3",
      "date": "2026-06-24T00:47:50.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "e1b4eda59a77a0b74a7c4523a3ba8dbbd6baaa09",
      "fileid": "c883f4e55fb24ab7cddbbd6513bcd71368585542cf81acaa62d6df9cb79b3742",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/coolbutuseless/actions/runs/28067077064"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.3",
      "date": "2026-06-24T00:46:59.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "e1b4eda59a77a0b74a7c4523a3ba8dbbd6baaa09",
      "fileid": "c5bda273f9b550d546d27a4bffcb1417676ed7d06e74e6faf7f7a10ecaf79394",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/coolbutuseless/actions/runs/28067077064"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.3",
      "date": "2026-06-24T00:46:41.000Z",
      "arch": "aarch64",
      "commit": "e1b4eda59a77a0b74a7c4523a3ba8dbbd6baaa09",
      "fileid": "5d8a04cc9c51a220984f02237f1a519752487460eaf79c33ffc3724ca4aeac47",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/coolbutuseless/actions/runs/28067077064"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.3",
      "date": "2026-06-24T00:49:10.000Z",
      "arch": "x86_64",
      "commit": "e1b4eda59a77a0b74a7c4523a3ba8dbbd6baaa09",
      "fileid": "d1b672ab6150650abfb17eb99a5056d57cfcdd679bb5d0a863623c7e3ed4f19e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/coolbutuseless/actions/runs/28067077064"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.1.3",
      "date": "2026-06-24T00:46:57.000Z",
      "arch": "aarch64",
      "commit": "e1b4eda59a77a0b74a7c4523a3ba8dbbd6baaa09",
      "fileid": "46f8cfe9ed19ccc3715a03b47b0ca291c4b52959af340b2e82d6e5a4574a037c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/coolbutuseless/actions/runs/28067077064"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.1.3",
      "date": "2026-06-24T00:47:57.000Z",
      "arch": "x86_64",
      "commit": "e1b4eda59a77a0b74a7c4523a3ba8dbbd6baaa09",
      "fileid": "4775cbed788bee8019386b8bbaf4b75bd227e7d773e278e30a3af8a72ffdd8da",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/coolbutuseless/actions/runs/28067077064"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.3",
      "date": "2026-06-24T00:46:52.000Z",
      "arch": "emscripten",
      "commit": "e1b4eda59a77a0b74a7c4523a3ba8dbbd6baaa09",
      "fileid": "bd826c6b332df028e4b508f44f70181b5c17ecd2188c5ceaaa66e6682d6c7dc2",
      "status": "success",
      "buildurl": "https://github.com/r-universe/coolbutuseless/actions/runs/28067077064"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.3",
      "date": "2026-06-24T00:46:37.000Z",
      "arch": "x86_64",
      "commit": "e1b4eda59a77a0b74a7c4523a3ba8dbbd6baaa09",
      "fileid": "46b397ea39e16ffa9fd841e5c27650333d5e38a54e1444374f3fa7dc8d59ad2e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/coolbutuseless/actions/runs/28067077064"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.3",
      "date": "2026-06-24T00:46:06.000Z",
      "arch": "x86_64",
      "commit": "e1b4eda59a77a0b74a7c4523a3ba8dbbd6baaa09",
      "fileid": "d4b33851e83b0ae0d0d02586bf6045ded7ba1fb448ef28edf9af1fbc5c9a1108",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/coolbutuseless/actions/runs/28067077064"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.1.3",
      "date": "2026-06-24T00:46:21.000Z",
      "arch": "x86_64",
      "commit": "e1b4eda59a77a0b74a7c4523a3ba8dbbd6baaa09",
      "fileid": "e2452b1567c146abbc5354fdcbad9cf62d6eb06a9e6bbe8e0b2dbe691347c33a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/coolbutuseless/actions/runs/28067077064"
    }
  ]
}