{
  "_id": "6ae50aab327abcdf86868e50",
  "Package": "punycoder",
  "Type": "Package",
  "Title": "Unicode and Punycode Domain Name Processing",
  "Version": "1.3.0.9000",
  "Authors@R": "person(\"Bart\", \"Turczynski\", email = \"bartek@turczynski.pl\",\nrole = c(\"aut\", \"cre\", \"cph\"),\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,\nwhich a call can override with any version the build ships).\nAimed at host normalization and data analysis workflows. Used\nas the Punycode and IDNA engine by the 'pslr' and 'rurl'\npackages.",
  "SystemRequirements": "GNU libidn2 (optional, for native punycode backend)",
  "License": "MIT + file LICENSE",
  "URL": "https://bart-turczynski.gitlab.io/punycoder/,\nhttps://gitlab.com/bart-turczynski/punycoder,\nhttps://bart-turczynski.r-universe.dev/punycoder,\nhttps://CRAN.R-project.org/package=punycoder",
  "BugReports": "https://gitlab.com/bart-turczynski/punycoder/-/work_items",
  "Encoding": "UTF-8",
  "Language": "en-US",
  "VignetteBuilder": "knitr",
  "Roxygen": "list(markdown = TRUE)",
  "Config/roxygen2/version": "8.1.1",
  "Config/testthat/edition": "3",
  "Repository": "https://bart-turczynski.r-universe.dev",
  "Date/Publication": "2026-10-30 18:25:33 UTC",
  "RemoteUrl": "https://gitlab.com/bart-turczynski/punycoder",
  "RemoteRef": "HEAD",
  "RemoteSha": "eeafe8809673abd0d4e05edd20884de28a95ab00",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-10-30 21:04:17 UTC",
    "User": "root"
  },
  "Author": "Bart Turczynski [aut, cre, cph] (ORCID:\n<https://orcid.org/0000-0002-8788-7980>)",
  "Maintainer": "Bart Turczynski <bartek@turczynski.pl>",
  "_user": "bart-turczynski",
  "_type": "src",
  "_file": "punycoder_1.3.0.9000.tar.gz",
  "_fileid": "https://r2.ropensci.org/29a372a7d5ec408fff4837fa18be9275e7764ece7a64672364c848204d60d73c",
  "_filesize": 679103,
  "_sha256": "29a372a7d5ec408fff4837fa18be9275e7764ece7a64672364c848204d60d73c",
  "_expires": "2027-02-07T21:22:49.000Z",
  "_created": "2026-10-30T21:04:17.000Z",
  "_published": "2026-10-30T21:22:51.297Z",
  "_upstream": "https://gitlab.com/bart-turczynski/punycoder",
  "_status": "success",
  "_maintainer": {
    "name": "Bart Turczynski",
    "email": "bartek@turczynski.pl",
    "login": "bart-turczynski",
    "linkedin": "in/bart-turczynski",
    "orcid": "0000-0002-8788-7980",
    "twitter": "@bart_turczynski",
    "description": "",
    "uuid": 142225707
  },
  "_jobs": [
    {
      "job": 124312280534,
      "time": 141,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "13010914317"
    },
    {
      "job": 124312280544,
      "time": 172,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "13011483016"
    },
    {
      "job": 124312280589,
      "time": 143,
      "config": "linux-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "13012740031"
    },
    {
      "job": 124312280525,
      "time": 175,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "13010859753"
    },
    {
      "job": 124312280626,
      "time": 172,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "13013495434"
    },
    {
      "job": 124312280553,
      "time": 525,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "13012693017"
    },
    {
      "job": 124312280438,
      "time": 141,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "13011819664"
    },
    {
      "job": 124312280459,
      "time": 254,
      "config": "macos-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "13013235293"
    },
    {
      "job": 124310499264,
      "time": 232,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "13012525399"
    },
    {
      "job": 124312280549,
      "time": 101,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "13010579829"
    },
    {
      "job": 124312280551,
      "time": 216,
      "config": "windows-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "13011418406"
    },
    {
      "job": 124312280651,
      "time": 222,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "13010894579"
    },
    {
      "job": 124312280495,
      "time": 128,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "13011592661"
    },
    {
      "job": 124312280467,
      "time": 286,
      "config": "windows-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "13011039478"
    },
    {
      "job": 124312280676,
      "time": 135,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "13012186707"
    }
  ],
  "_buildurl": "https://github.com/r-universe/bart-turczynski/actions/runs/41127693235",
  "_commit": {
    "id": "eeafe8809673abd0d4e05edd20884de28a95ab00",
    "author": "Bart Turczynski <bartek@turczynski.pl>",
    "committer": "Bart Turczynski <bartek@turczynski.pl>",
    "message": "Merge branch 'fix/urls-429-warn' into 'main'\n\nfix(urls): don't fail a push on gitlab.com's rate limit (429)\n\nSee merge request bart-turczynski/punycoder!94",
    "time": 1793384733
  },
  "_distro": "resolute",
  "_host": "GitHub-Actions",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.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": "gitlab-bart-turczynski",
  "_selfowned": true,
  "_usedby": 7,
  "_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
    },
    {
      "week": "2026-31",
      "n": 3
    },
    {
      "week": "2026-33",
      "n": 1
    },
    {
      "week": "2026-36",
      "n": 9
    },
    {
      "week": "2026-37",
      "n": 6
    },
    {
      "week": "2026-39",
      "n": 19
    },
    {
      "week": "2026-40",
      "n": 41
    },
    {
      "week": "2026-41",
      "n": 9
    },
    {
      "week": "2026-42",
      "n": 1
    },
    {
      "week": "2026-43",
      "n": 1
    },
    {
      "week": "2026-44",
      "n": 8
    }
  ],
  "_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"
    },
    {
      "name": "v1.3.0",
      "date": "2026-09-29"
    }
  ],
  "_topics": [
    "punycode",
    "punycode encode",
    "punycode decode",
    "idna",
    "idn",
    "internationalized domain names",
    "uts-46",
    "rfc 3492",
    "unicode",
    "host normalization",
    "hostname",
    "domain names",
    "tld",
    "libidn2",
    "cpp"
  ],
  "_userbio": {
    "uuid": 142225707,
    "type": "user",
    "name": "Bart Turczynski",
    "followers": 4
  },
  "_downloads": {
    "count": 1247,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/punycoder"
  },
  "_devurl": "https://gitlab.com/bart-turczynski/punycoder",
  "_pkgdown": "https://bart-turczynski.gitlab.io/punycoder/",
  "_searchresults": 4,
  "_abi": {
    "exports": [],
    "imports": [
      {
        "key": "Rcpp::Rcpp_precious_preserve()",
        "hash": "33a97ea62b293da6"
      },
      {
        "key": "Rcpp::Rcpp_precious_remove()",
        "hash": "63d26947ba7e1377"
      },
      {
        "key": "Rcpp::dataptr()",
        "hash": "54e69ad2e6668c83"
      },
      {
        "key": "Rcpp::demangle()",
        "hash": "b0cfd6754c5ebc4e"
      },
      {
        "key": "Rcpp::enterRNGScope()",
        "hash": "a04a299137cef947"
      },
      {
        "key": "Rcpp::exitRNGScope()",
        "hash": "a04a299137cef947"
      },
      {
        "key": "Rcpp::rcpp_get_stack_trace()",
        "hash": "c684a9bbe15cdc52"
      },
      {
        "key": "Rcpp::rcpp_set_stack_trace()",
        "hash": "33a97ea62b293da6"
      }
    ]
  },
  "_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/punycoder.html",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE"
  ],
  "_homeurl": "https://gitlab.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"
    },
    {
      "version": "1.3.0",
      "date": "2026-09-30"
    }
  ],
  "_exports": [
    "host_normalise",
    "host_normalize",
    "is_idn",
    "is_punycode",
    "normalisation_profile_info",
    "normalization_profile_info",
    "puny_decode",
    "puny_encode",
    "unicode_versions",
    "validate_domain"
  ],
  "_help": [
    {
      "page": "host_normalize",
      "title": "Normalize hosts to canonical comparison form",
      "topics": [
        "host_normalise",
        "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": [
        "normalisation_profile_info",
        "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"
      ]
    }
  ],
  "_pkglogo": "https://gitlab.com/bart-turczynski/punycoder/raw/HEAD/man/figures/logo.svg",
  "_readme": "https://gitlab.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-09-22 14:41:56",
      "commits": 16
    },
    {
      "source": "comparison.Rmd",
      "filename": "comparison.html",
      "title": "Prior art and comparison",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Libraries in other ecosystems",
        "Observed behavior on the comparable R packages"
      ],
      "created": "2026-10-04 16:27:59",
      "modified": "2026-10-04 16:27:59",
      "commits": 1
    }
  ],
  "_score": 6.760508429034669,
  "_indexed": true,
  "_nocasepkg": "punycoder",
  "_universes": [
    "bart-turczynski",
    "gitlab-bart-turczynski"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.3.0.9000",
      "date": "2026-10-30T21:06:33.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "eeafe8809673abd0d4e05edd20884de28a95ab00",
      "fileid": "https://r2.ropensci.org/8668e459fc5b8317477e91e625dcad55c55bb4a299d573cfbce51e4f0d6821bc",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bart-turczynski/actions/runs/41127693235"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.3.0.9000",
      "date": "2026-10-30T21:07:02.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "eeafe8809673abd0d4e05edd20884de28a95ab00",
      "fileid": "https://r2.ropensci.org/c510254dce995fb54bdb232e7e93a62279ca92bd4e1d5342805d71023c0f55a0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bart-turczynski/actions/runs/41127693235"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.3.0.9000",
      "date": "2026-10-30T21:06:36.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "eeafe8809673abd0d4e05edd20884de28a95ab00",
      "fileid": "https://r2.ropensci.org/f696547e3040ebe9447162e7b7afcd1fcf71ca38fbed0c6e07f5d95fabb9452e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bart-turczynski/actions/runs/41127693235"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.3.0.9000",
      "date": "2026-10-30T21:07:10.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "eeafe8809673abd0d4e05edd20884de28a95ab00",
      "fileid": "https://r2.ropensci.org/1fc3d2d040bd067843d554ffb75e5db360b604a6b441debab00ed325dcdec248",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bart-turczynski/actions/runs/41127693235"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.3.0.9000",
      "date": "2026-10-30T21:21:31.000Z",
      "arch": "aarch64",
      "commit": "eeafe8809673abd0d4e05edd20884de28a95ab00",
      "fileid": "https://r2.ropensci.org/58d0cd64bc1d6f31e9aad7494a638b3a8b21c79e14cda74f6587291896692a58",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bart-turczynski/actions/runs/41127693235"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.3.0.9000",
      "date": "2026-10-30T21:19:00.000Z",
      "arch": "x86_64",
      "commit": "eeafe8809673abd0d4e05edd20884de28a95ab00",
      "fileid": "https://r2.ropensci.org/3814b231c70916036b78f876de6ad33f9f6302a88ce798cd7d9f8a906541047e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bart-turczynski/actions/runs/41127693235"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "1.3.0.9000",
      "date": "2026-10-30T21:18:53.000Z",
      "arch": "aarch64",
      "commit": "eeafe8809673abd0d4e05edd20884de28a95ab00",
      "fileid": "https://r2.ropensci.org/3fa5f5483cbd6ab18e0756af610bd84b52348b713ceda6b26ffd2f685e1f9aae",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bart-turczynski/actions/runs/41127693235"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "1.3.0.9000",
      "date": "2026-10-30T21:13:16.000Z",
      "arch": "x86_64",
      "commit": "eeafe8809673abd0d4e05edd20884de28a95ab00",
      "fileid": "https://r2.ropensci.org/24cc0dd0b7081c0c3bbfe4bf669322418c8d39e0b2e4640463412de7d42067ac",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bart-turczynski/actions/runs/41127693235"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.3.0.9000",
      "date": "2026-10-30T21:06:20.000Z",
      "arch": "emscripten",
      "commit": "eeafe8809673abd0d4e05edd20884de28a95ab00",
      "fileid": "https://r2.ropensci.org/c7519e6376d89cb0b2120b63c3faf2d3b025e2d395a49e62417fde1d90aedb09",
      "status": "success",
      "buildurl": "https://github.com/r-universe/bart-turczynski/actions/runs/41127693235"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.3.0.9000",
      "date": "2026-10-30T21:07:35.000Z",
      "arch": "aarch64",
      "commit": "eeafe8809673abd0d4e05edd20884de28a95ab00",
      "fileid": "https://r2.ropensci.org/569f623be3210522186414ecfe243848b41242ce8271f145d85e6dd833752c46",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bart-turczynski/actions/runs/41127693235"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.3.0.9000",
      "date": "2026-10-30T21:06:06.000Z",
      "arch": "x86_64",
      "commit": "eeafe8809673abd0d4e05edd20884de28a95ab00",
      "fileid": "https://r2.ropensci.org/2e560d678896fd84d2cc7658cb859be29434bce8800ebe7cc10925e5861ee8b9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bart-turczynski/actions/runs/41127693235"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.3.0.9000",
      "date": "2026-10-30T21:05:39.000Z",
      "arch": "x86_64",
      "commit": "eeafe8809673abd0d4e05edd20884de28a95ab00",
      "fileid": "https://r2.ropensci.org/469e9b74bb1504326cf50de66d4bb630b69cb1b5bf43bbae67c70e30236e5497",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bart-turczynski/actions/runs/41127693235"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "1.3.0.9000",
      "date": "2026-10-30T21:08:14.000Z",
      "arch": "aarch64",
      "commit": "eeafe8809673abd0d4e05edd20884de28a95ab00",
      "fileid": "https://r2.ropensci.org/c8afe5c74a720b65a52b4bee6e890ede4e8d181983d77f05c15a6cbdd8cf234f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bart-turczynski/actions/runs/41127693235"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "1.3.0.9000",
      "date": "2026-10-30T21:05:45.000Z",
      "arch": "x86_64",
      "commit": "eeafe8809673abd0d4e05edd20884de28a95ab00",
      "fileid": "https://r2.ropensci.org/004e5f52c1e67e7b017688bd03a22150225d34c5cdf7a82e2c4815cc926b41e1",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bart-turczynski/actions/runs/41127693235"
    }
  ]
}