A Python library for reading, writing and manipulating KML files.
KML is an XML geospatial data format and an OGC standard that deserves a canonical python implementation.
Fastkml is a library to read, write and manipulate KML files. It aims to keep it simple and fast (using lxml if available). Fast refers to the time you spend to write and read KML files as well as the time you spend to get acquainted to the library or to create KML objects. It aims to provide all of the functionality that KML clients such as Marble, NASA WorldWind, Cesium JS, OpenLayers, Google Maps, and Google Earth support.
For more details about the KML Specification, check out the KML Reference on the Google developers site.
- Simple and fast: Easy-to-use API with fast performance
- Geometry support: Handles geometries as pygeoif objects, compatible with any geometry that implements the
__geo_interface__
protocol, such as shapely - Cross-platform compatibility: Tested on CPython, PyPy and GraalPy
- Python 3.9+: Works on alternative Python implementations that support Python >=3.9
Quality Assurance:
Package Information:
Documentation & Community:
Install the package using pip:
pip install fastkml
This will install FastKML with all required dependencies.
For enhanced performance, install with lxml:
pip install "fastkml[lxml]"
You can also install FastKML using conda-forge:
conda install -c conda-forge fastkml
- lxml - For improved XML parsing performance (recommended)
You can find all of the documentation for FastKML at fastkml.readthedocs.org. If you find something that is missing, please submit a pull request on GitHub with the improvement.
Currently, the only major feature missing for the full Google Earth experience is the gx extension.
Please submit a PR with the features you'd like to see implemented.
We welcome contributions! Please check out our contributing guide for guidelines on how to contribute.