gpx2kml
gpx2kml is a library for combining gpx files exported from Runkeeper to kml files. Below is a screenshot of the generated kml file in Google Earth.
Introduction
Runkeeper is one of many mobile apps that can track exercises. Usually they provide UI for displaying individual activity (like biking, running, etc.) with route map and statistics, and the functionality to bulk export archive files.
gpx2kml can combine all the gpx files exported from Runkeeper into a single kml file so that it can be displayed in the Google Earth. The motivation is mainly to prepare data for my bike journey webpage.
User scenario
I use Runkeeper to track my biking and walking activities. Tracking is a long term activity, so file generation and archive is an incremental process.
I export the gpx files once per month, and generate kml files from the gpx files with the format YYYY-MM.kml. After that, all the kml files are combined into a single kml file, usually named after the city or the event related with those activities.
Installation
pip install gpx2kml
How to use it
Run a single interactive command and choose tasks from a terminal menu:
gpx2kml
- Accumulate a few activities using Runkeeper.
- Export the acitives from the Runkeeper web UI and download the file. The demo folder provides a sample zip file.
- Open a terminal, and change the working directory to the one that contains the zip file.
- Select menu option 1 to archive GPX files from a Runkeeper export zip. This creates an archive folder.
- Select menu option 2 to generate monthly KML files. This creates a kml folder with YYYY-MM.kml files.
- Move the kml files into kml/XXX, then select menu option 3 and input XXX to combine them into XXX.kml.
Other than running the commands in the terminal, there is a demo.py that demonstrates how to call the methods in a python file.
Metadata
Release files for gpx2kml 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gpx2kml-0.1.4.tar.gz | 9.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gpx2kml-0.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.8 kB
Release files / gpx2kml-0.1.4.tar.gz
| Download URL | gpx2kml-0.1.4.tar.gz |
|---|---|
| Size | 9.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f24dd8f76fba943b4a63bde28352abb453e624f46d71c603f692ce3825720bc0
|
|
BLAKE2b-256 checksum How to use checksums |
e4c1ad272979cca04a8aee8474b84ced03d61ada48e7ee125fb026981bb987f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Apr 14, 2026.
Transparency logRelease files / gpx2kml-0.1.4-py3-none-any.whl
| Download URL | gpx2kml-0.1.4-py3-none-any.whl |
|---|---|
| Size | 7.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a76bfb0c66d8f630f7f4637d2f00ef395ff19243575f30391485464e662dfb49
|
|
BLAKE2b-256 checksum How to use checksums |
980057c9fbe2373d90819b7afa21e2bee1eb95fff3632d185e648df540a81719
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Apr 14, 2026.
Transparency log