Dailies¶
client.dailies: /api/v1/dailies/...
Bases: Resource
Dailies: one value per measure per day (body mass, resting heart rate, HRV, sleep, ...).
delete(measure, *, date)
¶
Deletes the value of a measure for a day.
Endpoint: DELETE /api/v1/dailies/{measure}
Parameters:
-
measure(DailyMeasure | str) –The measure, e.g.
"body_mass". -
date(date) –The day.
Raises:
-
SweatStackNotFoundError–If there is no value for that day.
-
SweatStackAPIError–If the API request fails for any other reason.
Examples:
from datetime import date
from sweatstack import Client
client = Client()
client.dailies.delete("body_mass", date=date(2026, 5, 1))
list(measure, *, start, end, interpolate=True, output=None)
¶
list(measure: DailyMeasure | str, *, start: date, end: date, interpolate: bool = True, output: Literal['models'] | None = None) -> builtins.list[DailyResponse]
list(measure: DailyMeasure | str, *, start: date, end: date, interpolate: bool = True, output: Literal['pandas']) -> pd.DataFrame
list(measure: DailyMeasure | str, *, start: date, end: date, interpolate: bool = True, output: Literal['polars']) -> pl.DataFrame
list(measure: DailyMeasure | str, *, start: date, end: date, interpolate: bool = True, output: Literal['arrow']) -> pa.Table
Lists one value per day for a measure, every day in the range included.
Endpoint: GET /api/v1/dailies/{measure}
Parameters:
-
measure(DailyMeasure | str) –The measure, e.g.
"body_mass"orDailyMeasure.hrv. -
start(date) –First date (inclusive).
-
end(date) –Last date (inclusive).
-
interpolate(bool, default:True) –Fill gaps with the server's estimate for the measure. Note that the API's own default is
false; the SDK defaults toTrue. WithFalse, a missing day hasvalue=Noneandsource="missing". -
output(ListOutput | None, default:None) –"models"(default),"pandas","polars"or"arrow".
Returns:
-
list[DailyResponse] | DataFrame | DataFrame | Table–DailyResponse objects, or a frame with one row per date (
dateis a column).
Raises:
-
SweatStackAPIError–If the API request fails.
Examples:
from datetime import date
from sweatstack import Client
client = Client()
hrv = client.dailies.list("hrv", start=date(2026, 4, 1), end=date(2026, 5, 1), output="pandas")
set(measure, *, date, value)
¶
Sets the value of a measure for a day, creating or replacing it.
Endpoint: POST /api/v1/dailies/{measure}
A value you set is never overwritten by an integration import.
Parameters:
-
measure(DailyMeasure | str) –The measure, e.g.
"body_mass". -
date(date) –The day.
-
value(float) –The value, in the measure's unit.
Returns:
-
DailyResponse(DailyResponse) –The stored value.
Raises:
-
SweatStackAPIError–If the API request fails.
Examples:
from datetime import date
from sweatstack import Client
client = Client()
client.dailies.set("body_mass", date=date(2026, 5, 1), value=71.4)