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.metricsfor 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7ec51a0d6ec57272f47ee92cc6dc98fe1efdcdaac1f5899f75a791f887d650b
|
|
| MD5 |
0812bd4c3a333164d2d15aa2b30b98a2
|
|
| BLAKE2b-256 |
fc4e30e6cd8852d81e41050b0daa4905041d96bf891b246bc986e0a81c721056
|
Provenance
The following attestation bundles were made for chiptime-0.4.0.tar.gz:
Publisher:
release.yml on MaxGrgrv/chiptime
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
chiptime-0.4.0.tar.gz -
Subject digest:
b7ec51a0d6ec57272f47ee92cc6dc98fe1efdcdaac1f5899f75a791f887d650b - Sigstore transparency entry: 2515806279
- Sigstore integration time:
-
Permalink:
MaxGrgrv/chiptime@ca3f0ff3844093922abe0f7c998a64163a0c5e5f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/MaxGrgrv
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@ca3f0ff3844093922abe0f7c998a64163a0c5e5f -
Trigger Event:
workflow_dispatch
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5089ae643d7912026489795de01ffc194c99417c4ca4c86187a90634a8609a93
|
|
| MD5 |
c4b2a7804308499a2f807c812e195e0f
|
|
| BLAKE2b-256 |
6e7e63654c1ca1fa19bf90bc8085227493efd3caa3d314acfb48db72bf8aaaa1
|
Provenance
The following attestation bundles were made for chiptime-0.4.0-py3-none-any.whl:
Publisher:
release.yml on MaxGrgrv/chiptime
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
chiptime-0.4.0-py3-none-any.whl -
Subject digest:
5089ae643d7912026489795de01ffc194c99417c4ca4c86187a90634a8609a93 - Sigstore transparency entry: 2515806312
- Sigstore integration time:
-
Permalink:
MaxGrgrv/chiptime@ca3f0ff3844093922abe0f7c998a64163a0c5e5f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/MaxGrgrv
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@ca3f0ff3844093922abe0f7c998a64163a0c5e5f -
Trigger Event:
workflow_dispatch
-
Statement type: