{"id":13706013,"url":"https://github.com/r-lib/vctrs","last_synced_at":"2026-01-27T16:01:08.103Z","repository":{"id":37431532,"uuid":"67548397","full_name":"r-lib/vctrs","owner":"r-lib","description":"Generic programming with typed R vectors","archived":false,"fork":false,"pushed_at":"2026-01-21T21:25:40.000Z","size":30603,"stargazers_count":300,"open_issues_count":182,"forks_count":73,"subscribers_count":10,"default_branch":"main","last_synced_at":"2026-01-22T09:58:23.315Z","etag":null,"topics":["r","s3-vectors"],"latest_commit_sha":null,"homepage":"https://vctrs.r-lib.org","language":"C","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/r-lib.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2016-09-06T21:32:53.000Z","updated_at":"2026-01-21T21:22:36.000Z","dependencies_parsed_at":"2026-01-03T07:03:55.009Z","dependency_job_id":null,"html_url":"https://github.com/r-lib/vctrs","commit_stats":{"total_commits":3545,"total_committers":38,"mean_commits":93.28947368421052,"dds":"0.45218617771509173","last_synced_commit":"a0f6aa65ee32e10a1298bf9890822e0543568aba"},"previous_names":[],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/r-lib/vctrs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Fvctrs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Fvctrs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Fvctrs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Fvctrs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/r-lib","download_url":"https://codeload.github.com/r-lib/vctrs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Fvctrs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28816338,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-27T12:25:15.069Z","status":"ssl_error","status_checked_at":"2026-01-27T12:25:05.297Z","response_time":168,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["r","s3-vectors"],"created_at":"2024-08-02T22:00:51.332Z","updated_at":"2026-01-27T16:01:08.076Z","avatar_url":"https://github.com/r-lib.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"---\noutput: github_document\n---\n\n\u003c!-- README.md is generated from README.Rmd. Please edit that file --\u003e\n\n```{r setup, include = FALSE}\nknitr::opts_chunk$set(\n  collapse = TRUE,\n  comment = \"#\u003e\",\n  fig.path = \"man/figures/README-\",\n  out.width = \"100%\"\n)\n```\n\n# vctrs \u003ca href=\"https://vctrs.r-lib.org\"\u003e\u003cimg src=\"man/figures/logo.png\" align=\"right\" height=\"138\" /\u003e\u003c/a\u003e\n\n\u003c!-- badges: start --\u003e\n[![Codecov test coverage](https://codecov.io/gh/r-lib/vctrs/graph/badge.svg)](https://app.codecov.io/gh/r-lib/vctrs)\n![Lifecycle: maturing](https://img.shields.io/badge/lifecycle-maturing-blue.svg)\n[![R-CMD-check](https://github.com/r-lib/vctrs/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/r-lib/vctrs/actions/workflows/R-CMD-check.yaml)\n\u003c!-- badges: end --\u003e\n\nThere are three main goals to the vctrs package, each described in a vignette:\n\n* To propose `vec_size()` and `vec_ptype()` as alternatives to `length()` and\n  `class()`; `vignette(\"type-size\")`. These definitions are paired with a\n  framework for size-recycling and type-coercion. `ptype` should evoke the\n  notion of a prototype, i.e. the original or typical form of something.\n\n* To define size- and type-stability as desirable function properties, use\n  them to analyse existing base functions, and to propose better alternatives;\n  `vignette(\"stability\")`. This work has been particularly motivated by\n  thinking about the ideal properties of `c()`, `ifelse()`, and `rbind()`.\n\n* To provide a new `vctr` base class that makes it easy to create new S3\n  vectors; `vignette(\"s3-vector\")`. vctrs provides methods for many base\n  generics in terms of a few new vctrs generics, making implementation\n  considerably simpler and more robust.\n\nvctrs is a developer-focussed package. Understanding and extending vctrs requires some effort from developers, but should be invisible to most users. It's our hope that having an underlying theory will mean that users can build up an accurate mental model without explicitly learning the theory. vctrs will typically be used by other packages, making it easy for them to provide new classes of S3 vectors that are supported throughout the tidyverse (and beyond). For that reason, vctrs has few dependencies.\n\n## Installation\n\nInstall vctrs from CRAN with:\n\n```{r, eval = FALSE}\ninstall.packages(\"vctrs\")\n```\n\nAlternatively, if you need the development version, install it with:\n\n```{r, eval = FALSE}\n# install.packages(\"pak\")\npak::pak(\"r-lib/vctrs\")\n```\n\n## Usage\n\n```{r}\nlibrary(vctrs)\n\n# Sizes\nvec_size_common(1, 1:10)\nstr(vec_recycle_common(1, 1:10))\n\n# Prototypes\nvec_ptype_common(FALSE, 1L, 2.5)\nstr(vec_cast_common(FALSE, 1L, 2.5))\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fr-lib%2Fvctrs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fr-lib%2Fvctrs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fr-lib%2Fvctrs/lists"}