{
  "_id": "6ae251df8d250e7ad09eed4a",
  "Package": "hairline",
  "Title": "Clean, Predictable Figures for Medical and Data Science",
  "Version": "0.1.0",
  "Authors@R": "person(\"Nikolas\", \"Schrader\", email = \"hi@nikolasschrader.com\",\nrole = c(\"aut\", \"cre\", \"cph\"), comment = c(ORCID = \"0009-0001-4616-3804\"))",
  "Description": "A design system for 'ggplot2' figures: one frame for\ntitles, legends, panels and captions, a fixed spacing and type\nscale, colour-vision checked palettes, brand files in the\n'brand.yml' format, and print-ready export. Produces output\nmatching the 'hairline' Python package.",
  "License": "MIT + file LICENSE",
  "URL": "https://github.com/schradern/hairline",
  "BugReports": "https://github.com/schradern/hairline/issues",
  "Copyright": "The bundled 'Hairline Sans' font is a modified Public Sans,\nCopyright 2015 The Public Sans Project Authors, under the SIL\nOpen Font License 1.1; see inst/COPYRIGHTS.",
  "Encoding": "UTF-8",
  "Config/testthat/edition": "3",
  "Config/roxygen2/version": "8.1.1",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-10-28 19:43:45 UTC",
    "User": "root"
  },
  "Author": "Nikolas Schrader [aut, cre, cph] (ORCID:\n<https://orcid.org/0009-0001-4616-3804>)",
  "Maintainer": "Nikolas Schrader <hi@nikolasschrader.com>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-10-28 11:50:08 UTC",
  "RemoteUrl": "https://github.com/cran/hairline",
  "RemoteRef": "HEAD",
  "RemoteSha": "dfa82957aa85393b31391a3bbd27493dc6ced2c4",
  "_user": "cran",
  "_type": "src",
  "_file": "hairline_0.1.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/b6f0726fc8e46ddd6f59b42f7b4f373b697d3d02f3ab6920300d793b4ae187b7",
  "_filesize": 748657,
  "_sha256": "b6f0726fc8e46ddd6f59b42f7b4f373b697d3d02f3ab6920300d793b4ae187b7",
  "_expires": "2027-02-05T19:49:49.000Z",
  "_created": "2026-10-28T19:43:45.000Z",
  "_published": "2026-10-28T19:49:51.014Z",
  "_upstream": "https://github.com/cran/hairline",
  "_status": "success",
  "_maintainer": {
    "name": "Nikolas Schrader",
    "email": "hi@nikolasschrader.com",
    "login": "schradern",
    "description": "",
    "uuid": 204494220,
    "orcid": "0009-0001-4616-3804"
  },
  "_jobs": [
    {
      "job": 123058377828,
      "time": 194,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12847006241"
    },
    {
      "job": 123058377670,
      "time": 308,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12845449114"
    },
    {
      "job": 123056020539,
      "time": 268,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12846865943"
    },
    {
      "job": 123058377674,
      "time": 114,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "12847300387"
    },
    {
      "job": 123058377992,
      "time": 208,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12846781366"
    },
    {
      "job": 123058377750,
      "time": 216,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12846607403"
    }
  ],
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/40756062168",
  "_commit": {
    "id": "dfa82957aa85393b31391a3bbd27493dc6ced2c4",
    "author": "Nikolas Schrader <hi@nikolasschrader.com>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 0.1.0\n",
    "time": 1793188208
  },
  "_distro": "resolute",
  "_host": "GitHub-Actions",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.3",
      "role": "Depends"
    },
    {
      "package": "S7",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "version": ">= 4.0.0",
      "role": "Imports"
    },
    {
      "package": "grid",
      "role": "Imports"
    },
    {
      "package": "grDevices",
      "role": "Imports"
    },
    {
      "package": "jsonlite",
      "role": "Imports"
    },
    {
      "package": "ragg",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "systemfonts",
      "role": "Imports"
    },
    {
      "package": "textshaping",
      "role": "Imports"
    },
    {
      "package": "tools",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "yaml",
      "role": "Imports"
    },
    {
      "package": "cowplot",
      "role": "Suggests"
    },
    {
      "package": "metafor",
      "role": "Suggests"
    },
    {
      "package": "patchwork",
      "role": "Suggests"
    },
    {
      "package": "png",
      "role": "Suggests"
    },
    {
      "package": "rsvg",
      "role": "Suggests"
    },
    {
      "package": "survival",
      "role": "Suggests"
    },
    {
      "package": "svglite",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "withr",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-44",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "0.1.0",
      "date": "2026-10-28"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "schradern",
      "count": 1,
      "uuid": 204494220
    }
  ],
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "followers": 634,
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/hairline"
  },
  "_devurl": "https://github.com/schradern/hairline",
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/hairline.html",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE"
  ],
  "_cranurl": false,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2026-10-28"
    }
  ],
  "_exports": [
    "hl_arcs",
    "hl_bars",
    "hl_brand_report",
    "hl_check_palette",
    "hl_chord",
    "hl_color",
    "hl_colors",
    "hl_compare",
    "hl_correlation",
    "hl_describe",
    "hl_distribution",
    "hl_donut",
    "hl_dotplot",
    "hl_effects",
    "hl_find_brand",
    "hl_forest",
    "hl_format_interval",
    "hl_format_number",
    "hl_format_percent",
    "hl_funnel",
    "hl_highlight",
    "hl_install_font",
    "hl_kaplan_meier",
    "hl_layout_report",
    "hl_legend",
    "hl_load_brand",
    "hl_over_time",
    "hl_palette",
    "hl_palettes",
    "hl_panel_header",
    "hl_partition",
    "hl_prisma",
    "hl_raincloud",
    "hl_ramp",
    "hl_reference",
    "hl_ridgeline",
    "hl_risk_of_bias",
    "hl_sankey",
    "hl_save",
    "hl_scatter",
    "hl_settings",
    "hl_spread",
    "hl_study",
    "hl_survival",
    "hl_swatches",
    "hl_timeseries",
    "hl_use",
    "hl_venn",
    "scale_colour_hairline",
    "scale_colour_hairline_c",
    "scale_fill_hairline",
    "scale_fill_hairline_c",
    "scale_x_hairline",
    "scale_y_hairline",
    "theme_hairline"
  ],
  "_help": [
    {
      "page": "hairline_colours",
      "title": "Colours in hairline",
      "topics": [
        "hairline_colors",
        "hairline_colours"
      ]
    },
    {
      "page": "hl_arcs",
      "title": "Arc diagram",
      "topics": [
        "hl_arcs"
      ]
    },
    {
      "page": "hl_bars",
      "title": "Bar chart",
      "topics": [
        "hl_bars"
      ]
    },
    {
      "page": "hl_brand_report",
      "title": "Brand report",
      "topics": [
        "hl_brand_report"
      ]
    },
    {
      "page": "hl_check_palette",
      "title": "Check a palette for readability",
      "topics": [
        "hl_check_palette"
      ]
    },
    {
      "page": "hl_chord",
      "title": "Chord diagram",
      "topics": [
        "hl_chord"
      ]
    },
    {
      "page": "hl_color",
      "title": "Entity colours",
      "topics": [
        "hl_color",
        "hl_colors"
      ]
    },
    {
      "page": "hl_compare",
      "title": "Compare one variable between groups",
      "topics": [
        "hl_compare"
      ]
    },
    {
      "page": "hl_correlation",
      "title": "Correlation heatmap",
      "topics": [
        "hl_correlation"
      ]
    },
    {
      "page": "hl_describe",
      "title": "Table 1: the cohort by group",
      "topics": [
        "hl_describe"
      ]
    },
    {
      "page": "hl_distribution",
      "title": "Distribution of one numeric variable by group",
      "topics": [
        "hl_distribution"
      ]
    },
    {
      "page": "hl_donut",
      "title": "Donut and nested donut",
      "topics": [
        "hl_donut"
      ]
    },
    {
      "page": "hl_dotplot",
      "title": "Dot plot with intervals",
      "topics": [
        "hl_dotplot"
      ]
    },
    {
      "page": "hl_effects",
      "title": "Effects with 95 % intervals",
      "topics": [
        "hl_effects"
      ]
    },
    {
      "page": "hl_find_brand",
      "title": "Find a brand file",
      "topics": [
        "hl_find_brand"
      ]
    },
    {
      "page": "hl_forest",
      "title": "Forest plot",
      "topics": [
        "hl_forest"
      ]
    },
    {
      "page": "hl_format_number",
      "title": "Format numbers, percentages and intervals",
      "topics": [
        "hl_format_interval",
        "hl_format_number",
        "hl_format_percent"
      ]
    },
    {
      "page": "hl_funnel",
      "title": "Funnel plot",
      "topics": [
        "hl_funnel"
      ]
    },
    {
      "page": "hl_highlight",
      "title": "Highlight series or panels",
      "topics": [
        "hl_highlight"
      ]
    },
    {
      "page": "hl_install_font",
      "title": "Install the bundled font for PDF output",
      "topics": [
        "hl_install_font"
      ]
    },
    {
      "page": "hl_kaplan_meier",
      "title": "Kaplan–Meier curves",
      "topics": [
        "hl_kaplan_meier"
      ]
    },
    {
      "page": "hl_layout_report",
      "title": "Frame positions of a hairline plot",
      "topics": [
        "hl_layout_report"
      ]
    },
    {
      "page": "hl_legend",
      "title": "Explicit legend items",
      "topics": [
        "hl_legend"
      ]
    },
    {
      "page": "hl_load_brand",
      "title": "Read a brand file",
      "topics": [
        "hl_load_brand"
      ]
    },
    {
      "page": "hl_over_time",
      "title": "One measure over time by group",
      "topics": [
        "hl_over_time"
      ]
    },
    {
      "page": "hl_palette",
      "title": "Palette colours in slot order",
      "topics": [
        "hl_palette"
      ]
    },
    {
      "page": "hl_palettes",
      "title": "Every colour set, with its use",
      "topics": [
        "hl_palettes"
      ]
    },
    {
      "page": "hl_panel_header",
      "title": "Panel header with key numbers",
      "topics": [
        "hl_panel_header"
      ]
    },
    {
      "page": "hl_partition",
      "title": "Partition bars",
      "topics": [
        "hl_partition"
      ]
    },
    {
      "page": "hl_prisma",
      "title": "PRISMA 2020 flow diagram",
      "topics": [
        "hl_prisma"
      ]
    },
    {
      "page": "hl_raincloud",
      "title": "Raincloud plot",
      "topics": [
        "hl_raincloud"
      ]
    },
    {
      "page": "hl_ramp",
      "title": "Sequential or diverging ramp",
      "topics": [
        "hl_ramp"
      ]
    },
    {
      "page": "hl_reference",
      "title": "Reference line with a label",
      "topics": [
        "hl_reference"
      ]
    },
    {
      "page": "hl_ridgeline",
      "title": "Ridgeline plot",
      "topics": [
        "hl_ridgeline"
      ]
    },
    {
      "page": "hl_risk_of_bias",
      "title": "Risk-of-bias summary",
      "topics": [
        "hl_risk_of_bias"
      ]
    },
    {
      "page": "hl_sankey",
      "title": "Sankey diagram",
      "topics": [
        "hl_sankey"
      ]
    },
    {
      "page": "hl_save",
      "title": "Save print-ready files",
      "topics": [
        "hl_save"
      ]
    },
    {
      "page": "hl_scatter",
      "title": "Scatter plot with fit",
      "topics": [
        "hl_scatter"
      ]
    },
    {
      "page": "hl_settings",
      "title": "Active hairline settings",
      "topics": [
        "hl_settings"
      ]
    },
    {
      "page": "hl_spread",
      "title": "Spread rows: distributions per group on one axis",
      "topics": [
        "hl_spread"
      ]
    },
    {
      "page": "hl_study",
      "title": "Describe a dataset once for the study endpoints",
      "topics": [
        "hl_study"
      ]
    },
    {
      "page": "hl_survival",
      "title": "Survival by group",
      "topics": [
        "hl_survival"
      ]
    },
    {
      "page": "hl_swatches",
      "title": "Colour sets as swatches",
      "topics": [
        "hl_swatches"
      ]
    },
    {
      "page": "hl_timeseries",
      "title": "Small-multiple time series with two levels of detail",
      "topics": [
        "hl_timeseries"
      ]
    },
    {
      "page": "hl_use",
      "title": "Set hairline's style for this session",
      "topics": [
        "hl_use"
      ]
    },
    {
      "page": "hl_venn",
      "title": "Venn diagram",
      "topics": [
        "hl_venn"
      ]
    },
    {
      "page": "scale_colour_hairline",
      "title": "Colour and fill scales from hairline palettes and ramps",
      "topics": [
        "scale_colour_hairline",
        "scale_colour_hairline_c",
        "scale_fill_hairline",
        "scale_fill_hairline_c"
      ]
    },
    {
      "page": "scale_y_hairline",
      "title": "Position scales with nice breaks",
      "topics": [
        "scale_x_hairline",
        "scale_y_hairline"
      ]
    },
    {
      "page": "theme_hairline",
      "title": "hairline theme and frame",
      "topics": [
        "theme_hairline"
      ]
    }
  ],
  "_readme": "https://github.com/cran/hairline/raw/HEAD/README.md",
  "_rundeps": [
    "base64enc",
    "cli",
    "cpp11",
    "farver",
    "ggplot2",
    "glue",
    "gtable",
    "isoband",
    "jsonlite",
    "labeling",
    "lifecycle",
    "R6",
    "ragg",
    "RColorBrewer",
    "rlang",
    "S7",
    "scales",
    "stringi",
    "systemfonts",
    "textshaping",
    "vctrs",
    "viridisLite",
    "withr",
    "yaml"
  ],
  "_score": 1.6989700043360187,
  "_indexed": true,
  "_nocasepkg": "hairline",
  "_universes": [
    "cran",
    "schradern"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.0",
      "date": "2026-10-28T19:45:54.000Z",
      "distro": "resolute",
      "commit": "dfa82957aa85393b31391a3bbd27493dc6ced2c4",
      "fileid": "https://r2.ropensci.org/71b85a3589b429574ec0360780a376cdca0c78afbe866f35b8acf558168bc7e7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/40756062168"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.1.0",
      "date": "2026-10-28T19:48:03.000Z",
      "distro": "resolute",
      "commit": "dfa82957aa85393b31391a3bbd27493dc6ced2c4",
      "fileid": "https://r2.ropensci.org/a928904d4ec21f5d0206f827523fd3ba34acc5d6ffd9cf60de761624d2e99453",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/40756062168"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.0",
      "date": "2026-10-28T19:46:11.000Z",
      "commit": "dfa82957aa85393b31391a3bbd27493dc6ced2c4",
      "fileid": "https://r2.ropensci.org/4ef63b21a7b117a10dce27e8ecb970f710953236b26e390e1ce35a616cd22f05",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/40756062168"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.0",
      "date": "2026-10-28T19:45:39.000Z",
      "commit": "dfa82957aa85393b31391a3bbd27493dc6ced2c4",
      "fileid": "https://r2.ropensci.org/39768c8092d5f210febc6be20558e9f359af44fced7b54434ae1556bb152aa00",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/40756062168"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.1.0",
      "date": "2026-10-28T19:45:51.000Z",
      "commit": "dfa82957aa85393b31391a3bbd27493dc6ced2c4",
      "fileid": "https://r2.ropensci.org/2ef45f3347f1df4694bebb37d5be443a8f8ee1a7af3986daff8f41b51eda76e9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/40756062168"
    }
  ]
}