{
  "_id": "6ae494378d250e7ad09f2438",
  "Package": "punycoder",
  "Type": "Package",
  "Title": "Unicode and Punycode Domain Name Processing",
  "Version": "1.3.0",
  "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://gitlab.com/bart-turczynski/punycoder,\nhttps://bart-turczynski.gitlab.io/punycoder/,\nhttps://CRAN.R-project.org/package=punycoder",
  "BugReports": "https://gitlab.com/bart-turczynski/punycoder/-/issues",
  "Encoding": "UTF-8",
  "Language": "en-US",
  "VignetteBuilder": "knitr",
  "Config/roxygen2/version": "8.0.0",
  "Config/testthat/edition": "3",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-10-30 12:52:27 UTC",
    "User": "root"
  },
  "Author": "Bart Turczynski [aut, cre] (ORCID:\n<https://orcid.org/0000-0002-8788-7980>)",
  "Maintainer": "Bart Turczynski <bartek@turczynski.pl>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-09-30 15:20:02 UTC",
  "RemoteUrl": "https://github.com/cran/punycoder",
  "RemoteRef": "HEAD",
  "RemoteSha": "bbb8e4df71dd095780800eea3d4d394d6fd1be2c",
  "_user": "cran",
  "_type": "src",
  "_file": "punycoder_1.3.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/8d1d0884a483dbd3c0c4b8ecfd422cdf5a87ec16b86a9706fccd58e7b9b9d576",
  "_filesize": 680601,
  "_sha256": "8d1d0884a483dbd3c0c4b8ecfd422cdf5a87ec16b86a9706fccd58e7b9b9d576",
  "_expires": "2027-02-07T12:57:24.000Z",
  "_created": "2026-10-30T12:52:27.000Z",
  "_published": "2026-10-30T12:57:26.948Z",
  "_upstream": "https://github.com/cran/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": 124072719568,
      "time": 119,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12976834635"
    },
    {
      "job": 124072719332,
      "time": 144,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12977838073"
    },
    {
      "job": 124072719367,
      "time": 120,
      "config": "linux-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12978571474"
    },
    {
      "job": 124072719356,
      "time": 145,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12978118100"
    },
    {
      "job": 124071028716,
      "time": 231,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12978725051"
    },
    {
      "job": 124072719326,
      "time": 111,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "12977972697"
    },
    {
      "job": 124072719312,
      "time": 227,
      "config": "windows-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12978645912"
    },
    {
      "job": 124072719464,
      "time": 194,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12977273264"
    },
    {
      "job": 124072719375,
      "time": 250,
      "config": "windows-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12978631554"
    },
    {
      "job": 124072719397,
      "time": 149,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12978422483"
    }
  ],
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/41058028132",
  "_commit": {
    "id": "bbb8e4df71dd095780800eea3d4d394d6fd1be2c",
    "author": "Bart Turczynski <bartek@turczynski.pl>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 1.3.0\n",
    "time": 1790781602
  },
  "_distro": "resolute",
  "_host": "GitHub-Actions",
  "_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": "cran",
  "_selfowned": false,
  "_usedby": 7,
  "_updates": [
    {
      "week": "2026-24",
      "n": 1
    },
    {
      "week": "2026-25",
      "n": 1
    },
    {
      "week": "2026-29",
      "n": 1
    },
    {
      "week": "2026-40",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "1.0.0",
      "date": "2026-06-11"
    },
    {
      "name": "1.1.0",
      "date": "2026-06-16"
    },
    {
      "name": "1.2.1",
      "date": "2026-07-19"
    },
    {
      "name": "1.3.0",
      "date": "2026-09-30"
    }
  ],
  "_topics": [
    "punycode",
    "punycode encode",
    "punycode decode",
    "idna",
    "idn",
    "internationalized domain names",
    "uts-46",
    "rfc 3492",
    "unicode",
    "host normalization",
    "hostname",
    "domain names",
    "tld",
    "libidn2",
    "cpp"
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "bart-turczynski",
      "count": 2,
      "uuid": 142225707
    }
  ],
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "followers": 634,
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 1260,
    "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,
  "_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": false,
  "_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"
      ]
    }
  ],
  "_readme": "https://github.com/cran/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": "2026-06-11 16:33:31",
      "modified": "2026-09-30 15:20:02",
      "commits": 4
    }
  ],
  "_score": 4.723619835515463,
  "_indexed": false,
  "_nocasepkg": "punycoder",
  "_universes": [
    "cran"
  ],
  "_indexurl": "https://bart-turczynski.r-universe.dev/punycoder",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.3.0",
      "date": "2026-10-30T12:54:20.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "bbb8e4df71dd095780800eea3d4d394d6fd1be2c",
      "fileid": "https://r2.ropensci.org/092c1d5a0da4334e0bac566a940bc0298d7795c5be4bf59109f11bb98a303760",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/41058028132"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.3.0",
      "date": "2026-10-30T12:54:37.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "bbb8e4df71dd095780800eea3d4d394d6fd1be2c",
      "fileid": "https://r2.ropensci.org/6420de266f0521b9cc8e83f45aa2d78d5fc004c94d5bbde7313fe0b44daf83c3",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/41058028132"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.3.0",
      "date": "2026-10-30T12:54:27.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "bbb8e4df71dd095780800eea3d4d394d6fd1be2c",
      "fileid": "https://r2.ropensci.org/4efb628db24ec900571a3a510dcf031518b93b6d5a43aff776dd920a9c5b4497",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/41058028132"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.3.0",
      "date": "2026-10-30T12:54:44.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "bbb8e4df71dd095780800eea3d4d394d6fd1be2c",
      "fileid": "https://r2.ropensci.org/4489e479fc4c2b11cd4ec54f63665ac461ec97218e6e96057e836d9ca2b3bda8",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/41058028132"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.3.0",
      "date": "2026-10-30T12:54:34.000Z",
      "arch": "emscripten",
      "commit": "bbb8e4df71dd095780800eea3d4d394d6fd1be2c",
      "fileid": "https://r2.ropensci.org/5290140e11119d2a056c75e4f5c40a6c631bd1598e86c8a5a8d6eb1148bd8c1b",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/41058028132"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.3.0",
      "date": "2026-10-30T12:55:27.000Z",
      "arch": "aarch64",
      "commit": "bbb8e4df71dd095780800eea3d4d394d6fd1be2c",
      "fileid": "https://r2.ropensci.org/4bf6783df0e19967e42315a7aebe4ef763f1ab122eb7b34dece23dbdd4f5311a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/41058028132"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.3.0",
      "date": "2026-10-30T12:53:51.000Z",
      "arch": "x86_64",
      "commit": "bbb8e4df71dd095780800eea3d4d394d6fd1be2c",
      "fileid": "https://r2.ropensci.org/a5fc64b17f9044e34ee7ba912e79070274fda29917ed2211db51c1a8fc1c0af5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/41058028132"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "1.3.0",
      "date": "2026-10-30T12:55:56.000Z",
      "arch": "aarch64",
      "commit": "bbb8e4df71dd095780800eea3d4d394d6fd1be2c",
      "fileid": "https://r2.ropensci.org/17d92e7e1e098710548975994f3c5166190461bb7db578c6568eaa4f76f0bcd7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/41058028132"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "1.3.0",
      "date": "2026-10-30T12:53:51.000Z",
      "arch": "x86_64",
      "commit": "bbb8e4df71dd095780800eea3d4d394d6fd1be2c",
      "fileid": "https://r2.ropensci.org/817c8f60ce9b6f7a7274228ba43d93097c7339491700451542110600e2e9d58d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/41058028132"
    }
  ]
}