Fast KML processing for python
Branch: master
Clone or download
cleder Merge pull request #64 from movermeyer/fix_badges
Switched broken badges to
Latest commit f22c331 Mar 6, 2018



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 aquainted to the library or to create KML objects. It aims to provide all of the functionality that KML clients such as OpenLayers, Google Maps, and Google Earth provides.

Geometries are handled as pygeoif or, if installed, shapely objects.

Fastkml is continually tested with Travis CI:


Is Maintained and documented:

Latest PyPI version Development Status Documentation 'Stories in Ready' Statistics from OpenHub

Supports python 2 and 3:

Supported Python versions Supported Python implementations


You can find all of the documentation for FastKML at If you find something that is missing, please submit a pull request on GitHub with the improvement.


You can install the package with pip install fastkml or easy_install fastkml which should also pull in all requirements.



You can install all of the requirements for working with FastKML by using pip:

pip install -r requirements.txt


Shapely requires that libgeos be installed on your system. apt-get install libgeos-dev will install these requirements for you on Debian- based systems.


Tesselate, Extrude and Altitude Mode are assigned to a Geometry or Geometry collection (MultiGeometry). You cannot assign different values of Tesselate, Extrude or Altitude Mode on parts of a MultiGeometry.

Currently, the only major feature missing for the full Google Earth experience is the gx extension. This will most likely be added after the 1.0 version release.

You can find the complete list of current issues on GitHub.