I am looking for a Python module to allow me to use WFS-T. Everything I found so far only supports getting data out via WFS, I need to INSERT and UPDATE.

owslib does not support WFS transactions (yet?), at least I could not find any signs of it.

fiona will never support WFS: https://github.com/Toblerity/Fiona/issues/104

gdal supports WFS-T via its ogr module but I heard not so great things about this API in Python (Fiona exists after all).

Should I just go ahead with ogr or am I missing something?


You don't really need any geospatial Python libraries. WFS-T is simply based on http requests. OGR does not support all WFS-T operations e.g no lock support according to official OGR WFS documentation.

As long as you provide the payload, the authentication, the URL endpoint, you may just use Python requests library to simplify calls to the WFS-T endpoint. For the parameters to provide for a WFS-T server, see the GeoServer documentation on this topic.

  • I tried writing my own WFS-T requests manually and failed horribly between versions, syntax and oddities. I absolutely do not want to write them by hand! – bugmenot123 Mar 10 '16 at 13:40
  • Just use something like OpenLayers to try on client side WFS-T requests. Get CURL queries and you got everything using curl.trillworks.com Not a good news, but IMO you can't really avoid some boilerplate. – ThomasG77 Mar 10 '16 at 13:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.