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 lighter,
nimbler and faster. It is also still a fairly young project so changes
may occur.
I have been working on this for about a month, and it is ready for
use by R and C++. It contains the initial upstream release 0.1.0, and I
plan to follow the upstream versioning making this first release as
0.1.0-1.
The package itself provides the headers for use from other C++
projects (i.e.Β mostly other packages), as well as a simple R wrapper so
that logging can occur from either C++ or R. It will generally access
the single logger instance in a compilation unit. So for a package built
against these header it would be shared library of that package. At
present we provide the basic logging level setters and getters,
formatting accessors, and two (compile-time) options of a βnull loggerβ
and a file-based logger. More options are availble from the C++ level,
multiple logging sinks are but one example. Some examples are provided
in the package as an R
example and a C++
example; these are probably best examined from the sources.
The NEWS entry for this release is simply and just announces that we
have a release. More details are in the ChangeLog
and the GitHub
repo.
Changes in version
0.1.0-1 (2025-06-08)
- Initial complete version and CRAN upload
This post by Dirk
Eddelbuettel originated on his Thinking inside the box
blog. If you like this or other open-source work I do, you can sponsor me at
GitHub. You can also sponsor my Tour
de Shore 2026 ride in support of the Maywood Fine Arts Center.