fit alternatives and similar packages
Based on the "Data" category.
Alternatively, view fit alternatives based on common mentions on social networks and blogs.
-
semantic-source
Parsing, analyzing, and comparing source code across many languages -
text
Haskell library for space- and time-efficient operations over Unicode text. -
code-builder
Packages for defining APIs, running them, generating client code and documentation. -
cassava
A CSV parsing and encoding library optimized for ease of use and high performance -
compendium-client
Mu (μ) is a purely functional framework for building micro services. -
primitive
This package provides various primitive memory-related operations. -
resource-pool
A high-performance striped resource pooling implementation for Haskell -
discrimination
Fast linear time sorting and discrimination for a large class of data types -
dependent-sum
Dependent sums and supporting typeclasses for comparing and displaying them -
reflection
Reifies arbitrary Haskell terms into types that can be reflected back into terms -
dependent-map
Dependently-typed finite maps (partial dependent products) -
text-icu
This package provides the Haskell Data.Text.ICU library, for performing complex manipulation of Unicode text. -
orgmode-parse
Attoparsec parser combinators for parsing org-mode structured text! -
streaming
An optimized general monad transformer for streaming applications, with a simple prelude of functions -
scientific
Arbitrary-precision floating-point numbers represented using scientific notation
Access the most powerful time series database as a service
Do you think we are missing an alternative of fit or a related project?
README
fit
The FIT protocol is used by many sport and fitness devices made by companies like Garmin, for example running watches and bike computers. fit provides an API for parsing these files for analysis or conversion.
Currently this package is a pretty low-level effort, and you'll need to be familiar with FIT to get much value from it. Specifically, the notion of the FIT "profile" is ignored entirely, so to make use of the decoded file you'll need to reference the "Profile.xls" spreadsheet in the FIT SDK.
The Fit
module exports a convenient set of data types for examining FIT files, as
well as some lenses for extracting specific data. It's intended that the API in the
Fit
module should be sufficient and convenient for most uses, but if you need access
to the exact structure of the file you can use the data types in Fit.Internal.FitFile
and parsers in Fit.Internal.Parse
.
Example
Given a FIT file named "file.fit", here's how you could extract all of the "speed" fields
from all of the "record" messages using the lenses in the Messages API. Looking at the FIT
Profile.xls file, you can see that the message number for "record" is 20
, and within a
record the field number for "speed" is 6
. In a GHCi session:
Right fit <- readFileMessages "file.fit"
let speeds = fit ^.. message 20 . field 6 . int
Now speeds :: [Int]
is a list of the speed recordings from your activity.