{
  "_id": "6acb7c5ffe5cc25786e90af4",
  "Package": "phutil",
  "Title": "Persistence Homology Utilities",
  "Version": "0.0.3",
  "Authors@R": "c(\nperson(\"Aymeric\", \"Stamm\", , \"aymeric.stamm@cnrs.fr\", role = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0000-0002-8725-3654\")),\nperson(\"Jason Cory\", \"Brunson\", , \"cornelioid@gmail.com\", role = \"aut\",\ncomment = c(ORCID = \"0000-0003-3126-9494\")),\nperson(\"Michael\", \"Kerber\", role = \"ctb\", comment = \"HERA C++ code\"),\nperson(\"Dmitriy\", \"Morozov\", role = \"ctb\", comment = \"HERA C++ code\"),\nperson(\"Arnur\", \"Nigmetov\", role = \"ctb\", comment = \"HERA C++ code\")\n)",
  "Description": "A low-level package for hosting persistence data. It is\npart of the 'TDAverse' suite of packages, which is designed to\nprovide a collection of packages for enabling machine learning\nand data science tasks using persistent homology. Implements a\nclass for hosting persistence data, a number of coercers from\nand to already existing and used data structures from other\npackages and functions to compute distances between persistence\ndiagrams. A formal definition and study of bottleneck and\nWasserstein distances can be found in Bubenik, Scott and\nStanley (2023) <doi:10.1007/s41468-022-00103-8>. Their\nimplementation in 'phutil' relies on the 'C++' Hera library\ndeveloped by Kerber, Morozov and Nigmetov (2017)\n<doi:10.1145/3064175>.",
  "License": "MIT + file LICENSE",
  "URL": "https://github.com/tdaverse/phutil,\nhttps://tdaverse.github.io/phutil/",
  "BugReports": "https://github.com/tdaverse/phutil/issues",
  "VignetteBuilder": "quarto",
  "Encoding": "UTF-8",
  "LazyData": "true",
  "Config/roxygen2/version": "8.1.0",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-10-11 12:02:37 UTC",
    "User": "root"
  },
  "Author": "Aymeric Stamm [aut, cre] (ORCID:\n<https://orcid.org/0000-0002-8725-3654>), Jason Cory Brunson\n[aut] (ORCID: <https://orcid.org/0000-0003-3126-9494>), Michael\nKerber [ctb] (HERA C++ code), Dmitriy Morozov [ctb] (HERA C++\ncode), Arnur Nigmetov [ctb] (HERA C++ code)",
  "Maintainer": "Aymeric Stamm <aymeric.stamm@cnrs.fr>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-10-06 21:44:40 UTC",
  "RemoteUrl": "https://github.com/cran/phutil",
  "RemoteRef": "HEAD",
  "RemoteSha": "f9ca345c3b4f62bb8ce6f2da141e1bd3980776cc",
  "_user": "cran",
  "_type": "src",
  "_file": "phutil_0.0.3.tar.gz",
  "_fileid": "https://r2.ropensci.org/87e65181ae90dd509b939adb6f5c638687da21b27f4da09f026d0f45aca018a1",
  "_filesize": 629593,
  "_sha256": "87e65181ae90dd509b939adb6f5c638687da21b27f4da09f026d0f45aca018a1",
  "_expires": "2027-01-19T12:09:01.000Z",
  "_created": "2026-10-11T12:02:37.000Z",
  "_published": "2026-10-11T12:09:03.377Z",
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/38137557141",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_jobs": [
    {
      "job": 114465179448,
      "time": 123,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11701312239"
    },
    {
      "job": 114465179402,
      "time": 140,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11702171621"
    },
    {
      "job": 114465179512,
      "time": 116,
      "config": "linux-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11702021845"
    },
    {
      "job": 114465179405,
      "time": 150,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11701997047"
    },
    {
      "job": 114464517474,
      "time": 206,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11701307176"
    },
    {
      "job": 114465179465,
      "time": 117,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "11702201535"
    },
    {
      "job": 114465179450,
      "time": 343,
      "config": "windows-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11702077215"
    },
    {
      "job": 114465179475,
      "time": 255,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11702276466"
    },
    {
      "job": 114465179416,
      "time": 335,
      "config": "windows-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11701598322"
    },
    {
      "job": 114465179586,
      "time": 180,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11701641804"
    }
  ],
  "_upstream": "https://github.com/cran/phutil",
  "_commit": {
    "id": "f9ca345c3b4f62bb8ce6f2da141e1bd3980776cc",
    "author": "Aymeric Stamm <aymeric.stamm@cnrs.fr>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 0.0.3\n",
    "time": 1791323080
  },
  "_maintainer": {
    "name": "Aymeric Stamm",
    "email": "aymeric.stamm@cnrs.fr",
    "login": "astamm",
    "mastodon": "@aymeric_stamm@mastodon.social",
    "bluesky": "@aymeric-stamm.bsky.social",
    "orcid": "0000-0002-8725-3654",
    "description": "",
    "uuid": 6044838
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.5",
      "role": "Depends"
    },
    {
      "package": "BH",
      "role": "LinkingTo"
    },
    {
      "package": "cpp11",
      "role": "LinkingTo"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "microbenchmark",
      "role": "Suggests"
    },
    {
      "package": "quarto",
      "role": "Suggests"
    },
    {
      "package": "TDA",
      "role": "Suggests"
    },
    {
      "package": "tdaunif",
      "role": "Suggests"
    },
    {
      "package": "tinysnapshot",
      "role": "Suggests"
    },
    {
      "package": "tinytest",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 2,
  "_updates": [
    {
      "week": "2026-16",
      "n": 1
    },
    {
      "week": "2026-41",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "0.0.2",
      "date": "2026-04-17"
    },
    {
      "name": "0.0.3",
      "date": "2026-10-06"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "astamm",
      "count": 3,
      "uuid": 6044838
    }
  ],
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "followers": 630,
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 464,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/phutil"
  },
  "_devurl": "https://github.com/tdaverse/phutil",
  "_pkgdown": "https://tdaverse.github.io/phutil/",
  "_searchresults": 32,
  "_quarto": true,
  "_topics": [
    "quarto",
    "cpp",
    "openmp"
  ],
  "_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/phutil.html",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE"
  ],
  "_homeurl": "https://github.com/tdaverse/phutil",
  "_realowner": "tdaverse",
  "_cranurl": false,
  "_releases": [
    {
      "version": "0.0.1",
      "date": "2025-05-15"
    },
    {
      "version": "0.0.2",
      "date": "2026-04-17"
    },
    {
      "version": "0.0.3",
      "date": "2026-10-06"
    }
  ],
  "_exports": [
    "as_diagram",
    "as_persistence",
    "as_persistence_set",
    "bottleneck_distance",
    "bottleneck_pairwise_distances",
    "get_pairs",
    "kantorovich_distance",
    "kantorovich_pairwise_distances",
    "wasserstein_distance",
    "wasserstein_pairwise_distances"
  ],
  "_datasets": [
    {
      "name": "arch_spirals",
      "title": "A sample of persistence diagrams from the arch spiral",
      "object": "arch_spirals",
      "class": [
        "list"
      ],
      "fields": [],
      "table": false,
      "tojson": false
    },
    {
      "name": "noisy_circle_points",
      "title": "Toy Data: Noisy circle",
      "object": "noisy_circle_points",
      "class": [
        "matrix",
        "array"
      ],
      "fields": [
        "x",
        "y"
      ],
      "rows": 100,
      "table": true,
      "tojson": true
    },
    {
      "name": "noisy_circle_ripserr",
      "title": "Toy Data: Noisy circle",
      "object": "noisy_circle_ripserr",
      "class": [
        "PHom",
        "data.frame"
      ],
      "fields": [
        "dimension",
        "birth",
        "death"
      ],
      "rows": 101,
      "table": true,
      "tojson": true
    },
    {
      "name": "noisy_circle_tda_rips",
      "title": "Toy Data: Noisy circle",
      "object": "noisy_circle_tda_rips",
      "class": [
        "list"
      ],
      "fields": [],
      "table": true,
      "tojson": false
    },
    {
      "name": "persistence_sample",
      "title": "Toy Data: A sample of persistence diagrams",
      "object": "persistence_sample",
      "class": [
        "list"
      ],
      "fields": [],
      "table": false,
      "tojson": false
    },
    {
      "name": "trefoils",
      "title": "A sample of persistence diagrams from the trefoil",
      "object": "trefoils",
      "class": [
        "list"
      ],
      "fields": [],
      "table": false,
      "tojson": false
    }
  ],
  "_help": [
    {
      "page": "arch_spirals",
      "title": "A sample of persistence diagrams from the arch spiral",
      "topics": [
        "arch_spirals"
      ]
    },
    {
      "page": "distances",
      "title": "Distances between two persistence diagrams",
      "topics": [
        "bottleneck_distance",
        "distances",
        "kantorovich_distance",
        "wasserstein_distance"
      ]
    },
    {
      "page": "noisy_circle",
      "title": "Toy Data: Noisy circle",
      "topics": [
        "noisy_circle",
        "noisy_circle_points",
        "noisy_circle_ripserr",
        "noisy_circle_tda_rips"
      ]
    },
    {
      "page": "pairwise-distances",
      "title": "Pairwise distances within a set of persistence diagrams",
      "topics": [
        "bottleneck_pairwise_distances",
        "kantorovich_pairwise_distances",
        "pairwise-distances",
        "wasserstein_pairwise_distances"
      ]
    },
    {
      "page": "persistence",
      "title": "An 'S3' class for storing persistence data",
      "topics": [
        "as.data.frame.persistence",
        "as.matrix.persistence",
        "as_diagram",
        "as_diagram.persistence",
        "as_diagram.PHom",
        "as_persistence",
        "as_persistence.data.frame",
        "as_persistence.diagram",
        "as_persistence.hclust",
        "as_persistence.list",
        "as_persistence.matrix",
        "as_persistence.persistence",
        "as_persistence.PHom",
        "format.persistence",
        "get_pairs",
        "persistence",
        "print.persistence"
      ]
    },
    {
      "page": "persistence_sample",
      "title": "Toy Data: A sample of persistence diagrams",
      "topics": [
        "persistence_sample"
      ]
    },
    {
      "page": "persistence-set",
      "title": "An 'S3' class object for storing sets of persistence diagrams",
      "topics": [
        "as_persistence_set",
        "format.persistence_set",
        "persistence-set",
        "print.persistence_set"
      ]
    },
    {
      "page": "trefoils",
      "title": "A sample of persistence diagrams from the trefoil",
      "topics": [
        "trefoils"
      ]
    }
  ],
  "_readme": "https://github.com/cran/phutil/raw/HEAD/README.md",
  "_rundeps": [
    "BH",
    "cli",
    "cpp11",
    "rlang"
  ],
  "_sysdeps": [
    {
      "shlib": "libstdc++",
      "package": "libstdc++6",
      "source": "gcc",
      "version": "16-20260322-1ubuntu1",
      "name": "c++",
      "homepage": "http://gcc.gnu.org/",
      "description": "GNU Standard C++ Library v3"
    },
    {
      "shlib": "libgomp",
      "package": "libgomp1",
      "source": "gcc",
      "version": "16-20260322-1ubuntu1",
      "name": "openmp",
      "homepage": "http://gcc.gnu.org/",
      "description": "GCC OpenMP (GOMP) support library"
    }
  ],
  "_vignettes": [
    {
      "source": "persistence-class.qmd",
      "filename": "persistence-class.html",
      "title": "The persistence class",
      "engine": "quarto::html",
      "headings": [
        "Structure of the class",
        "Supported inputs"
      ],
      "created": "2025-05-15 13:50:08",
      "modified": "2025-05-15 13:50:08",
      "commits": 1
    },
    {
      "source": "validation-benchmark.qmd",
      "filename": "validation-benchmark.html",
      "title": "Validation and Benchmark of Wasserstein Distances",
      "engine": "quarto::html",
      "headings": [
        "Definitions",
        "Validation",
        "Distances between nontrivial diagrams",
        "Distances from the trivial diagram",
        "Benchmarks",
        "References"
      ],
      "created": "2025-05-15 13:50:08",
      "modified": "2026-04-17 15:33:06",
      "commits": 2
    }
  ],
  "_score": 4.584331224367531,
  "_indexed": false,
  "_nocasepkg": "phutil",
  "_universes": [
    "cran"
  ],
  "_indexurl": "https://tdaverse.r-universe.dev/phutil",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.0.3",
      "date": "2026-10-11T12:04:44.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "f9ca345c3b4f62bb8ce6f2da141e1bd3980776cc",
      "fileid": "https://r2.ropensci.org/0a351ac92118c42bbc15f52af6f8928d3d1dcd2c392231ab5e435a12d7a46d71",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/38137557141"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.0.3",
      "date": "2026-10-11T12:04:50.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "f9ca345c3b4f62bb8ce6f2da141e1bd3980776cc",
      "fileid": "https://r2.ropensci.org/28d5ed3c09c471a8ca6babc9e4746a6740fdca43e3f423041b279da4ae38d0aa",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/38137557141"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.0.3",
      "date": "2026-10-11T12:04:39.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "f9ca345c3b4f62bb8ce6f2da141e1bd3980776cc",
      "fileid": "https://r2.ropensci.org/d23d6076aabc57c22a94c8db9a390ff43eab5defa92e52d2db1ff568ab63054b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/38137557141"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.0.3",
      "date": "2026-10-11T12:05:02.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "f9ca345c3b4f62bb8ce6f2da141e1bd3980776cc",
      "fileid": "https://r2.ropensci.org/682d73ae0a235867363d9b1a35c1518da6cbf44ff43e6a5cd19376cdce5b818c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/38137557141"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.0.3",
      "date": "2026-10-11T12:04:52.000Z",
      "arch": "emscripten",
      "commit": "f9ca345c3b4f62bb8ce6f2da141e1bd3980776cc",
      "fileid": "https://r2.ropensci.org/82f3f8672a25204c1a655c8c53544d316b7c6d3ad5b30859e0136f9dd8416738",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/38137557141"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.0.3",
      "date": "2026-10-11T12:08:02.000Z",
      "arch": "aarch64",
      "commit": "f9ca345c3b4f62bb8ce6f2da141e1bd3980776cc",
      "fileid": "https://r2.ropensci.org/d86c1c1f88c9eda8b258d986da2c4e281c78e7c49dbf43b4ad273b1fc8ebec87",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/38137557141"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.0.3",
      "date": "2026-10-11T12:05:50.000Z",
      "arch": "x86_64",
      "commit": "f9ca345c3b4f62bb8ce6f2da141e1bd3980776cc",
      "fileid": "https://r2.ropensci.org/82bffef9fef1dbb427be655db70faf721dbd406de9d0f3a4d8fec485cdbf1c06",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/38137557141"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.0.3",
      "date": "2026-10-11T12:08:00.000Z",
      "arch": "aarch64",
      "commit": "f9ca345c3b4f62bb8ce6f2da141e1bd3980776cc",
      "fileid": "https://r2.ropensci.org/ac2b9e331d4b1bd22977ec6ee48ad35b18cf4ab9a3592d1ac5a32ea795a3f870",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/38137557141"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.0.3",
      "date": "2026-10-11T12:05:17.000Z",
      "arch": "x86_64",
      "commit": "f9ca345c3b4f62bb8ce6f2da141e1bd3980776cc",
      "fileid": "https://r2.ropensci.org/916784091b3e24d5dfe6a6a601e4e3d5d4958929214b2567f326678ae8bbe8ea",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/38137557141"
    }
  ]
}