├── .editorconfig ├── .flake8 ├── .github └── workflows │ └── python-test.yml ├── .gitignore ├── .pytest.ini ├── .readthedocs.yml ├── HISTORY.rst ├── LICENSE.txt ├── MANIFEST.in ├── README.rst ├── clean.cmd ├── cmd ├── fitjson ├── fitjson.cmd ├── fittxt └── fittxt.cmd ├── docs ├── conf.py ├── favicon.ico ├── history.rst ├── images │ └── logo.jpg ├── index.rst ├── make.py ├── reference.rst └── reference │ ├── exceptions.rst │ ├── processors.rst │ ├── reader.rst │ ├── records.rst │ ├── types.rst │ └── utils.rst ├── fitdecode.sublime-project ├── fitdecode ├── __init__.py ├── __meta__.py ├── cmd │ ├── __init__.py │ ├── fitjson.py │ └── fittxt.py ├── exceptions.py ├── processors.py ├── profile.py ├── reader.py ├── records.py ├── types.py └── utils.py ├── pyproject.toml ├── requirements-dev.in ├── requirements.in ├── setup.cfg ├── tests ├── __init__.py ├── files │ ├── 2013-02-06-12-11-14.fit │ ├── 2015-10-13-08-43-15.fit │ ├── 20170518-191602-1740899583.fit │ ├── 2019-02-17-062644-ELEMNT-297E-195-0.fit │ ├── Activity.fit │ ├── DeveloperData.fit │ ├── Edge810-Vector-2013-08-16-15-35-10.fit │ ├── MonitoringFile.fit │ ├── Settings.fit │ ├── Settings2.fit │ ├── WeightScaleMultiUser.fit │ ├── WeightScaleSingleUser.fit │ ├── WorkoutCustomTargetValues.fit │ ├── WorkoutIndividualSteps.fit │ ├── WorkoutRepeatGreaterThanStep.fit │ ├── WorkoutRepeatSteps.fit │ ├── activity-large-fenxi2-multisport.fit │ ├── activity-settings.fit │ ├── activity-small-fenix2-run.fit │ ├── antfs-dump.63.fit │ ├── compressed-speed-distance-records.csv │ ├── compressed-speed-distance.fit │ ├── developer-types-sample.fit │ ├── event_timestamp.fit │ ├── garmin-edge-500-activity-records.csv │ ├── garmin-edge-500-activity.fit │ ├── garmin-edge-820-bike-records.csv │ ├── garmin-edge-820-bike.fit │ ├── garmin-fenix-5-bike-records.csv │ ├── garmin-fenix-5-bike.fit │ ├── garmin-fenix-5-run-records.csv │ ├── garmin-fenix-5-run.fit │ ├── garmin-fenix-5-walk-records.csv │ ├── garmin-fenix-5-walk.fit │ ├── garmin-fr935-cr.fit │ ├── invalid │ │ ├── activity-activity-filecrc.fit │ │ ├── activity-filecrc.fit │ │ ├── activity-settings-corruptheader.fit │ │ ├── activity-settings-nodata.fit │ │ ├── activity-unexpected-eof.fit │ │ └── elemnt-bolt-no-application-id-inside-developer-data-id.fit │ ├── null_compressed_speed_dist.fit │ ├── sample-activity-indoor-trainer.fit │ └── sample-activity.fit └── test_reader.py └── tools └── generate_profile.py /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/.editorconfig -------------------------------------------------------------------------------- /.flake8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/.flake8 -------------------------------------------------------------------------------- /.github/workflows/python-test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/.github/workflows/python-test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/.gitignore -------------------------------------------------------------------------------- /.pytest.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/.pytest.ini -------------------------------------------------------------------------------- /.readthedocs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/.readthedocs.yml -------------------------------------------------------------------------------- /HISTORY.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/HISTORY.rst -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/MANIFEST.in -------------------------------------------------------------------------------- /README.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/README.rst -------------------------------------------------------------------------------- /clean.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/clean.cmd -------------------------------------------------------------------------------- /cmd/fitjson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/cmd/fitjson -------------------------------------------------------------------------------- /cmd/fitjson.cmd: -------------------------------------------------------------------------------- 1 | @call python -B "%~dpn0" %* 2 | @exit /b %ERRORLEVEL% 3 | -------------------------------------------------------------------------------- /cmd/fittxt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/cmd/fittxt -------------------------------------------------------------------------------- /cmd/fittxt.cmd: -------------------------------------------------------------------------------- 1 | @call python -B "%~dpn0" %* 2 | @exit /b %ERRORLEVEL% 3 | -------------------------------------------------------------------------------- /docs/conf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/docs/conf.py -------------------------------------------------------------------------------- /docs/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/docs/favicon.ico -------------------------------------------------------------------------------- /docs/history.rst: -------------------------------------------------------------------------------- 1 | .. include:: ../HISTORY.rst 2 | -------------------------------------------------------------------------------- /docs/images/logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/docs/images/logo.jpg -------------------------------------------------------------------------------- /docs/index.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/docs/index.rst -------------------------------------------------------------------------------- /docs/make.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/docs/make.py -------------------------------------------------------------------------------- /docs/reference.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/docs/reference.rst -------------------------------------------------------------------------------- /docs/reference/exceptions.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/docs/reference/exceptions.rst -------------------------------------------------------------------------------- /docs/reference/processors.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/docs/reference/processors.rst -------------------------------------------------------------------------------- /docs/reference/reader.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/docs/reference/reader.rst -------------------------------------------------------------------------------- /docs/reference/records.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/docs/reference/records.rst -------------------------------------------------------------------------------- /docs/reference/types.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/docs/reference/types.rst -------------------------------------------------------------------------------- /docs/reference/utils.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/docs/reference/utils.rst -------------------------------------------------------------------------------- /fitdecode.sublime-project: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/fitdecode.sublime-project -------------------------------------------------------------------------------- /fitdecode/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/fitdecode/__init__.py -------------------------------------------------------------------------------- /fitdecode/__meta__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/fitdecode/__meta__.py -------------------------------------------------------------------------------- /fitdecode/cmd/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /fitdecode/cmd/fitjson.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/fitdecode/cmd/fitjson.py -------------------------------------------------------------------------------- /fitdecode/cmd/fittxt.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/fitdecode/cmd/fittxt.py -------------------------------------------------------------------------------- /fitdecode/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/fitdecode/exceptions.py -------------------------------------------------------------------------------- /fitdecode/processors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/fitdecode/processors.py -------------------------------------------------------------------------------- /fitdecode/profile.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/fitdecode/profile.py -------------------------------------------------------------------------------- /fitdecode/reader.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/fitdecode/reader.py -------------------------------------------------------------------------------- /fitdecode/records.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/fitdecode/records.py -------------------------------------------------------------------------------- /fitdecode/types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/fitdecode/types.py -------------------------------------------------------------------------------- /fitdecode/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/fitdecode/utils.py -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/pyproject.toml -------------------------------------------------------------------------------- /requirements-dev.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/requirements-dev.in -------------------------------------------------------------------------------- /requirements.in: -------------------------------------------------------------------------------- 1 | # this package does not require extra dependency 2 | -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/setup.cfg -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/files/2013-02-06-12-11-14.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/2013-02-06-12-11-14.fit -------------------------------------------------------------------------------- /tests/files/2015-10-13-08-43-15.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/2015-10-13-08-43-15.fit -------------------------------------------------------------------------------- /tests/files/20170518-191602-1740899583.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/20170518-191602-1740899583.fit -------------------------------------------------------------------------------- /tests/files/2019-02-17-062644-ELEMNT-297E-195-0.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/2019-02-17-062644-ELEMNT-297E-195-0.fit -------------------------------------------------------------------------------- /tests/files/Activity.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/Activity.fit -------------------------------------------------------------------------------- /tests/files/DeveloperData.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/DeveloperData.fit -------------------------------------------------------------------------------- /tests/files/Edge810-Vector-2013-08-16-15-35-10.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/Edge810-Vector-2013-08-16-15-35-10.fit -------------------------------------------------------------------------------- /tests/files/MonitoringFile.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/MonitoringFile.fit -------------------------------------------------------------------------------- /tests/files/Settings.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/Settings.fit -------------------------------------------------------------------------------- /tests/files/Settings2.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/Settings2.fit -------------------------------------------------------------------------------- /tests/files/WeightScaleMultiUser.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/WeightScaleMultiUser.fit -------------------------------------------------------------------------------- /tests/files/WeightScaleSingleUser.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/WeightScaleSingleUser.fit -------------------------------------------------------------------------------- /tests/files/WorkoutCustomTargetValues.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/WorkoutCustomTargetValues.fit -------------------------------------------------------------------------------- /tests/files/WorkoutIndividualSteps.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/WorkoutIndividualSteps.fit -------------------------------------------------------------------------------- /tests/files/WorkoutRepeatGreaterThanStep.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/WorkoutRepeatGreaterThanStep.fit -------------------------------------------------------------------------------- /tests/files/WorkoutRepeatSteps.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/WorkoutRepeatSteps.fit -------------------------------------------------------------------------------- /tests/files/activity-large-fenxi2-multisport.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/activity-large-fenxi2-multisport.fit -------------------------------------------------------------------------------- /tests/files/activity-settings.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/activity-settings.fit -------------------------------------------------------------------------------- /tests/files/activity-small-fenix2-run.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/activity-small-fenix2-run.fit -------------------------------------------------------------------------------- /tests/files/antfs-dump.63.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/antfs-dump.63.fit -------------------------------------------------------------------------------- /tests/files/compressed-speed-distance-records.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/compressed-speed-distance-records.csv -------------------------------------------------------------------------------- /tests/files/compressed-speed-distance.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/compressed-speed-distance.fit -------------------------------------------------------------------------------- /tests/files/developer-types-sample.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/developer-types-sample.fit -------------------------------------------------------------------------------- /tests/files/event_timestamp.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/event_timestamp.fit -------------------------------------------------------------------------------- /tests/files/garmin-edge-500-activity-records.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/garmin-edge-500-activity-records.csv -------------------------------------------------------------------------------- /tests/files/garmin-edge-500-activity.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/garmin-edge-500-activity.fit -------------------------------------------------------------------------------- /tests/files/garmin-edge-820-bike-records.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/garmin-edge-820-bike-records.csv -------------------------------------------------------------------------------- /tests/files/garmin-edge-820-bike.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/garmin-edge-820-bike.fit -------------------------------------------------------------------------------- /tests/files/garmin-fenix-5-bike-records.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/garmin-fenix-5-bike-records.csv -------------------------------------------------------------------------------- /tests/files/garmin-fenix-5-bike.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/garmin-fenix-5-bike.fit -------------------------------------------------------------------------------- /tests/files/garmin-fenix-5-run-records.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/garmin-fenix-5-run-records.csv -------------------------------------------------------------------------------- /tests/files/garmin-fenix-5-run.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/garmin-fenix-5-run.fit -------------------------------------------------------------------------------- /tests/files/garmin-fenix-5-walk-records.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/garmin-fenix-5-walk-records.csv -------------------------------------------------------------------------------- /tests/files/garmin-fenix-5-walk.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/garmin-fenix-5-walk.fit -------------------------------------------------------------------------------- /tests/files/garmin-fr935-cr.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/garmin-fr935-cr.fit -------------------------------------------------------------------------------- /tests/files/invalid/activity-activity-filecrc.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/invalid/activity-activity-filecrc.fit -------------------------------------------------------------------------------- /tests/files/invalid/activity-filecrc.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/invalid/activity-filecrc.fit -------------------------------------------------------------------------------- /tests/files/invalid/activity-settings-corruptheader.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/invalid/activity-settings-corruptheader.fit -------------------------------------------------------------------------------- /tests/files/invalid/activity-settings-nodata.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/invalid/activity-settings-nodata.fit -------------------------------------------------------------------------------- /tests/files/invalid/activity-unexpected-eof.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/invalid/activity-unexpected-eof.fit -------------------------------------------------------------------------------- /tests/files/invalid/elemnt-bolt-no-application-id-inside-developer-data-id.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/invalid/elemnt-bolt-no-application-id-inside-developer-data-id.fit -------------------------------------------------------------------------------- /tests/files/null_compressed_speed_dist.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/null_compressed_speed_dist.fit -------------------------------------------------------------------------------- /tests/files/sample-activity-indoor-trainer.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/sample-activity-indoor-trainer.fit -------------------------------------------------------------------------------- /tests/files/sample-activity.fit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/files/sample-activity.fit -------------------------------------------------------------------------------- /tests/test_reader.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tests/test_reader.py -------------------------------------------------------------------------------- /tools/generate_profile.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/polyvertex/fitdecode/HEAD/tools/generate_profile.py --------------------------------------------------------------------------------