{
  "_id": "6a1be64e1d7bb097a0a1a654",
  "Package": "restrictR",
  "Title": "Composable Runtime Contracts for R",
  "Version": "0.1.2",
  "Authors@R": "person(\"Gilles\", \"Colling\", email = \"gilles.colling051@gmail.com\",\nrole = c(\"aut\", \"cre\", \"cph\"),\ncomment = c(ORCID = \"0000-0003-3070-6066\"))",
  "Description": "Build reusable validators from small building blocks using\nthe base pipe operator. Define runtime contracts once with\n'restrict()' and enforce them anywhere in code. Validators\ncompose naturally, support dependent rules via formulas, and\nproduce clear, path-aware error messages. No DSL, no operator\noverloading, just idiomatic R.",
  "License": "MIT + file LICENSE",
  "Language": "en-US",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.3",
  "URL": "https://gillescolling.com/restrictR/,\nhttps://github.com/gcol33/restrictR",
  "BugReports": "https://github.com/gcol33/restrictR/issues",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "Repository": "https://gcol33.r-universe.dev",
  "Date/Publication": "2026-05-31 05:33:50 UTC",
  "RemoteUrl": "https://github.com/gcol33/restrictr",
  "RemoteRef": "HEAD",
  "RemoteSha": "4bb15c5ac56d7d2e684d910a572fabed0ec2d1d9",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-31 07:00:45 UTC",
    "User": "root"
  },
  "Author": "Gilles Colling [aut, cre, cph] (ORCID:\n<https://orcid.org/0000-0003-3070-6066>)",
  "Maintainer": "Gilles Colling <gilles.colling051@gmail.com>",
  "MD5sum": "ed7232b841db3ff1f481c2e5858f172c",
  "_user": "gcol33",
  "_type": "src",
  "_file": "restrictR_0.1.2.tar.gz",
  "_fileid": "6d21860afe833c7f8a7f08fdf1416fbc4c7bca5f01fee2ac65283561a8b9c79b",
  "_filesize": 174784,
  "_sha256": "6d21860afe833c7f8a7f08fdf1416fbc4c7bca5f01fee2ac65283561a8b9c79b",
  "_created": "2026-05-31T07:00:45.000Z",
  "_published": "2026-05-31T07:42:06.158Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 78707243214,
      "time": 106,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7314638400"
    },
    {
      "job": 78707243206,
      "time": 110,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7314639035"
    },
    {
      "job": 78707243209,
      "time": 71,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7314908967"
    },
    {
      "job": 78707243218,
      "time": 79,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7314911775"
    },
    {
      "job": 78707080040,
      "time": 176,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7314626525"
    },
    {
      "job": 78707243211,
      "time": 97,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7314637495"
    },
    {
      "job": 78707243217,
      "time": 75,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7314635488"
    },
    {
      "job": 78707243244,
      "time": 109,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7314638786"
    },
    {
      "job": 78707243223,
      "time": 74,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7314635183"
    }
  ],
  "_buildurl": "https://github.com/r-universe/gcol33/actions/runs/26705925213",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/gcol33/restrictr",
  "_commit": {
    "id": "4bb15c5ac56d7d2e684d910a572fabed0ec2d1d9",
    "author": "Gilles Colling <gilles.colling051@gmail.com>",
    "committer": "Gilles Colling <gilles.colling051@gmail.com>",
    "message": "docs: add \"Comparison with checkmate\" to README and vignette\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\n",
    "time": 1780205630
  },
  "_maintainer": {
    "name": "Gilles Colling",
    "email": "gilles.colling051@gmail.com",
    "login": "gcol33",
    "linkedin": "in/gilles-colling-0b3747306",
    "orcid": "0000-0003-3070-6066",
    "twitter": "@Gilles__Colling",
    "description": "Building tools for ecology in R, C++, and Rust.\nWhy did Microsoft have to buy it. Sadge :(",
    "uuid": 25009600
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "svglite",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "gcol33",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-10",
      "n": 19
    },
    {
      "week": "2026-11",
      "n": 1
    },
    {
      "week": "2026-21",
      "n": 1
    },
    {
      "week": "2026-22",
      "n": 3
    }
  ],
  "_tags": [
    {
      "name": "v0.1.0",
      "date": "2026-03-04"
    },
    {
      "name": "v0.1.2",
      "date": "2026-03-04"
    }
  ],
  "_topics": [
    "contracts",
    "runtime-checks",
    "runtime-contracts",
    "validation"
  ],
  "_stars": 5,
  "_contributors": [
    {
      "user": "gcol33",
      "count": 23,
      "uuid": 25009600
    }
  ],
  "_userbio": {
    "uuid": 25009600,
    "type": "user",
    "name": "Gilles Colling",
    "description": "Building tools for ecology in R, C++, and Rust.\nWhy did Microsoft have to buy it. Sadge :("
  },
  "_downloads": {
    "count": 474,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/restrictR"
  },
  "_devurl": "https://github.com/gcol33/restrictr",
  "_pkgdown": "https://gillescolling.com/restrictR/",
  "_searchresults": 7,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/restrictR.html",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/gcol33/restrictr",
  "_realowner": "gcol33",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2026-03-09"
    }
  ],
  "_exports": [
    "as_contract_block",
    "as_contract_text",
    "fail",
    "require_between",
    "require_character",
    "require_col_between",
    "require_col_character",
    "require_col_numeric",
    "require_col_one_of",
    "require_custom",
    "require_df",
    "require_finite",
    "require_has_cols",
    "require_integer",
    "require_length",
    "require_length_matches",
    "require_length_max",
    "require_length_min",
    "require_logical",
    "require_named",
    "require_negative",
    "require_no_na",
    "require_not_null",
    "require_nrow_matches",
    "require_nrow_min",
    "require_numeric",
    "require_one_of",
    "require_positive",
    "require_scalar",
    "require_unique",
    "restrict"
  ],
  "_help": [
    {
      "page": "as_contract_block",
      "title": "Convert a Validator to a Multi-Line Block",
      "concept": [
        "core"
      ],
      "topics": [
        "as_contract_block"
      ]
    },
    {
      "page": "as_contract_text",
      "title": "Convert a Validator to Plain Text",
      "concept": [
        "core"
      ],
      "topics": [
        "as_contract_text"
      ]
    },
    {
      "page": "fail",
      "title": "Format a Validation Error",
      "concept": [
        "core"
      ],
      "topics": [
        "fail"
      ]
    },
    {
      "page": "require_between",
      "title": "Require Value in Range",
      "concept": [
        "value checks"
      ],
      "topics": [
        "require_between"
      ]
    },
    {
      "page": "require_character",
      "title": "Require Character Type",
      "concept": [
        "type checks"
      ],
      "topics": [
        "require_character"
      ]
    },
    {
      "page": "require_col_between",
      "title": "Require Column Values in Range",
      "concept": [
        "column checks"
      ],
      "topics": [
        "require_col_between"
      ]
    },
    {
      "page": "require_col_character",
      "title": "Require Character Column",
      "concept": [
        "column checks"
      ],
      "topics": [
        "require_col_character"
      ]
    },
    {
      "page": "require_col_numeric",
      "title": "Require Numeric Column",
      "concept": [
        "column checks"
      ],
      "topics": [
        "require_col_numeric"
      ]
    },
    {
      "page": "require_col_one_of",
      "title": "Require Column Values from a Set",
      "concept": [
        "column checks"
      ],
      "topics": [
        "require_col_one_of"
      ]
    },
    {
      "page": "require_custom",
      "title": "Create a Custom Validation Step",
      "concept": [
        "core"
      ],
      "topics": [
        "require_custom"
      ]
    },
    {
      "page": "require_df",
      "title": "Require a Data Frame",
      "concept": [
        "type checks"
      ],
      "topics": [
        "require_df"
      ]
    },
    {
      "page": "require_finite",
      "title": "Require Finite Values",
      "concept": [
        "missingness checks"
      ],
      "topics": [
        "require_finite"
      ]
    },
    {
      "page": "require_has_cols",
      "title": "Require Specific Columns",
      "concept": [
        "structure checks"
      ],
      "topics": [
        "require_has_cols"
      ]
    },
    {
      "page": "require_integer",
      "title": "Require Integer Values",
      "concept": [
        "type checks"
      ],
      "topics": [
        "require_integer"
      ]
    },
    {
      "page": "require_length",
      "title": "Require Specific Length",
      "concept": [
        "structure checks"
      ],
      "topics": [
        "require_length"
      ]
    },
    {
      "page": "require_length_matches",
      "title": "Require Length Matching an Expression",
      "concept": [
        "structure checks"
      ],
      "topics": [
        "require_length_matches"
      ]
    },
    {
      "page": "require_length_max",
      "title": "Require Maximum Length",
      "concept": [
        "structure checks"
      ],
      "topics": [
        "require_length_max"
      ]
    },
    {
      "page": "require_length_min",
      "title": "Require Minimum Length",
      "concept": [
        "structure checks"
      ],
      "topics": [
        "require_length_min"
      ]
    },
    {
      "page": "require_logical",
      "title": "Require Logical Type",
      "concept": [
        "type checks"
      ],
      "topics": [
        "require_logical"
      ]
    },
    {
      "page": "require_named",
      "title": "Require Named Value",
      "concept": [
        "structure checks"
      ],
      "topics": [
        "require_named"
      ]
    },
    {
      "page": "require_negative",
      "title": "Require Negative Values",
      "concept": [
        "value checks"
      ],
      "topics": [
        "require_negative"
      ]
    },
    {
      "page": "require_no_na",
      "title": "Require No NA Values",
      "concept": [
        "missingness checks"
      ],
      "topics": [
        "require_no_na"
      ]
    },
    {
      "page": "require_not_null",
      "title": "Require Non-NULL Value",
      "concept": [
        "missingness checks"
      ],
      "topics": [
        "require_not_null"
      ]
    },
    {
      "page": "require_nrow_matches",
      "title": "Require Row Count Matching an Expression",
      "concept": [
        "structure checks"
      ],
      "topics": [
        "require_nrow_matches"
      ]
    },
    {
      "page": "require_nrow_min",
      "title": "Require Minimum Number of Rows",
      "concept": [
        "structure checks"
      ],
      "topics": [
        "require_nrow_min"
      ]
    },
    {
      "page": "require_numeric",
      "title": "Require Numeric Type",
      "concept": [
        "type checks"
      ],
      "topics": [
        "require_numeric"
      ]
    },
    {
      "page": "require_one_of",
      "title": "Require Value from a Set",
      "concept": [
        "value checks"
      ],
      "topics": [
        "require_one_of"
      ]
    },
    {
      "page": "require_positive",
      "title": "Require Positive Values",
      "concept": [
        "value checks"
      ],
      "topics": [
        "require_positive"
      ]
    },
    {
      "page": "require_scalar",
      "title": "Require Scalar Value",
      "concept": [
        "structure checks"
      ],
      "topics": [
        "require_scalar"
      ]
    },
    {
      "page": "require_unique",
      "title": "Require Unique Values",
      "concept": [
        "value checks"
      ],
      "topics": [
        "require_unique"
      ]
    },
    {
      "page": "restrict",
      "title": "Create a Composable Validator",
      "concept": [
        "core"
      ],
      "topics": [
        "restrict"
      ]
    }
  ],
  "_readme": "https://github.com/gcol33/restrictr/raw/HEAD/README.md",
  "_rundeps": [],
  "_vignettes": [
    {
      "source": "restrictR.Rmd",
      "filename": "restrictR.html",
      "title": "Runtime Contracts for R Functions",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview",
        "Reusable Schemas",
        "Dependent Validation",
        "Enum Arguments",
        "Data Frame with Mixed Constraints",
        "Custom Steps",
        "Self-Documentation",
        "Using Contracts in Packages",
        "Relation to checkmate"
      ],
      "created": "2026-03-04 15:19:30",
      "modified": "2026-05-31 05:33:50",
      "commits": 3
    }
  ],
  "_score": 5,
  "_indexed": true,
  "_nocasepkg": "restrictr",
  "_universes": [
    "gcol33"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-05-31T07:02:33.000Z",
      "distro": "noble",
      "commit": "4bb15c5ac56d7d2e684d910a572fabed0ec2d1d9",
      "fileid": "6921276ba42e92d9e566ca1c1a94153195498b5dba6c3e2a2df4bb6b95484997",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/26705925213"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-05-31T07:02:40.000Z",
      "distro": "noble",
      "commit": "4bb15c5ac56d7d2e684d910a572fabed0ec2d1d9",
      "fileid": "b1ca70878e501e14df4255a90faf04e851b51ba9de14259de58a9d13650c931d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/26705925213"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.2",
      "date": "2026-05-31T07:41:17.000Z",
      "commit": "4bb15c5ac56d7d2e684d910a572fabed0ec2d1d9",
      "fileid": "026bf0045f3ff4bf7ddcd30f2a1636811be39fbf005f6ca6faa0078ddc9e93fb",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/26705925213"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.1.2",
      "date": "2026-05-31T07:41:44.000Z",
      "commit": "4bb15c5ac56d7d2e684d910a572fabed0ec2d1d9",
      "fileid": "ce6eb4ebff5fae165ec324ece0393b600b43a2b13d255f25b2ebc11db8d0eb4e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/26705925213"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.2",
      "date": "2026-05-31T07:02:37.000Z",
      "commit": "4bb15c5ac56d7d2e684d910a572fabed0ec2d1d9",
      "fileid": "4c5008df04fd51f9aa0930deda5317ad70d24a1e970ae8425fdd52d3df582044",
      "status": "success",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/26705925213"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-05-31T07:02:01.000Z",
      "commit": "4bb15c5ac56d7d2e684d910a572fabed0ec2d1d9",
      "fileid": "aa646757ac8d4d6f8708671eedddbc0b7e49f3f551a6f0ccf1b3d86587913bdb",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/26705925213"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-05-31T07:02:31.000Z",
      "commit": "4bb15c5ac56d7d2e684d910a572fabed0ec2d1d9",
      "fileid": "67148c6ac7ad794ec9bfcbd3423a7c0d6187b6cdf82bb53993d369546f84351c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/26705925213"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-05-31T07:01:56.000Z",
      "commit": "4bb15c5ac56d7d2e684d910a572fabed0ec2d1d9",
      "fileid": "f35c39461797e02164b592aa3cff8ca8645ee1917228a40c9d4045459515b5d6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/26705925213"
    }
  ]
}