{"repo":"muktihari/fit","free":true,"listed":false,"github":"https://github.com/muktihari/fit","clone":"git clone https://github.com/muktihari/fit.git","description":"A FIT SDK for decoding and encoding Garmin FIT files in Go supporting FIT Protocol V2.","language":"Go","stars":173,"topics":["fit","fitness","garmin-fit","binary","decoding","encoding","garmin","sdk","go","protocol"],"license":"BSD-3-Clause","category":"api-integrations-sdks","readme_excerpt":"FIT SDK for Go This project hosts the Go implementation for The Flexible and Interoperable Data Transfer (FIT) Protocol, which is a protocol developed by Garmin for storing and sharing data originating from sports, fitness, and health devices. Activities recorded using devices such as smartwatch and cycling computer are now mostly in a FIT file format (\\ .fit). For Rust implementation see https://github.com/muktihari/rustyfit Motivation The FIT protocol, known for its compact size as a binary file format, is the preferred choice for manufacturers to use in their embedded devices. However, despite its widespread adoption, Garmin has not yet released an official SDK for Go, and existing third-party libraries for decoding and encoding the FIT protocol lack the semantics of the official SDK. One of the key semantics they are missing is the ability for users to retrieve protocol messages. Instead, these messages are unmarshalled directly into predefined structures based on common file types. This results in the loss of the message arrival order, inability to handle 'unknown messages', and limits the ability to extend certain functionalities. Furthermore, existing third-party libraries do not seem to fully support FIT Protocol V2, and their ability to produce variant options of the FIT protocol is limited. For instance, creating FIT files with compressed timestamps or FIT files with multiple local message types, which significantly reduces the resulting FIT files' size, is missing.","default_branch":null,"files":null,"tree":[],"storefront":"/r/muktihari","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/muktihari/fit/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}