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.1.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.1-py3-none-any.whl (138.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: chiptime-0.4.1.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.1.tar.gz
Algorithm Hash digest
SHA256 dea7c78a892bb1821ff7dbbaeaf0c57b9dd1691244e4181907e2f8bac312c9de
MD5 ae7b222b7a9a1bff358b4c7a72790df5
BLAKE2b-256 46cc28c9a2c6001cbcaa52fbb18d010c974e43cd45dbc99147228b33e29f365f

See more details on using hashes here.

Provenance

The following attestation bundles were made for chiptime-0.4.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: chiptime-0.4.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 048228a550a236889a0c355a5c39817b40018cb60cf0419db4cd70752f6b3312
MD5 8a3a22b0eff6c36d9b2c07b7d5517705
BLAKE2b-256 c4833c768e67537c119abae5a90f528ff13783c09d55f792294efdbcd77e8558

See more details on using hashes here.

Provenance

The following attestation bundles were made for chiptime-0.4.1-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