fitparse
Python library to parse ANT/Garmin .FIT files
Decision gist · record as of 2026-08-14
Yes, if you need to parse .FIT files and can tolerate dormant maintenance. The library is stable for basic use and has no dependencies. However, be aware that the maintainer recommends fitdecode as an alternative and is not actively developing this package. Install friction is high due to source-only distribution. Check whether fitdecode better suits your needs before committing.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a valid .FIT file; no network or external service dependencies.
- High install friction due to source-only distribution.
- Maintenance is dormant—the maintainer explicitly states limited availability and recommends fitdecode as an alternative.
License · maintenance · safety
permissive license (permissive) — MIT License permits commercial and private use with minimal restrictions. You may use, modify, and distribute the code freely provided you retain the copyright and license notice.
last release 2020-09-07 (2167 days) · last repo commit 2025-01-28 · 822 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 130,031 downloads/mo, #11,654 on PyPI
Alternatives
Verify before relying
import fitparse
fitfile = fitparse.FitFile("my_activity.fit")
for record in fitfile.get_messages("record"):
for data in record:
print(f"{data.name}: {data.value}")- Whether the package works reliably with modern Python versions (requires_python is unspecified in metadata).
- Whether fitdecode is a drop-in replacement or requires code changes.
- Current state of open issues and pull requests on the repository.
What it is and what it does
fitparse is a Python library for reading ANT/Garmin .FIT files, a binary format used by fitness devices and sports watches to store activity data. It parses the binary structure and exposes records (such as GPS points, heart rate samples, or device metadata) as Python objects with named fields and optional units. The library includes a command-line tool (fitdump) to convert .FIT files to readable or JSON output.
The package has no runtime dependencies and works standalone. However, it is in dormant maintenance: the original author has limited availability and explicitly recommends fitdecode as an alternative. The last release was in 2020, though the repository shows recent commits. High install friction stems from source-only distribution (no wheels). Use this package if you need to parse .FIT files and prefer a minimal-dependency solution, but be aware that bug fixes and new ANT SDK support may be slow or unavailable.
Use it for
- Extract GPS coordinates and timestamps from Garmin activity files for analysis or mapping.
- Convert .FIT files to JSON or human-readable format via the fitdump command-line tool.
- Parse device metadata (manufacturer, serial number, firmware) from .FIT files.
- Batch process fitness activity files to aggregate metrics across multiple workouts.
- Build a custom data pipeline that reads .FIT files and feeds structured records into a database or analytics tool.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to parse .FIT files and can tolerate dormant maintenance.
The library is stable for basic use and has no dependencies. However, be aware that the maintainer recommends fitdecode as an alternative and is not actively developing this package. Install friction is high due to source-only distribution. Check whether fitdecode better suits your needs before committing.
Install
fitparse on PyPI
Before you install
High install friction due to source-only distribution. Maintenance is dormant—the maintainer explicitly states limited availability and recommends fitdecode as an alternative. Last release was 2020-09-07, over five years ago. Repository remains active (last commit 2025-01-28) but no new releases are planned.
Requires a valid .FIT file; no network or external service dependencies.
License in practice
MIT License permits commercial and private use with minimal restrictions. You may use, modify, and distribute the code freely provided you retain the copyright and license notice.
Quickstart
import fitparse
fitfile = fitparse.FitFile("my_activity.fit")
for record in fitfile.get_messages("record"):
for data in record:
print(f"{data.name}: {data.value}")
Verify before relying
- Whether the package works reliably with modern Python versions (requires_python is unspecified in metadata).
- Whether fitdecode is a drop-in replacement or requires code changes.
- Current state of open issues and pull requests on the repository.
Package facts
| License | permissive license permissive |
| Python support | Not specified |
| Install friction | High. Source build required |
| Runtime dependencies | None |
| Maintenance | Dormant 2,167 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 130,031 / month, #11,654 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: fitparse-1.2.0.tar.gz
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “parse FIT files”
- fitparseParses ANT/Garmin .FIT binary files, extracting structured data like…
- garmin-fit-sdkDecodes Garmin FIT (Flexible and Interoperable Data Transfer) binary…
- fit-toolReads and writes Garmin FIT files for Activity, Workout, and Course…
Give your agent the search over MCP, or paste the wish link into any chat.
More Utilities packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Pygments is a syntax highlighter that colorizes source code and text in over 500 languages and formats, outputting to HTML, LaTeX, RTF, SVG, images, or ANSI terminal sequences.
Install it if you need to display or transform source code.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
See also fit-tool · fitdecode · garmin-fit-sdk · ha-garmin · garminconnect · garth · streamlit-antd-components · lat-lon-parser · python-oxmsg · formic2