Skip to main content

geotrace-sdk

Python bindings for the GeoTrace SDK: read and write .gtd GNSS/GPS navigation data files.

.gtd is the open binary recording format used by GeoTrace, a desktop application for visualizing GPS/GNSS navigation data: position traces on a map, satellite signal quality, event markers, and filtering.

MIT licensed. Requires Python 3.12+.

Install

uv add geotrace-sdk

Or

pip install geotrace-sdk

Distributed as abi3 wheels (one cp312-abi3 wheel per platform, forward-compatible with newer CPython) for Linux (manylinux and musllinux), macOS, and Windows. A platform without a matching wheel builds from the source distribution, which requires a Rust toolchain.

Write a track

from datetime import datetime, timezone
from geotrace_sdk import NavFileBuilder, NavFix

builder = NavFileBuilder()
builder.add(
    NavFix(
        lat=51.5074,
        lon=-0.1278,
        gps_time=datetime(2024, 1, 15, 9, 0, 0, tzinfo=timezone.utc),
        heading=90.0,
    )
)
builder.finish().write_to_file("track.gtd")

add() also accepts satellite reports, map annotations, and event markers. A satellite's elevation, azimuth and SNR are stored as 32-bit floats: a value read back can differ from the value written in its eighth significant digit.

Read a file

from geotrace_sdk import NavFile

nav_file = NavFile.open("track.gtd")
print(len(nav_file.points), "points,", len(nav_file.markers), "markers")
for point in nav_file.points:
    print(point.lat, point.lon, point.gps_time)

points has a method per field that returns the value of every fix as a list, for plotting and analysis:

lons = nav_file.points.longitudes()
lats = nav_file.points.latitudes()
speeds = nav_file.points.speeds_mps()  # None for a fix without one

Logging

The SDK does not raise on unexpected data. It accepts the value and logs what it saw. It keeps an unknown travel_mode as it read it. It also accepts a satellite SNR of 99 dB-Hz: a receiver writes that value when it has no reading. In both cases the call succeeds and the SDK writes a logging record saying what it did.

Each record goes to a logger named after the module that wrote it, such as geotrace_sdk.builder. All of them sit under geotrace_sdk, so a single handler there receives every one.

import logging

logging.basicConfig()
logging.getLogger("geotrace_sdk").setLevel(logging.DEBUG)

Examples

Runnable examples are in sdk/python/geotrace-py/examples:

Full list and per-platform notes: docs/sdk/python.md.

Metadata

Release files for geotrace-sdk 0.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for geotrace-sdk 0.7.0
File Size Uploaded
geotrace_sdk-0.7.0.tar.gz 183.9 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for geotrace-sdk 0.7.0
File
geotrace_sdk-0.7.0-cp312-abi3-win_arm64.whl CPython 3.12 abi3 Windows ARM64 Details
geotrace_sdk-0.7.0-cp312-abi3-win_amd64.whl CPython 3.12 abi3 Windows x86-64 Details
geotrace_sdk-0.7.0-cp312-abi3-win32.whl CPython 3.12 abi3 Windows x86-32 Details
geotrace_sdk-0.7.0-cp312-abi3-musllinux_1_2_x86_64.whl CPython 3.12 abi3 Linux musl 1.2+ x86-64 Details
geotrace_sdk-0.7.0-cp312-abi3-musllinux_1_2_i686.whl CPython 3.12 abi3 Linux musl 1.2+ x86-32 Details
geotrace_sdk-0.7.0-cp312-abi3-musllinux_1_2_armv7l.whl CPython 3.12 abi3 Linux musl 1.2+ ARMv7l Details
geotrace_sdk-0.7.0-cp312-abi3-musllinux_1_2_aarch64.whl CPython 3.12 abi3 Linux musl 1.2+ ARM64 Details
geotrace_sdk-0.7.0-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 abi3 Linux glibc 2.17+ x86-64 Details
geotrace_sdk-0.7.0-cp312-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl CPython 3.12 abi3 Linux glibc 2.17+ IBM System/390x Details
geotrace_sdk-0.7.0-cp312-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl CPython 3.12 abi3 Linux glibc 2.17+ PowerPC 64-le Details
geotrace_sdk-0.7.0-cp312-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl CPython 3.12 abi3 Linux glibc 2.17+ ARMv7l Details
geotrace_sdk-0.7.0-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 abi3 Linux glibc 2.17+ ARM64 Details
geotrace_sdk-0.7.0-cp312-abi3-manylinux_2_5_i686.manylinux1_i686.whl CPython 3.12 abi3 Linux glibc 2.5+ x86-32 Details
geotrace_sdk-0.7.0-cp312-abi3-macosx_11_0_arm64.whl CPython 3.12 abi3 macOS 11.0+ ARM64 Details
geotrace_sdk-0.7.0-cp312-abi3-macosx_10_12_x86_64.whl CPython 3.12 abi3 macOS 10.12+ x86-64 Details

