Skip to main content

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.

uv add structured-workout-format
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.

Source code and conformance suite on GitHub.

Metadata

Release files for structured-workout-format 0.6.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for structured-workout-format 0.6.1
File Size Uploaded
structured_workout_format-0.6.1.tar.gz 1.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for structured-workout-format 0.6.1
File Interpreter ABI Platform
structured_workout_format-0.6.1-py3-none-any.whl Python 3 none any Details

Total release size: 1.3 MB

Release files / structured_workout_format-0.6.1.tar.gz

Download URL structured_workout_format-0.6.1.tar.gz
Size 1.3 MB
Tags Source
SHA-256 checksum
How to use checksums
466b619a7c44ef8ad350d1d3652c3ae403627092764076327379d4a5a8860637
BLAKE2b-256 checksum
How to use checksums
3ecaeecf12eb6274576d283c7aadae893bd69ef0dbced39191e4a1b028ee8680
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.10

Release files / structured_workout_format-0.6.1-py3-none-any.whl

Download URL structured_workout_format-0.6.1-py3-none-any.whl
Size 33.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c60e68445c63f2df5c455bd71c4a5d983e24c8c8c32114c92b780b84aa85d4e8
BLAKE2b-256 checksum
How to use checksums
02649950a0fab37cde31039dd231d2eb89e5dd00db396d51a007c12220fefd54
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.10

Release history Release notifications | RSS feed

This release

0.6.1 This release

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page