Welcome to post 58 in the R 4 series. R and the CRAN repositories maintain a very high level of what we might call “quality assurrance” by requiring that newly-added code does not break any existing dependencies. This is frequently called a “reverse-dependency check”. For any given CRAN package one can quickly determine it reverse dependencies. Calling tools::package_dependencies(pkgName,…
RcppDate ships the featureful date library written by Howard Hinnant to enable use from R packages. This header-only modern C++ library has been in pretty wide-spread use for a while now, and adds to C++11, C++14 and C++17 what is (with minor modifications) the ‘date’ library in C++20. The RcppDate package adds no extra R or C++ code and can therefore be a zero-cost dependency for any other…
Welcome to post 57 in the R 4 series. R packages with compiled codes can use the file src/Makevars to set compilation flags. We often rely on this to set libraries, include directories or compilation options. When using external libraries, be it header-only or via headers and linking, we are often experiencing ‘compilation noise’ when these libraries tickle warnings under generally-recommended…
Armadillo is a powerful and expressive C++ template library for linear algebra and scientific computing. It aims towards a good balance between speed and ease of use, has a syntax deliberately close to Matlab, and is useful for algorithm development directly in C++, or quick conversion of research code into production environments. RcppArmadillo integrates this library with the R environment and…
The twenty-first release of the qlcal package arrivied at CRAN just now, and has been built for r2u . It comes a week after the 0.1.2 release . qlcal delivers the calendaring parts of QuantLib . It is provided (for the R package) as a set of included files, so the package is self-contained and does not depend on an external QuantLib library (which can be demanding to build). qlcal covers over…
The twentieth release of the qlcal package arrivied at CRAN today, and has been built for r2u . This version synchronises with QuantLib 1.43 released today as well. qlcal delivers the calendaring parts of QuantLib . It is provided (for the R package) as a set of included files, so the package is self-contained and does not depend on an external QuantLib library (which can be demanding to build).…
A new minor release 0.4.28 of RQuantLib arrived on CRAN this evening, has been uploaded to Debian , and is being built for r2u as well. QuantLib is a rather comprehensice free/open-source library for quantitative finance. RQuantLib connects (some parts of) it to the R environment and language, and has been part of CRAN for nearly twenty-three years (!!) as it was one of the first packages I…
Team Rcpp is excited to share that an brandnew new version 1.1.2 of Rcpp is now on CRAN , has also been uploaded to Debian , and has already built for r2u and r-universe ; Windows etc builds at CRAN should follow in due course. Rcpp has long established itself as the most popular way of enhancing R with C or C++ code. Right now, 3236 packages on CRAN depend on Rcpp for making analytical code go…
The still-very-new logging package tl was just updated for the first time at CRAN . The tl package wraps the (also very new) rspdlite package to offer a lightweight and consistent logging interface from both R and C++ that enjoys being ‘tiny, fast, capable’ thanks to spdlite . With tl we follow the same idea that our spdl package introduced: a simple consistent interface via just the tl:: prefix…
A new small package of mine just hit CRAN . The tl package wraps the (also very new) rspdlite package (announced last week ) to offer a lightweight and consistent logging interface from both R and C++ that is also ‘tiny, fast, capable’ thanks to rspdlite . The rspdlite announcement is a good place to get a first glimpse at that package; the upstream spdlite repo has all the details (for the C++…
Armadillo is a powerful and expressive C++ template library for linear algebra and scientific computing. It aims towards a good balance between speed and ease of use, has a syntax deliberately close to Matlab, and is useful for algorithm development directly in C++, or quick conversion of research code into production environments. RcppArmadillo integrates this library with the R environment and…
Very happy to share that a new package rspdlite arrived on CRAN today in its inaugural version 0.1.0-1. It wraps and provides the (header-only) C++20 library spdlite which its author describes (aptly) as tiny, fast, capable . Just like its bigger sibbling spdlog (which we wrapped as rcppspdlog ), it is written by Gabi Melman . However, with a focus on C++20 and compile-time configuration, it is…
Quick note to share that rbenchmark is back on CRAN ! The rbenchmark package makes it easy to benchmark (and compare) simple R expressions. This package has been on CRAN for many years. At one point fourteen years ago it appeared to be rudderless so I offered help but things realigned. Now it was just tossed off CRAN , taking a number of packages depending on it with it (as shown in this…
A new minor release 0.4.27 of RQuantLib , the first in over a year, arrived on CRAN a couple of minutes ago, has just now been uploaded to Debian , and is being built for r2u as well. QuantLib is a rather comprehensice free/open-source library for quantitative finance. RQuantLib connects (some parts of) it to the R environment and language, and has been part of CRAN for nearly twenty-three years…
Armadillo is a powerful and expressive C++ template library for linear algebra and scientific computing. It aims towards a good balance between speed and ease of use, has a syntax deliberately close to Matlab, and is useful for algorithm development directly in C++, or quick conversion of research code into production environments. RcppArmadillo integrates this library with the R environment and…
Another very minor update, now at 0.3.15, for our nanotime package is now on CRAN , and has been built for r2u and Debian . nanotime relies on the RcppCCTZ package (as well as the RcppDate package for additional C++ operations) and offers efficient high(er) resolution time parsing and formatting up to nanosecond resolution, using the bit64 package for the actual integer64 arithmetic. Initially…
Version 0.0.29 of RcppSpdlog arrived on CRAN today, has been uploaded to Debian and built for r2u . The (nice) documentation site has been refreshed too. RcppSpdlog bundles spdlog , a wonderful header-only C++ logging library with all the bells and whistles you would want that was written by Gabi Melman , and also includes fmt by Victor Zverovich . You can learn more at the nice package…
The eight release of the binb package, and first in two years, is now on CRAN and in r2u . binb regroups four rather nice themes for writing LaTeX Beamer presentations much more easily in (R) Markdown . As a teaser, a quick demo combining all four themes is available ; documentation and examples are in the package. This release contains regular internal updates to continuous integration, URLs…
A new maintenance release 0.4.27 of RProtoBuf arrived on CRAN today. RProtoBuf provides R with bindings for the Google Protocol Buffers (“ProtoBuf”) data encoding and serialization library used and released by Google, and deployed very widely in numerous projects as a language and operating-system agnostic protocol. The new release is also already as a binary via r2u . This release adjusts to a…
Leonardo and I are happy to announce another maintenance release 0.1.4 of our dtts package which has been on CRAN for four years now. dtts builds upon our nanotime package as well as the beloved data.table to bring high-performance and high-resolution indexing at the nanosecond level to data frames. dtts aims to offers the time-series indexing versatility of xts (and zoo ) to the immense power of…
Another minor update 0.3.14 for our nanotime package is now on CRAN , and has compiled for r2u (and will have to wait to be uploaded to Debian until dependency bit64 has been updated there). nanotime relies on the RcppCCTZ package (as well as the RcppDate package for additional C++ operations) and offers efficient high(er) resolution time parsing and formatting up to nanosecond resolution, using…
Armadillo is a powerful and expressive C++ template library for linear algebra and scientific computing. It aims towards a good balance between speed and ease of use, has a syntax deliberately close to Matlab, and is useful for algorithm development directly in C++, or quick conversion of research code into production environments. RcppArmadillo integrates this library with the R environment and…
The nineteenth release of the qlcal package arrivied at CRAN just now, and has already been built for r2u . This version synchronises with QuantLib 1.42 released this week. qlcal delivers the calendaring parts of QuantLib . It is provided (for the R package) as a set of included files, so the package is self-contained and does not depend on an external QuantLib library (which can be demanding to…
A maintenance release 0.3.13 of the anytime package arrived on CRAN today, sticking with the roughly yearly schedule we have now. Binaries for r2u have been built already. The package is fairly feature-complete, and code and functionality remain mature and stable. anytime is a very focused package aiming to do just one thing really well: to convert anything in integer, numeric, character, factor,…
The twentyfourth release of littler as a CRAN package landed on CRAN just now, following in the now twenty-one year history (!!) as a (initially non-CRAN) package started by Jeff in 2006, and joined by me a few weeks later. littler is the first command-line interface for R as it predates Rscript . It allows for piping as well for shebang scripting via #! , uses command-line arguments more…
On June 19 and 20, I will cycle a little over 100 miles from downtown Chicago and its wonderful Millenium Park to New Buffalo, Michigan, as part of the Tour de Shore 2026 . The ride passes through northwest Indiana and the extended Indiana Dunes National Park ending the next morning in the southwestern Michigan town of New Buffalo. I rode Tour de Shore once before in 2024 and had a generally…
Version 0.0.28 of RcppSpdlog arrived on CRAN today, has been uploaded to Debian and built for r2u . The (nice) documentation site has been refreshed too. RcppSpdlog bundles spdlog , a wonderful header-only C++ logging library with all the bells and whistles you would want that was written by Gabi Melman , and also includes fmt by Victor Zverovich . You can learn more at the nice package…
And yet another maintenance release of the tidyCpp package arrived on CRAN this morning, just days after previous release which itself came a mere week and a half after its predecessor. It has been built for r2u as well. The package offers a clean C++ layer (as well as one small C++ helper class) on top of the C API for R which aims to make use of this robust (if awkward) C API a little easier and…
Armadillo is a powerful and expressive C++ template library for linear algebra and scientific computing. It aims towards a good balance between speed and ease of use, has a syntax deliberately close to Matlab, and is useful for algorithm development directly in C++, or quick conversion of research code into production environments. RcppArmadillo integrates this library with the R environment and…
Another minor maintenance release version 0.1.4 of package RcppClassicExamples arrived earlier today on CRAN , and has been built for r2u . This package illustrates usage of the old and otherwise deprecated initial Rcpp API which no new projects should use as the normal and current Rcpp API is so much better. This release, the first in two and half years, mostly aids Rcpp in moving from Rf_error()…
A maintenance release 0.9.14 of the RcppClassic package arrived earlier today on CRAN , and has been built for r2u . This package provides a maintained version of the otherwise deprecated initial Rcpp API which no new projects should use as the normal and current Rcpp API is so much better. A few changes had cumulated up since the last release in late 2022. We updated continuous integration…
Yet another maintenance release of the tidyCpp package arrived on CRAN this morning, a mere week and a half after the previous release. It has been built for r2u as well. The package offers a clean C++ layer (as well as one small C++ helper class) on top of the C API for R which aims to make use of this robust (if awkward) C API a little easier and more consistent. See the vignette for motivating…
Another maintenance release of the RcppCNPy package arrived on CRAN today, and has already been built as an r2u binary. RcppCNPy provides R with read and write access to NumPy files thanks to the cnpy library by Carl Rogers along with Rcpp for the glue to R . The changes are minor and similar to other recent changes. We aid Rcpp in the transition away from calling Rf_error() by relying in…
Another minor maintenance release for the RcppBDT package is now on CRAN , and had been built as binary for r2u . The RcppBDT package is an early adopter of Rcpp and was one of the first packages utilizing Boost and its Date_Time library. The now more widely-used package anytime is a direct descentant of RcppBDT . This release is again primarily maintenance. We aid Rcpp in the transition away from…
Another maintenance release of our RcppDE package arrived at CRAN , and has been built for r2u . RcppDE is a “port” of DEoptim , a package for derivative-free optimisation using differential evolution, from plain C to C++. By using RcppArmadillo the code became a lot shorter and more legible. Our other main contribution is to leverage some of the excellence we get for free from using Rcpp , in…
Another minor update 0.3.13 for our nanotime package is now on CRAN , and has been uploaded to Debian and compiled for r2u . nanotime relies on the RcppCCTZ package (as well as the RcppDate package for additional C++ operations) and offers efficient high(er) resolution time parsing and formatting up to nanosecond resolution, using the bit64 package for the actual integer64 arithmetic. Initially…
A new maintenance release 0.4.26 of RProtoBuf arrived on CRAN today. RProtoBuf provides R with bindings for the Google Protocol Buffers (“ProtoBuf”) data encoding and serialization library used and released by Google, and deployed very widely in numerous projects as a language and operating-system agnostic protocol. The new release is also already as a binary via r2u . This release brings an…
A new release 0.3.14 of RcppGSL is now on CRAN . The RcppGSL package provides an interface from R to the GNU GSL by relying on the Rcpp package. It has already been uploaded to Debian , and is also already available as a binary via r2u . This release, the first in over three years, contains mostly maintenance changes. We polished the fastLm example implementation a little more, updated continunous…
Another maintenance release of the tidyCpp package arrived on CRAN this morning. The packages offers a clean C++ layer (as well as one small C++ helper class) on top of the C API for R which aims to make use of this robust (if awkward) C API a little easier and more consistent. See the vignette for motivating examples . This release follows a similar release in November and had its hand forced by…
The x13binary team is happy to share the availability of Release 1.1.61.2 of the x13binary package providing the X-13ARIMA-SEATS program by the US Census Bureau which arrived on CRAN earlier today, and has already been built for r2u . This release responds to a CRAN request to display the compiler version when building. x13binary , just like three other packages there, creates and ships a local…
The eighteenth release of the qlcal package arrivied at CRAN today. There has been no calendar update in QuantLib 1.41 so it has been relatively quiet since the last release last summer but we now added a nice new feature (more below) leading to a new minor release version. qlcal delivers the calendaring parts of QuantLib . It is provided (for the R package) as a set of included files, so the…
Version 0.0.27 of RcppSpdlog arrived on CRAN moments ago, and will be uploaded to Debian and built for r2u shortly. The (nice) documentation site will be refreshed too. RcppSpdlog bundles spdlog , a wonderful header-only C++ logging library with all the bells and whistles you would want that was written by Gabi Melman , and also includes fmt by Victor Zverovich . You can learn more at the nice…
Both R and Python make it reasonably easy to work with compiled extensions. But how to access objects in one environment from the other and share state or (non-trivial) objects remains trickier. Recently (and while r-forge was ‘resting’ so we opened GitHub Discussions) a question was asked concerning R and Python object pointer exchange . This lead to a pretty decent discussion including arrow…
The original FOAAS site provided a rather wide variety of REST access points, but it sadky is no more (while the old repo is still there). A newer replacement site FOASS is up and running, but with a somewhat reduced offering. (For example, the two accessors shown in the screenshot are no more. C’est la vie. ) Recognising that perfect may once again be the enemy of (somewhat) good (enough), we…
The twentythird release of littler as a CRAN package landed on CRAN just now, following in the now twenty year history (!!) as a (initially non-CRAN) package started by Jeff in 2006, and joined by me a few weeks later. littler is the first command-line interface for R as it predates Rscript . It allows for piping as well for shebang scripting via #! , uses command-line arguments more consistently…
A new (micro) maintenance release of our RApiDatetime package is now on CRAN , coming only a good week after the 0.0.10 release which itself had a two year gap to its predecessor release. RApiDatetime provides a number of entry points for C-level functions of the R API for Date and Datetime calculations. The functions asPOSIXlt and asPOSIXct convert between long and compact datetime…
Version 0.0.26 of RcppSpdlog arrived on CRAN moments ago, and will be uploaded to Debian and built for r2u shortly. The (nice) documentation site has been refreshed too. RcppSpdlog bundles spdlog , a wonderful header-only C++ logging library with all the bells and whistles you would want that was written by Gabi Melman , and also includes fmt by Victor Zverovich . You can learn more at the nice…
Version 0.0.25 of RcppSpdlog arrived on CRAN right now, and will be uploaded to Debian and built for r2u shortly along with a minimal refresh of the documentation site. RcppSpdlog bundles spdlog , a wonderful header-only C++ logging library with all the bells and whistles you would want that was written by Gabi Melman , and also includes fmt by Victor Zverovich . You can learn more at the nice…
A brand new release 0.1.15 of the RcppSimdJson package is now on CRAN . RcppSimdJson wraps the fantastic and genuinely impressive simdjson library by Daniel Lemire and collaborators. Via very clever algorithmic engineering to obtain largely branch-free code, coupled with modern C++ and newer compiler instructions, it results in parsing gigabytes of JSON parsed per second which is quite…
An update to the gunsales package is now on CRAN . As in the last update nine years ago (!!), changes are mostly internal. An upcoming dplyr change requires a switch from the old and soon to-be-removed ‘underscored’ verb form; that was kindly addressed in an incoming pull request. We also updated the CI scripts a few times during this period as needed, and switched to using Authors@R, and…