A new maintenance release of our RApiDatetime package is now on CRAN
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 representation, formatPOSIXlt
and
Rstrptime
convert to and from character strings, and
POSIXlt2D
and D2POSIXlt
convert between
Date
and POSIXlt
datetime. Lastly,
asDatePOSIXct
converts to a date type. All these functions
are rather useful, but were not previously exported by R for C-level use
by other packages. Which this package aims to change.
This release responds to a CRAN request to clean up empty
macros and sections in Rd files. Moreover, because the windows portion
of the corresponding R-internal code underwent some changes, our
(#ifdef
conditional) coverage here is a little behind and
created a warning under the newer UCRT setup. So starting with this
release we are back to OS_type: unix
meaning there will not
be any Windows builds at CRAN.
If you would like that to change, and ideally can work in the Windows
portion, do not hesitate to get in touch.
Details of the release follow based on the NEWS file.
Changes in RApiDatetime version 0.0.9 (2024-01-23)
- Replace auto-generated stale RApitDatetime-package.Rd with macro-filled stanza to satisfy CRAN request.
Courtesy of my CRANberries, there is also a diffstat report for this release.
If you like this or other open-source work I do, you can sponsor me at GitHub.
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.
A new release of our RApiDatetime package is now on CRAN.
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 representation, formatPOSIXlt
and
Rstrptime
convert to and from character strings, and
POSIXlt2D
and D2POSIXlt
convert between
Date
and POSIXlt
datetime. Lastly,
asDatePOSIXct
converts to a date type. All these functions
are rather useful, but were not previously exported by R for C-level use
by other packages. Which this package aims to change.
This release accomodates a CRAN request (as one does) to change (one
single) instance of sprintf()
to snprintf()
.
No more, no less.
Changes in RApiDatetime version 0.0.8 (2023-01-14)
Update one use of
sprint
tosnprintf
Minor edits to DESCRIPTION
Courtesy of my CRANberries, there is are comparisons to the previous release. More information is on the rapidatetime page.
For questions or comments please use the issue tracker off the GitHub repo.
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.
A new release of our RApiDatetime package is now on CRAN.
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 representation, formatPOSIXlt
and Rstrptime
convert to and from character strings, and POSIXlt2D
and D2POSIXlt
convert between Date
and POSIXlt
datetime. Lastly, asDatePOSIXct
converts to a date type. All these functions are rather useful, but were not previously exported by R for C-level use by other packages. Which this package aims to change.
This release accomodates, just like so many other releases this week, the more stringent views of clang-15
about what a correct function prototype is. While we were at, updates to GitHub Actions and https URL were made as well.
Changes in RApiDatetime version 0.0.7 (2022-10-30)
A function prototype was updated for
clang-15
.GitHub Actions were updated to checkout version 3.
Several remaining http:// URLs were converted to https://.
Courtesy of my CRANberries, there is are comparisons to the previous release. More information is on the rapidatetime page.
For questions or comments please use the issue tracker off the GitHub repo.
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.
After nearly two years, the RApiDatetime package on CRAN has received an update, followed-up a quick bug fix.
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 representation, formatPOSIXlt
and Rstrptime
convert to and from character strings, and POSIXlt2D
and D2POSIXlt
convert between Date
and POSIXlt
datetime. Lastly, asDatePOSIXct
converts to a date type. All these functions are rather useful, but were not previously exported by R for C-level use by other packages. Which this package aims to change.
This pair of releases updates the code to the current R-devel standard, and refreshes a few standard packaging aspects starting from making builds on the Windows ‘UCRT’ platform possible. And while making an accomodation for one “beloved” architecture (in release 0.0.5), we introduced another issue on another almost equally “beloved” platform which 0.0.6 clears up. It should be ready and stable now.
Changes in RApiDatetime version 0.0.6 (2021-08-13)
Correctly account for SunOS to have it avoid
GMTOFF
useA new test file was added to ensure ‘NEWS.Rd’ is always at the current release version.
Changes in RApiDatetime version 0.0.5 (2021-08-05)
Add a few
#nocov
tagsUpdate continuous integration to use r-ci, reenable coverage
Update DESCRIPTION with URL and BugReports fields
Add new CI and LastCommitted badges to README.md
Add compiler flag for Windows UCRT build
Synchronized datetime function with upstream r-devel code
Courtesy of my CRANberries, there is are comparisons to the previous release 0.0.5, and 0.0.4, respectively. More information is on the rapidatetime page.
For questions or comments please use the issue tracker off the GitHub repo.
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.
The first update in a little while brings us release 0.0.4 of RApiDatetime which got onto CRAN this morning via the lovely automated sequence of submission, pretest-recheck and pretest-publish.
RApiDatetime provides seven 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 representation, formatPOSIXlt
and Rstrptime
convert to and from character strings, and POSIXlt2D
and D2POSIXlt
convert between Date
and POSIXlt
datetime. This releases brings asDatePOSIXct
as a seventh courtesy of Josh Ulrich. All these functions are all fairly useful, but not one of them was previously exported by R for C-level use by other packages. Which is silly as this is generally extremely carefully written and tested code.
I also updated the exported base R code to what is in R 3.5.1 right now, added a few #nocov
declarations (not all which are reflected at the codecov page yet, and added a dependency badge at the GitHub repo.
Changes in RApiDatetime version 0.0.4 (2018-10-21)
Courtesy of CRANberries, there is a comparison to the previous release. More information is on the rapidatetime page.
For questions or comments please use the issue tracker off the GitHub repo.
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.
A brown bag bug fix release 0.0.3 of RApiDatetime is now on CRAN.
RApiDatetime provides six 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 representation, formatPOSIXlt
and Rstrptime
convert to and from character strings, and POSIXlt2D
and D2POSIXlt
convert between Date
and POSIXlt
datetime. These six functions are all fairly essential and useful, but not one of them was previously exported by R.
I left two undefined variables in calls in the exported header file; this only become an issue once I actually tried accessing the API from another package as I am now doing in anytime.
Changes in RApiDatetime version 0.0.3 (2017-04-02)
Correct two simple copy-and-paste errors in
RApiDatetime.h
Also enable registration in
useDynLib
, and explicitly export known and documented R access functions provided for testing
Courtesy of CRANberries, there is a comparison to the previous release. More information is on the rapidatetime page.
For questions or comments please use the issue tracker off the GitHub repo.
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.
Two days after the initial 0.0.1 release, a new version of RApiDatetime has just arrived on CRAN.
RApiDatetime provides six 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 representation, formatPOSIXlt
and Rstrptime
convert to and from character strings, and POSIXlt2D
and D2POSIXlt
convert between Date
and POSIXlt
datetime. These six functions are all fairly essential and useful, but not one of them was previously exported by R.
Josh Ulrich took one hard look at the package -- and added the one line we needed to enable the Windows support that was missing in the initial release. We now build on all platforms supported by R and CRAN. Otherwise, I just added a NEWS file and called it a bugfix release.
Changes in RApiDatetime version 0.0.2 (2017-03-25)
- Windows support has added (Josh Ulrich in #1)
Changes in RApiDatetime version 0.0.1 (2017-03-23)
- Initial release with six accessible functions
Courtesy of CRANberries, there is a comparison to the previous release. More information is on the rapidatetime page.
For questions or comments please use the issue tracker off the GitHub repo.
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.
Very happy to announce a new package of mine is now up on the CRAN repository network: RApiDatetime.
It provides six entry points for C-level functions of the R API for Date
and Datetime
calculations: asPOSIXlt
and asPOSIXct
convert between long and compact datetime representation, formatPOSIXlt
and Rstrptime
convert to and from character strings, and POSIXlt2D
and D2POSIXlt
convert between Date
and POSIXlt
datetime. These six functions are all fairly essential and useful, but not one of them was previously exported by R. Hence the need to put them together in the this package to complete the accessible API somewhat.
These should be helpful for fellow package authors as many of us have either our own partial copies of some of this code, or rather farm back out into R to get this done.
As a simple (yet real!) illustration, here is an actual Rcpp function which we could now cover at the C level rather than having to go back up to R (via Rcpp::Function()
):
inline Datetime::Datetime(const std::string &s, const std::string &fmt) {
Rcpp::Function strptime("strptime"); // we cheat and call strptime() from R
Rcpp::Function asPOSIXct("as.POSIXct"); // and we need to convert to POSIXct
m_dt = Rcpp::as<double>(asPOSIXct(strptime(s, fmt)));
update_tm();
}
I had taken a first brief stab at this about two years ago, but never finished. With the recent emphasis on C-level function registration, coupled with a possible use case from anytime I more or less put this together last weekend.
It currently builds and tests fine on POSIX-alike operating systems. If someone with some skill and patience in working on Windows would like to help complete the Windows side of things then I would certainly welcome help and pull requests.
For questions or comments please use the issue tracker off the GitHub repo.
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.