Skip to main content

chiptime

Recovery-grade FIT file processing. Parse anything, lose nothing silently, explain everything. Zero runtime dependencies.

Every other open-source FIT parser stops at the first bad byte. chiptime resynchronizes mid-file, salvages truncated files, rebuilds missing session summaries, and can write the result back out as a valid, uploadable .fit — with a machine-readable provenance trail for every repair.

import chiptime

result = chiptime.parse("broken.fit")  # lenient: recover + annotate
result.recovery  # what was salvaged
result.activity.sessions[0].records.stream("power")  # 0 is real, None is absent
result.to_canonical_json()  # RFC 8785 — byte-identical every run

fixed = chiptime.repair("broken.fit")  # → a valid .fit
chiptime parse ride.fit --json      # agent exit codes: 0/2/3/4/64
chiptime repair broken.fit -o fixed.fit
chiptime validate fixed.fit --platform garmin-connect
chiptime inspect weird.fit          # wire-level forensics
  • Three modes: strict / lenient / forensic (forensic never drops data)
  • Sentinels → null before any statistics; zero ≠ null, always
  • Deterministic canonical JSON; errors carry stable codes + suggested next steps
  • Conformance corpus: 104-item edge-case taxonomy, golden-file tested
  • Optional extras: chiptime[pandas] for DataFrames; chiptime.metrics for mean-max curves, zone time, SWOLF

Docs, taxonomy, corpus and research: https://github.com/MaxGrgrv/chiptime

chiptime is an independent project, not affiliated with or endorsed by Garmin. FIT and Garmin are trademarks of Garmin Ltd. This package ships no Garmin SDK files.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chiptime-0.4.0.tar.gz (234.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chiptime-0.4.0-py3-none-any.whl (138.4 kB view details)

Uploaded Python 3

File details

Details for the file chiptime-0.4.0.tar.gz.

File metadata

  • Download URL: chiptime-0.4.0.tar.gz
  • Upload date:
  • Size: 234.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for chiptime-0.4.0.tar.gz
Algorithm Hash digest
SHA256 b7ec51a0d6ec57272f47ee92cc6dc98fe1efdcdaac1f5899f75a791f887d650b
MD5 0812bd4c3a333164d2d15aa2b30b98a2
BLAKE2b-256 fc4e30e6cd8852d81e41050b0daa4905041d96bf891b246bc986e0a81c721056

See more details on using hashes here.

Provenance

The following attestation bundles were made for chiptime-0.4.0.tar.gz:

Publisher: release.yml on MaxGrgrv/chiptime

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chiptime-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: chiptime-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 138.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for chiptime-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5089ae643d7912026489795de01ffc194c99417c4ca4c86187a90634a8609a93
MD5 c4b2a7804308499a2f807c812e195e0f
BLAKE2b-256 6e7e63654c1ca1fa19bf90bc8085227493efd3caa3d314acfb48db72bf8aaaa1

See more details on using hashes here.

Provenance

The following attestation bundles were made for chiptime-0.4.0-py3-none-any.whl:

Publisher: release.yml on MaxGrgrv/chiptime

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page