simplekml
A Simple KML creator
What it is and what it does
Simplekml is a Python library for generating KML files—the XML-based format used by Google Earth and other GIS applications to represent geographic features. It abstracts away the verbose KML schema, letting you create points, lines, polygons, folders, and documents with straightforward Python calls instead of hand-writing XML. The library has no external runtime dependencies, making it lightweight to install.
The package is in production-stable status but abandoned—its last release was in September 2021 with no ongoing maintenance. It covers the core KML elements most users need (Document, Folder, Point, LineString, Polygon) and claims to support everything in the KML Reference. For projects that need simple, static KML generation and can tolerate no future updates, it remains functional; for active development or evolving geographic requirements, the lack of maintenance is a significant constraint.
Use it for:
- Export point-based data (GPS coordinates, locations) to KML for viewing in Google Earth or similar GIS software
- Generate map overlays with lines and polygons from geospatial datasets for visualization
- Create simple geographic documents programmatically without writing raw XML or using heavy GIS libraries
- Batch-convert coordinate lists into shareable KML files for non-technical users
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Simplekml generates KML (Keyhole Markup Language) files for geographic data visualization with minimal code, supporting basic elements like points, lines, polygons, folders, and documents.
Yes, but only for stable, low-maintenance use cases. Simplekml is lightweight, dependency-free, and works well for basic KML generation tasks. However, its abandoned status (no updates since 2021) means it will not adapt to future KML standard changes or Python version incompatibilities. Install it if your KML needs are fixed and simple; avoid it for active projects requiring ongoing support or compatibility with evolving standards.
Install
simplekml on PyPI
pip
pip install simplekmluv
uv add simplekmlpoetry
poetry add simplekmlInstalling simplekml
Before you install
High install friction due to no runtime dependencies, but the package is abandoned—last release was 1793 days ago with no active maintenance signal. Suitable only for stable, unchanging use cases where KML generation requirements are fixed.
License in practice
Licensed under GNU Lesser General Public License v3+, a copyleft license. You may use and modify the package freely, but any derivative works must also be distributed under compatible terms; proprietary applications incorporating modifications require careful licensing review.
Quickstart
import simplekml
kml = simplekml.Kml()
kml.newpoint(name="Location", coords=[(18.432314,-33.988862)])
kml.save("output.kml")
Verify before relying
- Whether the package works reliably with current Python versions beyond 3.9, given its abandoned status
- Whether KML output conforms to current KML standards or only historical versions
- Real-world compatibility with modern GIS tools and mapping platforms
Package facts
| License | GNU Lesser General Public License v3+ (copyleft) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | abandoned — 1,793 days since the last release |
| First released | |
| Downloads | 594,317/month — #5,845 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: simplekml-1.3.6.tar.gz
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
pykmlpyKML parses and creates KML documents using a…
permissive · top 15,000 on PyPI
fastkmlReads, writes, and manipulates KML files—an…
copyleft · top 15,000 on PyPI
kml2geojsonConverts KML files to GeoJSON format,…
permissive · top 15,000 on PyPI
pyulogParses ULog files (a self-describing logging…
permissive · top 15,000 on PyPI
staticmapGenerates static map images with geographic…
unclear · top 15,000 on PyPI
CartopyCartopy makes it easy to draw maps for data…
permissive · top 5,000 on PyPI
geojsonEncodes, decodes, and represents GeoJSON…
permissive · top 5,000 on PyPI
hyperscriptHyperscript lets you generate HTML markup…
permissive · top 15,000 on PyPI
searouteComputes the shortest sea route between two…
permissive · top 15,000 on PyPI
pygeohashEncodes latitude/longitude coordinates to…
permissive · top 5,000 on PyPI