{
  "_id": "6ad9f659c9cc1e56bbac4922",
  "Package": "timefully",
  "Type": "Package",
  "Title": "Time-Series Management Made Easy",
  "Version": "0.1.2",
  "Authors@R": "person(given = \"Marc\", family = \"Cañigueral\", role = c(\"aut\", \"cre\"),\nemail = \"marccanyigueral@gmail.com\",\ncomment = c(ORCID = \"0000-0001-9724-5829\"))",
  "Description": "Manage time-series data frames across time zones,\nresolutions, and date ranges, while filling gaps using\nweekday/hour patterns or simple fill helpers or plotting them\ninteractively. It is designed to work seamlessly with the\ntidyverse and dygraphs environments.",
  "License": "GPL-3",
  "Encoding": "UTF-8",
  "LazyData": "true",
  "Config/testthat/edition": "3",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.3",
  "URL": "https://github.com/resourcefully-dev/timefully/,\nhttps://resourcefully-dev.github.io/timefully/",
  "BugReports": "https://github.com/resourcefully-dev/timefully/issues",
  "Language": "en-US",
  "Config/pak/sysreqs": "cmake make libuv1-dev",
  "Repository": "https://resourcefully-dev.r-universe.dev",
  "Date/Publication": "2026-09-22 11:17:59 UTC",
  "RemoteUrl": "https://github.com/resourcefully-dev/timefully",
  "RemoteRef": "HEAD",
  "RemoteSha": "5f3d4da2a2b08469e1b42c2f862fca7011ff5a85",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-10-22 11:15:50 UTC",
    "User": "root"
  },
  "Author": "Marc Cañigueral [aut, cre] (ORCID:\n<https://orcid.org/0000-0001-9724-5829>)",
  "Maintainer": "Marc Cañigueral <marccanyigueral@gmail.com>",
  "_user": "resourcefully-dev",
  "_type": "src",
  "_file": "timefully_0.1.2.tar.gz",
  "_fileid": "https://r2.ropensci.org/576b5fa49a57ab01d699d0f3cb3ddb31638c8fe64e49acea4a666fae0a3ee6f8",
  "_filesize": 1998423,
  "_sha256": "576b5fa49a57ab01d699d0f3cb3ddb31638c8fe64e49acea4a666fae0a3ee6f8",
  "_expires": "2027-01-30T11:41:11.000Z",
  "_created": "2026-10-22T11:15:50.000Z",
  "_published": "2026-10-22T11:41:13.600Z",
  "_upstream": "https://github.com/resourcefully-dev/timefully",
  "_status": "success",
  "_maintainer": {
    "name": "Marc Cañigueral",
    "email": "marccanyigueral@gmail.com",
    "login": "mcanigueral",
    "description": "",
    "uuid": 34347594,
    "orcid": "0000-0001-9724-5829"
  },
  "_jobs": [
    {
      "job": 119792517133,
      "time": 137,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12421951390"
    },
    {
      "job": 119792517096,
      "time": 129,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12422245529"
    },
    {
      "job": 119792517613,
      "time": 101,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "12422254559"
    },
    {
      "job": 119792517146,
      "time": 105,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12421904786"
    },
    {
      "job": 119790989790,
      "time": 216,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12421382926"
    },
    {
      "job": 119792517065,
      "time": 165,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "12421049024"
    },
    {
      "job": 119792517149,
      "time": 89,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12422225509"
    },
    {
      "job": 119792517124,
      "time": 97,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "12421836572"
    },
    {
      "job": 119792517116,
      "time": 99,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12421463621"
    }
  ],
  "_buildurl": "https://github.com/r-universe/resourcefully-dev/actions/runs/39768792789",
  "_commit": {
    "id": "5f3d4da2a2b08469e1b42c2f862fca7011ff5a85",
    "author": "mcanigueral <34347594+mcanigueral@users.noreply.github.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Merge pull request #1 from resourcefully-dev/fix/interpolate-hold-last-value\n\nfix: interpolate holds the last value instead of ramping towards zero",
    "time": 1790075879
  },
  "_distro": "resolute",
  "_host": "GitHub-Actions",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "lubridate",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "purrr",
      "role": "Imports"
    },
    {
      "package": "dygraphs",
      "role": "Imports"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    }
  ],
  "_owner": "resourcefully-dev",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-43",
      "n": 7
    },
    {
      "week": "2025-45",
      "n": 3
    },
    {
      "week": "2025-48",
      "n": 4
    },
    {
      "week": "2025-49",
      "n": 2
    },
    {
      "week": "2025-51",
      "n": 1
    },
    {
      "week": "2025-52",
      "n": 1
    },
    {
      "week": "2026-10",
      "n": 5
    },
    {
      "week": "2026-11",
      "n": 1
    },
    {
      "week": "2026-23",
      "n": 5
    },
    {
      "week": "2026-39",
      "n": 1
    }
  ],
  "_tags": [],
  "_stars": 0,
  "_contributors": [
    {
      "user": "mcanigueral",
      "count": 33,
      "uuid": 34347594
    }
  ],
  "_userbio": {
    "uuid": 161712976,
    "type": "organization",
    "name": "Resourcefully",
    "followers": 4,
    "description": "Consultants for urban energy transition"
  },
  "_downloads": {
    "count": 249,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/timefully"
  },
  "_devurl": "https://github.com/resourcefully-dev/timefully",
  "_pkgdown": "https://resourcefully-dev.github.io/timefully/",
  "_searchresults": 2,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/timefully.html"
  ],
  "_homeurl": "https://github.com/resourcefully-dev/timefully",
  "_realowner": "resourcefully-dev",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2025-12-11"
    }
  ],
  "_exports": [
    "adapt_timeseries",
    "add_extra_days",
    "aggregate_timeseries",
    "change_timeseries_resolution",
    "change_timeseries_tzone",
    "convert_time_num_to_period",
    "date_to_timestamp",
    "fill_down_until",
    "fill_from_past",
    "fill_na",
    "format_datetime_axis",
    "get_datetime_seq",
    "get_time_resolution",
    "get_timeseries_resolution",
    "get_timeseries_tzone",
    "get_week_from_datetime",
    "get_week_total",
    "get_yearly_datetime_seq",
    "has_timeseries_gaps",
    "pad_timeseries",
    "plot_ts",
    "tic",
    "time_gaps",
    "to_hhmm",
    "toc"
  ],
  "_datasets": [
    {
      "name": "dtf",
      "title": "Time-series profiles of consumption and production energy data",
      "object": "dtf",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "datetime",
        "solar",
        "building"
      ],
      "rows": 35040,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "adapt_timeseries",
      "title": "Adapt time-series dataframe to timezone, date range and fill gaps",
      "topics": [
        "adapt_timeseries"
      ]
    },
    {
      "page": "add_extra_days",
      "title": "Add an extra day at the beginning and the end of datetime sequence using the last and first day of the data",
      "topics": [
        "add_extra_days"
      ]
    },
    {
      "page": "aggregate_timeseries",
      "title": "Aggregate multiple timeseries columns to a single one",
      "topics": [
        "aggregate_timeseries"
      ]
    },
    {
      "page": "change_timeseries_resolution",
      "title": "Change time resolution of a time-series data frame",
      "topics": [
        "change_timeseries_resolution"
      ]
    },
    {
      "page": "change_timeseries_tzone",
      "title": "Adapt the timezone of a time series dataframe",
      "topics": [
        "change_timeseries_tzone"
      ]
    },
    {
      "page": "convert_time_num_to_period",
      "title": "Convert numeric time value to a datetime period (hour-based)",
      "topics": [
        "convert_time_num_to_period"
      ]
    },
    {
      "page": "date_to_timestamp",
      "title": "Convert date or datetime value to timestamp number",
      "topics": [
        "date_to_timestamp"
      ]
    },
    {
      "page": "fill_down_until",
      "title": "Fill down tibble columns until a maximum number of time slots",
      "topics": [
        "fill_down_until"
      ]
    },
    {
      "page": "fill_from_past",
      "title": "Fill from past values",
      "topics": [
        "fill_from_past"
      ]
    },
    {
      "page": "fill_na",
      "title": "Fill gaps with a specific value",
      "topics": [
        "fill_na"
      ]
    },
    {
      "page": "format_datetime_axis",
      "title": "Format datetime axis",
      "topics": [
        "format_datetime_axis"
      ]
    },
    {
      "page": "get_datetime_seq",
      "title": "Date time sequence with time zone and resolution",
      "topics": [
        "get_datetime_seq"
      ]
    },
    {
      "page": "get_time_resolution",
      "title": "Return the time resolution of a datetime sequence",
      "topics": [
        "get_time_resolution"
      ]
    },
    {
      "page": "get_timeseries_resolution",
      "title": "Return the time resolution of a time series dataframe",
      "topics": [
        "get_timeseries_resolution"
      ]
    },
    {
      "page": "get_timeseries_tzone",
      "title": "Get the time zone of a time series dataframe",
      "topics": [
        "get_timeseries_tzone"
      ]
    },
    {
      "page": "get_week_from_datetime",
      "title": "Week date from datetime value",
      "topics": [
        "get_week_from_datetime"
      ]
    },
    {
      "page": "get_week_total",
      "title": "Summarise dataframe with weekly total column values",
      "topics": [
        "get_week_total"
      ]
    },
    {
      "page": "get_yearly_datetime_seq",
      "title": "Yearly date time sequence with time zone and resolution",
      "topics": [
        "get_yearly_datetime_seq"
      ]
    },
    {
      "page": "has_timeseries_gaps",
      "title": "Check whether a time series dataframe has gaps",
      "topics": [
        "has_timeseries_gaps"
      ]
    },
    {
      "page": "pad_timeseries",
      "title": "Pad a time series to a complete datetime sequence",
      "topics": [
        "pad_timeseries"
      ]
    },
    {
      "page": "plot_ts",
      "title": "Interactive plot for time-series tibbles",
      "topics": [
        "plot_ts"
      ]
    },
    {
      "page": "tic",
      "title": "Time difference start function",
      "topics": [
        "tic"
      ]
    },
    {
      "page": "time_gaps",
      "title": "Find the missing time slots in a datetime sequence",
      "topics": [
        "time_gaps"
      ]
    },
    {
      "page": "to_hhmm",
      "title": "Convert a number of minutes in string format \"HH:MM\"",
      "topics": [
        "to_hhmm"
      ]
    },
    {
      "page": "toc",
      "title": "Time difference end function",
      "topics": [
        "toc"
      ]
    }
  ],
  "_pkglogo": "https://github.com/resourcefully-dev/timefully/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/resourcefully-dev/timefully/raw/HEAD/README.md",
  "_rundeps": [
    "base64enc",
    "bslib",
    "cachem",
    "cli",
    "cpp11",
    "digest",
    "dplyr",
    "dygraphs",
    "evaluate",
    "fastmap",
    "fontawesome",
    "fs",
    "generics",
    "glue",
    "highr",
    "htmltools",
    "htmlwidgets",
    "jquerylib",
    "jsonlite",
    "knitr",
    "lattice",
    "lifecycle",
    "lubridate",
    "magrittr",
    "memoise",
    "mime",
    "pillar",
    "pkgconfig",
    "purrr",
    "R6",
    "rappdirs",
    "rlang",
    "rmarkdown",
    "sass",
    "tibble",
    "tidyselect",
    "timechange",
    "tinytex",
    "utf8",
    "vctrs",
    "withr",
    "xfun",
    "xts",
    "yaml",
    "zoo"
  ],
  "_score": 3.6989700043360187,
  "_indexed": true,
  "_nocasepkg": "timefully",
  "_universes": [
    "resourcefully-dev",
    "mcanigueral"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-10-22T11:17:56.000Z",
      "distro": "resolute",
      "commit": "5f3d4da2a2b08469e1b42c2f862fca7011ff5a85",
      "fileid": "https://r2.ropensci.org/d87e8decda61c00eb7d82b3f3cdbf531e5e436fd7e9b7f76e6757847d44619fc",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/resourcefully-dev/actions/runs/39768792789"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-10-22T11:17:46.000Z",
      "distro": "resolute",
      "commit": "5f3d4da2a2b08469e1b42c2f862fca7011ff5a85",
      "fileid": "https://r2.ropensci.org/3b0f98d4e5dcc308426a2ea26b478ae9758824da433fca08efe9201e31f65af7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/resourcefully-dev/actions/runs/39768792789"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.2",
      "date": "2026-10-22T11:40:21.000Z",
      "commit": "5f3d4da2a2b08469e1b42c2f862fca7011ff5a85",
      "fileid": "https://r2.ropensci.org/50b8fab6d1c78e80edff916d13335bac000db0ace81ac349efef70a2fed98148",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/resourcefully-dev/actions/runs/39768792789"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.1.2",
      "date": "2026-10-22T11:37:01.000Z",
      "commit": "5f3d4da2a2b08469e1b42c2f862fca7011ff5a85",
      "fileid": "https://r2.ropensci.org/161eff43777bf13a4cef64367e9c18ac01f8211ee9ab911c9cf3fa4f1d85e802",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/resourcefully-dev/actions/runs/39768792789"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.2",
      "date": "2026-10-22T11:18:54.000Z",
      "commit": "5f3d4da2a2b08469e1b42c2f862fca7011ff5a85",
      "fileid": "https://r2.ropensci.org/0c4b8ebfacd307f521f66eb448afc077303b2c74aa106aec58274d0c932d48c8",
      "status": "success",
      "buildurl": "https://github.com/r-universe/resourcefully-dev/actions/runs/39768792789"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-10-22T11:16:55.000Z",
      "commit": "5f3d4da2a2b08469e1b42c2f862fca7011ff5a85",
      "fileid": "https://r2.ropensci.org/a080d0cba1bc64a1b4aaef0a75a02eaa567d8abdc0ee68f9720f267fd247b27d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/resourcefully-dev/actions/runs/39768792789"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-10-22T11:17:06.000Z",
      "commit": "5f3d4da2a2b08469e1b42c2f862fca7011ff5a85",
      "fileid": "https://r2.ropensci.org/e2bb208a2b261fe22f80f940a28fc262a66703b1e5a363681ec4981c5b1d915d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/resourcefully-dev/actions/runs/39768792789"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-10-22T11:17:12.000Z",
      "commit": "5f3d4da2a2b08469e1b42c2f862fca7011ff5a85",
      "fileid": "https://r2.ropensci.org/1ceb672e09b9e20740f2e6c8153df4d16497053ab2f2a1e1accd087679f6e14e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/resourcefully-dev/actions/runs/39768792789"
    }
  ]
}