stringi
‹1.8.9
- 1.8.94 Aug 2026, current
- 1.8.727 Mar 2025
- 1.8.46 May 2024
- 1.8.311 Dec 2023
- 1.8.223 Nov 2023
- 1.8.113 Nov 2023
- 1.7.1211 Jan 2023
- 1.7.811 Jul 2022
- 1.7.629 Nov 2021
- 1.7.54 Oct 2021
- 1.7.425 Aug 2021
- 1.7.316 Jul 2021
- 1.7.214 Jul 2021
- 1.6.217 May 2021
- 1.6.110 May 2021
- 1.5.39 Sep 2020
- 1.4.617 Feb 2020
- 1.4.511 Jan 2020
- 1.4.49 Jan 2020
- 1.4.313 Mar 2019
- 1.3.113 Feb 2019
- 1.2.420 Jul 2018
- 1.2.312 Jun 2018
- 1.2.22 May 2018
- 1.1.712 Mar 2018
- 1.1.617 Nov 2017
- 1.1.57 Apr 2017
- 1.1.321 Mar 2017
- 1.1.21 Oct 2016
- 1.1.127 May 2016
- 1.0-122 Oct 2015
- 0.5-529 Jun 2015
- 0.5-428 Jun 2015
- 0.5-222 Jun 2015
- 0.4-114 Dec 2014
- 0.3-16 Nov 2014
- 0.2-516 May 2014
- 0.2-415 May 2014
- 0.2-314 May 2014
- 0.1-2512 Mar 2014
Fast and Portable Character String Processing Facilities
- CRAN checks, method
Method
Checks and health
CRAN runs every current package through
R CMD checkon a set of machines and publishes a result for each one. The health shown on a package page comes from these results alone.- Problems
- Notes alone never count against a package, but a warning, an error or a failure on any platform is a problem. Open CRAN deadlines are a fact of their own, shown as a clock after the mark, so the mark always says what the checks found.
- Checks only
- Health reflects CRAN's check results and nothing else. Even a package with no tests, no coverage or no recent release can have every platform OK.
- Once a day
- Results are collected once a day from files CRAN publishes. Each platform is one machine set-up, named by its R version, operating system, architecture and compiler, such as r-devel-linux-x86_64-fedora-clang.
- Platforms counted
- The 13 in 3 of 13 is the number of platform rows CRAN published for that package on the day of collection. The set of machines changes over time, so the number is not fixed, and a package missing from a platform counts as neither passing nor failing there.
- All OK13 platforms
- CRAN 30-day downloads, method
- 1.1M−6.3% down on the 30 days before, the worse direction
- Dependent packages, method
Method
Reverse dependencies
Dependent packages are other packages that list this one under
Depends,ImportsorLinkingToin theirDESCRIPTIONfile. Those fields list the packages a package needs to install, so dependents break if this one is archived or broken.- As declared
- The counts follow the declarations as written, not whether a package uses the other one when it runs.
- Suggests apart
- Packages that list this one only under
Suggestsinstall and run without it, and use it for tests, examples or an optional feature. They are counted as Suggested by, never among the dependents, and a package that also lists it under one of the three fields is a dependent and is not counted again. - Zero
- Zero dependents means no current CRAN package declares a need for this one, though some may suggest it. On 28 Oct 2026, 19,572 of the 25,583 current CRAN packages had no dependent package.
- 430108 more suggest it
- Test coverage, method
Method
Test coverage
Test coverage is measured by downloading each CRAN package's current source file, installing its dependencies, building it and running its tests under covr.
- Almost half of CRAN has no tests to run
- Only CRAN packages are measured. Many have no percentage, most often because the package has no tests, and that blank is a recorded outcome, not missing data.
- NOT_CRAN
- Tests run with NOT_CRAN=true, so tests that skip themselves on CRAN run here, and the figure can differ from what CRAN's own checks see.
- Current version only
- Only the current version is measured, and a new version on CRAN is measured again. Older rows are kept but never filled in later. This is one package's run.
- Never 0%
- On a package page three states stay apart: measured, no tests, and not measured. Neither of the last two is ever shown as 0%.
- No testsnothing to run
- Advisories, method
Method
Security advisories
Advisories come from the R Consortium advisory database, a community record of security problems in R packages, as OSV publishes it.
- The copy
- The record is read once a day. The data is published under the Apache License 2.0 and is credited on the advisories list.
- Box under the name
- Under the package's name, a box names any advisory that affects the current release, with its fix or that there is none.
- Ranges
- Advisories state ranges, such as from 0.9.12 up to but not including 1.8.8. Each range is checked against every version CRAN has published, using the version rules R itself uses, so a release that came out after the advisory was written is still caught by its range.
- Not the package
- The rating is for the library flaw itself, not for how exposed the R package is, and it is never added up into a figure for the package.
- None known
About
Method, About Method Licence figures come from the Licences
License field of each package's DESCRIPTION file, read the way R itself reads it. No licence file is opened.tools::analyze_license() and R's own licence database, as CRAN's checks read it.| is read, so one string can offer two families.
A collection of character string/text/natural language processing tools for pattern searching (e.g., with 'Java'-like regular expressions or the 'Unicode' collation algorithm), random string generation, case mapping, string transliteration, concatenation, sorting, padding, wrapping, Unicode ...
Full description
A collection of character string/text/natural language processing tools for pattern searching (e.g., with 'Java'-like regular expressions or the 'Unicode' collation algorithm), random string generation, case mapping, string transliteration, concatenation, sorting, padding, wrapping, Unicode normalisation, date-time formatting and parsing, and many more. They are fast, consistent, convenient, and - thanks to 'ICU' (International Components for Unicode) - portable across all locales and platforms. Documentation about 'stringi' is provided via its website at <https://stringi.gagolewski.com/> and the paper by Gagolewski (2022, <doi:10.18637/jss.v103.i02>).
- Maintainer
- Marek Gagolewski
- Licence
- file LICENSE
- Latest release
- 4 Aug 2026
- First release
- 12 Mar 2014
More details
- Releases
- 40
- Needs compilation
- Yes
- Needs R
- >= 3.4
- Config/roxygen2/version
- 8.0.0
- Date
- 2026-07-30
- SystemRequirements
- ICU4C (>= 61, optional)
Task views (1)
Subjects (1) Method, SubjectsMethod
Subjects and collections
Subjects are the site's own grouping of CRAN packages, found by clustering. Collections are sets of packages that communities declare, such as the tidyverse.
- Subjects
- Subjects are found by clustering the words of current CRAN packages and the packages they use. No one edits them by hand.
- Collections
- Collections are sets that communities declare, through a package that installs the set or an organization on GitHub. The site finds them by rules.
- Who made each
- Subjects are marked Site and collections Community. Subjects, collections and task views are never mixed in one list.
- The day of the data
- Subjects and collections were last worked out on 22 Oct 2026.
- Text mining and NLP, core
Cite
Package
Run in R for the authors' entry:
citation("stringi")The package provides a citation file, so citation() returns the authors' own entry.
It points to 10.18637/jss.v103.i02.
The repository also keeps a CITATION.cff.
R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
Balamuta, J. J. (2026). R Observatory: Metrics for stringi version 1.8.9 [Data set]. HJJB, LLC. Data release v2026-10-28. https://doi.org/10.5281/zenodo.21843040
About
From data release v2026-10-28, which the citation names so these numbers can be found later.
Health
All 13 check platforms pass.
r-devel-linux-x86_64-debian-clangThe unreleased R on Linux, x86_64, debian-clang
OK
- Version checked
- 1.8.9
- Time taken
- 241 s
r-devel-linux-x86_64-debian-gccThe unreleased R on Linux, x86_64, debian-gcc
OK
- Version checked
- 1.8.9
- Time taken
- 161 s
r-devel-linux-x86_64-fedora-clangThe unreleased R on Linux, x86_64, fedora-clang
OK
- Version checked
- 1.8.9
- Time taken
- 151 s
r-devel-linux-x86_64-fedora-gccThe unreleased R on Linux, x86_64, fedora-gcc
OK
- Version checked
- 1.8.9
- Time taken
- 160 s
r-devel-windows-x86_64The unreleased R on Windows, x86_64
OK
- Version checked
- 1.8.9
- Time taken
- 1,522 s
r-oldrel-macos-arm64The previous release of R on macOS, arm64
OK
- Version checked
- 1.8.9
- Time taken
- 69 s
r-oldrel-macos-x86_64The previous release of R on macOS, x86_64
OK
- Version checked
- 1.8.9
- Time taken
- 204 s
r-oldrel-windows-x86_64The previous release of R on Windows, x86_64
OK
- Version checked
- 1.8.9
- Time taken
- 1,030 s
r-patched-linux-x86_64The patched release of R on Linux, x86_64
OK
- Version checked
- 1.8.9
- Time taken
- 214 s
r-release-linux-x86_64The current release of R on Linux, x86_64
OK
- Version checked
- 1.8.9
- Time taken
- 203 s
r-release-macos-arm64The current release of R on macOS, arm64
OK
- Version checked
- 1.8.9
- Time taken
- 55 s
r-release-macos-x86_64The current release of R on macOS, x86_64
OK
- Version checked
- 1.8.9
- Time taken
- 209 s
r-release-windows-x86_64The current release of R on Windows, x86_64
OK
- Version checked
- 1.8.9
- Time taken
- 1,263 s
- 13 OK
Extra checks (1)
Over time
No change since 25 Sep 2026
As a list (8)
| Changed | Worst status | OK | Notes | Warnings | Errors |
|---|---|---|---|---|---|
| 25 Sep 2026 | OK | 13 | 0 | 0 | 0 |
| 18 Sep 2026 | Error | 12 | 0 | 0 | 1 |
| 4 Aug 2026 | OK | 13 | 0 | 0 | 0 |
| 1 Aug 2026 | Note | 12 | 1 | 0 | 0 |
| 9 Jun 2026 | OK | 13 | 0 | 0 | 0 |
| 7 Jun 2026 | Error | 12 | 0 | 0 | 1 |
| 25 Apr 2026 | OK | 12 | 0 | 0 | 0 |
| 10 Mar 2026 | Note | 11 | 3 | 0 | 0 |
Since March 2026
Downloads
Method, Downloads Method Download figures count requests logged by each distribution channel. They are not counts of installs or of users, because each channel publishes its own totals and this site reads them.Downloads
- Total downloads in the last 30 days
- 1,480,910+0.94% up on the 30 days before, the better directionIt is the sum of 5 channels: CRAN, r2u, autoCRAN, conda-forge and c2d4u.
CRAN rank
36 of 26,530
CRAN
1,109,072 downloads in the last 30 days
- Rank
- 36 of 26,530
- Change
- −6.3% down on the 30 days before, the worse direction
It is in the total. Take it out
r2u
59,309 downloads in the last 30 days
- Rank
- 14 of 30,526
- Change
- +107% up on the 30 days before, the better direction
It is in the total. Take it out
autoCRAN
165 downloads in the last 30 days
- Rank
- 351 of 29,212
- Change
- +28.9% up on the 30 days before, the better direction
It is in the total. Take it out
conda-forge
310,981 downloads in the last 30 days
- Rank
- 19 of 3,828
- Change
- +23% up on the 30 days before, the better direction
It is in the total. Take it out
c2d4u, no longer updated
1,383 downloads in the last 30 days
- Rank
- 31 of 7,575
- Change
- −9.1% down on the 30 days before, the worse direction
It is in the total. Take it out
The total is 1,480,910 downloads in the last 30 days. It is the sum of 5 channels: CRAN, r2u, autoCRAN, conda-forge and c2d4u.
Over time
Dependencies
- Needs
- 3
- Dependent packages
- 430
- Suggested by
- 108
Needs (3)
- stats
- tools
- utils
- Installing it adds
- 0 packages, 0 KB of source
- Of those, need compilation
- 0
Dependent packages (50 of 430)
| Package | Title | Downloads in 30 days |
|---|---|---|
| stringr | Simple, Consistent Wrappers for Common String Operations | 1,082,697 |
| textshaping | Bindings to the 'HarfBuzz' and 'Fribidi' Libraries for Text Shaping | 619,319 |
| openxlsx | Read, Write and Edit xlsx Files | 422,127 |
| janitor | Simple Tools for Examining and Cleaning Dirty Data | 227,878 |
| snakecase | Convert Strings into any Case | 140,989 |
| plumber | An API Generator for R | 48,863 |
| bibliometrix | Comprehensive Science Mapping Analysis | 38,350 |
| tokenizers | Fast, Consistent Tokenization of Natural Language Text | 33,362 |
| languageserver | Language Server Protocol | 28,642 |
| data.tree | General Purpose Hierarchical Data Structure | 22,170 |
| quanteda | Quantitative Analysis of Textual Data | 17,233 |
| ggfittext | Fit Text Inside a Box in 'ggplot2' | 15,687 |
| timetk | A Tool Kit for Working with Time Series | 15,364 |
| gganimate | A Grammar of Animated Graphics | 14,373 |
| openxlsx2 | Read, Write and Edit 'xlsx' Files | 14,048 |
| formatters | ASCII Formatting for Values and Tables | 11,324 |
| readODS | Read and Write ODS Files | 10,569 |
| huxtable | Easily Create and Style Tables for LaTeX, HTML and Other Formats | 10,227 |
| rtables | Reporting Tables | 8,328 |
| mlr | Machine Learning in R | 8,205 |
| qdapRegex | Regular Expression Removal, Extraction, and Replacement Tools | 7,482 |
| textshape | Tools for Reshaping Text | 6,715 |
| textclean | Text Cleaning Tools | 5,900 |
| Signac | Analysis of Single-Cell Chromatin Data | 5,324 |
| text2vec | Modern Text Mining Framework for R | 5,282 |
| taxize | Taxonomic Information from Around the Web | 5,239 |
| RNeXML | Semantically Rich I/O for the 'NeXML' Format | 5,215 |
| dplR | Dendrochronology Program Library in R | 4,831 |
| emayili | Send Email Messages | 4,578 |
| rattle | R Data Science Supporting Rattle | 4,537 |
| batchtools | Tools for Computation on Batch Systems | 3,644 |
| quanteda.textstats | Textual Statistics for the Quantitative Analysis of Textual Data | 3,628 |
| mpoly | Symbolic Computation and More with Multivariate Polynomials | 3,450 |
| textstem | Tools for Stemming and Lemmatizing Text | 3,400 |
| lime | Local Interpretable Model-Agnostic Explanations | 3,207 |
| readtext | Import and Handling for Plain and Formatted Text Files | 3,158 |
| sonicscrewdriver | Bioacoustic Analysis and Publication Tools | 3,109 |
| future.batchtools | A Future API for Parallel and Distributed Processing using 'batchtools' | 2,939 |
| BatchJobs | Batch Computing with R | 2,542 |
| omopgenerics | Methods and Classes for the OMOP Common Data Model | 2,507 |
| alakazam | Immunoglobulin Clonal Lineage and Diversity Analysis | 2,411 |
| shiny.react | Tools for Using React in Shiny | 2,404 |
| scCustomize | Custom Visualizations & Functions for Streamlined Analyses of Single Cell Sequencing | 2,347 |
| Ecfun | Functions for 'Ecdat' | 2,344 |
| radiant.data | Data Menu for Radiant: Business Analytics using R and Shiny | 2,326 |
| radiant.model | Model Menu for Radiant: Business Analytics using R and Shiny | 2,274 |
| CDMConnector | Connect to an OMOP Common Data Model | 2,272 |
| routr | A Simple Router for HTTP and WebSocket Requests | 2,151 |
| quanteda.textplots | Plots for the Quantitative Analysis of Textual Data | 2,015 |
| mlr3oml | Connector Between 'mlr3' and 'OpenML' | 1,992 |
Code
Method, Code Method Code metrics come from reading the released source of each package version. The package is never installed, loaded or run.Code metrics
README, vignettes, a NEWS file and the shares read from its help pages. Files kept only in the repository, such as a pkgdown configuration or CI files, are read by the repository scan instead.
- Functions
- 11,919
- Public exports
- 256
- Lines of R code
- 11,024
- Median complexity
- 1
Functions (11,919)
Size and composition
Lines by kind (561,593)
| Kind | Lines | Share |
|---|---|---|
| R code | 11,024 | 2% |
| Documentation | 9,840 | 2% |
| Compiled code | 540,729 | 96% |
Lines by language
| Language | Lines | Share |
|---|---|---|
| C++ | 341,505 | 61% |
| C | 199,224 | 36% |
| R | 11,024 | 2% |
| Rd | 9,840 | 2% |
Languages are counted from file extensions.
- Files
- 1,234
- R functions
- 256
- Compiled functions
- 12,727
Complexity
- Median
- 1
- Mean
- 2.1
- Highest
- 13
- Median lines per function
- 6
About complexity
Cyclomatic complexity counts the independent paths through a function: 1 is a straight line, higher is harder to test. R functions only.
Call graph figures
- R functions
- 256
- Calls
- 147
- Unconnected
- 83
- Groups
- 26
Growth (40 releases)
Release changes
Tests
The package was built and has no tests to run.
- Lines of tests
- 0
- Exports named in tests
- 0%
Test suite
- Has tests
- No
- Test frameworks
- No tests in this release
- Test lines per line of code
- 0
Documentation
- Exports documented
- 91.4%
- Arguments documented
- 91.2%
- Return value documented
- 100%
- Help pages with examples
- 71.6%
- Examples run in checks
- 95.9%
Other documentation
- README
- No
- Release notes file
- Yes
- Help pages
- 102
- Lines of documentation
- 9,840
People
Method, People Method People on the site are the names packages give them in their Author and maintainer identity
DESCRIPTION files: authors from the author list, and the maintainer from the Maintainer field. Spellings of one name become one person only where the rules below allow it, and when in doubt the rules keep people apart.
Maintainer since 0.1-25 (2014), author, copyright holder
Unicode, Inc. and others, an organisation
Contributor
Contributor
Earlier names (5)
- IBM
- Inc.
- other contributors
- others
- Unicode
Repository
Method, figures by host Method Repository signals are the figures read from the source repository a package links to: stars, forks, issues, commits, releases and the time issues take to close. They are read from GitHub, GitLab, Codeberg and Bitbucket.Repository signals
URL and BugReports fields of its DESCRIPTION file. Read-only mirrors, the cran and bioc accounts on GitHub and git.bioconductor.org, are left out.
gagolews / stringi on github.com
- Stars
- 320+0.63% up on 30 days ago, the better direction
- Forks
- 48
- Open issues
- 49
- Last commit
- 18 Aug 2026
Activity
- Commits
- 1,704
- Open pull requests
- 0
- Tagged releases
- 40
- Latest tagged release
- v1.8.8, 28 Jul 2026
- In development
- Default branch at 1.8.9.9001, ahead of CRAN 1.8.9 (checked 2026-10-25)
- Issues closed in
- 3 days (median)
- Pull requests closed in
- 1 day (median)
- Pull requests merged
- 66%
- Created
- 5 Jan 2013
- Licence file reads as
- –
Development practices (6)
| Kind | Found |
|---|---|
| Continuous integration | GitHub Actions, R CMD check workflow The R CMD check workflow runs on Linux, macOS and Windows, and on R-devel |
| Governance and community | Code of conduct |
| Docs source | GitHub Pages site last deployed 2026-08-18 |
| Reproducibility and dev environment | Makefile |
| Research and citation | CITATION.cff |
Method, repository practices Method Beta Each week a scan of the public source repository a package links to looks for the tools a maintainer has set up, and the Repository section lists the findings. Repositories on GitHub and GitLab are scanned.Repository practices
R CMD build reads .Rbuildignore and leaves out files used only in development, such as .github/, .lintr, renv/, a Dockerfile and cran-comments.md, so the released source file holds almost none of them. The repository is the one place these files stay visible.
AI tools
Method, AI tools Method Beta What is found in a repository is not a measure of the code.AI tool findings
Tools
| Tool | First seen | Commits crediting it |
|---|---|---|
| Claude Code | 1 Aug 2026 | 1 at least |
Models
| Model | Commits | First commit | Last commit | Credit lines of |
|---|---|---|---|---|
| Claude Opus 5 | 1 | 1 Aug 2026 | 1 Aug 2026 | Claude Code |
History
Method, History Method Archived is built from CRAN's archive records, its list of check deadlines and Bioconductor's package records. Every figure is counted to 28 Oct 2026, the day the data was read.Packages leaving
- On CRAN
- Facing archival
- Release
| Version | Released | R | Events |
|---|---|---|---|
| 1.8.9 current | 4 Aug 2026 | 4.6.1 | Fix due 5 Aug 2026 The checks were fixed and the deadline was lifted. |
| 1.8.7 | 27 Mar 2025 | 4.4.3 | |
| 1.8.4 | 6 May 2024 | 4.4.0 | |
| 1.8.3 | 11 Dec 2023 | 4.3.2 | |
| 1.8.2 | 23 Nov 2023 | 4.3.2 | |
| 1.8.1 | 13 Nov 2023 | 4.3.2 | |
| 1.7.12 | 11 Jan 2023 | 4.2.2 | |
| 1.7.8 | 11 Jul 2022 | 4.2.1 |
Earlier versions (32)
| Version | Released | R |
|---|---|---|
| 1.7.6 | 29 Nov 2021 | 4.1.2 |
| 1.7.5 | 4 Oct 2021 | 4.1.1 |
| 1.7.4 | 25 Aug 2021 | 4.1.1 |
| 1.7.3 | 16 Jul 2021 | 4.1.0 |
| 1.7.2 | 14 Jul 2021 | 4.1.0 |
| 1.6.2 | 17 May 2021 | 4.0.5 |
| 1.6.1 | 10 May 2021 | 4.0.5 |
| 1.5.3 | 9 Sep 2020 | 4.0.2 |
| 1.4.6 | 17 Feb 2020 | 3.6.2 |
| 1.4.5 | 11 Jan 2020 | 3.6.2 |
| 1.4.4 | 9 Jan 2020 | 3.6.2 |
| 1.4.3 | 13 Mar 2019 | 3.5.3 |
| 1.3.1 | 13 Feb 2019 | 3.5.2 |
| 1.2.4 | 20 Jul 2018 | 3.5.0 |
| 1.2.3 | 12 Jun 2018 | 3.5.0 |
| 1.2.2 | 2 May 2018 | 3.5.0 |
| 1.1.7 | 12 Mar 2018 | 3.4.3 |
| 1.1.6 | 17 Nov 2017 | 3.4.2 |
| 1.1.5 | 7 Apr 2017 | 3.3.3 |
| 1.1.3 | 21 Mar 2017 | 3.3.3 |
| 1.1.2 | 1 Oct 2016 | 3.3.1 |
| 1.1.1 | 27 May 2016 | 3.3.0 |
| 1.0-1 | 22 Oct 2015 | 3.2.2 |
| 0.5-5 | 29 Jun 2015 | 3.2.1 |
| 0.5-4 | 28 Jun 2015 | 3.2.1 |
| 0.5-2 | 22 Jun 2015 | 3.2.1 |
| 0.4-1 | 14 Dec 2014 | 3.1.2 |
| 0.3-1 | 6 Nov 2014 | 3.1.2 |
| 0.2-5 | 16 May 2014 | 3.1.0 |
| 0.2-4 | 15 May 2014 | 3.1.0 |
| 0.2-3 | 14 May 2014 | 3.1.0 |
| 0.1-25 | 12 Mar 2014 | 3.0.3 |