cleder/fastkml
LibraryLive in productionA Python library for reading, writing and manipulating KML files.
Fast 🌍️ <KML /> processing for python
- Python100.0%
- Dockerfile0.0%
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.
