locdatakit
A Python toolkit and CLI for processing, analyzing, and reporting on location data.
⚠️ This is in early-stage development. Expect API and config changes in future versions.
What It Does
- Loads one GPX file, a directory, or a glob of GPX files
- Applies the current prototype trip separation heuristics
- Writes a CSV report with trip start/end, distance, duration, and speed stats
- Optionally labels trip endpoints using a local places file
Quickstart
Install from PyPI:
pip install locdatakit
locdatakit --help
Install with optional HERE SDK support:
pip install "locdatakit[here]"
Run on your GPX file:
locdatakit trip-log --gpx /path/to/file-or-glob.gpx
Install from source (development):
git clone https://github.com/tensegrity-labs/locdatakit.git
cd locdatakit
pip install -e .[dev]
locdatakit trip-log --gpx examples/example.gpx --places examples/places.yaml
If the package is not published yet, use the source install flow above.
After publishing to PyPI, prefer pip install locdatakit (or pip install "locdatakit[here]" for HERE support).
CLI
See help for usage
locdatakit --help
locdatakit <command> --help
If --out is omitted, output defaults to CSV and is written next to the input source:
- file input:
<input_stem>_trip_log.csv - directory/glob input:
trip_log.csvin the source directory
Dependency Notes
Current runtime dependencies are: click, gpxpy, pint, geopy, scipy, pytz, and PyYAML.
HERE lookup is optional and disabled by default.
Optional HERE Lookup
To enable remote lookup of unknown places, pass --here.
The HERE Python SDK manages credentials/configuration (including config-file based setup).
If initialization fails, the CLI shows an error with setup docs:
- https://www.here.com/docs/bundle/data-sdk-for-python-developer-guide-v2/page/topics/credentials.html
CI/tests do not require HERE credentials.
Known Limitations
- Trip segmentation heuristics are prototype-quality and may over/under-segment in some data sets.
- CSV schema and CLI flags are expected to evolve in upcoming releases.
Contributing
Set up a dev environment:
pip install -e .[dev]
Run tests:
pytest -q
Bump version with bump-my-version:
# patch: 0.0.1 -> 0.0.2
bump-my-version bump patch
# minor: 0.0.1 -> 0.1.0
bump-my-version bump minor
# major: 0.0.1 -> 1.0.0
bump-my-version bump major
The bump command updates both pyproject.toml and locdatakit/__init__.py.
General contribution guidelines:
- Keep changes focused and scoped to a single concern when possible.
- Add or update tests for behavior changes.
- Keep CLI behavior backward compatible unless a breaking change is documented.
- Avoid committing personal data (real GPX traces, real addresses, API keys, credential files).
- Use synthetic/redacted data in examples, tests, and issue discussions.
Before opening a PR:
- Run tests locally:
pytest -q - Run a build check:
python -m build - Update docs/changelog when user-facing behavior changes
Filing Issues
When filing an issue, include:
- What you expected to happen
- What happened instead (full error output if possible)
- Exact command used
- OS and Python version
locdatakitversion (locdatakit --version)- Whether
--herewas enabled
If relevant, include a minimal reproducible input (synthetic GPX/places file preferred). Do not share private location data, API keys, or credential files in issues.
Metadata
Release files for locdatakit 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| locdatakit-0.0.2.tar.gz | 13.4 kB | With provenance | Details for locdatakit-0.0.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| locdatakit-0.0.2-py3-none-any.whl | Python 3 | none | any | Details for locdatakit-0.0.2-py3-none-any.whl |
Total release size: 25.7 kB
Release files / locdatakit-0.0.2.tar.gz
| Download URL | locdatakit-0.0.2.tar.gz |
|---|---|
| Size | 13.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
debbf019818b318986d940368e2d12443b54ee3d64b16f516b80c3407b6093c9
|
|
BLAKE2b-256 checksum How to use checksums |
39fc7449085c7fe921ea7262985a5df86096cb43e43bd8d6cc069590ac95e93f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Feb 26, 2026.
Transparency logRelease files / locdatakit-0.0.2-py3-none-any.whl
| Download URL | locdatakit-0.0.2-py3-none-any.whl |
|---|---|
| Size | 12.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ba1303c8bcb0d6f4c43e19b35b271ef64166e85de691b43d81db81f14cedc37a
|
|
BLAKE2b-256 checksum How to use checksums |
314e329d91d644d554fb738b02feebaa73f279580caadea566245b26f99ce055
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Feb 26, 2026.
Transparency logSecurity for locdatakit 0.0.2
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for locdatakit-0.0.2.tar.gz
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 Feb 26, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.