Skip to content
cleder

cleder/fastkml

LibraryLive in production

A Python library for reading, writing and manipulating KML files.

Fast 🌍️ <KML /> processing for python

257 3 since joining 102PythonPush 6d agoListed 2mo ago18 open issuesLGPL-2.1

fastkml.readthedocs.io

closembergeopythongeospatialhacktoberfestkmlkml-parserkml-writer
  • Python100.0%
  • Dockerfile0.0%
View on GitHub

Report a problem

1 Review

FastKML is a mature and technically substantial implementation for reading, writing, and manipulating KML and KMZ data. Its model covers a wide range of KML features, styles, links, views, time elements, overlays, Google extensions, and geometry integration through PyGeoIf and geo_interface. Optional lxml support provides a faster parsing path without making it mandatory, while bundled schemas and validation tools support standards-focused use cases. The source includes type information, a public extension registry, examples, and detailed documentation. The test suite is broad, including round-trip serialization, KMZ archives, Hypothesis cases, standard-library and lxml paths, and OGC conformance fixtures.
The continuous integration setup is a major strength. It tests Python 3.10 through development versions, PyPy, GraalPy, lxml and non-lxml installations, documentation examples, strict type checkers, linting, complexity, package construction, and a 95 percent coverage threshold. Trusted PyPI publishing and build inspection complete a strong release process. The clearest improvement concerns licensing consistency. The repository contains the LGPL 2.1 text, the README badge links to LGPL 3.0, and pyproject.toml declares only a generic “LGPL” value. This should be expressed with one precise SPDX identifier across every location. The README could also better explain which portions of KML remain unsupported and direct advanced users toward the registry extension mechanism. Splitting some of the longest reference material into task-based guides would make the large API easier to approach. Overall, the project demonstrates careful maintenance and unusually strong cross-runtime testing.