← Back to all sparks
T

timeplyr

ANALYTICS
Velocity0.0

Fast Tidy Tools for Date and Date-Time Manipulation

timeplyr cut everything that wasn't time, then rebuilt intervals as fixed-width vectors.

time-seriesrdplyrdata.tableapi-consolidation
Current state
timeplyr is a time-aware companion to dplyr and data.table, built around a fixed-width time_interval vector class. The 1.0.0 rewrite removed most non-time functions and pushed the C++ layer out into the separate cheapr package, leaving a narrower surface than the 0.8.x line. Releases since have been small: one feature batch in 1.1.1 and a pair of bug fixes in 1.1.2.
Where it's heading
The arc is consolidation, not expansion. Each release since 1.0.0 trims arguments, renames functions toward a single vocabulary (width, timespan, grid), or fixes an interaction with data.table's own rolling functions. The package increasingly acts as a thin time layer over cheapr and data.table rather than carrying its own implementation.
Prediction
Expect continued small releases tracking cheapr and data.table changes rather than new function families; the entries show no in-progress feature work beyond the ggplot2-friendly breakpoint helpers introduced in 1.1.1.

Recent moves

  1. 4mo ago

    Leap-day and time_complete(.by=) bug fixes

    Two bug fixes: examples that failed when run on a leap day, and an error from time_complete(.by = ). Maintenance on the surface 1.0.0 settled on.

    View source ↗
  2. 10mo ago

    time_breakpoints added; rolling calcs realigned to data.table

    Rolling calculations were realigned with data.table's newer rolling functions, time_add gained an n argument, and time_breakpoints arrived as a ggplot2-friendlier alternative to time_breaks. Incremental work inside the post-1.0.0 vocabulary.

    View source ↗
  3. 1y ago

    Fixed-width time intervals; non-time functions removed

    ⚡ SPARK

    The release that defines the current package: intervals became fixed-width vectors, most non-time functions were deleted, and the argument vocabulary was rewritten. Everything since has been maintenance on this foundation.

    View source ↗
  4. 1y ago

    time_intervals on by default; year_month/year_quarter ggplot2 scales

    time_intervals became the default representation, ggplot2 scales arrived for year_month and year_quarter, and time_cut_width was added. This is the release where the interval class moved from opt-in to the default path, setting up the 1.0.0 rewrite.

    View source ↗
  5. 2y ago

    Regression fixes after the 0.8.0 refactor

    Regression fixes for unexported methods, time_complete on grouped data frames, and time_interval value replacement. Cleanup after the 0.8.0 refactor.

    View source ↗
  6. 2y ago

    C++ layer moved to cheapr; time_interval class introduced

    Much of the C++ implementation moved out to the cheapr package, roll_lag and roll_diff were simplified onto cheapr primitives, and the time_interval class first appeared. The dependency split here is what let 1.0.0 narrow the package to time work.

    View source ↗