Skip to content

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:

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" or DailyMeasure.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 to True. With False, a missing day has value=None and source="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 (date is a column).

Raises:

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:

Raises:

Examples:

from datetime import date

from sweatstack import Client

client = Client()
client.dailies.set("body_mass", date=date(2026, 5, 1), value=71.4)