--- id: pykml version: "0.2.0" license: BSD license_treatment: permissive maintenance: abandoned --- # pykml — Python KML library License: permissive · Maintenance: abandoned · Downloads: 247.3K/mo ## What it is and what it does pyKML is a Python library for reading and writing KML (Keyhole Markup Language) documents—the XML format used for geographic data in mapping applications. It wraps lxml.objectify to provide a Pythonic interface, so you can construct or parse KML documents as Python objects rather than manipulating raw XML strings. The package was last released in 2019 and is now abandoned, meaning no bug fixes, security updates, or compatibility work are happening. It has a single runtime dependency on lxml and installs with low friction. If you're working with legacy KML data or maintaining older code that already uses it, it may still function; for new projects, you should evaluate whether a maintained alternative exists or whether hand-rolling KML generation with a modern XML library is more appropriate. Use it for: - Parse KML files from mapping services or geographic data sources into Python objects for analysis. - Generate KML documents programmatically to feed into GIS tools or web mapping applications. - Convert between KML and other geographic data formats in a data pipeline. - Extract geographic coordinates and metadata from KML placemarks for geospatial queries. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. pyKML parses and creates KML documents using a Pythonic XML interface built on lxml.objectify, letting you read and write geographic markup programmatically. No, unless you are maintaining legacy code that already depends on it. The package has been abandoned since 2019 with no maintenance, no visible repository, and no security updates. For new projects requiring KML support, evaluate maintained alternatives or use a general-purpose XML library with KML specifications. The low install friction and permissive license do not offset the maintenance risk. ## Install pip install pykml uv add pykml poetry add pykml ## Installing pykml Before you install: Installation is straightforward with a single runtime dependency (lxml), but the package has been abandoned since 2019 with no maintenance activity or repository access visible. Use only if you need KML support in legacy code or have no active development requirements. License in practice: BSD permissive license allows commercial and private use with minimal restrictions, making it suitable for most projects that can tolerate an unmaintained dependency. Quickstart: pip install pykml from pykml import kml k = kml.KML() doc = kml.Document(ns='http://www.opengis.net/kml/2.2') k.append(doc) Verify before relying: - Whether lxml version compatibility issues exist with modern Python releases given the package's 2019 last release date. - Whether the package works with current KML specifications or only historical versions. - Active community forks or maintained alternatives for KML handling. ## Package facts - License: BSD (permissive) - Python support: unspecified - Install friction: low - Maintenance: abandoned - Downloads: 247.3K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags kml parsing python, kml document generation, geographic markup language, kml authoring library, xml kml manipulation, python gis kml, kml to python objects, gis, abandoned, xml-parsing [View on SkillFed](https://skillfed.io/packages/pykml) · [View on PyPI](https://pypi.org/project/pykml/)