skillfed

fitparse

Python library to parse ANT/Garmin .FIT files

fitparse v1.2.0 130.0K downloads/30d#11,654 on PyPI822
Permissive license MIT License Copyright (c) 2011-2020, David Cooper <david@dtcooper.com> Copyright (c) 2017-2020, Carey Metcalfe <carey@cmetcalfe.ca> Permission is hereby granted, free of charge, to any person… (full text in the JSON record) DORMANT released

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

Parses ANT/Garmin .FIT binary files, extracting structured data like timestamps, coordinates, and device metrics from fitness device recordings.

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

pip

pip install fitparse

uv

uv add fitparse

poetry

poetry add fitparse

Installing fitparse

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.

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}")

Requires a valid .FIT file; no network or external service dependencies.

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 MIT License Copyright (c) 2011-2020, David Cooper <david@dtcooper.com> Copyright (c) 2017-2020, Carey Metcalfe <carey@cmetcalfe.ca> Permission is hereby granted, free of charge, to any person… (full text in the JSON record) (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

parse FIT filesANT Garmin fitness dataFIT file parserextract activity databinary fitness formatGarmin device dataFIT protocol parser
fitness-databinary-formatdormant-maintenance

More Utilities packages