Total release size: 15.9 MB

Release files / geotrace_sdk-0.7.0.tar.gz

Download URL geotrace_sdk-0.7.0.tar.gz
Size 183.9 kB
Tags Source
SHA-256 checksum
How to use checksums
992f6031ae1845304c9af79b6d0a2f0eab78f5fedc8676fdee0eb5a62ae50e79
BLAKE2b-256 checksum
How to use checksums
29dd9f3daba3bb1382d2caaee60819f8d52194511d14623f9c57b73f5456dd17
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release files / geotrace_sdk-0.7.0-cp312-abi3-win_arm64.whl

Download URL geotrace_sdk-0.7.0-cp312-abi3-win_arm64.whl
Size 906.7 kB
Tags CPython 3.12 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
cd53a9b183072aec60bf135daf6205e4dde4fdce9b5b6f5ec717b9505e146db5
BLAKE2b-256 checksum
How to use checksums
923bcdfe6537cf358d660a732bebd89b0fbaaa6d3fcce39f7acafab220a89f46
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release files / geotrace_sdk-0.7.0-cp312-abi3-win_amd64.whl

Download URL geotrace_sdk-0.7.0-cp312-abi3-win_amd64.whl
Size 955.7 kB
Tags CPython 3.12 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
93da3266577bf6cf014529842496cb24edcb01f4b88f1199b637fbfb0da6d894
BLAKE2b-256 checksum
How to use checksums
d3395780ba51d9a826ec7de3e0a5803b59eab6c6f7fc52ea79cc76667d0412b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release files / geotrace_sdk-0.7.0-cp312-abi3-win32.whl

Download URL geotrace_sdk-0.7.0-cp312-abi3-win32.whl
Size 918.7 kB
Tags CPython 3.12 Windows x86-32 abi3
SHA-256 checksum
How to use checksums
de419cd88e11e640cff93eab414fa952e34984ccdb76d3f9e659f4ecf7e1d3a4
BLAKE2b-256 checksum
How to use checksums
b5de545e997e39d9f84b2d8064baaade44620bbfc4c888c2a20dd8bdf98bf3de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release files / geotrace_sdk-0.7.0-cp312-abi3-musllinux_1_2_x86_64.whl

Download URL geotrace_sdk-0.7.0-cp312-abi3-musllinux_1_2_x86_64.whl
Size 1.2 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
708033e0636fecd00040ba2147c0f7ae903822f4fe7c142bbdcd4dea78eb7751
BLAKE2b-256 checksum
How to use checksums
933faea8faf2d6d69c16bf41c9cd151cc0fe88aaf0ab3eb51cb0a0932eb19c63
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release files / geotrace_sdk-0.7.0-cp312-abi3-musllinux_1_2_i686.whl

Download URL geotrace_sdk-0.7.0-cp312-abi3-musllinux_1_2_i686.whl
Size 1.3 MB
Tags CPython 3.12 Linux musl 1.2+ x86-32 abi3
SHA-256 checksum
How to use checksums
777828ca8de87e83438153b706455fe097231bb63e2f839a0b299dbfe4446828
BLAKE2b-256 checksum
How to use checksums
1d31369ddc2610a38d44353b90470b03032f377c44e7deccdde854782a8ce273
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release files / geotrace_sdk-0.7.0-cp312-abi3-musllinux_1_2_armv7l.whl

Download URL geotrace_sdk-0.7.0-cp312-abi3-musllinux_1_2_armv7l.whl
Size 1.3 MB
Tags CPython 3.12 Linux musl 1.2+ ARMv7l abi3
SHA-256 checksum
How to use checksums
9df2190ce0e9eabbceefd85c7a410b0bf548949a5780277623c9c446b7b64ec8
BLAKE2b-256 checksum
How to use checksums
b2971ac8f61a70548c1217986449f575682300a5db70376bdceadf37295faa27
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release files / geotrace_sdk-0.7.0-cp312-abi3-musllinux_1_2_aarch64.whl

