{"id":15893025,"url":"https://github.com/danielvartan/prettycheck","last_synced_at":"2025-06-23T04:33:32.632Z","repository":{"id":256089404,"uuid":"852522315","full_name":"danielvartan/prettycheck","owner":"danielvartan","description":"✔️✨ Pretty Assertive Programming","archived":false,"fork":false,"pushed_at":"2025-03-17T06:28:11.000Z","size":1645,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-18T05:56:09.852Z","etag":null,"topics":["argument-checks","assertions","assertive-programming","checks","defensive-programming","error-messages","r","r-package","tests","testthat","validation"],"latest_commit_sha":null,"homepage":"https://danielvartan.github.io/prettycheck/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/danielvartan.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS.md","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":"codemeta.json","zenodo":null},"funding":{"github":["danielvartan"]}},"created_at":"2024-09-05T00:29:59.000Z","updated_at":"2025-05-29T21:30:48.000Z","dependencies_parsed_at":"2024-09-08T23:36:31.837Z","dependency_job_id":"a651b687-ba59-41ce-9d27-f1d45b83fd4e","html_url":"https://github.com/danielvartan/prettycheck","commit_stats":null,"previous_names":["danielvartan/prettycheck"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/danielvartan/prettycheck","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielvartan%2Fprettycheck","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielvartan%2Fprettycheck/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielvartan%2Fprettycheck/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielvartan%2Fprettycheck/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danielvartan","download_url":"https://codeload.github.com/danielvartan/prettycheck/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielvartan%2Fprettycheck/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261415511,"owners_count":23155026,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["argument-checks","assertions","assertive-programming","checks","defensive-programming","error-messages","r","r-package","tests","testthat","validation"],"created_at":"2024-10-06T08:06:25.333Z","updated_at":"2025-06-23T04:33:27.577Z","avatar_url":"https://github.com/danielvartan.png","language":"R","readme":"# prettycheck\n\n\u003c!-- quarto render --\u003e\n\n\u003c!-- badges: start --\u003e\n[![Project Status: Active – The project has reached a stable, usable\nstate and is being actively\ndeveloped.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)\n[![Lifecycle:\nexperimental](https://img.shields.io/badge/lifecycle-experimental-orange.svg)](https://lifecycle.r-lib.org/articles/stages.html#experimental)\n[![R-CMD-check.yaml](https://github.com/danielvartan/prettycheck/actions/workflows/check-standard.yaml/badge.svg)](https://github.com/danielvartan/prettycheck/actions/workflows/check-standard.yaml)\n[![Codecov test\ncoverage](https://codecov.io/gh/danielvartan/prettycheck/branch/main/graph/badge.svg)](https://app.codecov.io/gh/danielvartan/prettycheck?branch=main)\n[![License:\nMIT](https://img.shields.io/badge/license-MIT-green.png)](https://choosealicense.com/licenses/mit/)\n[![Contributor\nCovenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](CODE_OF_CONDUCT.md)\n\u003c!-- badges: end --\u003e\n\n## Overview\n\nAssertive programming doesn’t have to be ugly. If ultra-fast checks\naren’t your top priority, `prettycheck` is for you. This R package\nprovides a set of functions that produce pretty and informative error\nmessages, primarily using the [`cli`](https://cli.r-lib.org/) package\nfrom [r-lib](https://github.com/r-lib).\n\n`prettycheck` adheres to [tidyverse\nprinciples](https://tidyverse.tidyverse.org/articles/manifesto.html) and\nseamlessly integrates with the [tidyverse\necosystem](https://www.tidyverse.org/).\n\nNeed faster assertive programming? Try\n[`checkmate`](https://mllg.github.io/checkmate/). Since `prettycheck`\nuses the same structural approach to checks, transitioning between\npackages is straightforward. You can also use both packages together\nwithout conflicts.\n\n## Installation\n\nYou can install `prettycheck` using the\n[`remotes`](https://github.com/r-lib/remotes) package:\n\n``` r\nremotes::install_github(\"danielvartan/prettycheck\")\n```\n\n## Usage\n\nLike [`checkmate`](https://mllg.github.io/checkmate/), `prettycheck`\nincludes four family of functions: `test_*()`, `check_*()`,\n`assert_*()`, and `expect_*()`.\n\nThe `test_*()` functions return a logical flag; the `check_*()`\nfunctions throw a warning message as a string if the condition is not\nmet; and the `assert_*()` and `expect_*()` functions throw an error if\nthe condition is not met. If the condition is met, `check_*()` returns a\nlogical flag; `assert_*()` and `expect_*()` functions return the input\nobject invisibly.\n\nHere are some of the functions available:\n\n- [`assert_color()`](https://danielvartan.github.io/prettycheck/reference/assert_color.html):\n  Assert if an argument is a valid color\n- [`check_duration()`](https://danielvartan.github.io/prettycheck/reference/check_duration.html)\n  `test_duration()` `assert_duration()`: Check if an argument is a\n  [`Duration`](https://lubridate.tidyverse.org/reference/duration.html)\n  object\n- [`check_hms()`](https://danielvartan.github.io/prettycheck/reference/check_hms.html)\n  `test_hms()` `assert_hms()`: Check if an argument is a\n  [`hms`](https://hms.tidyverse.org/reference/hms.html) object\n- [`check_identical()`](https://danielvartan.github.io/prettycheck/reference/check_identical.html)\n  `test_identical()` `assert_identical()`: Check if multiple objects are\n  identical\n- [`check_interval()`](https://danielvartan.github.io/prettycheck/reference/check_interval.html)\n  `test_interval()` `assert_interval()`: Check if an argument is an\n  [`Interval`](https://lubridate.tidyverse.org/reference/interval.html)\n  object\n- [`check_length()`](https://danielvartan.github.io/prettycheck/reference/check_length.html)\n  `test_length()` `assert_length()`: Check if an argument has a specific\n  length\n- [`check_period()`](https://danielvartan.github.io/prettycheck/reference/check_period.html)\n  `test_period()` `assert_period()`: Check if an argument is a\n  [`Period`](https://lubridate.tidyverse.org/reference/period.html)\n  object\n- [`check_pick()`](https://danielvartan.github.io/prettycheck/reference/check_pick.html)\n  `test_pick()` `assert_pick()`: Check how many arguments were picked\n- [`check_posixt()`](https://danielvartan.github.io/prettycheck/reference/check_posixt.html)\n  `test_period()` `assert_period()`: Check if an argument is a `POSIXt`\n  object\n- [`check_temporal`](https://danielvartan.github.io/prettycheck/reference/check_temporal.html)\n  `test_temporal()` `assert_temporal()`: Check if an argument is a\n  temporal object\n\nClick [here](https://danielvartan.github.io/prettycheck/) to see the\nfull list of functions.\n\n## License\n\n[![License:\nMIT](https://img.shields.io/badge/license-MIT-green.png)](https://opensource.org/license/mit/)\n\n`prettycheck` code is released under the [MIT\nlicense](https://opensource.org/license/mit/).\n\n## Contributing\n\nContributions are welcome, including bug reports. Take a moment to\nreview the [Guidelines for\nContributing](https://danielvartan.github.io/prettycheck/CONTRIBUTING.html).\n\n\u003cbr\u003e\n\nBecome an `prettycheck` supporter!\n\nClick [here](https://github.com/sponsors/danielvartan) to make a\ndonation. Please indicate the `prettycheck` package in your donation\nmessage.\n","funding_links":["https://github.com/sponsors/danielvartan"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielvartan%2Fprettycheck","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanielvartan%2Fprettycheck","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielvartan%2Fprettycheck/lists"}