{
  "_id": "6a662e4ef958454d3d2ec800",
  "Package": "punycoder",
  "Type": "Package",
  "Title": "Unicode and Punycode Domain Name Processing",
  "Version": "1.2.1.9000",
  "Authors@R": "person(\"Bart\", \"Turczynski\", email = \"bartek@turczynski.pl\",\nrole = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0000-0002-8788-7980\"))",
  "Description": "High-performance Unicode and Punycode processing for\ninternationalized domain names. The 'puny_encode()' /\n'puny_decode()' helpers are a low-level, RFC 3492 compliant\nPunycode codec for domain labels (the 'xn--' ASCII-Compatible\nEncoding of RFC 5890/5891); they perform the raw transform plus\nletter-digit-hyphen checks and do not apply Unicode IDNA\nnormalization. 'host_normalize()' is the Unicode Technical\nStandard #46 host-normalization entry point, mapping a host\nname to a canonical lowercase ASCII comparison form\n(non-transitional profile, pinned default Unicode version,\nselectable per call from the set the build ships). Aimed at\nhost normalization and data analysis workflows. Used as the\nPunycode and IDNA engine by the 'pslr' and 'rurl' packages.",
  "SystemRequirements": "GNU libidn2 (optional, for native punycode backend)",
  "License": "MIT + file LICENSE",
  "URL": "https://bart-turczynski.github.io/punycoder/,\nhttps://github.com/bart-turczynski/punycoder,\nhttps://bart-turczynski.r-universe.dev/punycoder,\nhttps://CRAN.R-project.org/package=punycoder",
  "BugReports": "https://github.com/bart-turczynski/punycoder/issues",
  "Encoding": "UTF-8",
  "Language": "en-US",
  "VignetteBuilder": "knitr",
  "Roxygen": "list(markdown = TRUE)",
  "Config/roxygen2/version": "8.0.0",
  "Config/testthat/edition": "3",
  "Repository": "https://bart-turczynski.r-universe.dev",
  "Date/Publication": "2026-07-26 15:29:46 UTC",
  "RemoteUrl": "https://github.com/bart-turczynski/punycoder",
  "RemoteRef": "HEAD",
  "RemoteSha": "43d84abda18bd608300ce9702dbaaa2820044a48",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-07-26 15:50:06 UTC",
    "User": "root"
  },
  "Author": "Bart Turczynski [aut, cre] (ORCID:\n<https://orcid.org/0000-0002-8788-7980>)",
  "Maintainer": "Bart Turczynski <bartek@turczynski.pl>",
  "_user": "bart-turczynski",
  "_type": "src",
  "_file": "punycoder_1.2.1.9000.tar.gz",
  "_fileid": "https://r2.ropensci.org/db7243983705a2ea65ef4b4770cda1ed433f801ec09abb0ef380d20808046f1c",
  "_filesize": 656979,
  "_sha256": "db7243983705a2ea65ef4b4770cda1ed433f801ec09abb0ef380d20808046f1c",
  "_expires": "2026-11-03T15:57:00.000Z",
  "_created": "2026-07-26T15:50:06.000Z",
  "_published": "2026-07-28T08:16:23.041Z",
  "_jobs": [
    {
      "job": 89812190704,
      "time": 180,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8633957130"
    },
    {
      "job": 89812190688,
      "time": 175,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8633956596"
    },
    {
      "job": 89812190699,
      "time": 158,
      "config": "linux-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8633953253"
    },
    {
      "job": 89812190675,
      "time": 153,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8633952653"
    },
    {
      "job": 89812190703,
      "time": 127,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8633947967"
    },
    {
      "job": 89812190712,
      "time": 189,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8633958727"
    },
    {
      "job": 89812190714,
      "time": 105,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8633944460"
    },
    {
      "job": 89812190716,
      "time": 321,
      "config": "macos-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8633980274"
    },
    {
      "job": 89811769926,
      "time": 271,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8633925966"
    },
    {
      "job": 89812190655,
      "time": 131,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "8633948810"
    },
    {
      "job": 89812190673,
      "time": 152,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8633952469"
    },
    {
      "job": 89812190663,
      "time": 144,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8633951036"
    },
    {
      "job": 89812190694,
      "time": 150,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8633952166"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/bart-turczynski/actions/runs/30208914954",
  "_status": "success",
  "_upstream": "https://github.com/bart-turczynski/punycoder",
  "_commit": {
    "id": "43d84abda18bd608300ce9702dbaaa2820044a48",
    "author": "Bart Turczynski <142225707+bart-turczynski@users.noreply.github.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "docs: unwrap \\donttest{} on the five core help pages (PUNY-zumspyzy) (#97)\n\npuny_encode, puny_decode, is_punycode, is_idn and validate_domain wrapped\ntheir entire \\examples{} block in \\donttest{}, so a default R CMD check\nnever executed the examples for the package's primary surface -- only 3 of\n8 help pages ran.\n\nEvery one of these examples is a fast, offline, deterministic call on a\nstring constant: no network, no filesystem, no timing or platform\ndependence. Unwrapping them means CRAN verifies these pages on every\nplatform it checks, including the Windows fallback-backend path that\nconfigure never exercises locally.\n\nRegenerated man/ with roxygen2. R CMD check --as-cran without\n--run-donttest: \"checking examples ... OK\", 1 NOTE (the pre-existing dev\nversion string). Slowest example is 2ms.\n\nCo-authored-by: Claude Opus 5 <noreply@anthropic.com>",
    "time": 1785079786
  },
  "_maintainer": {
    "name": "Bart Turczynski",
    "email": "bartek@turczynski.pl",
    "login": "bart-turczynski",
    "linkedin": "in/bart-turczynski",
    "twitter": "@bart_turczynski",
    "description": "",
    "uuid": 142225707,
    "orcid": "0000-0002-8788-7980"
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.5.0",
      "role": "Depends"
    },
    {
      "package": "Rcpp",
      "role": "LinkingTo"
    },
    {
      "package": "Rcpp",
      "version": ">= 1.0.0",
      "role": "Imports"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "oysteR",
      "role": "Suggests"
    },
    {
      "package": "rosv",
      "role": "Suggests"
    }
  ],
  "_owner": "bart-turczynski",
  "_selfowned": true,
  "_usedby": 2,
  "_updates": [
    {
      "week": "2026-08",
      "n": 11
    },
    {
      "week": "2026-12",
      "n": 3
    },
    {
      "week": "2026-21",
      "n": 15
    },
    {
      "week": "2026-22",
      "n": 1
    },
    {
      "week": "2026-23",
      "n": 6
    },
    {
      "week": "2026-24",
      "n": 4
    },
    {
      "week": "2026-25",
      "n": 22
    },
    {
      "week": "2026-26",
      "n": 25
    },
    {
      "week": "2026-27",
      "n": 4
    },
    {
      "week": "2026-28",
      "n": 9
    },
    {
      "week": "2026-29",
      "n": 7
    },
    {
      "week": "2026-30",
      "n": 35
    }
  ],
  "_tags": [
    {
      "name": "v1.0.0",
      "date": "2026-06-05"
    },
    {
      "name": "v1.1.0",
      "date": "2026-06-15"
    },
    {
      "name": "v1.2.0",
      "date": "2026-07-06"
    },
    {
      "name": "v1.2.1",
      "date": "2026-07-19"
    }
  ],
  "_topics": [
    "punycode",
    "punycode encode",
    "punycode decode",
    "idna",
    "idn",
    "internationalized domain names",
    "uts-46",
    "rfc 3492",
    "unicode",
    "host normalization",
    "hostname",
    "domain names",
    "tld",
    "domain-names",
    "domains",
    "internationalized-domain-names",
    "punycode-decode",
    "punycode-encode",
    "r-lang",
    "r-library",
    "r-programming",
    "rfc3492",
    "unicode-converter",
    "uts46",
    "libidn2",
    "cpp"
  ],
  "_stars": 1,
  "_contributors": [
    {
      "user": "bart-turczynski",
      "count": 147,
      "uuid": 142225707
    }
  ],
  "_userbio": {
    "uuid": 142225707,
    "type": "user",
    "name": "Bart Turczynski",
    "followers": 5
  },
  "_downloads": {
    "count": 319,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/punycoder"
  },
  "_devurl": "https://github.com/bart-turczynski/punycoder",
  "_pkgdown": "https://bart-turczynski.github.io/punycoder/",
  "_searchresults": 5,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/punycoder.html",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/bart-turczynski/punycoder",
  "_realowner": "bart-turczynski",
  "_cranurl": true,
  "_releases": [
    {
      "version": "1.0.0",
      "date": "2026-06-11"
    },
    {
      "version": "1.1.0",
      "date": "2026-06-16"
    },
    {
      "version": "1.2.1",
      "date": "2026-07-19"
    }
  ],
  "_exports": [
    "host_normalize",
    "is_idn",
    "is_punycode",
    "normalization_profile_info",
    "puny_decode",
    "puny_encode",
    "unicode_versions",
    "validate_domain"
  ],
  "_help": [
    {
      "page": "host_normalize",
      "title": "Normalize hosts to canonical comparison form",
      "topics": [
        "host_normalize"
      ]
    },
    {
      "page": "is_idn",
      "title": "Test if domain contains internationalized characters",
      "topics": [
        "is_idn"
      ]
    },
    {
      "page": "is_punycode",
      "title": "Test if string is punycode encoded",
      "topics": [
        "is_punycode"
      ]
    },
    {
      "page": "normalization_profile_info",
      "title": "Canonical-host normalization profile identity",
      "topics": [
        "normalization_profile_info"
      ]
    },
    {
      "page": "print.punycoder_validation",
      "title": "Print method for punycoder validation results",
      "topics": [
        "print.punycoder_validation"
      ]
    },
    {
      "page": "print.punycoder_validation_summary",
      "title": "Print method for punycoder validation summaries",
      "topics": [
        "print.punycoder_validation_summary"
      ]
    },
    {
      "page": "puny_decode",
      "title": "Decode ASCII Punycode to Unicode domain labels (low-level)",
      "topics": [
        "puny_decode"
      ]
    },
    {
      "page": "puny_encode",
      "title": "Encode Unicode domain labels to ASCII Punycode (low-level)",
      "topics": [
        "puny_encode"
      ]
    },
    {
      "page": "summary.punycoder_validation",
      "title": "Summarize punycoder validation results",
      "topics": [
        "summary.punycoder_validation"
      ]
    },
    {
      "page": "unicode_versions",
      "title": "Unicode table sets available in this build",
      "topics": [
        "unicode_versions"
      ]
    },
    {
      "page": "validate_domain",
      "title": "Comprehensive domain name validation",
      "topics": [
        "validate_domain"
      ]
    }
  ],
  "_readme": "https://github.com/bart-turczynski/punycoder/raw/HEAD/README.md",
  "_rundeps": [
    "Rcpp"
  ],
  "_sysdeps": [
    {
      "shlib": "libidn2",
      "package": "libidn2-0",
      "headers": "libidn2-dev",
      "source": "libidn2",
      "version": "2.3.8-4build1",
      "name": "libidn2",
      "homepage": "https://www.gnu.org/software/libidn/#libidn2",
      "description": "Internationalized domain names (IDNA2008/TR46) library"
    },
    {
      "shlib": "libstdc++",
      "package": "libstdc++6",
      "source": "gcc",
      "version": "16-20260322-1ubuntu1",
      "name": "c++",
      "homepage": "http://gcc.gnu.org/",
      "description": "GNU Standard C++ Library v3"
    }
  ],
  "_vignettes": [
    {
      "source": "punycoder-intro.Rmd",
      "filename": "punycoder-intro.html",
      "title": "Introduction to punycoder",
      "author": "Bart Turczynski",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Why punycoder?",
        "The Problem",
        "The Solution",
        "Basic Usage",
        "Domain Encoding and Decoding",
        "Validation and Utilities",
        "Host Normalization",
        "Invalid Input Returns NA",
        "Profile Identity",
        "Unicode Version Selection",
        "Data Analysis Workflows",
        "Bulk Domain Processing",
        "Error Handling",
        "Performance Considerations",
        "Package Options",
        "Integration with Other Packages",
        "Next Steps",
        "Technical Details",
        "See also",
        "Acknowledgments"
      ],
      "created": "2025-06-09 23:33:29",
      "modified": "2026-07-26 10:59:40",
      "commits": 12
    }
  ],
  "_score": 5.556302500767288,
  "_indexed": true,
  "_nocasepkg": "punycoder",
  "_universes": [
    "bart-turczynski"
  ],
  "_failure": {
    "version": "1.2.1",
    "commit": {
      "id": "a00ae46f5b7bd1026a11528e511f26ca3441c0d3",
      "author": "Bart Turczynski <bartek@turczynski.pl>",
      "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
      "message": "version 1.2.1\n",
      "time": 1784484602
    },
    "buildurl": "https://github.com/r-universe/bart-turczynski/actions/runs/30341415790",
    "date": "2026-07-28T08:16:23.035Z",
    "job": {
      "job": 90217719902,
      "time": 216,
      "config": "source",
      "r": "4.6.1",
      "check": "ERROR",
      "artifact": "8681256780"
    }
  },
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.2.1.9000",
      "date": "2026-07-26T15:53:42.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "43d84abda18bd608300ce9702dbaaa2820044a48",
      "fileid": "https://r2.ropensci.org/65f7420584c5a2111aba3ff440bbf971d5070239ed590d1426d5c5e4daf0cea0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bart-turczynski/actions/runs/30208914954"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.2.1.9000",
      "date": "2026-07-26T15:53:33.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "43d84abda18bd608300ce9702dbaaa2820044a48",
      "fileid": "https://r2.ropensci.org/77d357aeba39c6e6f2b85f51a76ff44d597cdc6080ed57bdc6a8d66853ca6474",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bart-turczynski/actions/runs/30208914954"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.2.1.9000",
      "date": "2026-07-26T15:53:19.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "43d84abda18bd608300ce9702dbaaa2820044a48",
      "fileid": "https://r2.ropensci.org/5eff5f59b7bb41dfe975b12504c43e257536cd31e96a726f0820a00803cfca11",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bart-turczynski/actions/runs/30208914954"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.2.1.9000",
      "date": "2026-07-26T15:53:15.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "43d84abda18bd608300ce9702dbaaa2820044a48",
      "fileid": "https://r2.ropensci.org/f45e3659c8a98fa5984838b5a1b3888bdf1da0c3e6ac5c611bb5d6a791f8dbc2",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bart-turczynski/actions/runs/30208914954"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.2.1.9000",
      "date": "2026-07-26T15:52:46.000Z",
      "arch": "aarch64",
      "commit": "43d84abda18bd608300ce9702dbaaa2820044a48",
      "fileid": "https://r2.ropensci.org/cfe4c3cf18715c68260c5d7971a653021159ae82cd47fe50702e63eba337b61d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bart-turczynski/actions/runs/30208914954"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.2.1.9000",
      "date": "2026-07-26T15:53:20.000Z",
      "arch": "x86_64",
      "commit": "43d84abda18bd608300ce9702dbaaa2820044a48",
      "fileid": "https://r2.ropensci.org/1486703f5667c31c09a86dd76b57cba636a238e41a8de16d87b8108e3c401e7c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bart-turczynski/actions/runs/30208914954"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "1.2.1.9000",
      "date": "2026-07-26T15:52:27.000Z",
      "arch": "aarch64",
      "commit": "43d84abda18bd608300ce9702dbaaa2820044a48",
      "fileid": "https://r2.ropensci.org/b7844f587b01c907aac5b2cd218084ab55d8391333f12e4cd4d49104456f3a3d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bart-turczynski/actions/runs/30208914954"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "1.2.1.9000",
      "date": "2026-07-26T15:54:27.000Z",
      "arch": "x86_64",
      "commit": "43d84abda18bd608300ce9702dbaaa2820044a48",
      "fileid": "https://r2.ropensci.org/ed80e3261d24edb9947a6c7c4e094a59415bfb7ae788708e324189002a59e0e5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bart-turczynski/actions/runs/30208914954"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.2.1.9000",
      "date": "2026-07-26T15:53:15.000Z",
      "arch": "emscripten",
      "commit": "43d84abda18bd608300ce9702dbaaa2820044a48",
      "fileid": "https://r2.ropensci.org/c80e11987478739f4af26b65ba019405bde0945499a92e97fdbf77512d04ba34",
      "status": "success",
      "buildurl": "https://github.com/r-universe/bart-turczynski/actions/runs/30208914954"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.2.1.9000",
      "date": "2026-07-26T15:52:20.000Z",
      "arch": "x86_64",
      "commit": "43d84abda18bd608300ce9702dbaaa2820044a48",
      "fileid": "https://r2.ropensci.org/5089d5bae15c5d0c385422ba5d581759df77550cd5cc42d745ae742e53b90418",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bart-turczynski/actions/runs/30208914954"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.2.1.9000",
      "date": "2026-07-26T15:52:29.000Z",
      "arch": "x86_64",
      "commit": "43d84abda18bd608300ce9702dbaaa2820044a48",
      "fileid": "https://r2.ropensci.org/a32d3d44e8bd76cb503c03347f291642cb1be071e8417451063364c5a6c2c24d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bart-turczynski/actions/runs/30208914954"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "1.2.1.9000",
      "date": "2026-07-26T15:52:15.000Z",
      "arch": "x86_64",
      "commit": "43d84abda18bd608300ce9702dbaaa2820044a48",
      "fileid": "https://r2.ropensci.org/ad36bdb49895339d6000f681085fcf2d19ce86187f1e2dcf8258603a1730b64e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bart-turczynski/actions/runs/30208914954"
    }
  ]
}