Download URL geotrace_sdk-0.7.0-cp312-abi3-musllinux_1_2_aarch64.whl
Size 1.1 MB
Tags CPython 3.12 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
ae76e8af647822a712dc461eaca6cd025d533ff839b743a16675133f9a2b509c
BLAKE2b-256 checksum
How to use checksums
c1295a0b79cff8b40cce9817e7d111eaecb5394ee78c71782b54dff391c2a69c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release files / geotrace_sdk-0.7.0-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL geotrace_sdk-0.7.0-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 994.8 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
a5ba59821592e17a70cdd7114869fe1063d52ccad8792748c1004a2972dfe4dd
BLAKE2b-256 checksum
How to use checksums
3dae7390cb1732e51c0faeb51d0e53cd112d5697877175160819ca3f49583020
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release files / geotrace_sdk-0.7.0-cp312-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl

Download URL geotrace_sdk-0.7.0-cp312-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Size 1.1 MB
Tags CPython 3.12 Linux glibc 2.17+ IBM System/390x abi3
SHA-256 checksum
How to use checksums
fa315f4c5fcfb6e9884028472708c4e21f9b8dea63dee750bb644d2a5e38684b
BLAKE2b-256 checksum
How to use checksums
962abf18054f95ba59bb96b3a22f8ea8799c4aa567b737499833262a735a914d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release files / geotrace_sdk-0.7.0-cp312-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl

Download URL geotrace_sdk-0.7.0-cp312-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Size 1.1 MB
Tags CPython 3.12 Linux glibc 2.17+ PowerPC 64-le abi3
SHA-256 checksum
How to use checksums
b3feda240ba44d5aa3c27c5979414428bb76326c4fc362c7308fa518ccaa1618
BLAKE2b-256 checksum
How to use checksums
28db36be67cdac448b8f9a354d4871ce52e28f30b1291d43e20082e58fe61e20
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release files / geotrace_sdk-0.7.0-cp312-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL geotrace_sdk-0.7.0-cp312-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 988.6 kB
Tags CPython 3.12 Linux glibc 2.17+ ARMv7l abi3
SHA-256 checksum
How to use checksums
317b362729d5ee56738022bbf4ef6942b28109a04705691953773b517e995a08
BLAKE2b-256 checksum
How to use checksums
7b8e8459b6192ca64db7732443fdaa1813c39bf223188262ebe7060e6127237f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release files / geotrace_sdk-0.7.0-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL geotrace_sdk-0.7.0-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 933.0 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
c97635c3ffb1a2d378720bda4828ef70de7a65a12ec8f255a907d8e0d8415572
BLAKE2b-256 checksum
How to use checksums
d4155d1a11695aafecbd920e6724eaf198947243e3c380d57fdb0170553e842c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release files / geotrace_sdk-0.7.0-cp312-abi3-manylinux_2_5_i686.manylinux1_i686.whl

Download URL geotrace_sdk-0.7.0-cp312-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Size 1.1 MB
Tags CPython 3.12 Linux glibc 2.5+ x86-32 abi3
SHA-256 checksum
How to use checksums
b6f2ae220b0b90400f3dc6eb8209d48270f5fa417fb00f2edca315631f3376bf
BLAKE2b-256 checksum
How to use checksums
b8d8d3c19966dc51f0bb328d7df4c9e1164240cc5de0041373c5a9db03ad6cb6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release files / geotrace_sdk-0.7.0-cp312-abi3-macosx_11_0_arm64.whl

Download URL geotrace_sdk-0.7.0-cp312-abi3-macosx_11_0_arm64.whl
Size 906.7 kB
Tags CPython 3.12 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
272feada35c54d357a63aea8a58095d5df867a26765f4d755f65319d371622c4
BLAKE2b-256 checksum
How to use checksums
3f23114ac7385337e3561b11c579e2d139de700f68dd06d33659f4e0d54543bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release files / geotrace_sdk-0.7.0-cp312-abi3-macosx_10_12_x86_64.whl

Download URL geotrace_sdk-0.7.0-cp312-abi3-macosx_10_12_x86_64.whl
Size 965.2 kB
Tags CPython 3.12 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
54a7349001678023934640afcb60254fff45a66c5bf85fae6ba77cb2ed668cb7
BLAKE2b-256 checksum
How to use checksums
91ea624efe5e1b6dbe6b51aa5e01dc160b176013e7a8531ecaadcdec14531262
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.7.0 This release

16 release files

0.5.0

16 release files

0.3.0

16 release files

0.2.0

16 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page