Metadata-Version: 2.4
Name: structured-workout-format
Version: 0.4.1
Summary: Structured Workout Format (SWF) — a JSON format for describing structured endurance workouts.
Author-email: Aart Goossens <aart@sweatstack.no>
License-File: LICENSE
Requires-Python: >=3.12
Requires-Dist: open-sport-taxonomy[pydantic]>=0.3.0
Requires-Dist: pydantic>=2.0.0
Description-Content-Type: text/markdown

# Structured Workout Format (SWF)

SWF is a JSON format for describing structured endurance workouts. Define a workout once in SWF, then export to Garmin, Intervals.icu, or other platforms.

```bash
uv add structured-workout-format
```

```python
from structured_workout_format import Workout, Step, Repeat, duration, power, to_garmin

workout = Workout(
    sport="cycling",
    content=[
        Repeat(count=5, content=[
            Step(volume=duration(240), intensity=power(250)),
            Step(effort="rest", volume=duration(120)),
        ]),
    ],
)

print(to_garmin(workout))
```

Full documentation, specification, and examples at **[structuredworkoutformat.dev](https://structuredworkoutformat.dev)**.

Source code and conformance suite on [GitHub](https://github.com/sweatstack/structured-workout-format).
