Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: ng
Commits on Nov 10, 2014
  1. Added .gitignore file

  2. Updated component unit tests

  3. Clean Up Unit Processor Code

Commits on Nov 9, 2014
  1. Add Support for Subfield's Components

    Added support for gear_change_data and sport_point which are included
    in FIT SDK 13.00. There are subfields that have components.
Commits on Feb 2, 2013
  1. Added Unit Based Processors

  2. Added Sample doctests (WIP)

    Still not sure if I want to include doctests or not.
  3. FIXUP to above

  4. Bumped Copyright to 2013

Commits on Dec 28, 2012
Commits on Dec 25, 2012
  1. Added link to project docs.

Commits on Dec 24, 2012
  1. Added Initial Documentation

  2. General/API Cleanups and Added Data Processors

     * Added custom data processor classes where the following methods
       are called on a per value basis
       - process_type_<type_name>(field_data)
       - process_field_<field_name>(field_data)
       - def process_message_<mesg_name>(data_message)
     * Updated and its data structures in to leave
       out values in its `__init__` method and have None by default.
       (Updated profile export script as well)
     * Tweaked `__str__`/`__repr__` methods on classes
     * Minor Refactor For Timestamp Field and Record Base Class
     * Made the argparse module a ``/pip requirement for Python
       2.6 and lower in anticipation in using it for the fitdump script.
  3. Added Real .FIT File Parsing Test

    Added sample file from my Garmin Edge 500 along with the expected
    values in a CSV file.
Commits on Dec 10, 2012
  1. FitFile API Cleanups

     * Simpler API that can parse messages in a fit file on demand if
       treated as an iterator
     * Removed `get_messages_by_name()` method. Instead writing
       `get_messages(**kwargs)` that will be able query in a more
       flexible way. (WIP)
  2. Partial Cleanup of Record Objects

     * Renamed/added some keywords for consistency
     * Added readable __repr__()'s to some record objects (WIP)
     * Changed record objects with unknown names to be named
       "unknown-NN" where NN is the relevant definition message number
       or field definition number.
Commits on Dec 9, 2012
  1. Added Python 2.5 Compatibility

    * Removed use of bytearray
    * Removed use of numbers module
    * Removed 0b syntax
    * Use unittest2 if Python older than 2.7
    * Removed namedtuple use in favour of object.__slots__
  2. Committing Progress on Rewrite Branch (ng)

    Committing the work I've been doing over the past little while on a
    rewrite for python-fitparse.
    Major Changes
    * New, hopefully cleaner public API with a clear division between
      accessible and internal parts. (Still unstable and partially
    * Proper documentation! Going to use Sphinx.
    * Unit tests and example programs.
    * (WIP) Command line tools (eg a `.FIT` to `.CSV` converter).
    * Component fields and compressed timestamp headers now supported
      and not just an afterthought. Closes issues #6 and #7.
    * FIT file parsing is generic enough to support all types. Going to
      have specific `FitFile` subclasses for more popular file types
      like activities.
    * (WIP) Converting field types to normalized values (for example,
      `bool`, `date_time`, etc) done in a consistent way, that's easy to
      customize by subclassing the converter class. I'm going to use
      something like the Django form-style `convert_<field name>` idiom
      on this class.
    * The FIT profile is its own complete python module, rather than
      using `profile.def`.
    * Bonus! The profile generation script is less ugly (but still an
      atrocity) and supports every ANT FIT SDK from version 1.00 up to
    * A working `` module. Closes issue #2, finally! I'll
      upload the package to PyPI when it's done.
    * Support for parsing one record at a time. This can be done using
      `<FitFile>.parse_one()` for now, but I'm not sure of the exact
      implementation yet.
Commits on Nov 28, 2012
  1. Added README stub

  2. New Development Branch

    I've been putting off working on python-fitparse for about a year.
    Here is a first commit for a rewrite. I'll try to leave the API
    somewhat backwards compatible with the old version where it makes
Something went wrong with that request. Please try again.